@vizbeetv/sdk-qa 7.8.42 → 7.8.44
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/chromecast-v2/es5/index.js +1 -1
- package/chromecast-v2/es6/index.js +1 -1
- package/lg/es5/index.js +1 -1
- package/lg/es6/index.js +1 -1
- package/package.json +1 -1
- package/samsung/es5/index.js +1 -1
- package/samsung/es6/index.js +1 -1
- package/vizio/index.js +1 -1
- package/xbox/es5/index.js +1 -1
- package/xbox/es6/index.js +1 -1
package/vizio/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
if(window.VizbeeSDK||(window.VizbeeSDK={}),!window.VizbeeSDK.logger){var e=function(){};window.VizbeeSDK.logger={debug:e,info:e,warn:e,error:e,d:e,i:e,w:e,e:e,critical:e,verbose:e}}function t(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function n(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=Array(t);n<t;n++)i[n]=e[n];return i}function i(e,t,n,i,r,a,o){try{var s=e[a](o),u=s.value}catch(e){return void n(e)}s.done?t(u):Promise.resolve(u).then(i,r)}function r(e,t,n){return t=f(t),function(e,t){if(t&&("object"==typeof t||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,p()?Reflect.construct(t,n||[],f(e).constructor):t.apply(e,n))}function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,b(i.key),i)}}function s(e,t,n){return t&&o(e.prototype,t),n&&o(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function u(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=_(e))||t){n&&(e=n);var i=0,r=function(){};return{s:r,n:function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw a}}}}function c(e,t,n){return(t=b(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(){return l=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},l.apply(null,arguments)}function d(){return d="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,n){var i=function(e,t){for(;!{}.hasOwnProperty.call(e,t)&&null!==(e=f(e)););return e}(e,t);if(i){var r=Object.getOwnPropertyDescriptor(i,t);return r.get?r.get.call(arguments.length<3?e:n):r.value}},d.apply(null,arguments)}function f(e){return f=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},f(e)}function h(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&&y(e,t)}function p(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(p=function(){return!!e})()}function g(){var e,t,n="function"==typeof Symbol?Symbol:{},i=n.iterator||"@@iterator",r=n.toStringTag||"@@toStringTag";function a(n,i,r,a){var u=i&&i.prototype instanceof s?i:s,c=Object.create(u.prototype);return v(c,"_invoke",function(n,i,r){var a,s,u,c=0,l=r||[],d=!1,f={p:0,n:0,v:e,a:h,f:h.bind(e,4),d:function(t,n){return a=t,s=0,u=e,f.n=n,o}};function h(n,i){for(s=n,u=i,t=0;!d&&c&&!r&&t<l.length;t++){var r,a=l[t],h=f.p,p=a[2];n>3?(r=p===i)&&(u=a[(s=a[4])?5:(s=3,3)],a[4]=a[5]=e):a[0]<=h&&((r=n<2&&h<a[1])?(s=0,f.v=i,f.n=a[1]):h<p&&(r=n<3||a[0]>i||i>p)&&(a[4]=n,a[5]=i,f.n=p,s=0))}if(r||n>1)return o;throw d=!0,i}return function(r,l,p){if(c>1)throw TypeError("Generator is already running");for(d&&1===l&&h(l,p),s=l,u=p;(t=s<2?e:u)||!d;){a||(s?s<3?(s>1&&(f.n=-1),h(s,u)):f.n=u:f.v=u);try{if(c=2,a){if(s||(r="next"),t=a[r]){if(!(t=t.call(a,u)))throw TypeError("iterator result is not an object");if(!t.done)return t;u=t.value,s<2&&(s=0)}else 1===s&&(t=a.return)&&t.call(a),s<2&&(u=TypeError("The iterator does not provide a '"+r+"' method"),s=1);a=e}else if((t=(d=f.n<0)?u:n.call(i,f))!==o)break}catch(t){a=e,s=1,u=t}finally{c=1}}return{value:t,done:d}}}(n,r,a),!0),c}var o={};function s(){}function u(){}function c(){}t=Object.getPrototypeOf;var l=[][i]?t(t([][i]())):(v(t={},i,function(){return this}),t),d=c.prototype=s.prototype=Object.create(l);function f(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,c):(e.__proto__=c,v(e,r,"GeneratorFunction")),e.prototype=Object.create(d),e}return u.prototype=c,v(d,"constructor",c),v(c,"constructor",u),u.displayName="GeneratorFunction",v(c,r,"GeneratorFunction"),v(d),v(d,r,"Generator"),v(d,i,function(){return this}),v(d,"toString",function(){return"[object Generator]"}),(g=function(){return{w:a,m:f}})()}function v(e,t,n,i){var r=Object.defineProperty;try{r({},"",{})}catch(e){r=0}v=function(e,t,n,i){function a(t,n){v(e,t,function(e){return this._invoke(t,n,e)})}t?r?r(e,t,{value:n,enumerable:!i,configurable:!i,writable:!i}):e[t]=n:(a("next",0),a("throw",1),a("return",2))},v(e,t,n,i)}function y(e,t){return y=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},y(e,t)}function m(e,t,n,i){var r=d(f(e.prototype),t,n);return"function"==typeof r?function(e){return r.apply(n,e)}:r}function b(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,t);if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e,"string");return"symbol"==typeof t?t:t+""}function S(e){return S="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},S(e)}function _(e,t){if(e){if("string"==typeof e)return n(e,t);var i={}.toString.call(e).slice(8,-1);return"Object"===i&&e.constructor&&(i=e.constructor.name),"Map"===i||"Set"===i?Array.from(e):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?n(e,t):void 0}}var k,T,I={exports:{}};k||(k=1,T=I,function(e){function t(){}function n(e){if("object"!=S(this))throw new TypeError("Promises must be constructed via new");if("function"!=typeof e)throw new TypeError("not a function");this._state=0,this._handled=!1,this._value=void 0,this._deferreds=[],u(e,this)}function i(e,t){for(;3===e._state;)e=e._value;return 0===e._state?void e._deferreds.push(t):(e._handled=!0,void n._immediateFn(function(){var n=1===e._state?t.onFulfilled:t.onRejected;if(null!==n){var i;try{i=n(e._value)}catch(e){return void a(t.promise,e)}r(t.promise,i)}else(1===e._state?r:a)(t.promise,e._value)}))}function r(e,t){try{if(t===e)throw new TypeError("A promise cannot be resolved with itself.");if(t&&("object"==S(t)||"function"==typeof t)){var i=t.then;if(t instanceof n)return e._state=3,e._value=t,void o(e);if("function"==typeof i)return void u(function(e,t){return function(){e.apply(t,arguments)}}(i,t),e)}e._state=1,e._value=t,o(e)}catch(t){a(e,t)}}function a(e,t){e._state=2,e._value=t,o(e)}function o(e){2===e._state&&0===e._deferreds.length&&n._immediateFn(function(){e._handled||n._unhandledRejectionFn(e._value)});for(var t=0,r=e._deferreds.length;t<r;t++)i(e,e._deferreds[t]);e._deferreds=null}function s(e,t,n){this.onFulfilled="function"==typeof e?e:null,this.onRejected="function"==typeof t?t:null,this.promise=n}function u(e,t){var n=!1;try{e(function(e){n||(n=!0,r(t,e))},function(e){n||(n=!0,a(t,e))})}catch(e){if(n)return;n=!0,a(t,e)}}var c=setTimeout;n.prototype.catch=function(e){return this.then(null,e)},n.prototype.then=function(e,n){var r=new this.constructor(t);return i(this,new s(e,n,r)),r},n.all=function(e){var t=Array.prototype.slice.call(e);return new n(function(e,n){function i(a,o){try{if(o&&("object"==S(o)||"function"==typeof o)){var s=o.then;if("function"==typeof s)return void s.call(o,function(e){i(a,e)},n)}t[a]=o,0===--r&&e(t)}catch(e){n(e)}}if(0===t.length)return e([]);for(var r=t.length,a=0;a<t.length;a++)i(a,t[a])})},n.resolve=function(e){return e&&"object"==S(e)&&e.constructor===n?e:new n(function(t){t(e)})},n.reject=function(e){return new n(function(t,n){n(e)})},n.race=function(e){return new n(function(t,n){for(var i=0,r=e.length;i<r;i++)e[i].then(t,n)})},n._immediateFn="function"==typeof setImmediate&&function(e){setImmediate(e)}||function(e){c(e,0)},n._unhandledRejectionFn=function(e){"undefined"!=typeof console&&console},n._setImmediateFn=function(e){n._immediateFn=e},n._setUnhandledRejectionFn=function(e){n._unhandledRejectionFn=e},T.exports?T.exports=n:e.Promise||(e.Promise=n)}(I.exports));var V,E,P,A="UNKNOWN",C="subtitle",D="audio",w="chromecast_caf",M="chromecast_v2",N="avplayer",O="bitmovin",x="videojs",z="theo",L="shaka",R="msf-lib-loaded",K=function(){return s(function e(t){if(a(this,e),"Platform"===this.constructor.name)throw new TypeError("Platform::constructor() - Abstract class.");this.config=t||{},this.launchParams=void 0,this.isAppExitInProgress=!1},[{key:"setConfig",value:function(e){this.config=e}},{key:"cloudPlatformName",get:function(){throw new TypeError("Platform::cloudPlatformName() - Abstract method.")}},{key:"uniqueDeviceID",value:function(e,t){this.deviceId.uniqueDeviceID(e,t)}},{key:"deviceIDAlgorithm",get:function(){return this.deviceId.algorithm},set:function(e){}},{key:"platformModel",get:function(){}},{key:"deviceInfo",get:function(){}},{key:"platformVersion",get:function(){}},{key:"networkInfo",get:function(){}},{key:"adId",get:function(){}},{key:"isAdTrackingDisabled",get:function(){}},{key:"createInputDevice",value:function(){throw new TypeError("Platform::createInputDevice() - Abstract method.")}},{key:"enableScreenSaver",value:function(e){}},{key:"defaultAppletAppId",get:function(){throw new TypeError("Platform::defaultAppletAppId() - Abstract method.")}},{key:"launchParamsDeferral",get:function(){return this.launchParams}},{key:"appLifeCycleManager",get:function(){}},{key:"exit",value:function(){VizbeeTV.logger.i("BasePlatform","exit"),this.appLifeCycleManager&&this.appLifeCycleManager.emit("onEnd")}},{key:"isAppExiting",get:function(){return this.isAppExitInProgress},set:function(e){this.isAppExitInProgress=e}},{key:"createPlayer",value:function(){throw new TypeError("Platform::createPlayer() - Abstract method.")}}])}(),F=s(function e(t,n){if(a(this,e),"BaseEvent"===this.constructor.name)throw new TypeError("BaseEvent::constructor() - Abstract class.");this.nativeEvent=t,this.source=n}),U=function(){function e(t,n){return a(this,e),r(this,e,[t,n])}return h(e,F),s(e)}(),B=function(){function e(t,n){var i;if(a(this,e),!(n instanceof oe))throw new TypeError("TVRemoteEvent::constructor() - source must be an instance of BaseTVRemote.");return(i=r(this,e,[t,n])).keyCode=n.keyCodeMap[t.keyCode],i.keyName=n.keyNameMap[i.keyCode],i}return h(e,U),s(e)}(),H=function(){return s(function e(){if(a(this,e),"BaseEventDispatcher"===this.constructor.name)throw new TypeError("BaseEventDispatcher::constructor() - Abstract class.");this.eventType=void 0,this._eventHandlers=[],this.registerListener()},[{key:"registerListener",value:function(){throw new TypeError("BaseEventDispatcher::registerListener() - Abstract method.")}},{key:"onevent",set:function(e){if(void 0===e)this._eventHandlers=[];else{if(!(e instanceof Function))throw new TypeError("BaseEventDispatcher::onevent setter - callback must be an instance of Function.");this._eventHandlers.push(e)}}},{key:"dispatchEvent",value:function(e){if(!(e instanceof F))throw new TypeError("BaseEventDispatcher::dispatchEvent() - event must be instance of BaseEvent.");this._eventHandlers.forEach(function(t){t instanceof Function&&t(e)})}},{key:"reset",value:function(){this._eventHandlers=[]}}])}(),G=function(){function e(){var t;if(a(this,e),"BaseInputDevice"===(t=r(this,e)).constructor.name)throw new TypeError("BaseInputDevice::constructor() - Abstract class.");return t}return h(e,H),s(e)}(),W={exports:{}},q=W.exports;function j(){return V||(V=1,function(e){!function(t){var n=setTimeout;function i(){}var r="function"==typeof setImmediate&&setImmediate||function(e){n(e,1)},a=function(e){"undefined"!=typeof console&&console},o=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)};function s(e){if("object"!==S(this))throw new TypeError("Promises must be constructed via new");if("function"!=typeof e)throw new TypeError("not a function");this._state=0,this._handled=!1,this._value=void 0,this._deferreds=[],h(e,this)}function u(e,t){for(;3===e._state;)e=e._value;0!==e._state?(e._handled=!0,r(function(){var n=1===e._state?t.onFulfilled:t.onRejected;if(null!==n){var i;try{i=n(e._value)}catch(e){return void l(t.promise,e)}c(t.promise,i)}else(1===e._state?c:l)(t.promise,e._value)})):e._deferreds.push(t)}function c(e,t){try{if(t===e)throw new TypeError("A promise cannot be resolved with itself.");if(t&&("object"===S(t)||"function"==typeof t)){var n=t.then;if(t instanceof s)return e._state=3,e._value=t,void d(e);if("function"==typeof n)return void h((i=n,r=t,function(){i.apply(r,arguments)}),e)}e._state=1,e._value=t,d(e)}catch(t){l(e,t)}var i,r}function l(e,t){e._state=2,e._value=t,d(e)}function d(e){2===e._state&&0===e._deferreds.length&&setTimeout(function(){e._handled||a(e._value)},1);for(var t=0,n=e._deferreds.length;t<n;t++)u(e,e._deferreds[t]);e._deferreds=null}function f(e,t,n){this.onFulfilled="function"==typeof e?e:null,this.onRejected="function"==typeof t?t:null,this.promise=n}function h(e,t){var n=!1;try{e(function(e){n||(n=!0,c(t,e))},function(e){n||(n=!0,l(t,e))})}catch(e){if(n)return;n=!0,l(t,e)}}s.prototype.catch=function(e){return this.then(null,e)},s.prototype.then=function(e,t){var n=new s(i);return u(this,new f(e,t,n)),n},s.all=function(){var e=Array.prototype.slice.call(1===arguments.length&&o(arguments[0])?arguments[0]:arguments);return new s(function(t,n){if(0===e.length)return t([]);var i=e.length;function r(a,o){try{if(o&&("object"===S(o)||"function"==typeof o)){var s=o.then;if("function"==typeof s)return void s.call(o,function(e){r(a,e)},n)}e[a]=o,0===--i&&t(e)}catch(e){n(e)}}for(var a=0;a<e.length;a++)r(a,e[a])})},s.resolve=function(e){return e&&"object"===S(e)&&e.constructor===s?e:new s(function(t){t(e)})},s.reject=function(e){return new s(function(t,n){n(e)})},s.race=function(e){return new s(function(t,n){for(var i=0,r=e.length;i<r;i++)e[i].then(t,n)})},s._setImmediateFn=function(e){r=e},s._setUnhandledRejectionFn=function(e){a=e},e.exports?e.exports=s:t.Promise||(t.Promise=s)}(q)}(W)),W.exports}function Y(){if(P)return E;P=1;var e={get:function(e,t,n){for(var i=Array.isArray(t)?t:[t],r=e,a=0;a<i.length;a++){if(null==r)return n;r=r[i[a]]}return void 0===r?n:r},extend:function(e){if(null==e)return e;for(var t=1;t<arguments.length;t++){var n=arguments[t];if(null!=n)for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},isObject:function(e){return null!==e&&"object"===S(e)},find:function(e,t){if(null!=e){if(Array.isArray(e))return e.find(t);for(var n=Object.keys(e),i=0;i<n.length;i++){var r=e[n[i]];if(t(r,n[i],e))return r}}},keys:function(e){return Object.keys(e)},isString:function(e){return"string"==typeof e},filter:function(e,t){return Array.isArray(e)?e.filter(t):Object.keys(e).reduce(function(n,i){return t(e[i],i,e)&&n.push(e[i]),n},[])},omit:function(e){var t=Array.isArray(arguments[1])?arguments[1]:Array.prototype.slice.call(arguments,1),n={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&-1===t.indexOf(i)&&(n[i]=e[i]);return n},isUndefined:function(e){return void 0===e},isNumber:function(e){return"number"==typeof e},isArray:function(e){return Array.isArray(e)},each:function(e,t){return Array.isArray(e)?e.forEach(t):null!=e&&Object.keys(e).forEach(function(n){t(e[n],n,e)}),e},contains:function(e,t){return-1!==e.indexOf(t)},values:function(e){return Object.keys(e).map(function(t){return e[t]})},isFunction:function(e){return"function"==typeof e},isEmpty:function(e){return null==e||(Array.isArray(e)||"string"==typeof e?0===e.length:0===Object.keys(e).length)},clone:function(t){return Array.isArray(t)?t.slice():e.extend({},t)},reject:function(e,t){return Array.isArray(e)?e.filter(function(e){return!t(e)}):Object.keys(e).reduce(function(n,i){return t(e[i],i,e)||n.push(e[i]),n},[])},reduce:function(e,t,n){return Array.isArray(e)?e.reduce(t,n):(Object.keys(e).forEach(function(i){n=t(n,e[i],i,e)}),n)},isBoolean:function(e){return!0===e||!1===e},isNaN:function(e){return"number"==typeof e&&e!=e},isEqual:function(e,t){return JSON.stringify(e)===JSON.stringify(t)},pluck:function(e,t){return e.map(function(e){return e[t]})},findIndex:function(e,t){var n="function"==typeof t?t:function(e){return null!=e&&Object.keys(t).every(function(n){return e[n]===t[n]})};return e.findIndex(n)},findLastIndex:function(e,t){for(var n="function"==typeof t?t:function(e){return null!=e&&Object.keys(t).every(function(n){return e[n]===t[n]})},i=e.length-1;i>=0;i--)if(n(e[i],i,e))return i;return-1},findWhere:function(e,t){return e.find(function(e){return null!=e&&Object.keys(t).every(function(n){return e[n]===t[n]})})},without:function(e){var t=Array.prototype.slice.call(arguments,1);return e.filter(function(e){return-1===t.indexOf(e)})},sortBy:function(e,t){var n="function"==typeof t?t:function(e){return e[t]};return e.slice().sort(function(e,t){var i=n(e),r=n(t);return i<r?-1:i>r?1:0})},rest:function(e,t){return e.slice(void 0===t?1:t)},indexOf:function(e,t){return e.indexOf(t)},intersection:function(){var e=Array.prototype.slice.call(arguments);return e[0].filter(function(t){return e.every(function(e){return-1!==e.indexOf(t)})})}};return E=e}var Q,J,Z,X,$=t(Y()),ee=[],te=[],ne=[],ie=document.getElementsByTagName("HEAD")[0],re=document.getElementsByTagName("BODY")[0],ae=function(){function e(){a(this,e)}return s(e,null,[{key:"xchangeHLSUrl",value:function(e,t,n,i,r,a){var o="unknown",s="unknown";t&&(o=t),n&&(s=n);var u="https://hlsxchange.claspws.tv/"+o+"/"+s;return e&&e.indexOf(u)>=0?e:(i&&r&&a&&(u+="/"+i+"/"+r+"/"+a),u+="/x.m3u8?hlsurl="+e)}},{key:"getRandomIntInclusive",value:function(e,t){return e=Math.ceil(e),t=Math.floor(t),Math.floor(Math.random()*(t-e+1))+e}},{key:"buildErrorEvent",value:function(e,t,n){return{code:e,reason:t,data:n}}},{key:"loadStyleSheet",value:function(e){if(!e||!(e instanceof String||"string"==typeof e))throw new TypeError("Util::loadStyleSheet - Url must be a string.");var t=document.createElement("link");t.setAttribute("rel","stylesheet"),t.setAttribute("type","text/css"),ie.appendChild(t),ne.push(t),t.setAttribute("href",e)}},{key:"loadSynchronousScripts",value:function(t){var n=n||void 0;if(n||(n=j()),void 0===e.loadSynchronousScripts.scripts&&(e.loadSynchronousScripts.scripts=[],e.loadSynchronousScripts.index=-1,e.loadSynchronousScripts.loading=!1,e.loadSynchronousScripts.next=function(){if(!e.loadSynchronousScripts.loading){e.loadSynchronousScripts.loading=!0;var t=e.loadSynchronousScripts.scripts[++e.loadSynchronousScripts.index],n=document.getElementsByTagName("head")[0],i=document.createElement("script");i.type="text/javascript",i.src=t.src,i.onload=function(){e.loadSynchronousScripts.loading=!1,e.loadSynchronousScripts.index<e.loadSynchronousScripts.scripts.length-1&&e.loadSynchronousScripts.next(),t.resolve()},n.appendChild(i)}}),t){for(var i=0;i<e.loadSynchronousScripts.scripts.length;i++)if(e.loadSynchronousScripts.scripts[i].src==t)return e.loadSynchronousScripts.scripts[i].promise;var r={src:t};r.promise=new n(function(e){r.resolve=e}),e.loadSynchronousScripts.scripts.push(r),e.loadSynchronousScripts.next()}return e.loadSynchronousScripts.scripts[e.loadSynchronousScripts.scripts.length-1].promise}},{key:"loadScript",value:function(e,t,n){if(!e||!(e instanceof String||"string"==typeof e))throw new TypeError("Util::loadScript - Url must be a string.");t=!(!t&&void 0!==t);var i=document.createElement("script");i.setAttribute("type","text/javascript"),i.setAttribute("async",t),i.onload=n||function(){},ie.appendChild(i),ee.push(i),i.setAttribute("src",e)}},{key:"loadScriptToBody",value:function(e,t,n){if(!e||!(e instanceof String||"string"==typeof e))throw new TypeError("Util::loadScript - Url must be a string.");t=!(!t&&void 0!==t);var i=document.createElement("script");i.setAttribute("type","text/javascript"),i.setAttribute("async",t),i.onload=n||function(){},re.appendChild(i),te.push(i),i.setAttribute("src",e)}},{key:"clearLoadedScripts",value:function(){for(var e=0;e<ee.length;e++)ee[e]&&ee[e]instanceof Node&&(ie.removeChild(ee[e]),delete ee[e])}},{key:"clearBodyLoadedScripts",value:function(){for(var e=0;e<te.length;e++)te[e]&&te[e]instanceof Node&&(re.removeChild(te[e]),delete te[e])}},{key:"clearLoadedStyleSheets",value:function(){for(var e=0;e<ne.length;e++)ne[e]&&ne[e]instanceof Node&&(ne[e].disabled=!0,ie.removeChild(ne[e]),delete ne[e])}},{key:"clearAllLoadedScriptsAndStyleSheets",value:function(){e.clearLoadedScripts(),e.clearLoadedStyleSheets()}},{key:"addClass",value:function(e,t){if(t){var n=t.className;if(-1!=n.indexOf(e))return;""!=n&&(e=" "+e),t.className=n+e}}},{key:"removeClass",value:function(e,t){if(t){var n=t.className,i=new RegExp(e,"g");n=n.replace(i,""),t.className=n}}},{key:"hasClass",value:function(e,t){return(" "+e.className+" ").indexOf(" "+t+" ")>-1}},{key:"elementInViewport",value:function(e,t,n){var i=e.getBoundingClientRect(),r=i.top,a=i.bottom,o=i.left,s=i.right,u=document.documentElement.clientHeight,c=document.documentElement.clientWidth,l=window.innerHeight,d=window.innerWidth;return n&&(r-=n),t?r>=0&&a<=window.innerHeight:r>=0&&r<=(l||u)&&o>=0&&o<=(d||c)||a>=0&&a<=(l||u)&&s>=0&&s<=(d||c)}},{key:"smoothScroll",value:function(t,n){var i=t,r=t;do{if(!(i=i.parentNode))return;i.scrollTop+=1}while(0==i.scrollTop);var a=0;do{if(t==i)break;a+=t.offsetTop}while(t=t.offsetParent);e.myscroll(r,n,i,i.scrollTop,a-n,0)}},{key:"myscroll",value:function(t,n,i,r,a,o){++o>10||t.children.length>0&&e.elementInViewport(t.children.item(0),!0,n)||(i.scrollTop=r+(a-r)/10*o,setTimeout(function(){e.myscroll(t,n,i,r,a,o)},20))}},{key:"xhr",value:function(e){var t=t||void 0;return t||(t=j()),new t(function(t,n){var i=0===e.retries?0:e.retries||3;!function r(){var a=new XMLHttpRequest;e.disableSSL||(e.url=e.url.replace(/^http:\/\//i,"https://")),a.open(e.method||"GET",e.url,!0),Object.keys(e.headers||{}).forEach(function(t){a.setRequestHeader(t,e.headers[t])});var o=void 0;a.onreadystatechange=function(s){var u,c;if(2==a.readyState&&(u=a.getAllResponseHeaders().trim().split(/[\r\n]+/),c={},u.forEach(function(e){var t=e.split(": "),n=t.shift(),i=t.join(": ");c[n]=i}),o=c),4===a.readyState)if(-1===[200,201,202,203,204,304].indexOf(a.status))i>0?(i--,r()):e.isFullResponse?n(a):n(new Error("Server responded with a status of "+a.status));else try{var d=s.target;e.format=e.format||"json","json"===e.format?(d=d.response?JSON.parse(d.response):{}).headers?l(d.headers,o):d.headers=o:"xml"===e.format&&(d=d.responseXML),e.isFullResponse?t({xhr:s.target,data:d,headers:o}):t(d)}catch(s){i>0?(i--,r()):e.isFullResponse?n(a):n("JSON parse error with Server response")}},e.timeout&&(a.timeout=e.timeout,a.ontimeout=function(t){i>0?(i--,r()):n(new Error("Server timeout "+e.timeout+"ms"))}),a.send(e.data)}()})}},{key:"timeSnapToMs",value:function(e){e.split(".").length<=1&&(e+=".000");var t=e.split(":"),n=t.pop().split("."),i=1e3*Number(n[0])+Number(n[1]);return(i+=1e3*Number(t.pop())*60)+1e3*Number(t.pop())*60*60}},{key:"millisecondsToString",value:function(e,t){var n="",i=Math.floor(e%31536e3%86400%3600%60);n=isNaN(i)||i<=0?":00":i<10?":0"+i:":"+i;var r=Math.floor(e%31536e3%86400%3600/60);n=isNaN(r)||r<=0?"00"+n:r<10?"0"+r+n:r+n;var a=Math.floor(e%31536e3%86400/3600);return t?n=isNaN(a)||a<=0?"00:"+n:a<10?"0"+a+":"+n:a+":"+n:a>0&&(n=a+":"+n),n}},{key:"getUrlVars",value:function(){for(var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:window.location.href,n={},i=t.slice(t.indexOf("?")+1).split("&"),r=0;r<i.length;r++)n[(e=i[r].split("="))[0]]=decodeURIComponent(e[1]);return n}},{key:"updateUrlQueryParams",value:function(e,t){if(!e)return VizbeeUtils.logger.warn("Util::updateUrlQueryParams - INVALID inputUrl, doing nothing"),e;if($.isEmpty(t))return VizbeeUtils.logger.warn("Util::updateUrlQueryParams - INVALID inputParams, doing nothing"),e;try{var n=new URL(e),i=new URLSearchParams(n.search);Object.keys(t).forEach(function(e){return i.set(e,t[e])}),n.search=i.toString();var r=n.toString();return VizbeeUtils.logger.debug("Util::updateUrlQueryParams - updated url="+r),r}catch(t){return VizbeeUtils.logger.error("Util::updateUrlQueryParams - failed to update query params for url="+e),e}}},{key:"docCookies",get:function(){return{getItem:function(e){return e&&decodeURIComponent(document.cookie.replace(new RegExp("(?:(?:^|.*;)\\s*"+encodeURIComponent(e).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*([^;]*).*$)|^.*$"),"$1"))||null},setItem:function(e,t,n,i,r,a){if(!e||/^(?:expires|max\-age|path|domain|secure)$/i.test(e))return!1;var o="";if(n)switch(n.constructor){case Number:o=n===1/0?"; expires=Fri, 31 Dec 9999 23:59:59 GMT":"; max-age="+n;break;case String:o="; expires="+n;break;case Date:o="; expires="+n.toUTCString()}return document.cookie=encodeURIComponent(e)+"="+encodeURIComponent(t)+o+(r?"; domain="+r:"")+(i?"; path="+i:"")+(a?"; secure":""),!0},removeItem:function(e,t,n){return!!this.hasItem(e)&&(document.cookie=encodeURIComponent(e)+"=; expires=Thu, 01 Jan 1970 00:00:00 GMT"+(n?"; domain="+n:"")+(t?"; path="+t:""),!0)},hasItem:function(e){return!!e&&new RegExp("(?:^|;\\s*)"+encodeURIComponent(e).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=").test(document.cookie)},keys:function(){for(var e=document.cookie.replace(/((?:^|\s*;)[^\=]+)(?=;|$)|^\s*|\s*(?:\=[^;]*)?(?:\1|$)/g,"").split(/\s*(?:\=[^;]*)?;\s*/),t=e.length,n=0;n<t;n++)e[n]=decodeURIComponent(e[n]);return e},eraseCookieFromAllPaths:function(e){var t=location.pathname.split("/"),n=" path=";document.cookie=encodeURIComponent(e)+"=; expires=Thu, 01-Jan-1970 00:00:01 GMT;";for(var i=0;i<t.length;i++)n+=("/"!=n.substr(-1)?"/":"")+t[i],document.cookie=encodeURIComponent(e)+"=; expires=Thu, 01-Jan-1970 00:00:01 GMT;"+n+";"}}}},{key:"invert",value:function(e){for(var t={},n=Object.keys(e),i=0,r=n.length;i<r;i++)t[e[n[i]]]=n[i];return t}},{key:"deepMerge",value:function(t,n){var i=Array.isArray(n),r=i&&[]||{};return i?(t=t||[],r=r.concat(t),n.forEach(function(n,i){void 0===r[i]?r[i]=n:"object"===S(n)?r[i]=e.deepMerge(t[i],n):-1===t.indexOf(n)&&r.push(n)})):("object"===S(t)&&null!==t&&Object.keys(t).forEach(function(e){r[e]=t[e]}),Object.keys(n).forEach(function(i){"object"===S(n[i])&&n[i]&&t[i]?r[i]=e.deepMerge(t[i],n[i]):r[i]=n[i]})),r}},{key:"isEqual",value:function(e,t){return $.isEqual(e,t)}},{key:"flatten",value:function(e){var t={};return function e(n,i){if(Object(n)!==n)t[i]=n;else if(Array.isArray(n)){for(var r=0,a=n.length;r<a;r++)e(n[r],i+"["+r+"]");0==a&&(t[i]=[])}else{var o=!0;for(var s in n)o=!1,e(n[s],i?i+"."+s:s);o&&i&&(t[i]={})}}(e,""),t}},{key:"unflatten",value:function(e){if(Object(e)!==e||Array.isArray(e))return e;var t=/\.?([^.\[\]]+)|\[(\d+)\]/g,n={};for(var i in e){for(var r,a=n,o="";r=t.exec(i);)a=a[o]||(a[o]=r[2]?[]:{}),o=r[2]||r[1];a[o]=e[i]}return n[""]||n}},{key:"decodeB64Recurse",value:function(t,n){if(!t||!n)return t;for(var i in t){var r=t[i];if("object"===S(r))e.decodeB64Recurse(r,n);else if(i.indexOf(n)>-1){var a=i.replace(n,"");if(t[a]=t[i],delete t[i],"string"==typeof t[a]){var o=decodeURIComponent(escape(atob(t[a])));t[a]=e.parseFunction(o)}}}return t}},{key:"parseFunction",value:function(e){var t=e.indexOf("{"),n=e.substring(t+1,e.lastIndexOf("}")),i=e.substring(0,t),r=i.substring(i.indexOf("(")+1,i.lastIndexOf(")")).split(",");function a(){return Function.apply(this,r)}return r.push(n),a.prototype=Function.prototype,new a}},{key:"padStart",value:function(t,n,i){return n|=0,i=String(void 0!==i?i:" "),t.length>n?String(t):((n-=t.length)>i.length&&(i+=e.repeat(i,n/i.length)),i.slice(0,n)+String(t))}},{key:"padEnd",value:function(t,n,i){return n|=0,i=String(void 0!==i?i:" "),t.length>n?String(t):((n-=t.length)>i.length&&(i+=e.repeat(i,n/i.length)),String(t)+i.slice(0,n))}},{key:"repeat",value:function(e,t){if(!e)throw new TypeError("can't convert "+e+" to object");var n=""+e;if((t=+t)!=t&&(t=0),t<0)throw new RangeError("repeat count must be non-negative");if(t==1/0)throw new RangeError("repeat count must be less than infinity");if(t=Math.floor(t),0==n.length||0==t)return"";if(n.length*t>=1<<28)throw new RangeError("repeat count must not overflow maximum string size");var i=n.length*t;for(t=Math.floor(Math.log(t)/Math.log(2));t;)n+=n,t--;return n+n.substring(0,i-n.length)}},{key:"getShortString",value:function(e,t){if(!$.isString(t))return e;if(!$.isString(e))return e;if(-1!=e.indexOf(t)){var n=e.trim().split(t);return $.reduce(n,function(e,t){return e+t.charAt(0)},"")}return e}},{key:"toCamelCase",value:function(e){return void 0===e?e:(e=e.replace(/([-_][a-z])/g,function(e){return e.toUpperCase().replace("-","").replace("_","")})).charAt(0).toLowerCase()+e.slice(1)}},{key:"matchStringWithRegex",value:function(e,t){return null!=t&&null!=e&&new RegExp(e,"i").test(t)}},{key:"isValidIPv4Address",value:function(t){return null!=t&&e.matchStringWithRegex(/^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/,t)}},{key:"convertObjectsToString",value:function(e){if(!e)return e;if(!Array.isArray(e))return e;for(var t=0;t<e.length;t++){var n=e[t];try{"object"==S(n)&&(n=JSON.stringify(n))}catch(e){}e[t]=n}return e}},{key:"getUpdatedStringWithReplacedValues",value:function(e,t){return $.isString(e)?!t||Array.isArray(t)||"object"!=S(t)?(VizbeeUtils.logger.d("Util","getUpdatedStringWithReplacedValues","INVALID input json, NOT updating input string"),e):(Object.keys(t).forEach(function(n){e=e.replace(new RegExp(n,"gi"),t[n])}),e):(VizbeeUtils.logger.warn("Util::getUpdatedStringWithReplacedValues - INVALID inputString, NOT updating input string"),e)}},{key:"uuidv4",value:function(){return crypto&&crypto.getRandomValues?([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,function(e){return(e^crypto.getRandomValues(new Uint8Array(1))[0]&15>>e/4).toString(16)}):Math.floor(1e10*Math.random()).toString()}},{key:"checkIfImageExists",value:function(e){var t=t||void 0;return t||(t=j()),new t(function(t,n){var i=new Image;i.src=e,i.complete?t(!0):(i.onload=function(){t(!0)},i.onerror=function(){t(!1)})})}},{key:"getFormEncodedUriFormat",value:function(e){if($.isObject(e)){var t=[];for(var n in e){var i=encodeURIComponent(n),r=encodeURIComponent(e[n]);t.push(i+"="+r)}return t.join("&")}}}])}(),oe=function(){function e(t){var n;if(a(this,e),n=r(this,e),VizbeeTV.logger.debug("constructing BaseTVRemote"),n.eventType=B,!(t&&t instanceof K))throw new Error("BaseTVRemote::constructor() -- platform cannot be empty or invalid.");return n.platform=t,n}return h(e,G),s(e,[{key:"keyNameMap",get:function(){return{1:"up",2:"down",3:"left",4:"right",5:"select",6:"play",7:"pause",8:"stop",9:"fast-forward",10:"rewind",11:"back",12:"exit",13:"play-pause",14:"alt_up",15:"alt_down",16:"alt_left",17:"alt_right",18:"skip_next",19:"skip_prev"}}},{key:"keyCodeMap",get:function(){throw new TypeError("Abstract method - BaseTVRemote::keyMap getter.")}},{key:"registerListener",value:function(){var e=this;try{document.addEventListener("keydown",function(t){e.dispatchEvent(new B(t,e))})}catch(e){VizbeeTV.logger.error("registerListener error - ",e.message,e)}}},{key:"sendKeyEvent",value:function(e){try{var t=ae.invert(this.keyCodeMap)[e],n=new Event("keydown");n.keyCode=t,n.charCode=t,document.dispatchEvent(n)}catch(e){VizbeeTV.logger.error("sendKeyEvent error ",e.message,e)}}},{key:"sendPlay",value:function(){this.sendKeyEvent(e.keys.play)}},{key:"sendPause",value:function(){this.sendKeyEvent(e.keys.pause)}},{key:"sendStop",value:function(){this.sendKeyEvent(e.keys.stop)}}],[{key:"keys",get:function(){return{up:1,down:2,left:3,right:4,select:5,play:6,pause:7,stop:8,ffw:9,rw:10,back:11,exit:12,play_pause:13,alt_up:14,alt_down:15,alt_left:16,alt_right:17,skip_next:18,skip_prev:19}}}])}(),se=function(){function e(){return a(this,e),r(this,e,arguments)}return h(e,oe),s(e,[{key:"keyCodeMap",get:function(){return{38:oe.keys.up,40:oe.keys.down,37:oe.keys.left,39:oe.keys.right,13:oe.keys.select,415:oe.keys.play,19:oe.keys.pause,413:oe.keys.stop,417:oe.keys.ffw,412:oe.keys.rw,8:oe.keys.back}}}])}(),ue=function(){return s(function e(){if(a(this,e),"BaseDeviceID"===this.constructor.name)throw new TypeError("BaseDeviceID::constructor() - Abstract class.");this.deviceIdAlgorithm="VTV_DEFAULT",this.deviceIdKey="deviceid"},[{key:"uniqueDeviceID",value:function(e,t){VizbeeTV.logger.error("BaseDeviceID::uniqueDeviceID - subclass did not override; no deviceId available"),t()}},{key:"algorithm",get:function(){return this.deviceIdAlgorithm}}])}(),ce=function(){function e(){var t;return a(this,e),(t=r(this,e)).deviceIdAlgorithm="VTV_URL_PARAMS",t.storageDeviceIdKey="VTV_"+t.deviceIdKey,t}return h(e,ue),s(e,[{key:"uniqueDeviceID",value:function(e,t){var n=(ae.getUrlVars()||{})[this.deviceIdKey];if(n)ae.docCookies.setItem(this.storageDeviceIdKey,n,1/0,"/");else{var i=ae.docCookies.getItem(this.storageDeviceIdKey);if(!i)return VizbeeTV.logger.error("URLParamsDeviceID::uniqueDeviceID - didn't find deviceID in URL or storage"),void t();n=i}e(n)}}])}(),le=function(){return s(function e(){a(this,e)},[{key:"isLaunchedbyVizbee",value:function(){throw new TypeError("BaseLaunchParams::isLaunchedbyVizbee() - Abstract method. This method must be implemented by derived classes.")}},{key:"getLaunchParams",value:function(e){}},{key:"setLaunchParams",value:function(e){}},{key:"waitUntilReady",value:function(){return this._readyPromise||Promise.resolve()}}])}(),de=function(){function e(){return a(this,e),r(this,e)}return h(e,le),s(e,[{key:"isLaunchedbyVizbee",value:function(){var e=this.getLaunchParams();return e?(VizbeeTV.logger.debug("URLLaunchParams::isLaunchedbyVizbee() - params present",e),"y"==e.vzb):(VizbeeTV.logger.debug("URLLaunchParams::isLaunchedbyVizbee() - params not present"),!1)}},{key:"getLaunchParams",value:function(){var e,t={};if(e=window.location.href,this.isValidUrl(e)){var n=!1,i=e.indexOf("?");if(i>=0)for(var r=e.slice(i+1).split("&"),a=0;a<r.length;a++){var o;2==(o=r[a].split("=")).length&&o[0].length&&o[1].length&&(n=!0,t[o[0]]=o[1])}return n?t:void 0}}},{key:"isValidUrl",value:function(e){return/(http|https):\/\//.test(e)}}])}(),fe=function(){return s(function e(){var t,n,i,r,o;a(this,e),this._uaParser=(t=navigator.userAgent,i={name:"",version:""},r={name:"",version:""},o={name:"",version:""},(n=/Tizen\s*([\d.]+)?/i.exec(t))?(i.name="Tizen",i.version=n[1]||""):(n=/Web0S(?:\.TV)?(?:[;\s/]*([\d.]+))?/i.exec(t))?(i.name="webOS",i.version=n[1]||""):(n=/Windows\s*(?:NT\s*)?([\d.]+)?/i.exec(t))?(i.name="Windows",i.version=n[1]||""):(n=/Mac OS X\s*([\d_.]+)?/i.exec(t))?(i.name="Mac OS",i.version=(n[1]||"").replace(/_/g,".")):(n=/CrOS[\s/]*([\w.]+)?/i.exec(t))?(i.name="Chromium OS",i.version=n[1]||""):(n=/Android\s*([\d.]+)?/i.exec(t))?(i.name="Android",i.version=n[1]||""):(n=/(?:iPhone|iPad).*OS\s*([\d_]+)/i.exec(t))?(i.name="iOS",i.version=(n[1]||"").replace(/_/g,".")):(n=/Linux/i.exec(t))&&(i.name="Linux"),(n=/(?:Edg|EdgA|EdgIOS)\/([\d.]+)/i.exec(t))?(r.name="Edge",r.version=n[1]):(n=/OPR\/([\d.]+)/i.exec(t))?(r.name="Opera",r.version=n[1]):(n=/SamsungBrowser\/([\d.]+)/i.exec(t))?(r.name="Samsung Internet",r.version=n[1]):(n=/Firefox\/([\d.]+)/i.exec(t))?(r.name="Firefox",r.version=n[1]):(n=/Chrome\/([\d.]+)/i.exec(t))?(r.name="Chrome",r.version=n[1]):(n=/Safari\/([\d.]+)/i.exec(t))&&/Version\/([\d.]+)/.test(t)&&(r.name="Safari",r.version=/Version\/([\d.]+)/.exec(t)[1]),(n=/AppleWebKit\/([\d.]+)/i.exec(t))?(o.name="WebKit",o.version=n[1]):(n=/Gecko\/([\d.]+)/i.exec(t))?(o.name="Gecko",o.version=n[1]):(n=/Trident\/([\d.]+)/i.exec(t))&&(o.name="Trident",o.version=n[1]),{os:i,browser:r,engine:o})},[{key:"deviceId",get:function(){return A}},{key:"make",get:function(){return A}},{key:"model",get:function(){return A}},{key:"modelYear",get:function(){return A}},{key:"serialNumber",get:function(){return A}},{key:"friendlyName",get:function(){return A}},{key:"macAddress",get:function(){return A}},{key:"userAgent",get:function(){return navigator.userAgent}},{key:"os",get:function(){return{name:this._uaParser.os.name,sdkVersion:this._uaParser.os.version,version:this._uaParser.os.version}}},{key:"browser",get:function(){return{name:this._uaParser.browser.name,version:this._uaParser.browser.version,engine_name:this._uaParser.engine.name,engine_version:this._uaParser.engine.version}}},{key:"screen",get:function(){return{height:document.body.clientHeight,width:document.body.clientWidth}}}])}(),he=function(){function e(){return a(this,e),r(this,e)}return h(e,fe),s(e)}(),pe=function(){return s(function e(){a(this,e)},[{key:"internalIP",get:function(){return A}},{key:"externalIP",get:function(){return A}},{key:"isWifiConnected",get:function(){return!0}},{key:"connectionType",get:function(){return A}},{key:"bssid",get:function(){return A}},{key:"ssid",get:function(){return A}}])}(),ge=function(){function e(){return a(this,e),r(this,e)}return h(e,pe),s(e)}(),ve=function(){return s(function e(){a(this,e)},[{key:"init",value:function(){this.player=void 0}},{key:"setPlayer",value:function(e){this.player=e}},{key:"getPlayer",value:function(){return this.player}},{key:"getTracks",value:function(e){return[]}},{key:"getEnabledTracks",value:function(e){return[]}},{key:"enableTracks",value:function(){}},{key:"disableTracks",value:function(e){}}])}(),ye=function(){return s(function e(){a(this,e),this._type="",this._id=-1},[{key:"toJSON",value:function(){return{type:this._type,id:this._id}}},{key:"fromJSON",value:function(e){e&&e.type&&!isNaN(e.id)?(this._type=e.type,this._id=e.id):VizbeeTV.logger.verbose("Track::fromJSON - invalid trackInfo")}},{key:"type",get:function(){return this._type},set:function(e){this._type=e}},{key:"id",get:function(){return this._id},set:function(e){this._id=e}}])}(),me=function(){function e(){var t;return a(this,e),(t=r(this,e)).type=C,t.subtype="",t._lang="",t}return h(e,ye),s(e,[{key:"toJSON",value:function(){var t=m(e,"toJSON",this)([]);return t.lang=this._lang,t.subtype=this._subtype,t}},{key:"fromJSON",value:function(t){t?(t.type=t.type||this.type,m(e,"fromJSON",this)([t]),this._lang=t.lang,this._subtype=t.subtype):VizbeeTV.logger.verbose("SubtitleTrack::fromJSON - invalid trackInfo")}},{key:"lang",get:function(){return this._lang},set:function(e){this._lang=e}},{key:"subtype",get:function(){return this._subtype},set:function(e){this._subtype=e}}])}(),be=function(){function e(){return a(this,e),r(this,e)}return h(e,ve),s(e,[{key:"init",value:function(){this._playerManager=cast.framework.CastReceiverContext.getInstance().getPlayerManager()}},{key:"getTracks",value:function(e){var t=this;if(!e)return[];var n=[];try{if(this._isTextTracksManagerAvailable()){var i=this._playerManager.getTextTracksManager();if(i){var r=i.getTracks();if(r&&r.length>0&&e==C){var a=r.filter(function(e){return cast.framework.messages.TrackType.TEXT==e.type});a&&a.forEach(function(e){var i=new me;i.fromJSON({id:e.trackId,lang:t._isValidTrackLanguage(e.language)?e.language:"en"}),n.push(i)})}}}}catch(e){VizbeeTV.logger.debug("ChromecastCAFSubtitle::getTracks - error",e&e.message),n=[]}return n}},{key:"getEnabledTracks",value:function(e){if(!e)return[];var t=[];try{if(this._isTextTracksManagerAvailable()&&e==C){var n=this._playerManager.getTextTracksManager();if(n){var i=n.getActiveTracks(),r=i.length>0?i[0]:void 0,a=new me;a.fromJSON({id:r.trackId,lang:this._isValidTrackLanguage(r.language)?r.language:"en"}),t.push(a)}}}catch(e){VizbeeTV.logger.debug("ChromecastCAFSubtitle::getEnabledTracks - error",e),t=[]}return t}},{key:"enableTracks",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];!e||!Array.isArray(e)||e.length<=0?VizbeeTV.logger.debug("ChromecastCAFSubtitle::enableTracks - enable subtitles command ignored due to invalid input"):this._isTextTracksManagerAvailable()?(VizbeeTV.logger.debug("ChromecastCAFSubtitle::enableTracks - sending setActiveByIds to CAFPlayer"),this._playerManager.getTextTracksManager().setActiveByIds(e)):VizbeeTV.logger.debug("ChromecastCAFSubtitle::enableTracks - ignoring command as textTracksManager is not available")}},{key:"disableTracks",value:function(e){this._isTextTracksManagerAvailable()?(VizbeeTV.logger.debug("ChromecastCAFSubtitle::disableTracks - sending setActiveByIds[] to CAFPlayer"),this._playerManager.getTextTracksManager().setActiveByIds([])):VizbeeTV.logger.debug("ChromecastCAFSubtitle::disableTracks - ignoring command as textTracksManager is not available")}},{key:"_isTextTracksManagerAvailable",value:function(){var e=this.getPlayer();return!(!e||!e.playerState)&&[e.playerState.STARTED,e.playerState.BUFFERING,e.playerState.PLAYING,e.playerState.PAUSED].indexOf(e.getCurrentState())>=0}},{key:"_isValidTrackLanguage",value:function(e){return!(!e||e.indexOf("null")>=0)}}])}(),Se=function(){function e(){return a(this,e),r(this,e)}return h(e,ve),s(e,[{key:"getTracks",value:function(e){if(!e||C!=e)return[];var t=this.getPlayer();if(!t)return[];var n=this._getTracksFromVideoInfo(t);return n&&n.length>0?n:(n=[],n=this._getTracksFromMediaManager(t))}},{key:"_getTracksFromVideoInfo",value:function(e){if(!e)return[];var t=[];if(e.videoInfo&&e.videoInfo.tracks&&e.videoInfo.tracks.length>0){var n=e.videoInfo.tracks.filter(function(e){return"text"==e.type.toLowerCase()});n.length>0&&n.forEach(function(e){var n=new me;n.fromJSON({id:e.trackId,lang:e.language,subtype:e.trackContentType}),t.push(n)})}return t}},{key:"_getTracksFromMediaManager",value:function(e){var t=[];try{var n=e.mediaManager&&e.mediaManager.getMediaInformation();if(n&&n.tracks&&n.tracks.length){var i=n.tracks.filter(function(e){return"text"==e.type.toLowerCase()});i.length>0&&i.forEach(function(e){var n=new me;n.fromJSON({id:e.trackId,lang:e.language,subtype:e.trackContentType}),t.push(n)})}}catch(e){t=[]}return t}},{key:"getEnabledTracks",value:function(e){if(!e||C!=e)return[];var t=this.getPlayer();if(!t)return[];var n=[];return(n=this._getEnabledTracksFromVideoInfo(t))&&n.length>0?n:(n=[],n=this._getEnabledTracksFromMediaManager(t))}},{key:"_getEnabledTracksFromVideoInfo",value:function(e){if(!e||!e.videoInfo)return[];var t=[];if(e.videoInfo.tracks&&e.videoInfo.tracks.length>0&&isFinite(e.videoInfo.activeTrackId)){var n=e.videoInfo.tracks.find(function(t){return e.videoInfo.activeTrackId==t.trackId});if(n){var i=new me;i.fromJSON({id:n.trackId,lang:n.language,subtype:n.trackContentType}),t.push(i)}}return t}},{key:"_getEnabledTracksFromMediaManager",value:function(e){var t=[];try{var n=e.mediaManager&&e.mediaManager.getMediaInformation();if(n&&n.tracks&&n.tracks.length){for(var i,r=n.tracks.filter(function(e){return"text"==e.type.toLowerCase()}),a=e.playerElement&&e.playerElement.textTracks.length||0,o=function(){var t=e.playerElement.textTracks[s];if("showing"==t.mode)return""==t.id?e.platformConfig.captionsType&&"cea608"==e.platformConfig.captionsType.toLowerCase()?(t.trackId=99,i=t):i=r&&r[0]:i=r.find(function(e){return e.trackId==t.id}),1},s=0;s<a&&!o();s++);if(i){var u=new me;u.fromJSON({id:i.trackId,lang:i.language,subtype:i.trackContentType}),t.push(u)}}}catch(e){t=[]}return t}},{key:"enableTracks",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=this.getPlayer();this._areInbandCaptionAvailable(t)?this._enableInbandTracks(e,t):this._enableExternalTracks(e,t)}},{key:"_enableInbandTracks",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1?arguments[1]:void 0;VizbeeTV.logger.debug("ChromecastV2InbandSubtitle::enableTracks - ",e);for(var n=t.castPlayer.getStreamingProtocol(),i=n.getStreamCount(),r=0;r<i;r++){for(var a=r+1,o=!1,s=0;s<e.length;s++)if(e[s]==a){o=!0;break}var u=n.isStreamEnabled(r);o&&!u&&n.enableStream(r,!0)}t.castPlayer.enableCaptions(!0)}},{key:"_enableExternalTracks",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1?arguments[1]:void 0;if(0!=e.length){var n=this.getTracks(C,t);if(0!=n.length){var i=e[0],r=n.find(function(e){return i==e.id});if(r){var a,o="ttml";r.subtype.indexOf("vtt")>=0&&(a="webvtt"),r.subtype.indexOf(o)>=0&&(a=o),a&&(t.videoInfo.activeTrackId=i,t.castPlayer.enableCaptions(!0,a,i))}}}}},{key:"disableTracks",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=this.getPlayer();this._areInbandCaptionAvailable(t)?this._disableInbandTracks(e,t):this._disableExternalTracks(e,t)}},{key:"_disableInbandTracks",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1?arguments[1]:void 0;VizbeeTV.logger.debug("ChromecastV2InbandSubtitle::disableTracks - ",e);for(var n=t.castPlayer.getStreamingProtocol(),i=n.getStreamCount(),r=0;r<i;r++){for(var a=r+1,o=!1,s=0;s<e.length;s++)if(e[s]==a){o=!0;break}var u=n.isStreamEnabled(r);!o&&u&&n.enableStream(r,!1)}t.castPlayer.enableCaptions(!0)}},{key:"_disableExternalTracks",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1?arguments[1]:void 0;if(0!=e.length){var n=this.getEnabledTracks(C,t);if(n&&n.length>0){var i=n.find(function(t){return t.id==e[0]});if(i){var r,a="ttml";i.subtype.indexOf("vtt")>=0&&(r="webvtt"),i.subtype.indexOf(a)>=0&&(r=a),r&&(t.videoInfo.activeTrackId=void 0,t.castPlayer.enableCaptions(!1,r))}}}}},{key:"_areInbandCaptionAvailable",value:function(e){VizbeeTV.logger.verbose("ChromecastV2InbandSubtitle::_areInbandCaptionAvailable");var t=e.mediaManager.getMediaInformation();return 0!=(t&&t.tracks).length||(VizbeeTV.logger.verbose("ChromecastV2InbandSubtitle::_areInbandCaptionAvailable - No in_band captions"),!1)}}])}(),_e=function(){function e(){return a(this,e),r(this,e)}return h(e,ve),s(e,[{key:"init",value:function(){this._registerInAppCaptionControl(),this.isCaptionsEnabledInTV=this._isCaptionsEnabledInTV(),this._addCaptionChangeListener(),this.isInbandSubtitlesEnabled=!1,this.disableTracks([])}},{key:"_registerInAppCaptionControl",value:function(){try{webapis.tvinfo.registerInAppCaptionControl(!0)}catch(e){VizbeeTV.logger.debug("InbandSubtitle::_registerInAppCaptionControl - error code = "+e.code)}}},{key:"_isCaptionsEnabledInTV",value:function(){var e=1;try{0==(e=webapis.tvinfo.getMenuValue(webapis.tvinfo.TvInfoMenuKey.CAPTION_ONOFF_KEY))?VizbeeTV.logger.verbose("InbandSubtitle::_isCaptionsEnabledInTV - Captions are DISABLED in TV"):VizbeeTV.logger.verbose("InbandSubtitle::_isCaptionsEnabledInTV - Captions are ENABLED in TV")}catch(e){VizbeeTV.logger.error("InbandSubtitle::_isCaptionsEnabledInTV - Error in getting captions info, code = "+e.code)}return e}},{key:"_addCaptionChangeListener",value:function(){var e=this;try{webapis.tvinfo.addCaptionChangeListener(webapis.tvinfo.TvInfoMenuKey.CAPTION_ONOFF_KEY,function(t){e.isCaptionsEnabledInTV=e._isCaptionsEnabledInTV(),e.isCaptionsEnabledInTV?e.enableTracks([99]):e.disableTracks([])})}catch(e){VizbeeTV.logger.error("InbandSubtitle::addCaptionChangeListener - error code = "+e.code)}}},{key:"getTracks",value:function(e){if(VizbeeTV.logger.verbose("InbandSubtitle::getTracks - trackType = ",e),!e||C!=e)return VizbeeTV.logger.verbose("InbandSubtitle::getTracks - INVALID trackType"),[];if(!this._isCaptionsEnabledInTV())return VizbeeTV.logger.verbose("InbandSubtitle::getTracks - CAPTIONS menu option is OFF in TV"),[];var t=[],n=new me;return n.fromJSON({id:99,lang:"en-US"}),t.push(n),t}},{key:"getEnabledTracks",value:function(e){if(VizbeeTV.logger.verbose("InbandSubtitle::getEnabledTracks - trackType = ",e),!e||C!=e)return VizbeeTV.logger.verbose("InbandSubtitle::getEnabledTracks - INVALID trackType"),[];if(!this._isCaptionsEnabledInTV())return VizbeeTV.logger.verbose("InbandSubtitle::getEnabledTracks - CAPTIONS menu option is OFF in TV"),[];if(!this.isInbandSubtitlesEnabled)return[];var t=[],n=new me;return n.fromJSON({id:99,lang:"en-US"}),t.push(n),t}},{key:"enableTracks",value:function(e){if(this._isCaptionsEnabledInTV())try{VizbeeTV.logger.debug("InbandSubtitle::enableTracks - ENABLING INBAND SUBTITLES"),webapis.tvinfo.showCaption(!0),this.isInbandSubtitlesEnabled=!0}catch(e){VizbeeTV.logger.error("InbandSubtitle::enableTracks - Error enabling in_band subtitles, code = "+e.code)}else VizbeeTV.logger.warn("InbandSubtitle::enableTracks - Captions are OFF in TV menu, IGNORING enable captions command")}},{key:"disableTracks",value:function(e){if(this._isCaptionsEnabledInTV())try{VizbeeTV.logger.debug("InbandSubtitle::disableTracks - DISABLING INBAND SUBTITLES"),webapis.tvinfo.showCaption(!1),this.isInbandSubtitlesEnabled=!1}catch(e){VizbeeTV.logger.error("InbandSubtitle::disableTracks - Error disabling in_band subtitles, code = "+e.code)}else VizbeeTV.logger.warn("InbandSubtitle::disableTracks - Captions are OFF in TV menu, IGNORING disable captions command")}}])}(),ke=function(){function e(){return a(this,e),r(this,e)}return h(e,ve),s(e,[{key:"init",value:function(){this.enabledTracks=[],this.isInManifestSubtitleEnabled=!1}},{key:"getTracks",value:function(e){if(!e||C!=e)return VizbeeTV.logger.verbose("InManifestSubtitle::getTracks - INVALID trackType"),[];if(-1==["READY","PLAYING","PAUSED"].indexOf(webapis.avplay.getState()))return[];var t=webapis.avplay.getTotalTrackInfo(),n=$.filter(t,function(e){return"TEXT"==e.type}),i=[];if(n&&n.length>0){VizbeeTV.logger.verbose("InManifestSubtitle::getTracks - available text tracks subtitle = ",n);try{if(n.forEach(function(e){var t=JSON.parse(e.extra_info);if(t&&t.track_lang&&-1!=t.track_lang.toLowerCase().indexOf("en")){var n=new me;n.fromJSON({id:e.index,lang:t.track_lang}),i.push(n)}}),0==i.length&&$.filter(n,function(e){return"NotSet"==JSON.parse(e.extra_info).track_lang}).length==n.length){VizbeeTV.logger.verbose("InManifestSubtitle::getTracks - setting default available text tracks");var r=new me;r.fromJSON({id:99,lang:"en"}),i.push(r)}}catch(e){VizbeeTV.logger.warn("InManifestSubtitle::getTracks - error in parsing in-manifest subtitle = ",e)}}return i}},{key:"getEnabledTracks",value:function(e){if(!e||C!=e)return VizbeeTV.logger.verbose("InManifestSubtitle::getEnabledTracks - INVALID trackType"),[];if(!this.isInManifestSubtitleEnabled)return this.enabledTracks=[],this.enabledTracks;if(-1==["READY","PLAYING","PAUSED"].indexOf(webapis.avplay.getState()))return VizbeeTV.logger.warn("InManifestSubtitle::getEnabledTracks - COMMAND IGNORED AS PLAYER IS NOT IN READY/PLAYING/PAUSED STATE"),this.enabledTracks=[],this.enabledTracks;if(this.enabledTracks&&Object.keys(this.enabledTracks).length>0)return this.enabledTracks;var t=$.find(webapis.avplay.getCurrentStreamInfo(),function(e){return"TEXT"==e.type});if(t)try{var n=JSON.parse(t.extra_info),i=new me;"NotSet"==n.track_lang?(VizbeeTV.logger.verbose("InManifestSubtitle::getEnabledTracks - setting default text track"),i.fromJSON({id:99,lang:"en"})):i.fromJSON({id:t.index,lang:"en"}),this.enabledTracks.push(i)}catch(e){VizbeeTV.logger.error("InManifestSubtitle::getEnabledTracks - error in parsing in_band subtitles = ",e),this.enabledTracks=[]}return this.enabledTracks}},{key:"enableTracks",value:function(e){if(-1!=["IDLE","PLAYING","PAUSED"].indexOf(webapis.avplay.getState()))try{var t=this.getTracks(C);t&&t.length>0?(VizbeeTV.logger.debug("InManifestSubtitle::enableTracks - ENABLING TRACKS, trackId = ",e[0]),99!=e[0]&&(webapis.avplay.setSelectTrack("TEXT",e[0]),webapis.avplay.setSilentSubtitle(!1)),this.isInManifestSubtitleEnabled=!0):VizbeeTV.logger.warn("InManifestSubtitle::enableTracks - COMMAND IGNORED AS THERE ARE NO AVAILABLE TEXT TRACKS")}catch(e){VizbeeTV.logger.error("InManifestSubtitle::enableTracks - Error enabling in-manifest tracks, code = "+e.code)}else VizbeeTV.logger.warn("InManifestSubtitle::enableSubtitle - COMMAND IGNORED AS PLAYER IS NOT IN PLAYING/PAUSED STATE")}},{key:"disableTracks",value:function(e){if(-1!=["IDLE","PLAYING","PAUSED"].indexOf(webapis.avplay.getState())){VizbeeTV.logger.debug("InManifestSubtitle::disableTracks - DISABLING IN_MANIFEST TRACKS");try{99!=e[0]&&webapis.avplay.setSilentSubtitle(!0),this.isInManifestSubtitleEnabled=!1}catch(e){VizbeeTV.logger.error("InManifestSubtitle::disableTracks - Error disabling in-manifest tracks, code = "+e.code)}}else VizbeeTV.logger.warn("InManifestSubtitle::disableTracks - COMMAND IGNORED AS PLAYER IS NOT IN IDLE/PLAYING/PAUSED STATE")}}])}(),Te=s(function e(t,n){a(this,e),this.type=t,this.data=n}),Ie=function(){return s(function e(){a(this,e)},null,[{key:"WILL_START",get:function(){return"will-start"}},{key:"START",get:function(){return"start"}},{key:"STOP",get:function(){return"stop"}},{key:"ENDED",get:function(){return"ended"}},{key:"DESTROY",get:function(){return"destroy"}},{key:"REWIND",get:function(){return"rewind"}},{key:"FAST_FORWARD",get:function(){return"fast-forward"}},{key:"BACK",get:function(){return"back"}},{key:"UP",get:function(){return"up"}},{key:"DOWN",get:function(){return"down"}},{key:"SELECT",get:function(){return"select"}},{key:"RESET",get:function(){return"reset"}},{key:"GET_MOBILE_APP",get:function(){return"get-mobile-app"}},{key:"SETTINGS_UI",get:function(){return"settings-ui"}},{key:"BROWSE_VIDEOS",get:function(){return"browse-videos"}},{key:"CAST_TO_TV",get:function(){return"cast-to-tv"}},{key:"QUEUING_ERROR",get:function(){return"tv.vizbee.queuing.error"}},{key:"MOUSE_CLICK",get:function(){return"mouse-click"}},{key:"MOUSE_MOVE",get:function(){return"mouse-move"}},{key:"GET_MOBILE_APP_CLICKED",get:function(){return"get-mobile-app-clicked"}},{key:"GET_MOBILE_APP_LOADED",get:function(){return"get-mobile-app-loaded"}},{key:"UPDATE_PRESENCE",get:function(){return"update-presence"}},{key:"AD_POD_WAITING",get:function(){return"awaiting-ad-pod"}},{key:"AD_PREPARING",get:function(){return"ad-preparing"}},{key:"AD_POD_START",get:function(){return"ad-pod-start"}},{key:"AD_POD_END",get:function(){return"ad-pod-end"}},{key:"AD_START",get:function(){return"ad-start"}},{key:"AD_PLAYING",get:function(){return"ad-playing"}},{key:"AD_END",get:function(){return"ad-end"}},{key:"ADD_CUEPOINTS",get:function(){return"add-cuepoints"}},{key:"SET_AD_POSITION",get:function(){return"set-ad-position"}},{key:"ID3_DATA",get:function(){return"id3-data"}},{key:"SHOW_CON_MON_MSG",get:function(){return"show-concurrency-monitoring-msg"}},{key:"SHOW_CON_MON_SESSION_LIST",get:function(){return"show-concurrency-monitoring-session-list"}},{key:"SHOW_SPINNER",get:function(){return"show-spinner"}},{key:"CUE_ENTER",get:function(){return"cue-enter"}},{key:"CUE_EXIT",get:function(){return"cue-exit"}},{key:"CAPTION_ONOFF_KEY",get:function(){return"caption-onoff-key"}},{key:"CAPTION_MODE_KEY",get:function(){return"caption-mode-key"}},{key:"CAPTION_STYLE_KEY",get:function(){return"caption-style-key"}},{key:"CAPTION_FONT_SIZE_KEY",get:function(){return"caption-font-size-key"}},{key:"CAPTION_FONT_STYLE_KEY",get:function(){return"caption-font-style-key"}},{key:"CAPTION_FG_COLOR_KEY",get:function(){return"caption-fg-color-key"}},{key:"CAPTION_FG_OPACITY_KEY",get:function(){return"caption-fg-opacity-key"}},{key:"CAPTION_BG_COLOR_KEY",get:function(){return"caption-bg-color-key"}},{key:"CAPTION_BG_OPACITY_KEY",get:function(){return"caption-bg-opacity-key"}},{key:"CAPTION_EDGE_TYPE_KEY",get:function(){return"caption-edge-type-key"}},{key:"CAPTION_EDGE_COLOR_KEY",get:function(){return"caption-edge-type-ley"}},{key:"CAPTION_WINDOW_COLOR_KEY",get:function(){return"caption-window-color-key"}},{key:"CAPTION_WINDOW_OPACITY_KEY",get:function(){return"caption-window-opacity-key"}},{key:"PLAYER_CONTROLS_VISIBLE",get:function(){return"player-controls-visible"}},{key:"PLAYER_CONTROLS_INVISIBLE",get:function(){return"player-controls-invisible"}},{key:"PREVIEW_TIME_UPDATE",get:function(){return"preview-time-update"}},{key:"SHOW_MESSAGE_POPUP",get:function(){return"show-message-popup"}},{key:"HIDE_MESSAGE_POPUP",get:function(){return"hide-message-popup"}},{key:"BITRATE_CHANGED",get:function(){return"bitrate-changed"}},{key:"UPDATE_TTS_MESSAGE",get:function(){return"update-tts-message"}}])}(),Ve=function(){function e(){a(this,e)}return s(e,null,[{key:"init",value:function(){window.webapis&&window.webapis.tvinfo&&(e._registerInAppCaptionControl(),e._addCaptionChangeListener())}},{key:"_registerInAppCaptionControl",value:function(){try{webapis.tvinfo.registerInAppCaptionControl(!0)}catch(e){VizbeeTV.logger.debug("TizenSubtitlesHelper::_registerInAppCaptionControl - error code = "+e.code)}}},{key:"_addCaptionChangeListener",value:function(){try{webapis.tvinfo.addCaptionChangeListener(webapis.tvinfo.TvInfoMenuKey.CAPTION_BG_COLOR_KEY,function(e,t){VizbeeTV.logger.debug("TizenSubtitlesHelper::_addCaptionChangeListener - webapis.tvinfo.TvInfoMenuKey.CAPTION_BG_COLOR_KEY=",t),VGA.tv.player.basePlayer.dispatchOnEvent(new Te(Ie.CAPTION_BG_COLOR_KEY,{value:webapis.tvinfo.getMenuValue(webapis.tvinfo.TvInfoMenuKey.CAPTION_BG_COLOR_KEY)}))}),webapis.tvinfo.addCaptionChangeListener(webapis.tvinfo.TvInfoMenuKey.CAPTION_BG_OPACITY_KEY,function(e,t){VizbeeTV.logger.debug("TizenSubtitlesHelper::_addCaptionChangeListener - webapis.tvinfo.TvInfoMenuKey.CAPTION_BG_OPACITY_KEY=",t),VGA.tv.player.basePlayer.dispatchOnEvent(new Te(Ie.CAPTION_BG_OPACITY_KEY,{value:webapis.tvinfo.getMenuValue(webapis.tvinfo.TvInfoMenuKey.CAPTION_BG_OPACITY_KEY)}))}),webapis.tvinfo.addCaptionChangeListener(webapis.tvinfo.TvInfoMenuKey.CAPTION_FG_COLOR_KEY,function(e,t){VizbeeTV.logger.debug("TizenSubtitlesHelper::_addCaptionChangeListener - webapis.tvinfo.TvInfoMenuKey.CAPTION_FG_COLOR_KEY=",t),VGA.tv.player.basePlayer.dispatchOnEvent(new Te(Ie.CAPTION_FG_COLOR_KEY,{value:webapis.tvinfo.getMenuValue(webapis.tvinfo.TvInfoMenuKey.CAPTION_FG_COLOR_KEY)}))}),webapis.tvinfo.addCaptionChangeListener(webapis.tvinfo.TvInfoMenuKey.CAPTION_FG_OPACITY_KEY,function(e,t){VizbeeTV.logger.debug("TizenSubtitlesHelper::_addCaptionChangeListener - webapis.tvinfo.TvInfoMenuKey.CAPTION_FG_OPACITY_KEY=",t),VGA.tv.player.basePlayer.dispatchOnEvent(new Te(Ie.CAPTION_FG_OPACITY_KEY,{value:webapis.tvinfo.getMenuValue(webapis.tvinfo.TvInfoMenuKey.CAPTION_FG_OPACITY_KEY)}))}),webapis.tvinfo.addCaptionChangeListener(webapis.tvinfo.TvInfoMenuKey.CAPTION_STYLE_KEY,function(e,t){VizbeeTV.logger.debug("TizenSubtitlesHelper::_addCaptionChangeListener - webapis.tvinfo.TvInfoMenuKey.CAPTION_STYLE_KEY=",t),VGA.tv.player.basePlayer.dispatchOnEvent(new Te(Ie.CAPTION_STYLE_KEY,{value:webapis.tvinfo.getMenuValue(webapis.tvinfo.TvInfoMenuKey.CAPTION_STYLE_KEY)}))}),webapis.tvinfo.addCaptionChangeListener(webapis.tvinfo.TvInfoMenuKey.CAPTION_FONT_STYLE_KEY,function(e,t){VizbeeTV.logger.debug("TizenSubtitlesHelper::_addCaptionChangeListener - webapis.tvinfo.TvInfoMenuKey.CAPTION_FONT_STYLE_KEY=",t),VGA.tv.player.basePlayer.dispatchOnEvent(new Te(Ie.CAPTION_FONT_STYLE_KEY,{value:webapis.tvinfo.getMenuValue(webapis.tvinfo.TvInfoMenuKey.CAPTION_FONT_STYLE_KEY)}))}),webapis.tvinfo.addCaptionChangeListener(webapis.tvinfo.TvInfoMenuKey.CAPTION_FONT_SIZE_KEY,function(e,t){VizbeeTV.logger.debug("TizenSubtitlesHelper::_addCaptionChangeListener - webapis.tvinfo.TvInfoMenuKey.CAPTION_FONT_SIZE_KEY=",t),VGA.tv.player.basePlayer.dispatchOnEvent(new Te(Ie.CAPTION_FONT_SIZE_KEY,{value:webapis.tvinfo.getMenuValue(webapis.tvinfo.TvInfoMenuKey.CAPTION_FONT_SIZE_KEY)}))}),webapis.tvinfo.addCaptionChangeListener(webapis.tvinfo.TvInfoMenuKey.CAPTION_EDGE_TYPE_KEY,function(e,t){VizbeeTV.logger.debug("TizenSubtitlesHelper::_addCaptionChangeListener - webapis.tvinfo.TvInfoMenuKey.CAPTION_EDGE_TYPE_KEY=",t),VGA.tv.player.basePlayer.dispatchOnEvent(new Te(Ie.CAPTION_EDGE_TYPE_KEY,{value:webapis.tvinfo.getMenuValue(webapis.tvinfo.TvInfoMenuKey.CAPTION_EDGE_TYPE_KEY)}))}),webapis.tvinfo.addCaptionChangeListener(webapis.tvinfo.TvInfoMenuKey.CAPTION_EDGE_COLOR_KEY,function(e,t){VizbeeTV.logger.debug("TizenSubtitlesHelper::_addCaptionChangeListener - webapis.tvinfo.TvInfoMenuKey.CAPTION_EDGE_COLOR_KEY=",t),VGA.tv.player.basePlayer.dispatchOnEvent(new Te(Ie.CAPTION_EDGE_COLOR_KEY,{value:webapis.tvinfo.getMenuValue(webapis.tvinfo.TvInfoMenuKey.CAPTION_EDGE_COLOR_KEY)}))}),webapis.tvinfo.addCaptionChangeListener(webapis.tvinfo.TvInfoMenuKey.CAPTION_WINDOW_COLOR_KEY,function(e,t){VizbeeTV.logger.debug("TizenSubtitlesHelper::_addCaptionChangeListener - webapis.tvinfo.TvInfoMenuKey.CAPTION_WINDOW_COLOR_KEY=",t),VGA.tv.player.basePlayer.dispatchOnEvent(new Te(Ie.CAPTION_WINDOW_COLOR_KEY,{value:webapis.tvinfo.getMenuValue(webapis.tvinfo.TvInfoMenuKey.CAPTION_WINDOW_COLOR_KEY)}))}),webapis.tvinfo.addCaptionChangeListener(webapis.tvinfo.TvInfoMenuKey.CAPTION_WINDOW_OPACITY_KEY,function(e,t){VizbeeTV.logger.debug("TizenSubtitlesHelper::_addCaptionChangeListener - webapis.tvinfo.TvInfoMenuKey.CAPTION_WINDOW_OPACITY_KEY=",t),VGA.tv.player.basePlayer.dispatchOnEvent(new Te(Ie.CAPTION_WINDOW_OPACITY_KEY,{value:webapis.tvinfo.getMenuValue(webapis.tvinfo.TvInfoMenuKey.CAPTION_WINDOW_OPACITY_KEY)}))})}catch(e){VizbeeTV.logger.error("TizenSubtitlesHelper::addCaptionChangeListener - error code = "+e&&e.code)}}}])}(),Ee=function(){function e(){return a(this,e),r(this,e)}return h(e,ve),s(e,[{key:"init",value:function(){Ve&&Ve.init(),this._resetTrackIdStringToNumberMap()}},{key:"_setTrackIdStringToNumberMap",value:function(e){if(!this.trackIdStringToNumberMap[e]){var t=parseInt(e);$.isNaN(t)&&(t=Object.keys(this.trackIdStringToNumberMap).length+1),this.trackIdStringToNumberMap[e]=t,VizbeeTV.logger.verbose("BitmovinSubtitle::_setTrackIdStringToNumberMap - updated trackIdStringToNumberMap = ",this.trackIdStringToNumberMap)}}},{key:"_resetTrackIdStringToNumberMap",value:function(){this.trackIdStringToNumberMap={}}},{key:"getTracks",value:function(e){var t=this;if(!e||C!=e)return VizbeeTV.logger.verbose("BitmovinSubtitle::getTracks - INVALID trackType"),[];var n=this.getPlayer();if(!this._isBitmovinPlayerSubtitlesAPIAvailable(n))return VizbeeTV.logger.verbose("BitmovinSubtitle::getTracks - INVALID player or player has no subtitles"),[];var i=n.subtitles.list();VizbeeTV.logger.verbose("BitmovinSubtitle::getTracks - available text tracks from Bitmovin Player = ",JSON.stringify(i));var r=[];return i.length>0&&i.forEach(function(e){t._setTrackIdStringToNumberMap(e.id);var n=new me;n.fromJSON({id:t.trackIdStringToNumberMap[e.id],lang:"en"}),r.push(n)}),VizbeeTV.logger.verbose("BitmovinSubtitle::getTracks - available tracks = ",JSON.stringify(r)),r}},{key:"getEnabledTracks",value:function(e){if(!e||C!=e)return VizbeeTV.logger.verbose("BitmovinSubtitle::getEnabledTracks - INVALID trackType"),[];var t=this.getPlayer();if(!this._isBitmovinPlayerSubtitlesAPIAvailable(t))return VizbeeTV.logger.verbose("BitmovinSubtitle::getEnabledTracks - INVALID player or player has no subtitles"),[];var n=$.find(t.subtitles.list(),function(e){return 1==e.enabled});if(!n)return[];var i=[];this._setTrackIdStringToNumberMap(n.id);var r=new me;return r.fromJSON({id:this.trackIdStringToNumberMap[n.id],lang:"en"}),i.push(r),VizbeeTV.logger.verbose("BitmovinSubtitle::getEnabledTracks - enabled tracks = ",JSON.stringify(i)),i}},{key:"enableTracks",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];if(!t||!Array.isArray(t)||t.length<=0)VizbeeTV.logger.debug("BitmovinSubtitle::enableTracks - enable subtitles command ignored due to invalid input");else{var n=this.getPlayer();if(this._isBitmovinPlayerSubtitlesAPIAvailable(n)){var i=$.find(n.subtitles.list(),function(n){return 0==n.enabled&&e.trackIdStringToNumberMap[n.id]==t[0]});i?n.subtitles.enable(i.id):VizbeeTV.logger.debug("BitmovinSubtitle::enableTracks - enable subtitles command ignored as the text track is already enabled or not valid")}}}},{key:"disableTracks",value:function(e){var t=this.getPlayer();if(this._isBitmovinPlayerSubtitlesAPIAvailable(t)){var n=$.find(t.subtitles.list(),function(e){return 1==e.enabled});n?t.subtitles.disable(n.id):VizbeeTV.logger.debug("BitmovinSubtitle::disableTracks - disable subtitles command ignored as the text track is already disabled or not valid")}}},{key:"_isBitmovinPlayerSubtitlesAPIAvailable",value:function(e){if(!e)return!1;try{return null!=e.subtitles}catch(e){return VizbeeTV.logger.debug("BitmovinSubtitle::_isBitmovinPlayerSubtitlesAPIAvailable - subtitles API is not available"),!1}return!0}}])}(),Pe=function(){function e(){return a(this,e),r(this,e)}return h(e,ve),s(e,[{key:"init",value:function(){this._resetTrackIdStringToNumberMap()}},{key:"_setTrackIdStringToNumberMap",value:function(e){this.trackIdStringToNumberMap[e]||(this.trackIdStringToNumberMap[e]=Object.keys(this.trackIdStringToNumberMap).length+1,VizbeeTV.logger.verbose("VideoJSSubtitle::_setTrackIdStringToNumberMap - updated trackIdStringToNumberMap = ",this.trackIdStringToNumberMap))}},{key:"_resetTrackIdStringToNumberMap",value:function(){this.trackIdStringToNumberMap={}}},{key:"getTracks",value:function(e){var t=this;if(!e||C!=e)return VizbeeTV.logger.verbose("VideoJSSubtitle::getTracks - INVALID trackType"),[];var n=this._getTextTracksFromPlayer();VizbeeTV.logger.verbose("VideoJSSubtitle::getTracks - available text tracks from VideoJS Player = ",n);var i=[];return n.length>0&&n.forEach(function(e){t._setTrackIdStringToNumberMap(e.id);var n=new me;n.fromJSON({id:t.trackIdStringToNumberMap[e.id],lang:"en"}),i.push(n)}),VizbeeTV.logger.verbose("VideoJSSubtitle::getTracks - available tracks = ",JSON.stringify(i)),i}},{key:"getEnabledTracks",value:function(e){if(!e||C!=e)return VizbeeTV.logger.verbose("VideoJSSubtitle::getEnabledTracks - INVALID trackType"),[];var t=this._getTextTracksFromPlayer(),n=$.find(t,function(e){return e.mode&&"showing"==e.mode}),i=[];if(n){this._setTrackIdStringToNumberMap(n.id);var r=new me;r.fromJSON({id:this.trackIdStringToNumberMap[n.id],lang:"en"}),i.push(r)}return VizbeeTV.logger.verbose("VideoJSSubtitle::getEnabledTracks - enabled tracks = ",JSON.stringify(i)),i}},{key:"enableTracks",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];if(!t||!Array.isArray(t)||t.length<=0)VizbeeTV.logger.debug("VideoJSSubtitle::enableTracks - enable subtitles command ignored due to invalid input");else{var n=this._getTextTracksFromPlayer(),i=$.find(n,function(n){return n.mode&&("disabled"==n.mode||"hidden"==n.mode)&&e.trackIdStringToNumberMap[n.id]==t[0]});i?i.mode="showing":VizbeeTV.logger.debug("VideoJSSubtitle::enableTracks - enable subtitles command ignored as the text track is already enabled or not valid")}}},{key:"disableTracks",value:function(e){var t=this._getTextTracksFromPlayer(),n=$.find(t,function(e){return e.mode&&"showing"==e.mode});n?n.mode="disabled":VizbeeTV.logger.debug("VideoJSSubtitle::disableTracks - disable subtitles command ignored as the text track is already disabled or not valid")}},{key:"_getTextTracksFromPlayer",value:function(){var e=this.getPlayer();return e?$.filter(e.textTracks(),function(e){return e.kind&&("captions"===e.kind||"subtitles"===e.kind)}):[]}}])}(),Ae=function(){function e(){return a(this,e),r(this,e)}return h(e,ve),s(e,[{key:"init",value:function(){this._resetTrackIdStringToNumberMap()}},{key:"_setTrackIdStringToNumberMap",value:function(e){this.trackIdStringToNumberMap[e]||(this.trackIdStringToNumberMap[e]=Object.keys(this.trackIdStringToNumberMap).length+1,VizbeeTV.logger.verbose("THEOSubtitle::_setTrackIdStringToNumberMap - updated trackIdStringToNumberMap = ",this.trackIdStringToNumberMap))}},{key:"_resetTrackIdStringToNumberMap",value:function(){this.trackIdStringToNumberMap={}}},{key:"getTracks",value:function(e){var t=this;if(!e||C!=e)return VizbeeTV.logger.verbose("THEOSubtitle::getTracks - INVALID trackType"),[];var n=this._getTextTracksFromPlayer();VizbeeTV.logger.verbose("THEOSubtitle::getTracks - available text tracks from THEO Player = ",n);var i=[];return n.length>0&&n.forEach(function(e){t._setTrackIdStringToNumberMap(e.id);var n=new me;n.fromJSON({id:t.trackIdStringToNumberMap[e.id],lang:"en"}),i.push(n)}),VizbeeTV.logger.verbose("THEOSubtitle::getTracks - available tracks = ",JSON.stringify(i)),i}},{key:"getEnabledTracks",value:function(e){if(!e||C!=e)return VizbeeTV.logger.verbose("THEOSubtitle::getEnabledTracks - INVALID trackType"),[];var t=this._getTextTracksFromPlayer(),n=$.find(t,function(e){return e.mode&&"showing"==e.mode}),i=[];if(n){this._setTrackIdStringToNumberMap(n.id);var r=new me;r.fromJSON({id:this.trackIdStringToNumberMap[n.id],lang:"en"}),i.push(r)}return VizbeeTV.logger.verbose("THEOSubtitle::getEnabledTracks - enabled tracks = ",JSON.stringify(i)),i}},{key:"enableTracks",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];if(!t||!Array.isArray(t)||t.length<=0)VizbeeTV.logger.debug("THEOSubtitle::enableTracks - enable subtitles command ignored due to invalid input");else{var n=this._getTextTracksFromPlayer(),i=$.find(n,function(n){return n.mode&&("disabled"==n.mode||"hidden"==n.mode)&&e.trackIdStringToNumberMap[n.id]==t[0]});i?i.mode="showing":VizbeeTV.logger.debug("THEOSubtitle::enableTracks - enable subtitles command ignored as the text track is already enabled or not valid")}}},{key:"disableTracks",value:function(e){var t=this._getTextTracksFromPlayer(),n=$.find(t,function(e){return e.mode&&"showing"==e.mode});n?n.mode="disabled":VizbeeTV.logger.debug("THEOSubtitle::disableTracks - disable subtitles command ignored as the text track is already disabled or not valid")}},{key:"_getTextTracksFromPlayer",value:function(){var e=this.getPlayer();if(!e)return[];var t=[],n=e.textTracks||[],i=n.length;if(i>0)for(var r=0;r<i;r++)t.push(n[r]);return t}}])}(),Ce=function(){function e(){return a(this,e),r(this,e)}return h(e,ve),s(e,[{key:"init",value:function(){}},{key:"getTracks",value:function(e){if(!e||C!=e)return VizbeeTV.logger.v(this.constructor.name,"getTracks","INVALID trackType"),[];var t=this._getTextTracksFromPlayer()||[];if(0==t.length)return VizbeeTV.logger.v(this.constructor.name,"getTracks","text tracks are not available"),[];VizbeeTV.logger.v(this.constructor.name,"getTracks","available text tracks from Shaka Player: ",t);var n=[];return t.forEach(function(e){var t=new me;t.fromJSON({id:e.id,lang:"en"}),n.push(t)}),VizbeeTV.logger.v(this.constructor.name,"getTracks","available tracks: "+n),n}},{key:"getEnabledTracks",value:function(e){if(!e||C!=e)return VizbeeTV.logger.v(this.constructor.name,"getEnabledTracks","INVALID trackType"),[];var t=this._getTextTracksFromPlayer()||[],n=$.find(t,function(e){return e.active});if(!n)return VizbeeTV.logger.v(this.constructor.name,"getEnabledTracks","there are not active text tracks"),[];var i=[],r=new me;return r.fromJSON({id:n.id,lang:"en"}),i.push(r),VizbeeTV.logger.v(this.constructor.name,"getEnabledTracks","enabled tracks : ",i),i}},{key:"enableTracks",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=this.getPlayer();if(t)if(t.isTextTrackVisible())VizbeeTV.logger.d(this.constructor.name,"enableTracks","enable subtitles command ignored as the text track is already enabled");else if(!e||!Array.isArray(e)||e.length<=0)VizbeeTV.logger.d(this.constructor.name,"enableTracks","enable subtitles command ignored due to invalid input");else{var n=this._getTextTracksFromPlayer()||[],i=$.find(n,function(t){return t.id==e[0]});i?(i.active||t.selectTextTrack(i),t.setTextTrackVisibility(!0)):VizbeeTV.logger.d(this.constructor.name,"enableTracks","enable subtitles command ignored as the text track is not valid")}else VizbeeTV.logger.d(this.constructor.name,"enableTracks","enable subtitles command ignored as shaka player is not available")}},{key:"disableTracks",value:function(e){var t=this.getPlayer();t?t.isTextTrackVisible()?t.setTextTrackVisibility(!1):VizbeeTV.logger.d(this.constructor.name,"enableTracks","disable subtitles command ignored as the text track is not enabled"):VizbeeTV.logger.d(this.constructor.name,"disableTracks","disable subtitles command ignored as shaka player is not available")}},{key:"_getTextTracksFromPlayer",value:function(){var e=this.getPlayer();return e?e.getTextTracks():[]}}])}(),De=function(){return s(function e(){a(this,e)},null,[{key:"getInstance",value:function(e,t){if(VizbeeTV.logger.debug("SubtitleFactory::getInstance - playerType = "+e+", subtitleType = "+t),e)return w==e?(VizbeeTV.logger.debug("SubtitleFactory::getInstance - creating Chromecast CAFSubtitle"),new be):M==e?(VizbeeTV.logger.debug("SubtitleFactory::getInstance - creating Chromecast V2Subtitle"),new Se):N==e?"in_band"==t?new _e:"in_manifest"==t?new ke:void 0:O==e?(VizbeeTV.logger.debug("SubtitleFactory::getInstance - creating Bitmovin Subtitle"),new Ee):x==e?(VizbeeTV.logger.debug("SubtitleFactory::getInstance - creating VideoJS Subtitle"),new Pe):z==e?(VizbeeTV.logger.debug("SubtitleFactory::getInstance - creating THEO Subtitle"),new Ae):L==e?(VizbeeTV.logger.debug("SubtitleFactory::getInstance - creating Shaka Subtitle"),new Ce):void 0}}])}(),we=function(){function e(){var t;return a(this,e),(t=r(this,e)).init(),t}return h(e,ve),s(e,[{key:"init",value:function(){this.subtitleInstance=void 0,this.playerType=void 0,this.subtitleType=void 0,this.videoPlayer=void 0}},{key:"setPlayerWithType",value:function(e,t){e?t?(this.playerType=e,this.playerType==O?this.videoPlayer=t.bitmovinPlayer:this.playerType==x?this.videoPlayer=t.playerElement:this.playerType==z?this.videoPlayer=t.playerInstance:this.playerType==L?this.videoPlayer=t.shakaPlayer:this.videoPlayer=t,this._setSubtitleInstance()):VizbeeTV.logger.warn("VirtualSubtitle::setPlayer - invalid parameter 'videoPlayer'"):VizbeeTV.logger.warn("VirtualSubtitle::setPlayer - invalid parameter 'playerType'")}},{key:"getPlayer",value:function(){return this.videoPlayer}},{key:"setSubtitleType",value:function(e){this.subtitleType=e,this._setSubtitleInstance()}},{key:"_setSubtitleInstance",value:function(){this.playerType&&this.videoPlayer&&this.subtitleType&&(this.subtitleInstance=De.getInstance(this.playerType,this.subtitleType),this.subtitleInstance&&(this.subtitleInstance.init(),this.subtitleInstance.setPlayer(this.videoPlayer)))}},{key:"isReady",value:function(){return!!this.subtitleInstance}},{key:"getTracks",value:function(e){return VizbeeTV.logger.verbose("VirtualSubtitle::getTracks - trackType = ",e),this.subtitleInstance?this.subtitleInstance.getTracks(e):(VizbeeTV.logger.verbose("VirtualSubtitle::getTracks - sending empty data as there is no valid subtitle instance"),[])}},{key:"getEnabledTracks",value:function(e){return VizbeeTV.logger.verbose("VirtualSubtitle::getTracks - trackType = ",e),this.subtitleInstance?this.subtitleInstance.getEnabledTracks(e):(VizbeeTV.logger.verbose("VirtualSubtitle::getEnabledTracks - sending empty data as there is no valid subtitle instance"),[])}},{key:"enableTracks",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this.subtitleInstance&&this.subtitleInstance.enableTracks(e)}},{key:"disableTracks",value:function(e){this.subtitleInstance&&this.subtitleInstance.disableTracks(e)}}])}(),Me=c(c(c(c({en:"English","en-US":"English (United States)","en-GB":"English (United Kingdom)","en-CA":"English (Canada)","en-AU":"English (Australia)",es:"Spanish","es-ES":"Spanish (Spain)","es-MX":"Spanish (Mexico)",fr:"French","fr-FR":"French (France)","fr-CA":"French (Canada)","fr-BE":"French (Belgium)",de:"German","de-DE":"German (Germany)","de-AT":"German (Austria)","de-CH":"German (Switzerland)",it:"Italian","it-IT":"Italian (Italy)",pt:"Portuguese","pt-PT":"Portuguese (Portugal)","pt-BR":"Portuguese (Brazil)",ru:"Russian","ru-RU":"Russian (Russia)",zh:"Chinese","zh-CN":"Chinese (Simplified)","zh-TW":"Chinese (Traditional)",ja:"Japanese",ko:"Korean",ar:"Arabic","ar-SA":"Arabic (Saudi Arabia)","ar-EG":"Arabic (Egypt)",hi:"Hindi",bn:"Bengali",pa:"Punjabi",mr:"Marathi",te:"Telugu",tr:"Turkish",vi:"Vietnamese",th:"Thai",id:"Indonesian",ms:"Malay",tl:"Tagalog",sw:"Swahili",fi:"Finnish",sv:"Swedish",no:"Norwegian",da:"Danish",pl:"Polish",hu:"Hungarian",cs:"Czech",sk:"Slovak",el:"Greek",ro:"Romanian",bg:"Bulgarian",sr:"Serbian",hr:"Croatian",uk:"Ukrainian",he:"Hebrew",ur:"Urdu",fa:"Persian",gu:"Gujarati",kn:"Kannada",ml:"Malayalam",ta:"Tamil",si:"Sinhalese",cy:"Welsh",sq:"Albanian",mk:"Macedonian",bs:"Bosnian",et:"Estonian",lv:"Latvian",lt:"Lithuanian",ka:"Georgian",am:"Amharic",yo:"Yoruba",ig:"Igbo",zu:"Zulu",xh:"Xhosa",ne:"Nepali"},"ms","Malay"),"hi-IN","Hindi (India)"),"bn-IN","Bengali (India)"),"pa-IN","Punjabi (India)"),Ne=function(){return s(function e(){a(this,e)},[{key:"init",value:function(){this.player=void 0,this._reset()}},{key:"setPlayer",value:function(e){this.player=e}},{key:"getPlayer",value:function(){return this.player}},{key:"getTracks",value:function(e){return[]}},{key:"getEnabledTracks",value:function(e){return[]}},{key:"setActiveTrack",value:function(e){}},{key:"_setTrackIdStringToNumberMap",value:function(e){if(!this.trackIdStringToNumberMap[e]){var t=parseInt(e);$.isNaN(t)&&(t=Object.keys(this.trackIdStringToNumberMap).length+1),this.trackIdStringToNumberMap[e]=t,VizbeeTV.logger.verbose("BaseAudio::_setTrackIdStringToNumberMap - updated trackIdStringToNumberMap = ",this.trackIdStringToNumberMap)}}},{key:"_setTrackLanguageCodeToNameMap",value:function(e){!e&&this.trackLanguageCodeToNameMap[e]||(this.trackLanguageCodeToNameMap[e]=Me[e]||e,VizbeeTV.logger.verbose("BaseAudio::_setTrackLanguageCodeToNameMap - updated _setTrackLanguageCodeToNameMap = ",this.trackLanguageCodeToNameMap))}},{key:"_reset",value:function(){this.trackIdStringToNumberMap={},this.trackLanguageCodeToNameMap={}}}])}(),Oe=function(){function e(){var t;return a(this,e),(t=r(this,e)).type=D,t._label="",t._lang="",t}return h(e,ye),s(e,[{key:"toJSON",value:function(){var t=m(e,"toJSON",this)([]);return t.lang=this._lang,t.label=this._label,t}},{key:"fromJSON",value:function(t){t?(t.type=t.type||this.type,m(e,"fromJSON",this)([t]),this._lang=t.lang,this._label=t.label):VizbeeTV.logger.verbose("AudioTrack::fromJSON - invalid trackInfo")}},{key:"lang",get:function(){return this._lang},set:function(e){this._lang=e}},{key:"label",get:function(){return this._label},set:function(e){this._label=e}}])}(),xe=function(){function e(){return a(this,e),r(this,e)}return h(e,Ne),s(e,[{key:"getTracks",value:function(e){var t=this;if(!e||D!=e)return VizbeeTV.logger.verbose("BitmovinAudio::getTracks - INVALID trackType"),[];var n=this.getPlayer();if(!this._isBitmovinPlayerAudioAPIAvailable(n))return VizbeeTV.logger.verbose("BitmovinAudio::getTracks - INVALID player or player has no audio API"),[];var i=n.getAvailableAudio();VizbeeTV.logger.verbose("BitmovinAudio::getTracks - available audio tracks from Bitmovin Player = ",JSON.stringify(i));var r=[],a=[];return i.length>0&&i.forEach(function(e){if("und"!==e.lang&&!(a.indexOf(e.lang)>-1)){t._setTrackIdStringToNumberMap(e.id);var n=e.label;n&&n!==e.lang||(t._setTrackLanguageCodeToNameMap(e.lang),n=t.trackLanguageCodeToNameMap[e.lang]);var i=new Oe;i.fromJSON({id:t.trackIdStringToNumberMap[e.id],lang:e.lang,label:n||e.lang}),r.push(i),a.push(e.lang)}}),VizbeeTV.logger.verbose("BitmovinAudio::getTracks - available tracks = ",JSON.stringify(r)),r}},{key:"getEnabledTracks",value:function(e){if(!e||D!=e)return VizbeeTV.logger.verbose("BitmovinAudio::getEnabledTracks - INVALID trackType"),[];var t=this.getPlayer();if(!this._isBitmovinPlayerAudioAPIAvailable(t))return VizbeeTV.logger.verbose("BitmovinAudio::getEnabledTracks - INVALID player or player has no audio API"),[];var n=t.getAudio();if(n){var i=n.label;i&&i!==n.lang||(this._setTrackLanguageCodeToNameMap(n.lang),i=this.trackLanguageCodeToNameMap[n.lang]);var r=new Oe;return r.fromJSON({id:this.trackIdStringToNumberMap[n.id],lang:n.lang,label:i||n.lang}),VizbeeTV.logger.verbose("BitmovinAudio::getEnabledTracks - enabled track = ",JSON.stringify(r)),[r]}}},{key:"setActiveTrack",value:function(e){var t=this;if(e){var n=this.getPlayer();if(this._isBitmovinPlayerAudioAPIAvailable(n)){var i=$.find(n.getAvailableAudio(),function(n){return t.trackIdStringToNumberMap[n.id]==e});i?n.setAudio(i.id):VizbeeTV.logger.debug("BitmovinAudio::setActiveTrack - command ignored as the audio track is not valid")}else VizbeeTV.logger.verbose("BitmovinAudio::setActiveTrack - INVALID player or player has no audio API")}else VizbeeTV.logger.debug("BitmovinAudio::setActiveTrack - enable audio command ignored due to invalid input")}},{key:"_isBitmovinPlayerAudioAPIAvailable",value:function(e){if(!e)return!1;try{return S("function"===e.getAudio)&&S("function"===e.setAudio)&&S("function"===e.getAvailableAudio)}catch(e){return VizbeeTV.logger.debug("BitmovinSubtitle::_isBitmovinPlayerAudioAPIAvailable - subtitles API is not available"),!1}}}])}(),ze=function(){function e(){return a(this,e),r(this,e)}return h(e,Ne),s(e,[{key:"init",value:function(){m(e,"init",this)([]),this._playerManager=cast.framework.CastReceiverContext.getInstance().getPlayerManager()}},{key:"getTracks",value:function(e){var t=this;if(!e||D!=e)return VizbeeTV.logger.verbose("ChromecastCAFAudio::getTracks - INVALID trackType"),[];var n=[],i=[];try{if(this._isAudioTracksManagerAvailable()){var r=this._playerManager.getAudioTracksManager();if(r){var a=r.getTracks();a&&a.length>0&&a.forEach(function(e){if(!t._isDuplicateTrack(i,e)){var r=e.name;r&&r!==e.language||(t._setTrackLanguageCodeToNameMap(e.language),r=t.trackLanguageCodeToNameMap[e.language]);var a=new Oe;a.fromJSON({id:e.trackId,lang:e.language,label:r||e.language}),n.push(a),i.push({language:e.language,name:e.name})}})}}}catch(e){VizbeeTV.logger.debug("ChromecastCAFSubtitle::getTracks - error",e)}return n}},{key:"getEnabledTracks",value:function(e){if(!e||D!=e)return VizbeeTV.logger.verbose("ChromecastCAFAudio::getEnabledTracks - INVALID trackType"),[];var t;try{if(this._isAudioTracksManagerAvailable()){var n=this._playerManager.getAudioTracksManager();if(n){var i=n.getActiveTrack();if(!i){var r=n.getTracks();r&&r.length>0&&(i=r[0])}if(i){var a=i.name;a&&a!==i.language||(this._setTrackLanguageCodeToNameMap(i.language),a=this.trackLanguageCodeToNameMap[i.language]),(t=new Oe).fromJSON({id:i.trackId,lang:i.language,label:a||i.language})}}}}catch(e){VizbeeTV.logger.debug("ChromecastCAFSubtitle::getEnabledTracks - error",e)}return[t]}},{key:"setActiveTrack",value:function(e){if(isNaN(e))VizbeeTV.logger.debug("ChromecastCAFAudio::setActiveTrack - enable audio command ignored due to invalid input");else try{if(this._isAudioTracksManagerAvailable()){var t=this._playerManager.getAudioTracksManager();t&&t.setActiveById(e)}}catch(e){VizbeeTV.logger.debug("ChromecastCAFSubtitle::setActiveTrack - error",e)}}},{key:"_isAudioTracksManagerAvailable",value:function(){var e=this.getPlayer();return!(!e||!e.playerState)&&[e.playerState.STARTED,e.playerState.BUFFERING,e.playerState.PLAYING,e.playerState.PAUSED].indexOf(e.getCurrentState())>=0}},{key:"_isDuplicateTrack",value:function(e,t){var n=t.language,i=t.name;return!!$.find(e,function(e){return e.name==i&&e.language==n})}}])}(),Le=function(){return s(function e(){a(this,e)},null,[{key:"getInstance",value:function(e){return O==e?(VizbeeTV.logger.debug("AudioFactory::getInstance - creating Bitmovin Audio"),new xe):z==e?(VizbeeTV.logger.debug("AudioFactory::getInstance - creating THEO Audio"),new ze):w==e?(VizbeeTV.logger.debug("AudioFactory::getInstance - creating Chromecast CAF Audio"),new ze):void 0}}])}(),Re=function(){function e(){var t;return a(this,e),(t=r(this,e)).init(),t}return h(e,Ne),s(e,[{key:"init",value:function(){this.audioInstance=void 0,this.playerType=void 0,this.videoPlayer=void 0}},{key:"setPlayerWithType",value:function(e,t){VizbeeTV.logger.debug("VirtualAudio::setPlayerWithType - playerType = ",e,", playerInstance = ",t),e?t?(this.playerType=e,this.playerType==O?this.videoPlayer=t.bitmovinPlayer:this.playerType==x?this.videoPlayer=t.playerElement:this.playerType==L?this.videoPlayer=t.shakaPlayer:this.videoPlayer=t,this._setAudioInstance()):VizbeeTV.logger.warn("VirtualAudio::setPlayerWithType - invalid parameter 'videoPlayer'"):VizbeeTV.logger.warn("VirtualAudio::setPlayerWithType - invalid parameter 'playerType'")}},{key:"getPlayer",value:function(){return this.videoPlayer}},{key:"_setAudioInstance",value:function(){this.playerType&&this.videoPlayer&&(VizbeeTV.logger.debug("VirtualAudio::_setAudioInstance - playerType = ",this.playerType),VizbeeTV.logger.debug("VirtualAudio::_setAudioInstance - videoPlayer = ",this.videoPlayer),this.audioInstance=Le.getInstance(this.playerType),this.audioInstance&&(VizbeeTV.logger.debug("VirtualAudio::_setAudioInstance - setting audio instance"),this.audioInstance.init(),this.audioInstance.setPlayer(this.videoPlayer)))}},{key:"isReady",value:function(){return!!this.audioInstance}},{key:"getTracks",value:function(e){return VizbeeTV.logger.verbose("VirtualAudio::getTracks - trackType = ",e),this.audioInstance?this.audioInstance.getTracks(e):(VizbeeTV.logger.verbose("VirtualAudio::getTracks - sending empty data as there is no valid audio instance"),[])}},{key:"getEnabledTracks",value:function(e){return VizbeeTV.logger.verbose("VirtualAudio::getEnabledTracks - trackType = ",e),this.audioInstance?this.audioInstance.getEnabledTracks(e):(VizbeeTV.logger.verbose("VirtualAudio::getEnabledTracks - sending empty data as there is no valid audio instance"),[])}},{key:"setActiveTrack",value:function(e){this.audioInstance&&this.audioInstance.setActiveTrack(e)}}])}(),Ke=function(){return s(function e(){a(this,e),this.adPodStartedTimeInMs=0,this.adPodEndedTimeInMs=0,this.loadReceivedByAppTimeInMs=0,this.loadReceivedByPlayerTimeInMs=0,this.metadataLoadedTimeInMs=0,this.playerReadyToPlayTimeInMs=0,this.playbackStartedTimeInMs=0},[{key:"toJSON",value:function(){return{adPodStartedTimeInMs:this._adPodStartedTimeInMs,adPodEndedTimeInMs:this._adPodEndedTimeInMs,loadReceivedByAppTimeInMs:this._loadReceivedByAppTimeInMs,loadReceivedByPlayerTimeInMs:this._loadReceivedByPlayerTimeInMs,metadataLoadedTimeInMs:this._metadataLoadedTimeInMs,playerReadyToPlayTimeInMs:this._playerReadyToPlayTimeInMs,playbackStartedTimeInMs:this._playbackStartedTimeInMs}}},{key:"fromJSON",value:function(e){e&&(e.adPodStartedTimeInMs&&(this.adPodStartedTimeInMs=e.adPodStartedTimeInMs),e.adPodEndedTimeInMs&&(this.adPodEndedTimeInMs=e.adPodEndedTimeInMs),e.loadReceivedByAppTimeInMs&&(this.loadReceivedByAppTimeInMs=e.loadReceivedByAppTimeInMs),e.loadReceivedByPlayerTimeInMs&&(this.loadReceivedByPlayerTimeInMs=e.loadReceivedByPlayerTimeInMs),e.metadataLoadedTimeInMs&&(this.metadataLoadedTimeInMs=e.metadataLoadedTimeInMs),e.playerReadyToPlayTimeInMs&&(this.playerReadyToPlayTimeInMs=e.playerReadyToPlayTimeInMs),e.playbackStartedTimeInMs&&(this.playbackStartedTimeInMs=e.playbackStartedTimeInMs))}},{key:"reset",value:function(){this.adPodStartedTimeInMs=0,this.adPodEndedTimeInMs=0,this.loadReceivedByAppTimeInMs=0,this.loadReceivedByPlayerTimeInMs=0,this.metadataLoadedTimeInMs=0,this.playerReadyToPlayTimeInMs=0,this.playbackStartedTimeInMs=0}},{key:"adPodStartedTimeInMs",get:function(){return this._adPodStartedTimeInMs},set:function(e){this._adPodStartedTimeInMs=e}},{key:"adPodEndedTimeInMs",get:function(){return this._adPodEndedTimeInMs},set:function(e){this._adPodEndedTimeInMs=e}},{key:"loadReceivedByAppTimeInMs",get:function(){return this._loadReceivedByAppTimeInMs},set:function(e){this._loadReceivedByAppTimeInMs=e}},{key:"loadReceivedByPlayerTimeInMs",get:function(){return this._loadReceivedByPlayerTimeInMs},set:function(e){this._loadReceivedByPlayerTimeInMs=e}},{key:"metadataLoadedTimeInMs",get:function(){return this._metadataLoadedTimeInMs},set:function(e){this._metadataLoadedTimeInMs=e}},{key:"playerReadyToPlayTimeInMs",get:function(){return this._playerReadyToPlayTimeInMs},set:function(e){this._playerReadyToPlayTimeInMs=e}},{key:"playbackStartedTimeInMs",get:function(){return this._playbackStartedTimeInMs},set:function(e){this._playbackStartedTimeInMs=e}}])}(),Fe=function(){return s(function e(t){if(a(this,e),VizbeeTV.logger.debug("BasePlayer::constructor() platform =",t),"BasePlayer"===this.constructor.name)throw new TypeError("BasePlayer::constructor() -- Abstract class.");if(!(t&&t instanceof K))throw new Error("BasePlayer::constructor() -- platform cannot be empty or invalid.");this.playerState={IDLE:"idle",PREPARING:"preparing",LOADING:"loading",STARTED:"started",PLAYING:"playing",PAUSED:"paused",BUFFERING:"buffering",INTERRUPTED:"interrupted",ENDED:"ended",ERROR:"error"},this.currentState=this.playerState.IDLE,this.platform=t,this.platformConfig=t.config,this.videoInfo={},this.hlsxchange=!0,this.currentSrc="",this.startVideoTimestampInMS=0,this.onStartedTimestampInMS=0,this.resetListeners(),this.subtitlesDelegate=new we,this.audioDelegate=new Re,this.streamQualityInfo=new Ke},[{key:"reconstruct",value:function(e){}},{key:"enableHLSExchange",set:function(e){this.hlsxchange=e}},{key:"onLoading",set:function(e){"function"==typeof e&&this._loadingListeners.push(e)}},{key:"dispatchOnLoading",value:function(){this.currentState=this.playerState.LOADING;for(var e=this._loadingListeners.length-1;e>-1;e--)if(this._loadingListeners[e]())return}},{key:"onStarted",set:function(e){"function"==typeof e&&this._startedListeners.push(e)}},{key:"dispatchOnStarted",value:function(){this.onStartedTimestampInMS=(new Date).getTime(),this.currentState=this.playerState.STARTED;for(var e=this._startedListeners.length-1;e>-1;e--)if(this._startedListeners[e]())return}},{key:"onPlaying",set:function(e){"function"==typeof e&&this._playingListeners.push(e)}},{key:"dispatchOnPlaying",value:function(){this.currentState=this.playerState.PLAYING;for(var e=this._playingListeners.length-1;e>-1;e--)if(this._playingListeners[e]())return}},{key:"onPaused",set:function(e){"function"==typeof e&&this._pausedListeners.push(e)}},{key:"dispatchOnPaused",value:function(){this.currentState=this.playerState.PAUSED;for(var e=this._pausedListeners.length-1;e>-1;e--)if(this._pausedListeners[e]())return}},{key:"onTimeUpdate",set:function(e){"function"==typeof e&&this._timeupdateListeners.push(e)}},{key:"dispatchOnTimeUpdate",value:function(e){this.currentState=this.playerState.PLAYING;for(var t=this._timeupdateListeners.length-1;t>-1;t--)if(this._timeupdateListeners[t](e))return}},{key:"onBuffering",set:function(e){"function"==typeof e&&this._bufferingListeners.push(e)}},{key:"dispatchOnBuffering",value:function(e){this.currentState=this.playerState.BUFFERING;for(var t=this._bufferingListeners.length-1;t>-1;t--)if(this._bufferingListeners[t](e))return}},{key:"onBufferingComplete",set:function(e){"function"==typeof e&&this._bufferingCompleteListeners.push(e)}},{key:"dispatchOnBufferingComplete",value:function(e){for(var t=this._bufferingCompleteListeners.length-1;t>-1;t--)if(this._bufferingCompleteListeners[t](e))return}},{key:"onEnded",set:function(e){"function"==typeof e&&this._endedListeners.push(e)}},{key:"dispatchOnEnded",value:function(){VizbeeTV.logger.info(this.constructor.name+"::dispatchOnEnded ["+this.currentState+"] sending ended"),this.currentState=this.playerState.ENDED;for(var e=this._endedListeners.length-1;e>-1;e--)if(this._endedListeners[e]())return;this.currentState=this.playerState.IDLE}},{key:"onInterrupted",set:function(e){"function"==typeof e&&this._interruptedListeners.push(e)}},{key:"dispatchOnInterrupted",value:function(e){if(!this._canBeInterrupted())return VizbeeTV.logger.warn(this.constructor.name+"::dispatchOnInterrupted ["+this.currentState+"] tried to send interrupted in wrong state ",e),!1;VizbeeTV.logger.info(this.constructor.name+"::dispatchOnInterrupted ["+this.currentState+"] sending interrupted ",e),this.currentState=this.playerState.INTERRUPTED;for(var t=this._interruptedListeners.length-1;t>-1;t--)if(this._interruptedListeners[t](e))return;return this.currentState=this.playerState.IDLE,!0}},{key:"_canBeInterrupted",value:function(){return this.currentState==this.playerState.STARTED||this.currentState==this.playerState.PLAYING||this.currentState==this.playerState.PAUSED||this.currentState==this.playerState.BUFFERING}},{key:"onError",set:function(e){"function"==typeof e&&this._errorListeners.push(e)}},{key:"dispatchOnError",value:function(e){if(!this._canBeErrored())return VizbeeTV.logger.warn(this.constructor.name+"::dispatchOnError ["+this.currentState+"] tried to send error in wrong state ",e),!1;VizbeeTV.logger.info(this.constructor.name+"::dispatchOnError ["+this.currentState+"] sending error ",e),this.currentState=this.playerState.ERROR;for(var t=this._errorListeners.length-1;t>-1;t--)if(this._errorListeners[t](e))return;return this.currentState=this.playerState.IDLE,!0}},{key:"_canBeErrored",value:function(){return this.currentState!=this.playerState.IDLE}},{key:"onEvent",set:function(e){"function"==typeof e&&this._eventListeners.push(e)}},{key:"dispatchOnEvent",value:function(e){for(var t=this._eventListeners.length-1;t>-1;t--)if(this._eventListeners[t](e))return}},{key:"resetListeners",value:function(){this._startedListeners=[],this._loadingListeners=[],this._playingListeners=[],this._pausedListeners=[],this._timeupdateListeners=[],this._bufferingListeners=[],this._bufferingCompleteListeners=[],this._endedListeners=[],this._interruptedListeners=[],this._errorListeners=[],this._eventListeners=[]}},{key:"start",value:function(e){VizbeeTV.logger.debug(this.constructor.name+"::Start() BEGINNING - CURRENT_PLAYER_STATE -- ",this.currentState),this.videoInfo=e,this.currentState=this.playerState.PREPARING,this.startVideoTimestampInMS=(new Date).getTime(),this.subtitlesDelegate.init();var t=this.getPlayerType();this.subtitlesDelegate.setPlayerWithType(t,this);var n=this.getSubtitleTypeFromVideoInfo(e);this.subtitlesDelegate.setSubtitleType(n),this.audioDelegate.init(),this.audioDelegate.setPlayerWithType(t,this),VizbeeTV.logger.debug(this.constructor.name+"::Start() ENDING - CURRENT_PLAYER_STATE -- ",this.currentState)}},{key:"play",value:function(){throw new TypeError(this.constructor.name+"::play() - Abstract method.")}},{key:"pause",value:function(){throw new TypeError(this.constructor.name+"::pause() - Abstract method.")}},{key:"togglePlayPause",value:function(){throw new TypeError(this.constructor.name+"::togglePlayPause() - Abstract method.")}},{key:"seek",value:function(e){throw new TypeError(this.constructor.name+"::seek() - Abstract method.")}},{key:"stop",value:function(e){throw new TypeError(this.constructor.name+"::stop() - Abstract method.")}},{key:"currentTime",value:function(){throw new TypeError(this.constructor.name+"::currentTime() - Abstract method.")}},{key:"getDuration",value:function(){throw new TypeError(this.constructor.name+"::getDuration() - Abstract method.")}},{key:"getStartTime",value:function(){return this.startVideoTimestampInMS>0&&this.onStartedTimestampInMS>this.startVideoTimestampInMS?this.onStartedTimestampInMS-this.startVideoTimestampInMS:0}},{key:"getBufferLevel",value:function(){return{current:0,target:0}}},{key:"getAudioBufferLevel",value:function(){return{current:0,target:0,didDetectSeparateAudio:!1}}},{key:"getCurrentState",value:function(){return this.currentState}},{key:"getName",value:function(){return this.constructor.name}},{key:"getPlayerType",value:function(){var e=void 0,t=this.getName().toLowerCase();return-1!=t.indexOf("bitmovin")?e=O:-1!=t.indexOf("videojs")?e=x:-1!=t.indexOf("theo")?e=z:-1!=t.indexOf("shaka")?e=L:-1!=t.indexOf("avplayer")?e=N:-1!=t.indexOf("caf")?e=w:-1!=t.indexOf("chromecast")&&(e=M),e}},{key:"getCurrentVersion",value:function(){return""}},{key:"getHlsxchangeUrl",value:function(){return this.hlsxchange&&(this.videoInfo.src.lastIndexOf(".m3u8")>=0||this.videoInfo.src.lastIndexOf("m3u")>=0)?ae.xchangeHLSUrl(this.videoInfo.src,this.videoInfo.appID,this.platform.cloudPlatformName,this.videoInfo.minBitrate,this.videoInfo.maxBitrate,1):this.videoInfo.src}},{key:"getAppVideoStartErrorInfo",value:function(e,t){var n,i;if(this.videoInfo&&this.videoInfo.videourl&&-1!=this.videoInfo.videourl.indexOf("start_video_failure")){var r=ae.getUrlVars(this.videoInfo.videourl);n=r.errorCode,i=r.errorReason}return n&&i?{errorCode:n,errorReason:i}:{errorCode:e,errorReason:t}}},{key:"buildErrorEvent",value:function(e,t,n){return{player:this.constructor.name,code:e,reason:t,data:n}}},{key:"doAction",value:function(e){}},{key:"reset",value:function(){this.resetListeners()}},{key:"destroy",value:function(){this.resetListeners()}},{key:"getTracks",value:function(e){return e==C?this.subtitlesDelegate&&this.subtitlesDelegate.isReady()?this.subtitlesDelegate.getTracks(e):[]:e==D&&this.audioDelegate&&this.audioDelegate.isReady()?this.audioDelegate.getTracks(e):[]}},{key:"getEnabledTracks",value:function(e){return e==C?this.subtitlesDelegate&&this.subtitlesDelegate.isReady()?this.subtitlesDelegate.getEnabledTracks(e):[]:e==D&&this.audioDelegate&&this.audioDelegate.isReady()?this.audioDelegate.getEnabledTracks(e):[]}},{key:"getSubtitleTypeFromVideoInfo",value:function(e){return"any"}},{key:"enableTracks",value:function(e){this.subtitlesDelegate.isReady()&&this.subtitlesDelegate.enableTracks(e)}},{key:"disableTracks",value:function(e){this.subtitlesDelegate.isReady()&&this.subtitlesDelegate.disableTracks(e)}},{key:"changeAudioTrack",value:function(e){this.audioDelegate.isReady()?this.audioDelegate.setActiveTrack(e):VizbeeTV.logger.warn(this.constructor.name+"::changeAudioTrack - audio delegate is not ready")}},{key:"getStreamQualityInfo",value:function(){return this.streamQualityInfo&&this.streamQualityInfo.toJSON()}},{key:"setStreamQualityInfo",value:function(e){this.streamQualityInfo&&this.streamQualityInfo.fromJSON(e)}},{key:"resetStreamQualityInfo",value:function(){this.streamQualityInfo&&this.streamQualityInfo.reset()}},{key:"setTracks",value:function(e){}},{key:"getCurrentTrack",value:function(){var e,t=this;return this.videoInfo.tracks&&this.videoInfo.tracks.length>0&&isFinite(this.videoInfo.activeTrackId)&&(e=this.videoInfo.tracks.find(function(e){return t.videoInfo.activeTrackId==e.trackId})),e}}])}(),Ue=function(){function e(){return a(this,e),r(this,e,arguments)}return h(e,Fe),s(e,[{key:"extend",value:function(){throw new TypeError("BasePlayerExtensible::extend() - Abstract method.")}},{key:"beforeStart",value:function(){throw new TypeError("BasePlayerExtensible::beforeStart() - Abstract method.")}}])}(),Be=function(){function e(t){var n;return a(this,e),(n=r(this,e,[t])).playerElement=n.platformConfig.videoElement,n.currentSrc="",n.eventListenersSet=!1,n.bypassCanPlay=!1,n.hlsxchange=!1,n.invokedWithStartVideo=!1,n.startedPlaying=!1,n.finishedStartSeek=!1,n.isVideoStopped=!1,n.isVideoEnded=!1,n.logEvents=["abort","error","canplay","canplaythrough","durationchange","emptied","ended","loadeddata","loadedmetadata","loadstart","pause","play","playing","ratechange","seeked","seeking","stalled","volumechange","waiting"],n.playbackEvents=["canplay","canplaythrough","durationchange","loadeddata","loadedmetadata","pause","play","playing","seeked","seeking"],n.loadingEvents=["loadeddata","loadedmetadata"],n.startedEvents=["loadedmetadata"],n.platformConfig.standalone?n.registerEventHandlers():n.configurePlayerElement(),n}return h(e,Ue),s(e,[{key:"configurePlayerElement",value:function(){var e=this.playerElement;e.removeAttribute("style"),e.style.position="absolute",e.style.width="100%",e.style.height="100%",e.style.top="0px",e.style.left="0px",e.style.backgroundColor="black",e.style.display="block"}},{key:"baseStart",value:function(t){m(e,"start",this)([t])}},{key:"start",value:function(e){this.baseStart(e),this.platformConfig.standalone||this.configurePlayerElement(),this.invokedWithStartVideo=!0,VizbeeTV.logger.debug("HtmlPlayer::Start() -- ",this.currentSrc,this.videoInfo.src),this.startedPlaying=!1,this.finishedStartSeek=!1,VizbeeTV.logger.debug("HtmlPlayer::start() -- Playing video"),this.videoInfo.src=this.getHlsxchangeUrl(),VizbeeTV.logger.info("HtmlPlayer::start() - video url ",this.videoInfo.src),""!=this.playerElement.src&&(VizbeeTV.logger.debug("HtmlPlayer::start - setting src to empty"),this.playerElement.src=""),this.playerElement.removeAttribute("src"),this.playerElement.removeAttribute("type"),this.playerElement.setAttribute("src",this.videoInfo.src),this.videoInfo.src.lastIndexOf(".m3u8")>=0||this.videoInfo.src.lastIndexOf("m3u")>=0?this.playerElement.setAttribute("type","application/vnd.apple.mpegurl"):this.videoInfo.src.lastIndexOf(".ism")>=0?this.playerElement.setAttribute("type","application/vnd.ms-sstr+xml"):this.videoInfo.src.lastIndexOf(".mpd")>=0?this.playerElement.setAttribute("type","application/dash+xml"):this.playerElement.setAttribute("type","video/mp4"),this.registerEventHandlers(),this.bypassCanPlay=!1,this.playerElement.load(),this.currentSrc=this.videoInfo.src}},{key:"play",value:function(){VizbeeTV.logger.debug("HtmlPlayer::play() called."),this.playerElement.play(),this.bypassCanPlay=!1}},{key:"pause",value:function(){VizbeeTV.logger.debug("HtmlPlayer::pause() called."),this.playerElement.pause(),void 0===this.playerElement.paused&&(this.bypassCanPlay=!0)}},{key:"seek",value:function(e){VizbeeTV.logger.debug("HtmlPlayer::seek() called with time ",e);var t=e/1e3;0==t&&(t=1),this.playerElement.currentTime=t}},{key:"togglePlayPause",value:function(){this.playerElement.paused?this.playerElement.play():this.playerElement.pause()}},{key:"stop",value:function(e){this.isVideoStopped=!0,this.playerElement.src&&this.playerElement.src!=location.origin+location.pathname&&(this.playerElement.src=""),this.videoInfo&&(this.videoInfo.src=""),this.currentSrc=""}},{key:"currentTime",value:function(){return this.playerElement.currentTime}},{key:"getDuration",value:function(){return this.playerElement.duration}},{key:"destroy",value:function(){var t=this;return new Promise(function(n,i){t.unregisterEventHandlers(),m(e,"destroy",t)([]),n()})}},{key:"registerEventHandlers",value:function(){var e=this;VizbeeTV.logger.debug("HtmlPlayer::registerEventHandlers called",this,this.playerElement),this.playerElement&&(this.eventListenersSet||(this._eventCallbackHandles={logEvent:function(t){return e.defaultLogHandler(t)},loadingEvent:function(t){return e.loadingHandler(t)},startedEvent:function(t){return e.startedEventHandler(t)},canplayEvent:function(t){return e.videoCanPlayHandler(t)},playEvent:function(t){return e.videoPlayHandler(t)},playingEvent:function(t){return e.videoPlayingHandler(t)},seekedEvent:function(t){return e.videoSeekedHandler(t)},pauseEvent:function(t){return e.videoPausedHandler(t)},bufferingEvent:function(t){return e.bufferingHandler(t)},timeupdateEvent:function(t){return e.timeUpdateHandler(t)},endedEvent:function(){return e.endedHandler()},errorEvent:function(t){return e.errorHandler(t)},abortEvent:function(t){return e.abortHandler(t)}},this.logEvents.forEach(function(t){e.playerElement.addEventListener(t,e._eventCallbackHandles.logEvent,!1)}),this.playbackEvents.forEach(function(t){e.playerElement.addEventListener(t,e._eventCallbackHandles.playbackEvent,!1)}),this.loadingEvents.forEach(function(t){e.playerElement.addEventListener(t,e._eventCallbackHandles.loadingEvent,!1)}),this.startedEvents.forEach(function(t){e.playerElement.addEventListener(t,e._eventCallbackHandles.startedEvent,!1)}),this.playerElement.addEventListener("canplay",this._eventCallbackHandles.canplayEvent,!1),this.playerElement.addEventListener("play",this._eventCallbackHandles.playEvent,!1),this.playerElement.addEventListener("playing",this._eventCallbackHandles.playingEvent,!1),this.playerElement.addEventListener("seeked",this._eventCallbackHandles.seekedEvent,!1),this.playerElement.addEventListener("pause",this._eventCallbackHandles.pauseEvent,!1),this.playerElement.addEventListener("seeking",this._eventCallbackHandles.bufferingEvent,!1),this.playerElement.addEventListener("timeupdate",this._eventCallbackHandles.timeupdateEvent,!1),this.playerElement.addEventListener("ended",this._eventCallbackHandles.endedEvent,!1),this.playerElement.addEventListener("error",this._eventCallbackHandles.errorEvent,!1),this.playerElement.addEventListener("abort",this._eventCallbackHandles.abortEvent,!1),this.eventListenersSet=!0))}},{key:"unregisterEventHandlers",value:function(){var e=this;VizbeeTV.logger.debug("HtmlPlayer::unregisterEventHandlers called"),this.playerElement&&this.eventListenersSet&&this._eventCallbackHandles&&(this.logEvents.forEach(function(t){e.playerElement.removeEventListener(t,e._eventCallbackHandles.logEvent)}),this.playbackEvents.forEach(function(t){e.playerElement.removeEventListener(t,e._eventCallbackHandles.playbackEvent)}),this.loadingEvents.forEach(function(t){e.playerElement.removeEventListener(t,e._eventCallbackHandles.loadingEvent)}),this.startedEvents.forEach(function(t){e.playerElement.removeEventListener(t,e._eventCallbackHandles.startedEvent)}),this.playerElement.removeEventListener("canplay",this._eventCallbackHandles.canplayEvent),this.playerElement.removeEventListener("play",this._eventCallbackHandles.playEvent),this.playerElement.removeEventListener("playing",this._eventCallbackHandles.playingEvent),this.playerElement.removeEventListener("seeked",this._eventCallbackHandles.seekedEvent),this.playerElement.removeEventListener("pause",this._eventCallbackHandles.pauseEvent),this.playerElement.removeEventListener("seeking",this._eventCallbackHandles.bufferingEvent),this.playerElement.removeEventListener("timeupdate",this._eventCallbackHandles.timeupdateEvent),this.playerElement.removeEventListener("ended",this._eventCallbackHandles.endedEvent),this.playerElement.removeEventListener("error",this._eventCallbackHandles.errorEvent),this.playerElement.removeEventListener("abort",this._eventCallbackHandles.abortEvent),this.eventListenersSet=!1)}},{key:"defaultLogHandler",value:function(e){VizbeeTV.logger.debug("HtmlPlayer::defaultLogHandler ["+this.getCurrentState()+"] "+e.type+" -- ",e,this.currentSrc,this.getDuration(),this.currentTime(),this),VizbeeTV.logger.debug("---------------------"),VizbeeTV.logger.debug("readyState",this.playerElement.readyState),VizbeeTV.logger.debug("---------------------")}},{key:"loadingHandler",value:function(e){this.isVideoEnded=!1,this.dispatchOnLoading()}},{key:"startedEventHandler",value:function(e){this.dispatchOnStarted()}},{key:"videoCanPlayHandler",value:function(e){if(this.invokedWithStartVideo&&(VizbeeTV.logger.debug("HtmlPlayer::videoCanPlayHandler::canplay - checking and playing video",this,this.playerElement.duration,this.startedPlaying),this.isVideoEnded=!1,!this.startedPlaying)){this.videoInfo&&this.videoInfo.startTime||(this.videoInfo=this.videoInfo||{},this.videoInfo.startTime=0);var t=this.videoInfo.startTime/1e3;if(VizbeeTV.logger.debug("HtmlPlayer::videoCanPlayHandler::canplay - starttime = "+t),!this.finishedStartSeek&&0!=t)try{VizbeeTV.logger.debug("HtmlPlayer::videoCanPlayHandler::canplay - seeking to start time = ",t),this.finishedStartSeek=!0,this.playerElement.currentTime=t||0}catch(e){VizbeeTV.logger.error("HtmlPlayer::videoCanPlayHandler::canplay - Error setting start time for video",e)}this.bypassCanPlay||(VizbeeTV.tv.player.play(!0),this.startedPlaying=!0)}}},{key:"videoPlayHandler",value:function(e){this.isVideoEnded=!1,this.dispatchOnPlaying()}},{key:"videoPlayingHandler",value:function(e){this.isVideoEnded=!1,this.dispatchOnPlaying()}},{key:"videoPausedHandler",value:function(e){this.dispatchOnPaused()}},{key:"videoSeekedHandler",value:function(e){this.dispatchOnBufferingComplete(),this.playerElement.paused?this.dispatchOnPaused():this.dispatchOnPlaying()}},{key:"bufferingHandler",value:function(e){this.isVideoEnded=!1,this.dispatchOnBuffering()}},{key:"timeUpdateHandler",value:function(e){this.playerElement.paused||this.dispatchOnTimeUpdate(e)}},{key:"endedHandler",value:function(){this.isVideoEnded=!0,this.dispatchOnEnded()}},{key:"abortHandler",value:function(e){var t=this.buildErrorEvent(0,"UNKNOWN",{});t.data=e;var n=void 0;e&&e.currentTarget&&e.currentTarget.error?n=e.currentTarget.error:e&&e.target&&e.target.error&&(n=e.target.error),n&&void 0!==n.code&&null!=n.code&&(t.code=n.code),t.reason="STOP_BY_USER",this.dispatchOnInterrupted(t)||this.errorHandler(e),this.isVideoStopped=!1}},{key:"errorHandler",value:function(e){var t=this.buildErrorEvent(0,"UNKNOWN",{});t.data=e;var n=void 0;if(e&&e.currentTarget&&e.currentTarget.error?n=e.currentTarget.error:e&&e.target&&e.target.error&&(n=e.target.error),this.isVideoStopped)return this.isVideoStopped=!1,t.reason="STOP_BY_USER",void this.dispatchOnError(t);if(n&&void 0!==n.code&&null!=n.code)switch(t.code=n.code,n.code){case n.MEDIA_ERR_ABORTED:t.reason="MEDIA_ERR_ABORTED",VizbeeTV.logger.error("HtmlPlayer::ERROR ** You aborted the video playback.");break;case n.MEDIA_ERR_NETWORK:t.reason="MEDIA_ERR_NETWORK",VizbeeTV.logger.error("HtmlPlayer::ERROR ** A network error caused the video download to fail part-way.");break;case n.MEDIA_ERR_DECODE:t.reason="MEDIA_ERR_DECODE",VizbeeTV.logger.error("HtmlPlayer::ERROR ** The video playback was aborted due to a corruption problem or because the video used features your browser did not support.");break;case n.MEDIA_ERR_SRC_NOT_SUPPORTED:t.reason="MEDIA_ERR_SRC_NOT_SUPPORTED",VizbeeTV.logger.error("HtmlPlayer::ERROR ** The video could not be loaded, either because the server or network failed or because the format is not supported.");break;default:VizbeeTV.logger.error("HtmlPlayer::ERROR ** An unknown error occurred.",n)}var i=this.getAppVideoStartErrorInfo(t.code,t.reason);t.code=i.errorCode,t.reason=i.errorReason,VizbeeTV.logger.error("HtmlPlayer::ErrorHandler ["+this.currentState+"]",t.reason,t.code),this.dispatchOnError(t)}}])}(),He=function(){function e(t){return a(this,e),r(this,e,[t])}return h(e,Be),s(e,[{key:"stop",value:function(e){this.isVideoStopped=!0,VizbeeTV.logger.debug("VizioPlayer::videoPlayHandler - Stopping by setting src to empty"),this.playerElement.src&&this.playerElement.src!=location.origin+location.pathname&&(this.playerElement.src="")}},{key:"endedHandler",value:function(){VizbeeTV.logger.debug("VizioPlayer::endedHandler - isVideoEnded",this.isVideoEnded,this),this.isVideoEnded||(this.isVideoEnded=!0,VizbeeTV.logger.debug("VizioPlayer::endedHandler - set isVideoEnded",this.isVideoEnded,this),this.playerElement.src="",this.dispatchOnEnded())}},{key:"errorHandler",value:function(t){if(VizbeeTV.logger.error("VizioPlayer::ErrorHandler",t),t&&t.target&&t.target.error&&void 0!==t.target.error.code)switch(t.target.error.code){case t.target.error.MEDIA_ERR_ABORTED:VizbeeTV.logger.error("VizioPlayer::ERROR ** You aborted the video playback.");break;case t.target.error.MEDIA_ERR_NETWORK:VizbeeTV.logger.error("VizioPlayer::ERROR ** A network error caused the video download to fail part-way.");break;case t.target.error.MEDIA_ERR_DECODE:VizbeeTV.logger.error("VizioPlayer::ERROR ** The video playback was aborted due to a corruption problem or because the video used features your browser did not support.");break;case t.target.error.MEDIA_ERR_SRC_NOT_SUPPORTED:VizbeeTV.logger.error("VizioPlayer::ERROR ** The video could not be loaded, either because the server or network failed or because the format is not supported.");break;default:VizbeeTV.logger.error("VizioPlayer::ERROR ** An unknown error occurred.",t.target.error)}VizbeeTV.logger.error("VizioPlayer::errorHandler - isVideoEnded",this.isVideoEnded),this.isVideoEnded||m(e,"errorHandler",this)([t])}}])}(),Ge=null,We=null,qe=null,je=null,Ye=null,Qe=function(){function e(t,n){var i;if(a(this,e),i=r(this,e,[t]),!n)throw ReferenceError("DynamicPlayerSelector::constructor | DefaultPlatformPlayer is not passed.");i.nativePlayerClass=n.nativePlayer,i.htmlPlayerClass=n.htmlPlayer,i.bitmovinPlayerClass=n.bitmovinPlayer,i.modularBitmovinPlayerClass=n.modularBitmovinPlayer,i.videoJSPlayerClass=n.videoJSPlayer,i.theoPlayerPlayerClass=n.theoPlayer,i.shakaPlayerClass=n.shakaPlayer,i.topPlayerClass=n.topPlayer,i.currentPlayer=void 0,i.nativePlayer=void 0,i.htmlPlayer=void 0,i.bitmovinPlayer=void 0,i.modularBitmovinPlayer=void 0,i.videoJSPlayer=void 0,i.theoPlayer=void 0,i.shakaPlayer=void 0,i.topPlayer=void 0,VizbeeTV.logger.info("DynamicPlayerSelector::constructor - creating and selecting player");var o=t.config.vtvPlayerListConfig||[{type:"native"}];return o.forEach(function(e){i._createPlayer(e)}),i._selectPlayer(o[0]),i}return h(e,Ue),s(e,[{key:"reconstruct",value:function(e){var t=this;VizbeeTV.logger.info("DynamicPlayerSelector::reconstruct - newPlatformConfig",e),this.platform.config=e,e.standalone&&this._destroyAllPlayers();var n=[{type:"native"}];n=!e.vtvPlayerListConfig||$.isArray(e.vtvPlayerListConfig)&&0==e.vtvPlayerListConfig.length?[{type:"native"}]:e.vtvPlayerListConfig,VizbeeTV.logger.info("DynamicPlayerSelector::reconstruct - updated vtvPlayerListConfig",n),VizbeeTV.logger.info("DynamicPlayerSelector::reconstruct - creating and selecting player"),n.forEach(function(e){t._createPlayer(e)}),this._selectPlayer(n[0])}},{key:"_destroyAllPlayers",value:function(){VizbeeTV.logger.info("DynamicPlayerSelector::_destroyAllPlayers - destroying all players"),this.nativePlayer&&(this.nativePlayer.destroy(),this.nativePlayer=void 0),this.htmlPlayer&&(this.htmlPlayer.destroy(),this.htmlPlayer=void 0),this.bitmovinPlayer&&(this.bitmovinPlayer.destroy(),this.bitmovinPlayer=void 0),this.modularBitmovinPlayer&&(this.modularBitmovinPlayer.destroy(),this.modularBitmovinPlayer=void 0),this.videoJSPlayer&&(this.videoJSPlayer.destroy(),this.videoJSPlayer=void 0),this.theoPlayer&&(this.theoPlayer.destroy(),this.theoPlayer=void 0),this.shakaPlayer&&(this.shakaPlayer.destroy(),this.shakaPlayer=void 0),this.topPlayer&&(this.topPlayer.destroy(),this.topPlayer=void 0),this.currentPlayer=void 0}},{key:"_createPlayer",value:function(e){switch(e&&e.type){case"top":null==this.topPlayer?(VizbeeTV.logger.info("DynamicPlayerSelector::_createPlayer - CREATING Top Player"),this.topPlayer=new this.topPlayerClass(this.platform)):VizbeeTV.logger.info("DynamicPlayerSelector::_createPlayer - ALREADY CREATED Top Player");break;case"bitmovin":"modular"==e.subtype&&this.modularBitmovinPlayerClass?null==this.modularBitmovinPlayer?(VizbeeTV.logger.info("DynamicPlayerSelector::_createPlayer - CREATING Modular Bitmovin Player"),this.modularBitmovinPlayer=new this.modularBitmovinPlayerClass(this.platform)):VizbeeTV.logger.info("DynamicPlayerSelector::_createPlayer - ALREADY CREATED Modular Bitmovin Player"):null==this.bitmovinPlayer?(VizbeeTV.logger.info("DynamicPlayerSelector::_createPlayer - CREATING Static Bitmovin Player"),this.bitmovinPlayer=new this.bitmovinPlayerClass(this.platform)):VizbeeTV.logger.info("DynamicPlayerSelector::_createPlayer - ALREADY CREATED Static Bitmovin Player");break;case"videojs":null==this.videoJSPlayer?(VizbeeTV.logger.info("DynamicPlayerSelector::_createPlayer - CREATING VideoJS Player"),this.videoJSPlayer=new this.videoJSPlayerClass(this.platform)):VizbeeTV.logger.info("DynamicPlayerSelector::_createPlayer - ALREADY CREATED VideoJS Player");break;case"theo":null==this.theoPlayer?(VizbeeTV.logger.info("DynamicPlayerSelector::_createPlayer - CREATING THEO Player"),this.theoPlayer=new this.theoPlayerPlayerClass(this.platform)):VizbeeTV.logger.info("DynamicPlayerSelector::_createPlayer - ALREADY CREATED THEO Player");break;case"shaka":null==this.shakaPlayer?(VizbeeTV.logger.info("DynamicPlayerSelector::_createPlayer - CREATING Shaka Player"),this.shakaPlayer=new this.shakaPlayerClass(this.platform)):VizbeeTV.logger.info("DynamicPlayerSelector::_createPlayer - ALREADY CREATED Shaka Player");break;case"html":null==this.htmlPlayer?(VizbeeTV.logger.info("DynamicPlayerSelector::_createPlayer - CREATING HTML Player"),this.htmlPlayer=new this.htmlPlayerClass(this.platform)):VizbeeTV.logger.info("DynamicPlayerSelector::_createPlayer - ALREADY CREATED HTML Player");break;default:null==this.nativePlayer?(VizbeeTV.logger.info("DynamicPlayerSelector::_createPlayer - CREATING Native Player"),this.nativePlayer=new this.nativePlayerClass(this.platform)):VizbeeTV.logger.info("DynamicPlayerSelector::_createPlayer - ALREADY CREATED Native Player")}}},{key:"_selectPlayer",value:function(e){if(e&&e.type)switch(e.type){case"top":VizbeeTV.logger.info("DynamicPlayerSelector::_selectPlayer - SELECTING Top Player"),this._preparePlayer(this.topPlayer);break;case"bitmovin":VizbeeTV.logger.info("DynamicPlayerSelector::_selectPlayer - SELECTING Bitmovin Player"),"modular"==e.subtype?this._preparePlayer(this.modularBitmovinPlayer):this._preparePlayer(this.bitmovinPlayer);break;case"videojs":VizbeeTV.logger.info("DynamicPlayerSelector::_selectPlayer - SELECTING VideoJS Player"),this._preparePlayer(this.videoJSPlayer);break;case"theo":VizbeeTV.logger.info("DynamicPlayerSelector::_selectPlayer - SELECTING THEO Player"),this._preparePlayer(this.theoPlayer);break;case"shaka":VizbeeTV.logger.info("DynamicPlayerSelector::_selectPlayer - SELECTING Shaka Player"),this._preparePlayer(this.shakaPlayer);break;case"html":VizbeeTV.logger.info("DynamicPlayerSelector::_selectPlayer - SELECTING HTML Player"),this._preparePlayer(this.htmlPlayer);break;default:VizbeeTV.logger.info("DynamicPlayerSelector::_selectPlayer - SELECTING Native Player"),this._preparePlayer(this.nativePlayer)}else null==this.currentPlayer?(VizbeeTV.logger.info("DynamicPlayerSelector::_selectPlayer - DEFAULTING to native player"),this._preparePlayer(this.nativePlayer)):VizbeeTV.logger.info("DynamicPlayerSelector::_selectPlayer - REUSING current player")}},{key:"_preparePlayer",value:function(e){e?this.currentPlayer&&this.currentPlayer.constructor.name==e.constructor.name?VizbeeTV.logger.info("DynamicPlayerSelector::_preparePlayer - NO CHANGE to already prepared player"):(VizbeeTV.logger.info("DynamicPlayerSelector::_preparePlayer - CHANGING player listeners"),this.currentPlayer&&this.currentPlayer.constructor.name!=e.constructor.name&&this._removePlayerListeners(this.currentPlayer),this.currentPlayer=e,this._addPlayerListeners(this.currentPlayer)):VizbeeTV.logger.info("DynamicPlayerSelector::_preparePlayer - INVALID player argument")}},{key:"beforeStart",value:function(t){m(e,"start",this)([t])}},{key:"start",value:function(e){this.beforeStart(e),VizbeeTV.logger.info("START TIME TRACKING [DynamicPlayerSelector Start Video] - player="+this.currentPlayer.constructor.name,e),VizbeeTV.logger.info("DynamicPlayerSelector::_start - current player="+this.currentPlayer.constructor.name),e.vtvPlayerConfig&&(VizbeeTV.logger.info("DynamicPlayerSelector::_start - playerType="+e.vtvPlayerConfig.type),this._createPlayer(e.vtvPlayerConfig),this._selectPlayer(e.vtvPlayerConfig)),this.currentPlayer.enableHLSExchange=e.useHLSExchange,this.currentPlayer.start(e)}},{key:"play",value:function(){this.currentPlayer&&this.currentPlayer.play()}},{key:"pause",value:function(){this.currentPlayer&&this.currentPlayer.pause()}},{key:"togglePlayPause",value:function(){this.currentPlayer&&this.currentPlayer.togglePlayPause()}},{key:"stop",value:function(e){this.currentPlayer&&this.currentPlayer.stop(e)}},{key:"seek",value:function(e){this.currentPlayer&&this.currentPlayer.seek(e)}},{key:"currentTime",value:function(){return this.currentPlayer?this.currentPlayer.currentTime():-1}},{key:"getDuration",value:function(){return this.currentPlayer?this.currentPlayer.getDuration():-1}},{key:"getStartTime",value:function(){return this.currentPlayer?this.currentPlayer.getStartTime():-1}},{key:"getBufferLevel",value:function(){return this.currentPlayer?this.currentPlayer.getBufferLevel():{current:0,target:0}}},{key:"getAudioBufferLevel",value:function(){return this.currentPlayer?this.currentPlayer.getAudioBufferLevel():{current:0,target:0,didDetectSeparateAudio:!1}}},{key:"getCurrentState",value:function(){return this.currentPlayer?this.currentPlayer.getCurrentState():"IDLE"}},{key:"setTracks",value:function(e){if(this.currentPlayer)return this.currentPlayer.setTracks(e)}},{key:"getTracks",value:function(e){return this.currentPlayer?this.currentPlayer.getTracks(e):[]}},{key:"getEnabledTracks",value:function(e){return this.currentPlayer?this.currentPlayer.getEnabledTracks(e):[]}},{key:"enableTracks",value:function(e){this.currentPlayer&&this.currentPlayer.enableTracks(e)}},{key:"disableTracks",value:function(e){this.currentPlayer&&this.currentPlayer.disableTracks(e)}},{key:"changeAudioTrack",value:function(e){this.currentPlayer&&this.currentPlayer.changeAudioTrack(e)}},{key:"getStreamQualityInfo",value:function(){return this.currentPlayer?this.currentPlayer.getStreamQualityInfo():{}}},{key:"setStreamQualityInfo",value:function(e){this.currentPlayer&&this.currentPlayer.setStreamQualityInfo(e)}},{key:"resetStreamQualityInfo",value:function(){this.currentPlayer&&this.currentPlayer.resetStreamQualityInfo()}},{key:"getName",value:function(){return this.currentPlayer.getName()}},{key:"getCurrentVersion",value:function(){return this.currentPlayer.getCurrentVersion()}},{key:"doAction",value:function(e){return this.currentPlayer.doAction(e)}},{key:"wrapAVPlayerListener",value:function(e){return this.currentPlayer.wrapAVPlayerListener(e)}},{key:"destroy",value:function(){m(e,"destroy",this)([]),this._destroyAllPlayers()}},{key:"_addPlayerListeners",value:function(e){var t=this;e.onLoading=function(e){t.dispatchOnLoading.call(t,e)},e.onStarted=function(e){t.dispatchOnStarted.call(t,e)},e.onPlaying=function(e){t.dispatchOnPlaying.call(t,e)},e.onPaused=function(e){t.dispatchOnPaused.call(t,e)},e.onBuffering=function(e){t.dispatchOnBuffering.call(t,e)},e.onBufferingComplete=function(e){t.dispatchOnBufferingComplete.call(t,e)},e.onTimeUpdate=function(e){t.dispatchOnTimeUpdate.call(t,e)},e.onInterrupted=function(e){t.dispatchOnInterrupted.call(t,e)},e.onEnded=function(e){t.dispatchOnEnded.call(t,e)},e.onError=function(e){t.dispatchOnError.call(t,e)},e.onEvent=function(e){t.dispatchOnEvent.call(t,e)}}},{key:"_removePlayerListeners",value:function(e){e.resetListeners()}}])}(),Je=function(){function e(t){var n;return a(this,e),(n=r(this,e,[t])).deviceId=new ce,n.launchParams=new de,n._deviceInfo=new he,n._networkInfo=new ge,n}return h(e,K),s(e,[{key:"createPlayer",value:function(){var e={nativePlayer:He,htmlPlayer:He,bitmovinPlayer:Ge,modularBitmovinPlayer:Ge,videoJSPlayer:We,theoPlayer:qe,shakaPlayer:je,topPlayer:Ye};return this.player=new Qe(this,e),this.player}},{key:"createInputDevice",value:function(){var e=new se(this);return this.inputDevice=e,e}},{key:"exit",value:function(){window.close()}},{key:"cloudPlatformName",get:function(){return"vizio"}},{key:"defaultAppletAppId",get:function(){return"vzb0000001"}},{key:"launchParamsDeferral",get:function(){return this.launchParams}},{key:"deviceInfo",get:function(){return this._deviceInfo}},{key:"networkInfo",get:function(){return this._networkInfo}}])}(),Ze=function(){function e(){return a(this,e),r(this,e,arguments)}return h(e,oe),s(e,[{key:"keyCodeMap",get:function(){return{203:oe.keys.up,204:oe.keys.down,205:oe.keys.left,206:oe.keys.right,195:oe.keys.select,197:oe.keys.play_pause,196:oe.keys.back,202:oe.keys.ffw,201:oe.keys.rw,211:oe.keys.alt_up,212:oe.keys.alt_down,213:oe.keys.alt_right,214:oe.keys.alt_left}}},{key:"sendPlay",value:function(){this.sendKeyEvent(oe.keys.play_pause)}},{key:"sendPause",value:function(){this.sendKeyEvent(oe.keys.play_pause)}},{key:"sendStop",value:function(){this.sendKeyEvent(oe.keys.back)}}])}(),Xe=function(){function e(){var t;return a(this,e),(t=r(this,e)).deviceIdAlgorithm="VTV_INTERNAL_IP",t}return h(e,ue),s(e)}(),$e=function(){function e(){return a(this,e),r(this,e)}return h(e,Xe),s(e,[{key:"uniqueDeviceID",value:function(e,t){var n="UNKNOWN_DEVICE_ID";try{var i=window.vizbeeXboxHost;i&&i.deviceId?n=i.deviceId:VizbeeTV.logger.w("XboxWebView2DeviceID","uniqueDeviceID","vizbeeXboxHost.deviceId missing, using fallback"),e(n)}catch(t){VizbeeTV.logger.e("XboxWebView2DeviceID","uniqueDeviceID","error reading host bridge",t),e(n)}}}])}(),et=function(){function e(){var t;a(this,e),(t=r(this,e))._params=void 0,t.asyncFunction=void 0;var n="undefined"!=typeof window&&window.vizbeeXboxHost||{};return t._parseAndSet(n.launchParams),t._listenForLaunchParamsChanges(),t}return h(e,le),s(e,[{key:"_listenForLaunchParamsChanges",value:function(){var e=this;"undefined"!=typeof window&&window.chrome&&window.chrome.webview&&"function"==typeof window.chrome.webview.addEventListener&&window.chrome.webview.addEventListener("message",function(t){var n=t&&t.data;n&&"vizbeeXboxHost"===n.source&&"launchParamsChanged"===n.event&&(VizbeeTV.logger.i("XboxWebView2LaunchParams","_listenForLaunchParamsChanges","received launchParamsChanged",n.launchParams),e.setLaunchParams(n.launchParams))})}},{key:"isLaunchedbyVizbee",value:function(){var e=this.getLaunchParams();return e?(VizbeeTV.logger.d("XboxWebView2LaunchParams","isLaunchedbyVizbee","params present",e),!0):(VizbeeTV.logger.d("XboxWebView2LaunchParams","isLaunchedbyVizbee","params not present"),!1)}},{key:"getLaunchParams",value:function(){return this._params}},{key:"getLaunchParamsAsync",value:function(e){if("function"!=typeof e)throw new TypeError("XboxWebView2LaunchParams::getLaunchParamsAsync : Argument supplied is not of type function");this.asyncFunction=e,this._params&&this.asyncFunction(this._params)}},{key:"setLaunchParams",value:function(e){VizbeeTV.logger.i("XboxWebView2LaunchParams","setLaunchParams","rawParamData = ",e),this._params=void 0,this._parseAndSet(e),this.asyncFunction&&this._params&&this.asyncFunction(this._params)}},{key:"_parseAndSet",value:function(e){if(e&&"string"==typeof e){var t=e,n=e.indexOf("?");if(n>=0&&(t=e.substring(n+1)),t){var i=t.split("&").reduce(function(e,t){var n,i,r=(n=t.split("="),i=2,function(e){if(Array.isArray(e))return e}(n)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var i,r,a,o,s=[],u=!0,c=!1;try{if(a=(n=n.call(e)).next,0===t);else for(;!(u=(i=a.call(n)).done)&&(s.push(i.value),s.length!==t);u=!0);}catch(e){c=!0,r=e}finally{try{if(!u&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(c)throw r}}return s}}(n,i)||_(n,i)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),a=r[0],o=r[1];return a&&(e[a]=null!=o?decodeURIComponent(o):""),e},{});Object.keys(i).length>0&&(this._params=i)}}}}])}(),tt=function(){return s(function e(){if(a(this,e),"BaseAdID"===this.constructor.name)throw new TypeError("BaseAdID::constructor() - Abstract class.")},[{key:"adId",value:function(){return"UNKNOWN"}},{key:"isAdTrackingDisabled",value:function(){return!0}}])}(),nt=function(){function e(){return a(this,e),r(this,e)}return h(e,tt),s(e,[{key:"adId",value:function(){return("undefined"!=typeof window&&window.vizbeeXboxHost||{}).advertisingId||""}},{key:"isAdTrackingDisabled",value:function(){var e="undefined"!=typeof window&&window.vizbeeXboxHost||{};return"boolean"==typeof e.isAdTrackingDisabled?e.isAdTrackingDisabled:this.adId().length<=0}}])}(),it=function(){function e(){var t;return a(this,e),(t=r(this,e))._host="undefined"!=typeof window&&window.vizbeeXboxHost||{},t}return h(e,fe),s(e,[{key:"deviceId",get:function(){return this._host.internalDeviceId||A}},{key:"make",get:function(){return this._host.make||A}},{key:"model",get:function(){return this._host.model||A}},{key:"friendlyName",get:function(){return this._host.friendlyName||A}}])}(),rt=function(){function e(){return a(this,e),r(this,e)}return h(e,pe),s(e,[{key:"internalIP",get:function(){return("undefined"!=typeof window&&window.vizbeeXboxHost||{}).internalIP||A}}])}(),at=function(){return s(function e(){a(this,e),this.eventMap={}},[{key:"addHandler",value:function(e,t){this.eventMap[e]||(this.eventMap[e]=[]),this.eventMap[e].push(t)}},{key:"removeHandler",value:function(e,t){var n=this;if(this.eventMap&&this.eventMap[e]){var i,r=this.eventMap[e];if(r&&r.length&&(i=r.reduce(function(e,i,r){return n._isFunction(i)&&i==t?e=r:e},-1))>-1)return r.splice(i,1),this.eventMap[e]=r,!0}return!1}},{key:"emit",value:function(e,t){e&&(VizbeeTV.logger.i("BaseAppLifeCycleManager","emit","eventName=",e,"; eventData=",t),this.eventMap&&this.eventMap[e]&&this.eventMap[e].forEach(function(n){VizbeeTV.logger.i("BaseAppLifeCycleManager","emit","calling handler for event=",e),n.apply({},t)}))}},{key:"reset",value:function(){this.eventMap={}}},{key:"_isFunction",value:function(e){return"function"==typeof e||!1}}])}(),ot=function(){function e(){var t;return a(this,e),(t=r(this,e))._eventVsHandlerMap={activated:"onStart",suspending:"onBackground",resuming:"onForeground"},t}return h(e,at),s(e,[{key:"init",value:function(){"undefined"!=typeof window&&window.chrome&&window.chrome.webview&&"function"==typeof window.chrome.webview.addEventListener?this._listen():VizbeeTV.logger.w("XboxWebView2AppLifeCycleManager","init","window.chrome.webview not available, lifecycle events will not fire")}},{key:"_listen",value:function(){var e=this;window.chrome.webview.addEventListener("message",function(t){var n=t&&t.data;if(n&&"vizbeeXboxHost"===n.source&&n.event){var i=n.event,r=e._eventVsHandlerMap[i];VizbeeTV.logger.d("XboxWebView2AppLifeCycleManager","_listen","got event = "+i),r&&e.eventMap[r]&&e.eventMap[r].length&&e.eventMap[r].forEach(function(e){e.apply({},[n])})}})}}])}(),st=function(){function e(t){var n;return a(this,e),(n=r(this,e,[t])).deviceId=new $e,n.launchParams=new et,n.xboxAdId=new nt,n._xboxInfo=new it,n._xboxNetworkInfo=new rt,n.xboxAppLifeCycleManager=new ot,n.xboxAppLifeCycleManager.init(),n}return h(e,K),s(e,[{key:"createPlayer",value:function(){var e={nativePlayer:null,htmlPlayer:null,bitmovinPlayer:Ge,modularBitmovinPlayer:Ge,videoJSPlayer:We,theoPlayer:qe,shakaPlayer:je,topPlayer:Ye};return this.player=new Qe(this,e),VizbeeTV.logger.d("XboxWebView2","createPlayer","created html player instance"),this.player}},{key:"createInputDevice",value:function(){return this.inputDevice=new Ze(this),this.inputDevice}},{key:"exit",value:function(){m(e,"exit",this)([]),setTimeout(function(){VizbeeTV.logger.i("XboxWebView2","exit","exiting the app");try{if(window.chrome&&window.chrome.webview&&"function"==typeof window.chrome.webview.postMessage)return void window.chrome.webview.postMessage("EXIT_APP")}catch(e){VizbeeTV.logger.e("XboxWebView2","exit","error posting EXIT_APP",e)}window.close()},1e3)}},{key:"defaultAppletAppId",get:function(){return"vzb0000000"}},{key:"cloudPlatformName",get:function(){return"xbox_one"}},{key:"adId",get:function(){return this.xboxAdId.adId()}},{key:"isAdTrackingDisabled",get:function(){return this.xboxAdId.isAdTrackingDisabled()}},{key:"appLifeCycleManager",get:function(){return this.xboxAppLifeCycleManager}},{key:"deviceInfo",get:function(){return this._xboxInfo}},{key:"networkInfo",get:function(){return this._xboxNetworkInfo}}])}(),ut=function(){function e(t){var n;a(this,e),n=r(this,e,[t]);var i=e.getPlatformType().toLowerCase();return n.__platform="xboxwebview2"==i?new st(t):new null(t),VizbeeTV.logger.i("XboxVirtualPlatform","constructor","selected variant = "+i),n}return h(e,K),s(e,[{key:"cloudPlatformName",get:function(){return this.__platform.cloudPlatformName}},{key:"uniqueDeviceID",value:function(e,t){this.__platform.uniqueDeviceID(e,t)}},{key:"deviceIDAlgorithm",get:function(){return this.__platform.deviceIDAlgorithm},set:function(e){return this.__platform.deviceIDAlgorithm=e}},{key:"platformModel",get:function(){return this.__platform.platformModel}},{key:"deviceInfo",get:function(){return this.__platform.deviceInfo}},{key:"platformVersion",get:function(){return this.__platform.platformVersion}},{key:"networkInfo",get:function(){return this.__platform.networkInfo}},{key:"adId",get:function(){return this.__platform.adId}},{key:"isAdTrackingDisabled",get:function(){return this.__platform.isAdTrackingDisabled}},{key:"createInputDevice",value:function(){return this.__platform.createInputDevice()}},{key:"inputDevice",get:function(){return this.__platform.inputDevice}},{key:"screenSaverEnabled",set:function(e){e=e||!1,void 0!==this.__platform&&this.__platform.enableScreenSaver&&(VizbeeTV.logger.d("XboxVirtualPlatform","screenSaverEnabled","enabled = "+e),this.__platform.enableScreenSaver(e))}},{key:"defaultAppletAppId",get:function(){return this.__platform.defaultAppletAppId}},{key:"launchParamsDeferral",get:function(){return this.__platform.launchParamsDeferral}},{key:"appLifeCycleManager",get:function(){return this.__platform.appLifeCycleManager}},{key:"exit",value:function(){VizbeeTV.logger.d("XboxVirtualPlatform","exit","exiting the application"),void 0!==this.__platform&&this.__platform.exit&&this.__platform.exit()}},{key:"isAppExiting",get:function(){return this.__platform.isAppExiting},set:function(e){this.__platform.isAppExiting=e}},{key:"reset",value:function(){this.__platform&&this.__platform.reset&&this.__platform.reset()}},{key:"createPlayer",value:function(){return this.__platform.createPlayer()}},{key:"player",get:function(){return this.__platform.player},set:function(e){e&&(this.__platform.player=e)}},{key:"destroyPlayer",value:function(){this.__platform.destroyPlayer()}},{key:"enableHLSExchange",set:function(e){this.__platform.enableHLSExchange=e}}],[{key:"getPlatformType",value:function(){return"undefined"!=typeof window&&window.vizbeeXboxHost&&window.chrome&&window.chrome.webview?"XboxWebView2":"Xbox"}}])}(),ct=function(){function e(){return a(this,e),r(this,e,arguments)}return h(e,oe),s(e,[{key:"keyCodeMap",get:function(){return c(c(c(c(c({38:oe.keys.up,40:oe.keys.down,37:oe.keys.left,39:oe.keys.right,13:oe.keys.select,415:oe.keys.play,19:oe.keys.pause,413:oe.keys.stop,417:oe.keys.ffw},"417",oe.keys.ffw),418,oe.keys.skip_next),419,oe.keys.skip_prev),8,oe.keys.back),27,oe.keys.exit)}}])}(),lt=function(){function e(){return a(this,e),r(this,e)}return h(e,Xe),s(e,[{key:"uniqueDeviceID",value:function(e,t){var n,i,r=this,a=function(){if(void 0!==i&&(clearTimeout(i),i=void 0),n){try{n.close()}catch(e){}n=void 0}};try{var o=new Promise(function(e,t){i=setTimeout(function(){t(new Error("WebRTC IP detection timed out after 5 seconds"))},5e3)}),s=new Promise(function(e,t){n=r._getInternalIPWithWebRTC(function(n){if(n&&n.length>0){for(var i="",r=0;r<n.length;r++)if(ae.isValidIPv4Address(n[r])){i=n[r];break}if(!i)return void t(new Error("No valid IPv4 address found in WebRTC candidates"));e(i)}else t(new Error("No IP addresses found"))})});Promise.race([s,o]).then(function(t){a(),e(t)}).catch(function(e){a(),VizbeeTV.logger.error("IPWithWebRTCDeviceID::uniqueDeviceID - error fetching IPAddress:",e.message),t()})}catch(e){a(),VizbeeTV.logger.error("IPWithWebRTCDeviceID::uniqueDeviceID - error fetching network info",e),t()}}},{key:"_getInternalIPWithWebRTC",value:function(e){var t=[],n=new(window.RTCPeerConnection||window.webkitRTCPeerConnection||window.mozRTCPeerConnection)({iceServers:[]});return n.createDataChannel(""),n.onicecandidate=function(i){if(i.candidate){var r=/^candidate:.+ (\S+) \d+ typ/.exec(i.candidate.candidate)[1];-1==t.indexOf(r)&&t.push(r)}else{try{n.close()}catch(e){}e(t)}},n.createOffer(function(e){n.setLocalDescription(e)},function(){}),n}}])}(),dt=function(){function e(){var t;return a(this,e),(t=r(this,e)).ipWithWebRTCDeviceId=new lt,t}return h(e,Xe),s(e,[{key:"uniqueDeviceID",value:function(e,t){var n=this;try{this.ipWithWebRTCDeviceId?this.ipWithWebRTCDeviceId.uniqueDeviceID(e,function(){VizbeeTV.logger.warn("VizioSmartcastDeviceID::uniqueDeviceID - error fetching IPWithWebRTCDeviceId"),n._uniqueDeviceID(e,t)}):this._uniqueDeviceID(e,t)}catch(e){VizbeeTV.logger.error("VizioSmartcastDeviceID::uniqueDeviceID - error fetching network info",e),t()}}},{key:"_uniqueDeviceID",value:function(e,t){try{window.VIZIO&&"function"==typeof window.VIZIO.getIPAddress?window.VIZIO.getIPAddress().then(function(n){n?e(n):(VizbeeTV.logger.error("VizioSmartcastDeviceID::_uniqueDeviceID - error fetching IPAddress"),t())}).catch(function(e){VizbeeTV.logger.error("VizioSmartcastDeviceID::_uniqueDeviceID - error getting IP address:",e),t()}):(VizbeeTV.logger.error("VizioSmartcastDeviceID::_uniqueDeviceID - getIPAddress function not available"),t())}catch(e){VizbeeTV.logger.error("VizioSmartcastDeviceID::_uniqueDeviceID - error fetching IPAddress",e),t()}}}])}(),ft=function(){function e(){var t;a(this,e),(t=r(this,e))._deviceInfo={};try{window.VIZIO&&("function"==typeof window.VIZIO.getDeviceInformation&&window.VIZIO.getDeviceInformation().then(function(e){t._deviceInfo=$.extend(t._deviceInfo,e)}).catch(function(e){VizbeeTV.logger.warn("Error getting device information:",e)}),"function"==typeof window.VIZIO.getDeviceId&&window.VIZIO.getDeviceId(function(e){t._deviceInfo=$.extend(t._deviceInfo,{id:e})}),"function"==typeof window.VIZIO.getModelYear&&window.VIZIO.getModelYear(function(e){t._deviceInfo=$.extend(t._deviceInfo,{MODEL_YEAR:e})}),"function"==typeof window.VIZIO.getMACAddress&&window.VIZIO.getMACAddress().then(function(e){t._deviceInfo=$.extend(t._deviceInfo,{MAC_ADDRESS:e})}).catch(function(e){VizbeeTV.logger.warn("Error getting MAC address:",e)}))}catch(e){VizbeeTV.logger.warn("VizioSmartcastDeviceInfo::constructor - error fetching device info",e)}return t}return h(e,fe),s(e,[{key:"deviceId",get:function(){return this._deviceInfo.id||A}},{key:"model",get:function(){return this._deviceInfo.MODEL_NAME||A}},{key:"modelYear",get:function(){return this._deviceInfo.MODEL_YEAR||A}},{key:"friendlyName",get:function(){return this._deviceInfo.CAST_NAME||A}},{key:"macAddress",get:function(){return this._deviceInfo.MAC_ADDRESS||A}},{key:"serialNumber",get:function(){return $.get(this._deviceInfo,["SYSTEM_INFO","SERIAL_NUMBER"],A)}}])}(),ht=function(){function e(){var t;a(this,e),(t=r(this,e))._networkInfo={};try{window.VIZIO&&("function"==typeof window.VIZIO.getNetworkInformation&&window.VIZIO.getNetworkInformation().then(function(e){var n=$.get(e,["value"],[]);t._networkInfo=$.extend(t._networkInfo,$.reduce(n,function(e,t){return e[t.CNAME]={TYPE:t.TYPE,NAME:t.NAME,VALUE:t.VALUE,READONLY:t.READONLY,HASHVAL:t.HASHVAL},e},{}))}).catch(function(e){VizbeeTV.logger.warn("Error getting network information:",e)}),"function"==typeof window.VIZIO.getWifiSSID&&window.VIZIO.getWifiSSID().then(function(e){t._networkInfo=$.extend(t._networkInfo,{wifi_ssid:e})}).catch(function(e){VizbeeTV.logger.warn("Error getting WiFi SSID:",e)}))}catch(e){VizbeeTV.logger.warn("VizioSmartcastNetworkInfo::constructor - error fetching network info",e)}return t}return h(e,pe),s(e,[{key:"internalIP",get:function(){return $.get(this._networkInfo,["ip_address","VALUE"],A)}},{key:"isWifiConnected",get:function(){return $.get(this._networkInfo,["connection_type","VALUE"],A).toLowerCase().includes("wi-fi")}},{key:"ssid",get:function(){return $.get(this._networkInfo,["wifi_ssid"],A)}},{key:"connectionType",get:function(){return this.isWifiConnected?"WIFI":"WIRED"}}])}(),pt=function(){function e(){var t;a(this,e),(t=r(this,e))._adInfo={};try{window.VIZIO&&"function"==typeof window.VIZIO.getDeviceInformation&&window.VIZIO.getDeviceInformation().then(function(e){t._adInfo=$.extend({},$.get(e,["SYSTEM_INFO","TVAD_ID"],{}))}).catch(function(e){VizbeeTV.logger.warn("Error getting device information for ad ID:",e)})}catch(e){VizbeeTV.logger.warn("VizioSmartcastAdID::constructor - error fetching ad info",e)}return t}return h(e,tt),s(e,[{key:"adId",value:function(){return"vida"==this._adInfo.IFA_TYPE?this._adInfo.IFA:A}},{key:"isAdTrackingDisabled",value:function(){return null==this._adInfo.LMT?A:1===this._adInfo.LMT?"true":"false"}}])}(),gt=function(){function e(t){var n;return a(this,e),(n=r(this,e,[t])).deviceId=new dt,n.launchParams=new de,n._deviceInfo=new ft,n._networkInfo=new ht,n._adId=new pt,n}return h(e,K),s(e,[{key:"cloudPlatformName",get:function(){return"vizio_smartcast"}},{key:"defaultAppletAppId",get:function(){return"vzb0000001"}},{key:"launchParamsDeferral",get:function(){return this.launchParams}},{key:"deviceInfo",get:function(){return this._deviceInfo}},{key:"networkInfo",get:function(){return this._networkInfo}},{key:"adId",get:function(){return this._adId.adId()}},{key:"isAdTrackingDisabled",get:function(){return this._adId.isAdTrackingDisabled()}},{key:"createInputDevice",value:function(){var e=new ct(this);return this.inputDevice=e,e}},{key:"exit",value:function(){window.VIZIO?window.VIZIO.exitApplication():window.close()}},{key:"createPlayer",value:function(){var e={nativePlayer:Be,htmlPlayer:Be,bitmovinPlayer:Ge,modularBitmovinPlayer:Ge,videoJSPlayer:We,theoPlayer:qe,shakaPlayer:je,topPlayer:Ye};return this.player=new Qe(this,e),this.player}}])}(),vt=void 0,yt=void 0,mt={chromecast:null,desktop:null,lgnetcast:null,lgwebos:null,samsung:null,tizen:null,operabdp:null,opera:null,vizio:Je,viziosmartcast:gt,panasonic:null,sony:null,sonybdp:null,xbox:ut},bt=function(){function e(t,n){var i;if(a(this,e),i=r(this,e,[n]),t=t.toLowerCase(),!mt[t])throw new TypeError("VirtualPlatform::constructor() - platform "+t+" doesnot exist.");return i.__platform=new mt[t](n),i.player,i.inputDevice,i}return h(e,K),s(e,[{key:"reset",value:function(){vt&&(vt.stop(),VizbeeTV.logger.debug("player reset",vt)),yt&&(yt.reset(),yt=void 0)}},{key:"uniqueDeviceID",value:function(e,t){this.__platform.uniqueDeviceID(e,t)}},{key:"enableHLSExchange",set:function(e){vt.enableHLSExchange=e}},{key:"deviceIDAlgorithm",get:function(){return this.__platform.deviceIDAlgorithm},set:function(e){return this.__platform.deviceIDAlgorithm=e}},{key:"player",get:function(){return void 0===vt&&(vt=this.__platform.createPlayer()),vt},set:function(e){e&&(vt=e)}},{key:"destroyPlayer",value:function(){vt.destroy().then(function(){vt=void 0})}},{key:"inputDevice",get:function(){return void 0===yt&&(yt=this.__platform.createInputDevice()),yt}},{key:"screenSaverEnabled",set:function(e){e=e||!1,void 0!==this.__platform&&this.__platform.enableScreenSaver&&(VizbeeTV.logger.debug("VirtualPlatform::screenSaverEnabled = "+e),this.__platform.enableScreenSaver(e))}},{key:"exit",value:function(){void 0!==this.__platform&&this.__platform.exit&&this.__platform.exit()}},{key:"isAppExiting",get:function(){return this.__platform.isAppExiting},set:function(e){this.__platform.isAppExiting=e}},{key:"defaultAppletAppId",get:function(){return this.__platform.defaultAppletAppId}},{key:"cloudPlatformName",get:function(){return this.__platform.cloudPlatformName}},{key:"platformModel",get:function(){return this.__platform.platformModel}},{key:"platformVersion",get:function(){return this.__platform.platformVersion}},{key:"adId",get:function(){return this.__platform.adId}},{key:"isAdTrackingDisabled",get:function(){return this.__platform.isAdTrackingDisabled}},{key:"appLifeCycleManager",get:function(){return this.__platform.appLifeCycleManager}},{key:"launchParamsDeferral",get:function(){return this.__platform.launchParamsDeferral}},{key:"deviceInfo",get:function(){return this.__platform.deviceInfo}},{key:"networkInfo",get:function(){return this.__platform.networkInfo}}],[{key:"getPlatformType",value:function(){return window.cast?"Chromecast":"undefined"!=typeof Windows&&Windows.System&&Windows.System.Profile&&Windows.System.Profile.AnalyticsInfo&&Windows.System.Profile.AnalyticsInfo.versionInfo&&Windows.System.Profile.AnalyticsInfo.versionInfo.deviceFamily&&-1!=Windows.System.Profile.AnalyticsInfo.versionInfo.deviceFamily.toLowerCase().indexOf("xbox")||"undefined"!=typeof window&&window.vizbeeXboxHost&&window.chrome&&window.chrome.webview?"Xbox":window.webapis?"Tizen":window.VIZIO?"VizioSmartCast":window.navigator.userAgent.toLowerCase().indexOf("webos.tv")>-1||window.PalmServiceBridge?"LGWebOS":void 0}},{key:"detectPlatformWhenReady",value:function(t){var n=e.getPlatformType();n?t(n):(window.navigator&&window.navigator.userAgent||"").toLowerCase().indexOf("vizio smartcast")>-1?e._awaitVizioSmartCast(t):t(void 0)}},{key:"_awaitVizioSmartCast",value:function(t){var n,i=!1,r=function(e){i||(i=!0,clearTimeout(n),document.removeEventListener("VIZIO_LIBRARY_DID_LOAD",a),e||VizbeeTV.logger.error("VirtualPlatform::_awaitVizioSmartCast - Vizio companion library is mandatory for Vizbee initialization; not available within 5s"),t(e))},a=function(){return r(e.getPlatformType())};VizbeeTV.logger.info("VirtualPlatform::_awaitVizioSmartCast - waiting up to 5s for VIZIO_LIBRARY_DID_LOAD"),document.addEventListener("VIZIO_LIBRARY_DID_LOAD",a),n=setTimeout(function(){return r(void 0)},5e3)}}])}(),St=function(){function e(t,n){var i;return a(this,e),(i=r(this,e,[t,n])).setUIStyleConfig("transparent","white","black"),i}return h(e,bt),s(e,[{key:"extendPlayer",value:function(e,t){VizbeeTV.logger.debug("ExtendPlayer - ",this.player.constructor.name),this.player=new e(this.player,t)}},{key:"unextendPlayer",value:function(){try{if(this.player.extendedPlayer){var e=this.player.extendedPlayer;this.player.reset(),this.player=e}}catch(e){VizbeeTV.logger.error("Error while unextending Player",e,this.player,this.player.extendedPlayer)}}},{key:"wrapExtension",value:function(e,t){this.extendPlayer(e,t)}},{key:"unwrapExtensionToBasePlayer",value:function(){for(;this.player.extendedPlayer;)this.unextendPlayer();this.player.reset()}},{key:"unwrapExtensionToStandardPlayerControls",value:function(){for(;!(this.player instanceof StandardPlayerControls);)this.unextendPlayer()}},{key:"setUIStyleConfig",value:function(e,t,n){this.config.primaryColor=e||this.config.primaryColor,this.config.secondaryColor=t||this.config.secondaryColor,this.config.tertiaryColor=n||this.config.tertiaryColor}}])}(),_t=function(){return s(function e(){a(this,e),this.currentLevel=this.LEVEL.CRITICAL,this.enableLogging=!0,this.logPrefix=""},[{key:"LEVEL",get:function(){return{CRITICAL:0,ERROR:1,WARN:2,INFO:3,DEBUG:4,VERBOSE:5}}},{key:"setLevel",value:function(e){this.currentLevel=e}},{key:"setPrefix",value:function(e){this.logPrefix=e}},{key:"enable",value:function(){this.enableLogging=!0}},{key:"disable",value:function(){this.enableLogging=!1}},{key:"c",value:function(){var e=this._getLogArguments.apply(this,arguments);e&&this.critical.apply(this,e)}},{key:"critical",value:function(){if(this.shouldLog(this.LEVEL.CRITICAL)){var e=Array.prototype.slice.call(arguments);e=ae.convertObjectsToString(e);var t=[this.getCurrentTimeString()+" "+this.logPrefix+" [CRITICAL]:"];Array.prototype.push.apply(t,e),console.error.apply(console,t)}}},{key:"e",value:function(){var e=this._getLogArguments.apply(this,arguments);e&&this.error.apply(this,e)}},{key:"error",value:function(){if(this.shouldLog(this.LEVEL.ERROR)){var e=Array.prototype.slice.call(arguments);e=ae.convertObjectsToString(e);var t=[this.getCurrentTimeString()+" "+this.logPrefix+" [ERROR]:"];Array.prototype.push.apply(t,e),console.error.apply(console,t)}}},{key:"w",value:function(){var e=this._getLogArguments.apply(this,arguments);e&&this.warn.apply(this,e)}},{key:"warn",value:function(){if(this.shouldLog(this.LEVEL.WARN)){var e=Array.prototype.slice.call(arguments);e=ae.convertObjectsToString(e);var t=[this.getCurrentTimeString()+" "+this.logPrefix+" [WARN]:"];Array.prototype.push.apply(t,e),console.warn.apply(console,t)}}},{key:"i",value:function(){var e=this._getLogArguments.apply(this,arguments);e&&this.info.apply(this,e)}},{key:"info",value:function(){if(this.shouldLog(this.LEVEL.INFO)){var e=Array.prototype.slice.call(arguments);e=ae.convertObjectsToString(e);var t=[this.getCurrentTimeString()+" "+this.logPrefix+" [INFO]:"];Array.prototype.push.apply(t,e),console.info.apply(console,t)}}},{key:"d",value:function(){var e=this._getLogArguments.apply(this,arguments);e&&this.debug.apply(this,e)}},{key:"debug",value:function(){if(this.shouldLog(this.LEVEL.DEBUG)){var e=Array.prototype.slice.call(arguments);e=ae.convertObjectsToString(e);var t=[this.getCurrentTimeString()+" "+this.logPrefix+" [DEBUG]:"];Array.prototype.push.apply(t,e),console.log.apply(console,t)}}},{key:"v",value:function(){var e=this._getLogArguments.apply(this,arguments);e&&this.verbose.apply(this,e)}},{key:"verbose",value:function(){if(this.shouldLog(this.LEVEL.VERBOSE)){var e=Array.prototype.slice.call(arguments);e=ae.convertObjectsToString(e);var t=[this.getCurrentTimeString()+" "+this.logPrefix+" [VERBOSE]:"];Array.prototype.push.apply(t,e),console.log.apply(console,t)}}},{key:"shouldLog",value:function(e){return!!this.enableLogging&&e<=this.currentLevel}},{key:"_getLogArguments",value:function(){var e=Array.prototype.slice.call(arguments);if(e&&e.length>=2){var t=[this._getClassAndMethodNamePrefix(e[0],e[1])],n=Array.prototype.slice.call(arguments,2);return Array.prototype.push.apply(t,n),t}}},{key:"_getClassAndMethodNamePrefix",value:function(e,t){return e&&t?ae.padEnd(e+"::",40," ")+ae.padEnd(t,30," ")+" - ":""}},{key:"getCurrentTimeString",value:function(){return"["+(new Date).toISOString()+"]"}}],[{key:"enableRemoteLogging",value:function(e,t){window.console.log=window.console.info=window.console.error=window.console.warn=window.console.debug=function(){var n=new XMLHttpRequest;try{var i=Array.prototype.slice.call(arguments);i=ae.convertObjectsToString(i);var r=[t];Array.prototype.push.apply(r,i);var a=encodeURIComponent(JSON.stringify({data:r.join(" ")}));n.open("GET",e+a,!0),n.send(null)}catch(e){}}}}])}(),kt=function(){function e(){return a(this,e),r(this,e)}return h(e,_t),s(e,[{key:"critical",value:function(){try{m(e,"critical",this)(arguments);var t=Array.prototype.slice.call(arguments);if(t.length>0){var n=t[t.length-1],i=window.Raven||window.Sentry;this._shouldLogException()&&i&&($.isObject(n)||$.isString(n))&&i.captureException(n)}}catch(e){}}},{key:"_shouldLogException",value:function(){return!0}}])}();function Tt(){if(J)return Q;J=1;var e,t={getItem:function(e){return e&&decodeURIComponent(document.cookie.replace(new RegExp("(?:(?:^|.*;)\\s*"+encodeURIComponent(e).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*([^;]*).*$)|^.*$"),"$1"))||null},setItem:function(e,t,n,i,r,a){if(!e||/^(?:expires|max\-age|path|domain|secure)$/i.test(e))return!1;var o="";if(n)switch(n.constructor){case Number:o=n===1/0?"; expires=Fri, 31 Dec 9999 23:59:59 GMT":"; max-age="+n;break;case String:o="; expires="+n;break;case Date:o="; expires="+n.toUTCString()}return document.cookie=encodeURIComponent(e)+"="+encodeURIComponent(t)+o+(r?"; domain="+r:"")+(i?"; path="+i:"")+(a?"; secure":""),!0},removeItem:function(e,t,n){return!!this.hasItem(e)&&(document.cookie=encodeURIComponent(e)+"=; expires=Thu, 01 Jan 1970 00:00:00 GMT"+(n?"; domain="+n:"")+(t?"; path="+t:""),!0)},hasItem:function(e){return!!e&&new RegExp("(?:^|;\\s*)"+encodeURIComponent(e).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=").test(document.cookie)},keys:function(){for(var e=document.cookie.replace(/((?:^|\s*;)[^\=]+)(?=;|$)|^\s*|\s*(?:\=[^;]*)?(?:\1|$)/g,"").split(/\s*(?:\=[^;]*)?;\s*/),t=e.length,n=0;n<t;n++)e[n]=decodeURIComponent(e[n]);return e},eraseCookieFromAllPaths:function(e){var t=location.pathname.split("/"),n=" path=";document.cookie=encodeURIComponent(e)+"=; expires=Thu, 01-Jan-1970 00:00:01 GMT;";for(var i=0;i<t.length;i++)n+=("/"!=n.substr(-1)?"/":"")+t[i],document.cookie=encodeURIComponent(e)+"=; expires=Thu, 01-Jan-1970 00:00:01 GMT;"+n+";"}},n=(e=function(){for(var e,t={},n=decodeURIComponent(window.location.href),i=n.slice(n.indexOf("?")+1).split("&"),r=0;r<i.length;r++)t[(e=i[r].split("="))[0]]=e[1];return t}()||{},{getQueryParamForKey:function(t){return e[t]||!1},getQueryParams:function(){return e}});return Q={chain:function(e,t){return e?function(){e.call(this,arguments),t.call(this,arguments)}:t},xhr:function(e){return new Promise(function(t,n){var i=e.retries||2;!function r(){var a=new XMLHttpRequest;e.url=e.url.replace(/^http:\/\//i,"https://"),a.open(e.method||"GET",e.url,!0),Object.keys(e.headers||{}).forEach(function(t){a.setRequestHeader(t,e.headers[t])}),a.onreadystatechange=function(o){if(4===a.readyState)if(-1===[200,304].indexOf(a.status))VizbeeSDK.logger.error("xhr error",o),i>0?(i--,r()):n(new Error("Server responded with a status of "+a.status));else try{e.format=e.format||"json";var s=o.target;"json"===e.format?s=JSON.parse(s.response):"xml"===e.format&&(s=s.responseXML),VizbeeSDK.logger.debug("Util::xhr() -- response object --",s),t(s)}catch(o){i>0?(i--,r()):n("JSON parse error with Server response")}},e.timeout&&(a.timeout=e.timeout,a.ontimeout=function(t){i>0?(i--,r()):n(new Error("Server timeout "+e.timeout+"ms"))}),a.send(e.data)}()})},log:function(){var e=Array.prototype.slice.call(arguments);e.unshift("VIZBEE [LOG]"),console.log.apply(console,e)},docCookies:t,urlParser:n},Q}window.VizbeeTV={init:function(e,t,n){this.logger=new kt,this.logger.setPrefix("[VTVLIB]"),this.Util=ae,n?this.tv instanceof St?this.tv.config=$.extend(this.tv.config,t):this.tv=new St(e,t):this.tv instanceof bt?this.tv.config=$.extend(this.tv.config,t):this.tv=new bt(e,t)}};var It,Vt,Et,Pt,At={getIpv6Address:function(e){ae.xhr({url:"https://ip.claspws.tv",timeout:5e3,retries:3}).then(function(t){var n=t&&t.headers&&t.headers["x-vzb-client-ip"];n?(VizbeeSDK.logger.debug("Ipv6::getIpv6Address - ipv6Address=",n),e(n)):(VizbeeSDK.logger.warn("Ipv6::getIpv6Address - ipv6Address=empty"),e())}).catch(function(t){VizbeeSDK.logger.warn("Ipv6::getIpv6Address - failed",t),e()})}};function Ct(){if(Vt)return It;function e(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function t(e){return"function"==typeof e}function n(e){return"object"===S(e)&&null!==e}function i(e){return void 0===e}return Vt=1,It=e,e.EventEmitter=e,e.prototype._events=void 0,e.prototype._maxListeners=void 0,e.defaultMaxListeners=10,e.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||isNaN(e))throw TypeError("n must be a positive number");return this._maxListeners=e,this},e.prototype.emit=function(e){var r,a,o,s,u,c;if(this._events||(this._events={}),"error"===e&&(!this._events.error||n(this._events.error)&&!this._events.error.length)){if((r=arguments[1])instanceof Error)throw r;var l=new Error('Uncaught, unspecified "error" event. ('+r+")");throw l.context=r,l}if(i(a=this._events[e]))return!1;if(t(a))switch(arguments.length){case 1:a.call(this);break;case 2:a.call(this,arguments[1]);break;case 3:a.call(this,arguments[1],arguments[2]);break;default:s=Array.prototype.slice.call(arguments,1),a.apply(this,s)}else if(n(a))for(s=Array.prototype.slice.call(arguments,1),o=(c=a.slice()).length,u=0;u<o;u++)c[u].apply(this,s);return!0},e.prototype.addListener=function(r,a){var o;if(!t(a))throw TypeError("listener must be a function");return this._events||(this._events={}),this._events.newListener&&this.emit("newListener",r,t(a.listener)?a.listener:a),this._events[r]?n(this._events[r])?this._events[r].push(a):this._events[r]=[this._events[r],a]:this._events[r]=a,n(this._events[r])&&!this._events[r].warned&&(o=i(this._maxListeners)?e.defaultMaxListeners:this._maxListeners)&&o>0&&this._events[r].length>o&&(this._events[r].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[r].length),"function"==typeof console.trace&&console.trace()),this},e.prototype.on=e.prototype.addListener,e.prototype.once=function(e,n){if(!t(n))throw TypeError("listener must be a function");var i=!1;function r(){this.removeListener(e,r),i||(i=!0,n.apply(this,arguments))}return r.listener=n,this.on(e,r),this},e.prototype.removeListener=function(e,i){var r,a,o,s;if(!t(i))throw TypeError("listener must be a function");if(!this._events||!this._events[e])return this;if(o=(r=this._events[e]).length,a=-1,r===i||t(r.listener)&&r.listener===i)delete this._events[e],this._events.removeListener&&this.emit("removeListener",e,i);else if(n(r)){for(s=o;s-- >0;)if(r[s]===i||r[s].listener&&r[s].listener===i){a=s;break}if(a<0)return this;1===r.length?(r.length=0,delete this._events[e]):r.splice(a,1),this._events.removeListener&&this.emit("removeListener",e,i)}return this},e.prototype.removeAllListeners=function(e){var n,i;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[e]&&delete this._events[e],this;if(0===arguments.length){for(n in this._events)"removeListener"!==n&&this.removeAllListeners(n);return this.removeAllListeners("removeListener"),this._events={},this}if(t(i=this._events[e]))this.removeListener(e,i);else if(i)for(;i.length;)this.removeListener(e,i[i.length-1]);return delete this._events[e],this},e.prototype.listeners=function(e){return this._events&&this._events[e]?t(this._events[e])?[this._events[e]]:this._events[e].slice():[]},e.prototype.listenerCount=function(e){if(this._events){var n=this._events[e];if(t(n))return 1;if(n)return n.length}return 0},e.listenerCount=function(e,t){return e.listenerCount(t)},It}function Dt(){if(Pt)return Et;Pt=1;var e,t=new(0,Ct().EventEmitter);return Et={reset:function(){e=void 0},getApp:function(){return e},setApp:function(n){n&&(e=n,VizbeeSDK.logger.debug("AppAdapter::setApp in setApp"),t.emit("app",{type:"app",obj:n}))},isAppSet:function(){return!!e},preInit:function(){VizbeeSDK.logger.debug("AppAdapter::preInit() called"),e&&e.preInit?e.preInit():VizbeeSDK.logger.error("AppAdapter::preInit() - app.preInit() callback not provided by host app")},willStartVideo:function(t,n){e&&e.willStartVideo?e.willStartVideo(t,n):VizbeeSDK.logger.info("AppAdapter::willStartVideo() - app.willStartVideo() callback not provided by host app")},startVideo:function(t){e&&e.startVideo?e.startVideo(t):VizbeeSDK.logger.info("AppAdapter::StartVideo() - app.startVideo() callback not provided by host app")},playVideo:function(){return VizbeeSDK.logger.info("AppAdapter::PlayVideo() called"),e&&e.playVideo?e.playVideo():(VizbeeSDK.logger.info("AppAdapter::PlayVideo() - app.playVideo() callback not provided by host app"),!1)},pauseVideo:function(){return VizbeeSDK.logger.info("AppAdapter::PauseVideo() called"),e&&e.pauseVideo?e.pauseVideo():(VizbeeSDK.logger.info("AppAdapter::PauseVideo() - app.pauseVideo() callback not provided by host app"),!1)},stopVideo:function(t){return VizbeeSDK.logger.info("AppAdapter::StopVideo() called",t,e),VizbeeSDK.logger.debug("AppAdapter::StopVideo() called"),e&&e.stopVideo?(VizbeeSDK.logger.info("AppAdapter::StopVideo() called",t),e.stopVideo(t)):(VizbeeSDK.logger.info("AppAdapter::StopVideo() - app.stopVideo() callback not provided by host app"),!1)},seekVideo:function(t){return VizbeeSDK.logger.info("AppAdapter::SeekVideo() called",t),e&&e.seekVideo?e.seekVideo(t):(VizbeeSDK.logger.info("AppAdapter::SeekVideo() - app.seekVideo() callback not provided by host app"),!1)},getVideoInfo:function(){if(e&&e.getVideoInfo)return e.getVideoInfo()},getTracks:function(){return e&&e.getTracks?e.getTracks():(VizbeeSDK.logger.verbose("AppAdapter::getTracks() - app.getTracks() callback not provided by host app"),!1)},getEnabledTracks:function(){return e&&e.getEnabledTracks?e.getEnabledTracks():(VizbeeSDK.logger.verbose("AppAdapter::getEnabledTracks() - app.getEnabledTracks() callback not provided by host app"),!1)},enableTracks:function(t){return VizbeeSDK.logger.verbose("AppAdapter::enableTracks() called"),e&&e.enableTracks?e.enableTracks(t):(VizbeeSDK.logger.verbose("AppAdapter::enableTracks() - app.enableTracks() callback not provided by host app"),!1)},disableTracks:function(t){return VizbeeSDK.logger.verbose("AppAdapter::disableTracks() called"),e&&e.disableTracks?e.disableTracks(t):(VizbeeSDK.logger.verbose("AppAdapter::disableTracks() - app.disableTracks() callback not provided by host app"),!1)},getAudioTracks:function(){return e&&e.getAudioTracks?e.getAudioTracks():(VizbeeSDK.logger.verbose("AppAdapter::getAudioTracks() - app.getAudioTracks() callback not provided by host app"),!1)},getActiveAudioTrack:function(){return e&&e.getActiveAudioTrack?e.getActiveAudioTrack():(VizbeeSDK.logger.verbose("AppAdapter::getActiveAudioTrack() - app.getActiveAudioTrack() callback not provided by host app"),!1)},changeAudioTrack:function(t){return VizbeeSDK.logger.info("AppAdapter::changeAudioTrack() called"),e&&e.changeAudioTrack?e.changeAudioTrack(t):(VizbeeSDK.logger.info("AppAdapter::changeAudioTrack() - app.changeAudioTrack() callback not provided by host app"),!1)},onEvent:function(t){VizbeeSDK.logger.debug("AppAdapter::onEvent() called"),e&&e.onEvent?e.onEvent(t):VizbeeSDK.logger.info("AppAdapter::onEvent() - callback not provided by host app")},updatePresence:function(t){VizbeeSDK.logger.debug("AppAdapter::updatePresence() called"),e&&e.updatePresence?e.updatePresence(t):VizbeeSDK.logger.info("AppAdapter::updatePresence() - callback not provided by host app")},addListener:function(e){t.addListener("app",e)}},Et}var wt,Mt,Nt=Y(),Ot=new(0,Ct().EventEmitter),xt=Dt(),zt=void 0,Lt={isInProgress:!1},Rt=!1,Kt="videoadapter_video",Ft="videoadapter_ad";function Ut(e){var t,n,i=!Nt.contains(["timeupdate"],e.type);Lt.isInProgress||(zt&&"app"!==zt.app.state?(t=new Ht,e.type,"loading"===e.type&&(n="BUFFERING"),"playing"===e.type&&(n="PLAYING"),"paused"===e.type&&(n="PAUSED_BY_USER"),"ended"==e.type&&(n="FINISHED"),"interrupted"==e.type&&(n="INTERRUPTED"),"error"===e.type&&(n="INTERRUPTED",e.data&&e.data.reason&&"stop_by_user"!=e.data.reason.toLowerCase()&&(n="FAILED",t.error=e.data,t.error.data={})),n&&(t.state=n),Ot.emit(Kt,t,i)):VizbeeSDK.logger.verbose('VideoAdapter::videoEventHandler - app.state = "app"'))}function Bt(e,t){var n=e.playing||e.preparing;(n||!n&&Lt.isInProgress)&&Ot.emit(Ft,e,t),Lt.isInProgress=n||!1,Lt.isInProgress||(Rt=!1),"FINISHED"==e.state||e.state}function Ht(e){var t={type:"video",position:-1,duration:-1,cc:{},tr:{}};return Mt?(t.position=1e3*Mt.currentTime(),t.duration=1e3*Mt.getDuration(),t.startTime=Mt.getStartTime(),t.videoBufferLevel=Mt.getBufferLevel(),t.audioBufferLevel=Mt.getAudioBufferLevel(),t.qos=Mt.getStreamQualityInfo(),t.volume=100,t.muted=!1):(t.position=-1,t.duration=-1,t.startTime=0,t.videoBufferLevel=0,t.audioBufferLevel=0,t.volume=1,t.muted=!1),t.qos||(t.qos={adPodStartedTimeInMs:0,adPodEndedTimeInMs:0,loadReceivedByAppTimeInMs:0,loadReceivedByPlayerTimeInMs:0,metadataLoadedTimeInMs:0,playerReadyToPlayTimeInMs:0,playbackStartedTimeInMs:0}),Nt.extend(t,e)}function Gt(){Lt.isInProgress&&wt.reset()}var Wt,qt,jt,Yt,Qt,Jt,Zt,Xt,$t,en,tn,nn,rn={setVideo:function(e){var t;(t=e).onLoading=function(e){Lt.isInProgress||(Ut({type:"loading"}),Rt=!1)},t.onPlaying=function(e){Lt.isInProgress||(Ut({type:"playing"}),Rt=!0)},t.onPaused=function(e){Lt.isInProgress||(Ut({type:"paused"}),Rt=!1)},t.onBuffering=function(e){Lt.isInProgress||(Ut({type:"loading"}),Rt=!1)},t.onError=function(e){Lt.isInProgress||(Ut({type:"error",data:e}),Rt=!1)},t.onInterrupted=function(e){Lt.isInProgress||(Ut({type:"interrupted",data:e}),Rt=!1)},t.onEnded=function(){Lt.isInProgress||(Ut({type:"ended"}),Rt=!1)},t.onTimeUpdate=function(e){Lt.isInProgress||(Rt?Ut({type:"timeupdate"}):(Rt=!0,Ut({type:"playing"})))},Mt=e},setVideoInfo:function(e){e&&zt&&zt.setCurrentVideoInfo(e)},setId:function(e,t){if(zt){if(zt.video&&zt.video.id&&e&&zt.video.id!=e){VizbeeSDK.logger.debug("VideoAdapter::setId - SENDING INTERRUPTED");var n=new Ht({id:zt.video.id,state:"INTERRUPTED"});Ot.emit(Kt,n,!0)}var i=new Ht({id:e});i.position=i.duration=-1,i.state="UNKNOWN",Ot.emit(Kt,i,!0),VizbeeSDK.logger.debug("VideoAdapter::setId - setting currentGUID = "+e),zt.setCurrentVideoInfo(Nt.extend(zt.getCurrentVideoInfo()||{},{id:e,islive:t}))}},setVideoStop:function(){Lt&&Lt.isInProgress&&wt&&(Lt.isInProgress=!1,wt.reset()),Ut({type:"error"})},willStart:function(e,t){xt.willStartVideo(e,t)},start:function(e){Ut({type:"loadedmetadata"}),Gt(),xt.startVideo(e)},play:function(){xt.playVideo()||VizbeeTV.tv.inputDevice.sendPlay()},pause:function(){xt.pauseVideo()||VizbeeTV.tv.inputDevice.sendPause()},seek:function(e){xt.seekVideo(e)||Nt.isNumber(e)&&Mt.seek(e)},stop:function(e){if(!xt.stopVideo(e)){VizbeeTV.tv.inputDevice.sendStop(),VizbeeSDK.logger.debug("VideoAdapter::stop - sending INTERRUPTED state");var t=new Ht({state:"INTERRUPTED"});Ot.emit(Kt,t,!0),Gt()}},exit:function(){var e=new Ht({state:"INTERRUPTED"});Ot.emit(Kt,e,!0)},setTracks:function(e){Mt.setTracks(e)},getTracks:function(e){e=e||C;var t=xt.getTracks();return!1!==t?t:Mt.getTracks(e)},getEnabledTracks:function(e){e=e||C;var t=xt.getEnabledTracks();return!1!==t?t:Mt.getEnabledTracks(e)},enableTracks:function(e){xt.enableTracks(e)||Mt.enableTracks(e)},disableTracks:function(e){xt.disableTracks(e)||Mt.disableTracks(e)},getAudioTracks:function(e){e=e||D;var t=xt.getAudioTracks();return!1!==t?t:Mt.getTracks(e)},getActiveAudioTrack:function(e){e=e||D;var t=xt.getActiveAudioTrack();return!1!==t?t:(Mt.getEnabledTracks(e)||[])[0]},changeAudioTrack:function(e){xt.changeAudioTrack(e)||Mt.changeAudioTrack(e)},mute:function(e){},volumeUp:function(){Ot.emit(Kt,new Ht,!0)},volumeDown:function(){Ot.emit(Kt,new Ht,!0)},onEvent:function(e){xt.onEvent(e)},setAdAdapter:function(e){wt&&wt.removeListener(Bt),(wt=e)&&wt.addListener(Bt)},setAppStateManager:function(e){zt=e},reset:function(){Mt=void 0,Lt={playing:!1}},addListener:function(e){Ot.addListener(Kt,e),Ot.addListener(Ft,e)},removeListener:function(e){Ot.removeListener(Kt,e),Ot.removeListener(Ft,e)}};function an(){if(qt)return Wt;qt=1;var e,t=Y();return Wt={reset:function(){e=void 0},setVideoAdapter:function(t){e=t},isAdapterSet:function(){return!!e},getCurrentTime:function(){var n=0;return e&&t.isFunction(e.getCurrentTime)&&(n=e.getCurrentTime()),n},getDuration:function(){var n=0;return e&&t.isFunction(e.getDuration)&&(n=e.getDuration()),n}}}function on(){if(Yt)return jt;Yt=1;var e=new(0,Ct().EventEmitter),t=rn,n=an(),i=void 0;function r(t,r){"video"==t.type&&(t=function(e,t){return t||e.position<=-1||e.duration<=-1||e.position>e.duration||n.isAdapterSet()&&(e.position=n.getCurrentTime(),e.duration=n.getDuration(),VizbeeSDK.logger.debug("ssaivideoadapater::modifyStatus",e.position,e.duration)),e}(t,i&&i.getSyncVideoInfo().islive)),function(t,n){e.emit("ssaivideoadapter_video",t,n)}(t,r)}return jt={init:function(){t.addListener(r)},setVideo:t.setVideo,setVideoInfo:t.setVideoInfo,setId:t.setId,setVideoStop:t.setVideoStop,willStart:t.willStart,start:t.start,play:t.play,pause:t.pause,seek:t.seek,stop:t.stop,exit:t.exit,setTracks:t.setTracks,getTracks:t.getTracks,getEnabledTracks:t.getEnabledTracks,enableTracks:t.enableTracks,disableTracks:t.disableTracks,getAudioTracks:t.getAudioTracks,getActiveAudioTrack:t.getActiveAudioTrack,changeAudioTrack:t.changeAudioTrack,mute:t.mute,volumeUp:t.volumeUp,volumeDown:t.volumeDown,onEvent:t.onEvent,setAppStateManager:function(e){i=e,t.setAppStateManager(e)},setAdAdapter:t.setAdAdapter,reset:function(){i=void 0,t.removeListener(r),t.reset()},addListener:function(t){e.addListener("ssaivideoadapter_video",t)},removeListener:function(t){e.removeListener("ssaivideoadapter_video",t)}}}function sn(){if(Jt)return Qt;Jt=1;var e=Y(),t=new(0,Ct().EventEmitter),n=on(),i=Dt(),r={state:"app"},a={},o={},s="default",u={},c={};function l(e){u=e}function d(t,n){"app"===t.type&&f(),"video"===t.type&&function(t,n){e.extend(a,t),["FINISHED","INTERRUPTED","FAILED"].indexOf(a.state)>-1?(VizbeeSDK.logger.debug("AppStateManager::videoEventHanlder() -- setting app.state to 'app'."),h(),r.state="app",p()):(r.state="video",n&&h())}(t,n),"ad"===t.type&&function(t,n){var i=n;t.playing||t.preparing?(r.state="ad",a.state="PAUSED_BY_AD",e.extend(o,t)):(o.preparing=!1,o.playing=!1,"INTERRUPTED"==t.state?(r.state="app",a.state="INTERRUPTED",i=!0):"PAUSED_BY_AD"==a.state&&(a.state="UNKNOWN"),a.duration<=a.position&&a.duration>0&&(r.state="app",a.state="FINISHED",i=!0)),i&&h()}(t,n)}function f(){VizbeeSDK.logger.debug("AppStateManager:appEventHandler appIsSet is TRUE"),t.emit("state",{type:"appIsSet"})}function h(){t.emit("state",{})}function p(){VizbeeSDK.logger.debug("AppStateManager:reset() previous video and ad objects = ",a,o,u),a.id="",a.state="UNKNOWN",a.position=-1,a.duration=-1,a.elapsedTime=0,a.tr={},a.error={},o.id="",o.state="UNKNOWN",o.position=-1,o.duration=-1,s={},VizbeeSDK.logger.debug("AppStateManager:reset() complete : current video and ad objects = ",a,o,u)}return p(),n.addListener(d),i.addListener(d),i.isAppSet()&&f(),Qt={type:"AppStateManager",app:r,video:a,ad:o,reset:p,syncStartVideoSource:s,syncVideoInfo:u,setSyncVideoInfo:l,getSyncVideoInfo:function(){return u},currentVideoInfo:c,setCurrentVideoInfo:function(e){c=e,u&&e&&u.id!=e.id&&l({})},getCurrentVideoInfo:function(){return c},wasVideoStartedByVizbee:function(){return!!(c&&c.senderInfo&&c.senderInfo.st)||!(!u||!c||u.id!=c.id)},addListener:function(e){t.addListener("state",e)},removeListener:function(e){t.removeListener("state",e)}}}function un(){return en?$t:(en=1,$t={setVGA:function(t){t&&(e=t,VizbeeSDK.logger.debug("VGAAdapter::setVGA in setVGA"))},onSubscribedToSync:function(){VizbeeSDK.logger.debug("VGAAdapter::subscribedToSync in subscribedToSync"),e&&e.onSubscribedToSync&&e.onSubscribedToSync()},reset:function(){e=void 0}});var e}function cn(){if(nn)return tn;nn=1;var e=new(0,Ct().EventEmitter),t="sync_proxy_video_cmds";return tn={send:function(n){e.emit(t,n)},reset:function(){e.removeAllListeners(t)},addListener:function(n){e.addListener(t,n)}}}var ln,dn,fn,hn,pn,gn,vn=function(){return s(function e(t){a(this,e),this.appConfig=t||{},this._eventListeners=[]},[{key:"connect",value:function(e){throw new TypeError("BaseSync::connect() - Abstract method.")}},{key:"disconnect",value:function(){this._eventListeners=[]}},{key:"send",value:function(e){}},{key:"onReceive",set:function(e){"function"==typeof e&&this._eventListeners.push(e)}},{key:"dispatchReceive",value:function(e){for(var t=this._eventListeners.length-1;t>-1;t--)this._eventListeners[t](e)}}])}(),yn=s(function e(t,n){a(this,e),this.type=t,this.data=n}),mn=function(){return s(function e(){a(this,e)},null,[{key:"SYNC_CONNECT",get:function(){return"sync-connect"}},{key:"SYNC_MESSAGE",get:function(){return"sync-message"}},{key:"SYNC_PRESENCE",get:function(){return"sync-presence"}}])}(),bn=t(function(){if(dn)return ln;dn=1;var e=Tt().docCookies,t="screen_device_id",n="should_verify_screen_device_id",i="screen_device_id_verified_intermediate",r="screen_device_id_verified",a=e.getItem(r),o=e.getItem(t);return ln={getDeviceId:function(){return o},getDeviceIdFromStorage:function(){return e.getItem(t)},isDeviceIdVerified:function(){return a},isDeviceIdVerifiedFlagStored:function(){return e.getItem(r)},isIntermediateVerifcationCookieSet:function(){return e.getItem(i)},isShouldVerifyDeviceIdFlagSet:function(){return e.getItem(n)},setDeviceId:function(r){a||(o!==r&&this.isIntermediateVerifcationCookieSet()&&e.eraseCookieFromAllPaths(i),o=r,e.setItem(t,o,1/0,"/"),e.setItem(n,"yes",1/0,"/"))},verifyDeviceId:function(){e.getItem(n)&&(e.getItem(r)||(e.getItem(i)?(a="yes",e.setItem(r,a,1/0,"/"),VizbeeSDK.logger.debug("SETTING VERIFIED COOKIE *** ",e.getItem(r))):(e.setItem(i,"yes",1/0,"/"),VizbeeSDK.logger.debug("SETTING INTERMEDIATE COOKIE *** ",e.getItem(i)))),e.eraseCookieFromAllPaths(n))},reset:function(){for(var s=[t,r,n,i],u=0;u<s.length;u++)e.eraseCookieFromAllPaths(s[u]);a=null,o=null}}}()),Sn={exports:{}},_n={exports:{}};function kn(){return fn||(fn=1,e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",t={rotl:function(e,t){return e<<t|e>>>32-t},rotr:function(e,t){return e<<32-t|e>>>t},endian:function(e){if(e.constructor==Number)return 16711935&t.rotl(e,8)|4278255360&t.rotl(e,24);for(var n=0;n<e.length;n++)e[n]=t.endian(e[n]);return e},randomBytes:function(e){for(var t=[];e>0;e--)t.push(Math.floor(256*Math.random()));return t},bytesToWords:function(e){for(var t=[],n=0,i=0;n<e.length;n++,i+=8)t[i>>>5]|=e[n]<<24-i%32;return t},wordsToBytes:function(e){for(var t=[],n=0;n<32*e.length;n+=8)t.push(e[n>>>5]>>>24-n%32&255);return t},bytesToHex:function(e){for(var t=[],n=0;n<e.length;n++)t.push((e[n]>>>4).toString(16)),t.push((15&e[n]).toString(16));return t.join("")},hexToBytes:function(e){for(var t=[],n=0;n<e.length;n+=2)t.push(parseInt(e.substr(n,2),16));return t},bytesToBase64:function(t){for(var n=[],i=0;i<t.length;i+=3)for(var r=t[i]<<16|t[i+1]<<8|t[i+2],a=0;a<4;a++)8*i+6*a<=8*t.length?n.push(e.charAt(r>>>6*(3-a)&63)):n.push("=");return n.join("")},base64ToBytes:function(t){t=t.replace(/[^A-Z0-9+\/]/gi,"");for(var n=[],i=0,r=0;i<t.length;r=++i%4)0!=r&&n.push((e.indexOf(t.charAt(i-1))&Math.pow(2,-2*r+8)-1)<<2*r|e.indexOf(t.charAt(i))>>>6-2*r);return n}},_n.exports=t),_n.exports;var e,t}function Tn(){if(pn)return hn;pn=1;var e={utf8:{stringToBytes:function(t){return e.bin.stringToBytes(unescape(encodeURIComponent(t)))},bytesToString:function(t){return decodeURIComponent(escape(e.bin.bytesToString(t)))}},bin:{stringToBytes:function(e){for(var t=[],n=0;n<e.length;n++)t.push(255&e.charCodeAt(n));return t},bytesToString:function(e){for(var t=[],n=0;n<e.length;n++)t.push(String.fromCharCode(e[n]));return t.join("")}}};return hn=e}var In,Vn,En,Pn=(gn||(gn=1,function(){var e=kn(),t=Tn().utf8,n=Tn().bin,i=function(r,a){r.constructor==String?r=a&&"binary"===a.encoding?n.stringToBytes(r):t.stringToBytes(r):"undefined"!=typeof Buffer&&"function"==typeof Buffer.isBuffer&&Buffer.isBuffer(r)?r=Array.prototype.slice.call(r,0):Array.isArray(r)||(r=r.toString());for(var o=e.bytesToWords(r),s=8*r.length,u=1732584193,c=-271733879,l=-1732584194,d=271733878,f=0;f<o.length;f++)o[f]=16711935&(o[f]<<8|o[f]>>>24)|4278255360&(o[f]<<24|o[f]>>>8);o[s>>>5]|=128<<s%32,o[14+(s+64>>>9<<4)]=s;var h=i._ff,p=i._gg,g=i._hh,v=i._ii;for(f=0;f<o.length;f+=16){var y=u,m=c,b=l,S=d;u=h(u,c,l,d,o[f+0],7,-680876936),d=h(d,u,c,l,o[f+1],12,-389564586),l=h(l,d,u,c,o[f+2],17,606105819),c=h(c,l,d,u,o[f+3],22,-1044525330),u=h(u,c,l,d,o[f+4],7,-176418897),d=h(d,u,c,l,o[f+5],12,1200080426),l=h(l,d,u,c,o[f+6],17,-1473231341),c=h(c,l,d,u,o[f+7],22,-45705983),u=h(u,c,l,d,o[f+8],7,1770035416),d=h(d,u,c,l,o[f+9],12,-1958414417),l=h(l,d,u,c,o[f+10],17,-42063),c=h(c,l,d,u,o[f+11],22,-1990404162),u=h(u,c,l,d,o[f+12],7,1804603682),d=h(d,u,c,l,o[f+13],12,-40341101),l=h(l,d,u,c,o[f+14],17,-1502002290),u=p(u,c=h(c,l,d,u,o[f+15],22,1236535329),l,d,o[f+1],5,-165796510),d=p(d,u,c,l,o[f+6],9,-1069501632),l=p(l,d,u,c,o[f+11],14,643717713),c=p(c,l,d,u,o[f+0],20,-373897302),u=p(u,c,l,d,o[f+5],5,-701558691),d=p(d,u,c,l,o[f+10],9,38016083),l=p(l,d,u,c,o[f+15],14,-660478335),c=p(c,l,d,u,o[f+4],20,-405537848),u=p(u,c,l,d,o[f+9],5,568446438),d=p(d,u,c,l,o[f+14],9,-1019803690),l=p(l,d,u,c,o[f+3],14,-187363961),c=p(c,l,d,u,o[f+8],20,1163531501),u=p(u,c,l,d,o[f+13],5,-1444681467),d=p(d,u,c,l,o[f+2],9,-51403784),l=p(l,d,u,c,o[f+7],14,1735328473),u=g(u,c=p(c,l,d,u,o[f+12],20,-1926607734),l,d,o[f+5],4,-378558),d=g(d,u,c,l,o[f+8],11,-2022574463),l=g(l,d,u,c,o[f+11],16,1839030562),c=g(c,l,d,u,o[f+14],23,-35309556),u=g(u,c,l,d,o[f+1],4,-1530992060),d=g(d,u,c,l,o[f+4],11,1272893353),l=g(l,d,u,c,o[f+7],16,-155497632),c=g(c,l,d,u,o[f+10],23,-1094730640),u=g(u,c,l,d,o[f+13],4,681279174),d=g(d,u,c,l,o[f+0],11,-358537222),l=g(l,d,u,c,o[f+3],16,-722521979),c=g(c,l,d,u,o[f+6],23,76029189),u=g(u,c,l,d,o[f+9],4,-640364487),d=g(d,u,c,l,o[f+12],11,-421815835),l=g(l,d,u,c,o[f+15],16,530742520),u=v(u,c=g(c,l,d,u,o[f+2],23,-995338651),l,d,o[f+0],6,-198630844),d=v(d,u,c,l,o[f+7],10,1126891415),l=v(l,d,u,c,o[f+14],15,-1416354905),c=v(c,l,d,u,o[f+5],21,-57434055),u=v(u,c,l,d,o[f+12],6,1700485571),d=v(d,u,c,l,o[f+3],10,-1894986606),l=v(l,d,u,c,o[f+10],15,-1051523),c=v(c,l,d,u,o[f+1],21,-2054922799),u=v(u,c,l,d,o[f+8],6,1873313359),d=v(d,u,c,l,o[f+15],10,-30611744),l=v(l,d,u,c,o[f+6],15,-1560198380),c=v(c,l,d,u,o[f+13],21,1309151649),u=v(u,c,l,d,o[f+4],6,-145523070),d=v(d,u,c,l,o[f+11],10,-1120210379),l=v(l,d,u,c,o[f+2],15,718787259),c=v(c,l,d,u,o[f+9],21,-343485551),u=u+y>>>0,c=c+m>>>0,l=l+b>>>0,d=d+S>>>0}return e.endian([u,c,l,d])};i._ff=function(e,t,n,i,r,a,o){var s=e+(t&n|~t&i)+(r>>>0)+o;return(s<<a|s>>>32-a)+t},i._gg=function(e,t,n,i,r,a,o){var s=e+(t&i|n&~i)+(r>>>0)+o;return(s<<a|s>>>32-a)+t},i._hh=function(e,t,n,i,r,a,o){var s=e+(t^n^i)+(r>>>0)+o;return(s<<a|s>>>32-a)+t},i._ii=function(e,t,n,i,r,a,o){var s=e+(n^(t|~i))+(r>>>0)+o;return(s<<a|s>>>32-a)+t},i._blocksize=16,i._digestsize=16,Sn.exports=function(t,r){if(void 0!==t){var a=e.wordsToBytes(i(t,r));return r&&r.asBytes?a:r&&r.asString?n.bytesToString(a):e.bytesToHex(a)}}}()),Sn.exports),An=t(Pn),Cn={exports:{}},Dn={exports:{}},wn={exports:{}},Mn={exports:{}},Nn={exports:{}};function On(){return Vn||(Vn=1,function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var n,i=(In||(In=1,function(e,t){!function(e){var t={3:/^[0-9A-F]{8}-[0-9A-F]{4}-3[0-9A-F]{3}-[0-9A-F]{4}-[0-9A-F]{12}$/i,4:/^[0-9A-F]{8}-[0-9A-F]{4}-4[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i,5:/^[0-9A-F]{8}-[0-9A-F]{4}-5[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i,all:/^[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12}$/i};function n(){var e,t,n="";for(e=0;e<32;e++)t=16*Math.random()|0,8!==e&&12!==e&&16!==e&&20!==e||(n+="-"),n+=(12===e?4:16===e?3&t|8:t).toString(16);return n}function i(e,n){var i=t[n||"all"];return i&&i.test(e)||!1}n.isUUID=i,n.VERSION="0.1.0",e.uuid=n,e.isUUID=i}(t),null!==e&&(e.exports=t.uuid)}(Nn,Nn.exports)),Nn.exports),r=(n=i)&&n.__esModule?n:{default:n};t.default={createUUID:function(){return r.default.uuid?r.default.uuid():(0,r.default)()}},e.exports=t.default}(Mn,Mn.exports)),Mn.exports}function xn(){return En||(En=1,function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var n,i=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),r=(n=On())&&n.__esModule?n:{default:n},a=function(){function e(t){var n=t.setup,i=t.db;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this._db=i,this.instanceId="pn-"+r.default.createUUID(),this.secretKey=n.secretKey||n.secret_key,this.subscribeKey=n.subscribeKey||n.subscribe_key,this.publishKey=n.publishKey||n.publish_key,this.sdkName=n.sdkName,this.sdkFamily=n.sdkFamily,this.partnerId=n.partnerId,this.setAuthKey(n.authKey),this.setCipherKey(n.cipherKey),this.setFilterExpression(n.filterExpression),this.origin=n.origin||"pubsub.pndsn.com",this.secure=n.ssl||!1,this.restore=n.restore||!1,this.proxy=n.proxy,this.keepAlive=n.keepAlive,this.keepAliveSettings=n.keepAliveSettings,this.autoNetworkDetection=n.autoNetworkDetection||!1,this.dedupeOnSubscribe=n.dedupeOnSubscribe||!1,this.maximumCacheSize=n.maximumCacheSize||100,this.customEncrypt=n.customEncrypt,this.customDecrypt=n.customDecrypt,"undefined"!=typeof location&&"https:"===location.protocol&&(this.secure=!0),this.logVerbosity=n.logVerbosity||!1,this.suppressLeaveEvents=n.suppressLeaveEvents||!1,this.announceFailedHeartbeats=n.announceFailedHeartbeats||!0,this.announceSuccessfulHeartbeats=n.announceSuccessfulHeartbeats||!1,this.useInstanceId=n.useInstanceId||!1,this.useRequestId=n.useRequestId||!1,this.requestMessageCountThreshold=n.requestMessageCountThreshold,this.setTransactionTimeout(n.transactionalRequestTimeout||15e3),this.setSubscribeTimeout(n.subscribeRequestTimeout||31e4),this.setSendBeaconConfig(n.useSendBeacon||!0),this.setPresenceTimeout(n.presenceTimeout||300),null!=n.heartbeatInterval&&this.setHeartbeatInterval(n.heartbeatInterval),this.setUUID(this._decideUUID(n.uuid))}return i(e,[{key:"getAuthKey",value:function(){return this.authKey}},{key:"setAuthKey",value:function(e){return this.authKey=e,this}},{key:"setCipherKey",value:function(e){return this.cipherKey=e,this}},{key:"getUUID",value:function(){return this.UUID}},{key:"setUUID",value:function(e){return this._db&&this._db.set&&this._db.set(this.subscribeKey+"uuid",e),this.UUID=e,this}},{key:"getFilterExpression",value:function(){return this.filterExpression}},{key:"setFilterExpression",value:function(e){return this.filterExpression=e,this}},{key:"getPresenceTimeout",value:function(){return this._presenceTimeout}},{key:"setPresenceTimeout",value:function(e){return this._presenceTimeout=e,this.setHeartbeatInterval(this._presenceTimeout/2-1),this}},{key:"setProxy",value:function(e){this.proxy=e}},{key:"getHeartbeatInterval",value:function(){return this._heartbeatInterval}},{key:"setHeartbeatInterval",value:function(e){return this._heartbeatInterval=e,this}},{key:"getSubscribeTimeout",value:function(){return this._subscribeRequestTimeout}},{key:"setSubscribeTimeout",value:function(e){return this._subscribeRequestTimeout=e,this}},{key:"getTransactionTimeout",value:function(){return this._transactionalRequestTimeout}},{key:"setTransactionTimeout",value:function(e){return this._transactionalRequestTimeout=e,this}},{key:"isSendBeaconEnabled",value:function(){return this._useSendBeacon}},{key:"setSendBeaconConfig",value:function(e){return this._useSendBeacon=e,this}},{key:"getVersion",value:function(){return"4.20.3"}},{key:"_decideUUID",value:function(e){return e||(this._db&&this._db.get&&this._db.get(this.subscribeKey+"uuid")?this._db.get(this.subscribeKey+"uuid"):"pn-"+r.default.createUUID())}}]),e}();t.default=a,e.exports=t.default}(wn,wn.exports)),wn.exports}var zn,Ln,Rn,Kn={exports:{}};function Fn(){return Rn||(Rn=1,function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}();a(xn());var i=function(){if(Ln)return zn;Ln=1;var e,t,n,i,r,a=a||function(e){var t={},n=t.lib={},i=function(){},r=n.Base={extend:function(e){i.prototype=this;var t=new i;return e&&t.mixIn(e),t.hasOwnProperty("init")||(t.init=function(){t.$super.init.apply(this,arguments)}),t.init.prototype=t,t.$super=this,t},create:function(){var e=this.extend();return e.init.apply(e,arguments),e},init:function(){},mixIn:function(e){for(var t in e)e.hasOwnProperty(t)&&(this[t]=e[t]);e.hasOwnProperty("toString")&&(this.toString=e.toString)},clone:function(){return this.init.prototype.extend(this)}},a=n.WordArray=r.extend({init:function(e,t){e=this.words=e||[],this.sigBytes=null!=t?t:4*e.length},toString:function(e){return(e||s).stringify(this)},concat:function(e){var t=this.words,n=e.words,i=this.sigBytes;if(e=e.sigBytes,this.clamp(),i%4)for(var r=0;r<e;r++)t[i+r>>>2]|=(n[r>>>2]>>>24-r%4*8&255)<<24-(i+r)%4*8;else if(65535<n.length)for(r=0;r<e;r+=4)t[i+r>>>2]=n[r>>>2];else t.push.apply(t,n);return this.sigBytes+=e,this},clamp:function(){var t=this.words,n=this.sigBytes;t[n>>>2]&=4294967295<<32-n%4*8,t.length=e.ceil(n/4)},clone:function(){var e=r.clone.call(this);return e.words=this.words.slice(0),e},random:function(t){for(var n=[],i=0;i<t;i+=4)n.push(4294967296*e.random()|0);return new a.init(n,t)}}),o=t.enc={},s=o.Hex={stringify:function(e){var t=e.words;e=e.sigBytes;for(var n=[],i=0;i<e;i++){var r=t[i>>>2]>>>24-i%4*8&255;n.push((r>>>4).toString(16)),n.push((15&r).toString(16))}return n.join("")},parse:function(e){for(var t=e.length,n=[],i=0;i<t;i+=2)n[i>>>3]|=parseInt(e.substr(i,2),16)<<24-i%8*4;return new a.init(n,t/2)}},u=o.Latin1={stringify:function(e){var t=e.words;e=e.sigBytes;for(var n=[],i=0;i<e;i++)n.push(String.fromCharCode(t[i>>>2]>>>24-i%4*8&255));return n.join("")},parse:function(e){for(var t=e.length,n=[],i=0;i<t;i++)n[i>>>2]|=(255&e.charCodeAt(i))<<24-i%4*8;return new a.init(n,t)}},c=o.Utf8={stringify:function(e){try{return decodeURIComponent(escape(u.stringify(e)))}catch(e){throw Error("Malformed UTF-8 data")}},parse:function(e){return u.parse(unescape(encodeURIComponent(e)))}},l=n.BufferedBlockAlgorithm=r.extend({reset:function(){this._data=new a.init,this._nDataBytes=0},_append:function(e){"string"==typeof e&&(e=c.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(t){var n=this._data,i=n.words,r=n.sigBytes,o=this.blockSize,s=r/(4*o);if(t=(s=t?e.ceil(s):e.max((0|s)-this._minBufferSize,0))*o,r=e.min(4*t,r),t){for(var u=0;u<t;u+=o)this._doProcessBlock(i,u);u=i.splice(0,t),n.sigBytes-=r}return new a.init(u,r)},clone:function(){var e=r.clone.call(this);return e._data=this._data.clone(),e},_minBufferSize:0});n.Hasher=l.extend({cfg:r.extend(),init:function(e){this.cfg=this.cfg.extend(e),this.reset()},reset:function(){l.reset.call(this),this._doReset()},update:function(e){return this._append(e),this._process(),this},finalize:function(e){return e&&this._append(e),this._doFinalize()},blockSize:16,_createHelper:function(e){return function(t,n){return new e.init(n).finalize(t)}},_createHmacHelper:function(e){return function(t,n){return new d.HMAC.init(e,n).finalize(t)}}});var d=t.algo={};return t}(Math);return function(e){for(var t=a,n=(r=t.lib).WordArray,i=r.Hasher,r=t.algo,o=[],s=[],u=function(e){return 4294967296*(e-(0|e))|0},c=2,l=0;64>l;){var d;e:{d=c;for(var f=e.sqrt(d),h=2;h<=f;h++)if(!(d%h)){d=!1;break e}d=!0}d&&(8>l&&(o[l]=u(e.pow(c,.5))),s[l]=u(e.pow(c,1/3)),l++),c++}var p=[];r=r.SHA256=i.extend({_doReset:function(){this._hash=new n.init(o.slice(0))},_doProcessBlock:function(e,t){for(var n=this._hash.words,i=n[0],r=n[1],a=n[2],o=n[3],u=n[4],c=n[5],l=n[6],d=n[7],f=0;64>f;f++){if(16>f)p[f]=0|e[t+f];else{var h=p[f-15],g=p[f-2];p[f]=((h<<25|h>>>7)^(h<<14|h>>>18)^h>>>3)+p[f-7]+((g<<15|g>>>17)^(g<<13|g>>>19)^g>>>10)+p[f-16]}h=d+((u<<26|u>>>6)^(u<<21|u>>>11)^(u<<7|u>>>25))+(u&c^~u&l)+s[f]+p[f],g=((i<<30|i>>>2)^(i<<19|i>>>13)^(i<<10|i>>>22))+(i&r^i&a^r&a),d=l,l=c,c=u,u=o+h|0,o=a,a=r,r=i,i=h+g|0}n[0]=n[0]+i|0,n[1]=n[1]+r|0,n[2]=n[2]+a|0,n[3]=n[3]+o|0,n[4]=n[4]+u|0,n[5]=n[5]+c|0,n[6]=n[6]+l|0,n[7]=n[7]+d|0},_doFinalize:function(){var t=this._data,n=t.words,i=8*this._nDataBytes,r=8*t.sigBytes;return n[r>>>5]|=128<<24-r%32,n[14+(r+64>>>9<<4)]=e.floor(i/4294967296),n[15+(r+64>>>9<<4)]=i,t.sigBytes=4*n.length,this._process(),this._hash},clone:function(){var e=i.clone.call(this);return e._hash=this._hash.clone(),e}}),t.SHA256=i._createHelper(r),t.HmacSHA256=i._createHmacHelper(r)}(Math),t=(e=a).enc.Utf8,e.algo.HMAC=e.lib.Base.extend({init:function(e,n){e=this._hasher=new e.init,"string"==typeof n&&(n=t.parse(n));var i=e.blockSize,r=4*i;n.sigBytes>r&&(n=e.finalize(n)),n.clamp();for(var a=this._oKey=n.clone(),o=this._iKey=n.clone(),s=a.words,u=o.words,c=0;c<i;c++)s[c]^=1549556828,u[c]^=909522486;a.sigBytes=o.sigBytes=r,this.reset()},reset:function(){var e=this._hasher;e.reset(),e.update(this._iKey)},update:function(e){return this._hasher.update(e),this},finalize:function(e){var t=this._hasher;return e=t.finalize(e),t.reset(),t.finalize(this._oKey.clone().concat(e))}}),i=(n=a).lib.WordArray,n.enc.Base64={stringify:function(e){var t=e.words,n=e.sigBytes,i=this._map;e.clamp(),e=[];for(var r=0;r<n;r+=3)for(var a=(t[r>>>2]>>>24-r%4*8&255)<<16|(t[r+1>>>2]>>>24-(r+1)%4*8&255)<<8|t[r+2>>>2]>>>24-(r+2)%4*8&255,o=0;4>o&&r+.75*o<n;o++)e.push(i.charAt(a>>>6*(3-o)&63));if(t=i.charAt(64))for(;e.length%4;)e.push(t);return e.join("")},parse:function(e){var t=e.length,n=this._map;(r=n.charAt(64))&&-1!=(r=e.indexOf(r))&&(t=r);for(var r=[],a=0,o=0;o<t;o++)if(o%4){var s=n.indexOf(e.charAt(o-1))<<o%4*2,u=n.indexOf(e.charAt(o))>>>6-o%4*2;r[a>>>2]|=(s|u)<<24-a%4*8,a++}return i.create(r,a)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="},function(e){function t(e,t,n,i,r,a,o){return((e=e+(t&n|~t&i)+r+o)<<a|e>>>32-a)+t}function n(e,t,n,i,r,a,o){return((e=e+(t&i|n&~i)+r+o)<<a|e>>>32-a)+t}function i(e,t,n,i,r,a,o){return((e=e+(t^n^i)+r+o)<<a|e>>>32-a)+t}function r(e,t,n,i,r,a,o){return((e=e+(n^(t|~i))+r+o)<<a|e>>>32-a)+t}for(var o=a,s=(c=o.lib).WordArray,u=c.Hasher,c=o.algo,l=[],d=0;64>d;d++)l[d]=4294967296*e.abs(e.sin(d+1))|0;c=c.MD5=u.extend({_doReset:function(){this._hash=new s.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(e,a){for(var o=0;16>o;o++){var s=e[u=a+o];e[u]=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8)}o=this._hash.words;var u=e[a+0],c=(s=e[a+1],e[a+2]),d=e[a+3],f=e[a+4],h=e[a+5],p=e[a+6],g=e[a+7],v=e[a+8],y=e[a+9],m=e[a+10],b=e[a+11],S=e[a+12],_=e[a+13],k=e[a+14],T=e[a+15],I=t(I=o[0],P=o[1],E=o[2],V=o[3],u,7,l[0]),V=t(V,I,P,E,s,12,l[1]),E=t(E,V,I,P,c,17,l[2]),P=t(P,E,V,I,d,22,l[3]);I=t(I,P,E,V,f,7,l[4]),V=t(V,I,P,E,h,12,l[5]),E=t(E,V,I,P,p,17,l[6]),P=t(P,E,V,I,g,22,l[7]),I=t(I,P,E,V,v,7,l[8]),V=t(V,I,P,E,y,12,l[9]),E=t(E,V,I,P,m,17,l[10]),P=t(P,E,V,I,b,22,l[11]),I=t(I,P,E,V,S,7,l[12]),V=t(V,I,P,E,_,12,l[13]),E=t(E,V,I,P,k,17,l[14]),I=n(I,P=t(P,E,V,I,T,22,l[15]),E,V,s,5,l[16]),V=n(V,I,P,E,p,9,l[17]),E=n(E,V,I,P,b,14,l[18]),P=n(P,E,V,I,u,20,l[19]),I=n(I,P,E,V,h,5,l[20]),V=n(V,I,P,E,m,9,l[21]),E=n(E,V,I,P,T,14,l[22]),P=n(P,E,V,I,f,20,l[23]),I=n(I,P,E,V,y,5,l[24]),V=n(V,I,P,E,k,9,l[25]),E=n(E,V,I,P,d,14,l[26]),P=n(P,E,V,I,v,20,l[27]),I=n(I,P,E,V,_,5,l[28]),V=n(V,I,P,E,c,9,l[29]),E=n(E,V,I,P,g,14,l[30]),I=i(I,P=n(P,E,V,I,S,20,l[31]),E,V,h,4,l[32]),V=i(V,I,P,E,v,11,l[33]),E=i(E,V,I,P,b,16,l[34]),P=i(P,E,V,I,k,23,l[35]),I=i(I,P,E,V,s,4,l[36]),V=i(V,I,P,E,f,11,l[37]),E=i(E,V,I,P,g,16,l[38]),P=i(P,E,V,I,m,23,l[39]),I=i(I,P,E,V,_,4,l[40]),V=i(V,I,P,E,u,11,l[41]),E=i(E,V,I,P,d,16,l[42]),P=i(P,E,V,I,p,23,l[43]),I=i(I,P,E,V,y,4,l[44]),V=i(V,I,P,E,S,11,l[45]),E=i(E,V,I,P,T,16,l[46]),I=r(I,P=i(P,E,V,I,c,23,l[47]),E,V,u,6,l[48]),V=r(V,I,P,E,g,10,l[49]),E=r(E,V,I,P,k,15,l[50]),P=r(P,E,V,I,h,21,l[51]),I=r(I,P,E,V,S,6,l[52]),V=r(V,I,P,E,d,10,l[53]),E=r(E,V,I,P,m,15,l[54]),P=r(P,E,V,I,s,21,l[55]),I=r(I,P,E,V,v,6,l[56]),V=r(V,I,P,E,T,10,l[57]),E=r(E,V,I,P,p,15,l[58]),P=r(P,E,V,I,_,21,l[59]),I=r(I,P,E,V,f,6,l[60]),V=r(V,I,P,E,b,10,l[61]),E=r(E,V,I,P,c,15,l[62]),P=r(P,E,V,I,y,21,l[63]),o[0]=o[0]+I|0,o[1]=o[1]+P|0,o[2]=o[2]+E|0,o[3]=o[3]+V|0},_doFinalize:function(){var t=this._data,n=t.words,i=8*this._nDataBytes,r=8*t.sigBytes;n[r>>>5]|=128<<24-r%32;var a=e.floor(i/4294967296);for(n[15+(r+64>>>9<<4)]=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),n[14+(r+64>>>9<<4)]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8),t.sigBytes=4*(n.length+1),this._process(),n=(t=this._hash).words,i=0;4>i;i++)r=n[i],n[i]=16711935&(r<<8|r>>>24)|4278255360&(r<<24|r>>>8);return t},clone:function(){var e=u.clone.call(this);return e._hash=this._hash.clone(),e}}),o.MD5=u._createHelper(c),o.HmacMD5=u._createHmacHelper(c)}(Math),function(){var e,t=a,n=(e=t.lib).Base,i=e.WordArray,r=(e=t.algo).EvpKDF=n.extend({cfg:n.extend({keySize:4,hasher:e.MD5,iterations:1}),init:function(e){this.cfg=this.cfg.extend(e)},compute:function(e,t){for(var n=(s=this.cfg).hasher.create(),r=i.create(),a=r.words,o=s.keySize,s=s.iterations;a.length<o;){u&&n.update(u);var u=n.update(e).finalize(t);n.reset();for(var c=1;c<s;c++)u=n.finalize(u),n.reset();r.concat(u)}return r.sigBytes=4*o,r}});t.EvpKDF=function(e,t,n){return r.create(n).compute(e,t)}}(),a.lib.Cipher||function(){var e=(h=a).lib,t=e.Base,n=e.WordArray,i=e.BufferedBlockAlgorithm,r=h.enc.Base64,o=h.algo.EvpKDF,s=e.Cipher=i.extend({cfg:t.extend(),createEncryptor:function(e,t){return this.create(this._ENC_XFORM_MODE,e,t)},createDecryptor:function(e,t){return this.create(this._DEC_XFORM_MODE,e,t)},init:function(e,t,n){this.cfg=this.cfg.extend(n),this._xformMode=e,this._key=t,this.reset()},reset:function(){i.reset.call(this),this._doReset()},process:function(e){return this._append(e),this._process()},finalize:function(e){return e&&this._append(e),this._doFinalize()},keySize:4,ivSize:4,_ENC_XFORM_MODE:1,_DEC_XFORM_MODE:2,_createHelper:function(e){return{encrypt:function(t,n,i){return("string"==typeof n?p:f).encrypt(e,t,n,i)},decrypt:function(t,n,i){return("string"==typeof n?p:f).decrypt(e,t,n,i)}}}});e.StreamCipher=s.extend({_doFinalize:function(){return this._process(!0)},blockSize:1});var u=h.mode={},c=function(e,t,n){var i=this._iv;i?this._iv=void 0:i=this._prevBlock;for(var r=0;r<n;r++)e[t+r]^=i[r]},l=(e.BlockCipherMode=t.extend({createEncryptor:function(e,t){return this.Encryptor.create(e,t)},createDecryptor:function(e,t){return this.Decryptor.create(e,t)},init:function(e,t){this._cipher=e,this._iv=t}})).extend();l.Encryptor=l.extend({processBlock:function(e,t){var n=this._cipher,i=n.blockSize;c.call(this,e,t,i),n.encryptBlock(e,t),this._prevBlock=e.slice(t,t+i)}}),l.Decryptor=l.extend({processBlock:function(e,t){var n=this._cipher,i=n.blockSize,r=e.slice(t,t+i);n.decryptBlock(e,t),c.call(this,e,t,i),this._prevBlock=r}}),u=u.CBC=l,l=(h.pad={}).Pkcs7={pad:function(e,t){for(var i,r=(i=(i=4*t)-e.sigBytes%i)<<24|i<<16|i<<8|i,a=[],o=0;o<i;o+=4)a.push(r);i=n.create(a,i),e.concat(i)},unpad:function(e){e.sigBytes-=255&e.words[e.sigBytes-1>>>2]}},e.BlockCipher=s.extend({cfg:s.cfg.extend({mode:u,padding:l}),reset:function(){s.reset.call(this);var e=(t=this.cfg).iv,t=t.mode;if(this._xformMode==this._ENC_XFORM_MODE)var n=t.createEncryptor;else n=t.createDecryptor,this._minBufferSize=1;this._mode=n.call(t,this,e&&e.words)},_doProcessBlock:function(e,t){this._mode.processBlock(e,t)},_doFinalize:function(){var e=this.cfg.padding;if(this._xformMode==this._ENC_XFORM_MODE){e.pad(this._data,this.blockSize);var t=this._process(!0)}else t=this._process(!0),e.unpad(t);return t},blockSize:4});var d=e.CipherParams=t.extend({init:function(e){this.mixIn(e)},toString:function(e){return(e||this.formatter).stringify(this)}}),f=(u=(h.format={}).OpenSSL={stringify:function(e){var t=e.ciphertext;return((e=e.salt)?n.create([1398893684,1701076831]).concat(e).concat(t):t).toString(r)},parse:function(e){var t=(e=r.parse(e)).words;if(1398893684==t[0]&&1701076831==t[1]){var i=n.create(t.slice(2,4));t.splice(0,4),e.sigBytes-=16}return d.create({ciphertext:e,salt:i})}},e.SerializableCipher=t.extend({cfg:t.extend({format:u}),encrypt:function(e,t,n,i){i=this.cfg.extend(i);var r=e.createEncryptor(n,i);return t=r.finalize(t),r=r.cfg,d.create({ciphertext:t,key:n,iv:r.iv,algorithm:e,mode:r.mode,padding:r.padding,blockSize:e.blockSize,formatter:i.format})},decrypt:function(e,t,n,i){return i=this.cfg.extend(i),t=this._parse(t,i.format),e.createDecryptor(n,i).finalize(t.ciphertext)},_parse:function(e,t){return"string"==typeof e?t.parse(e,this):e}})),h=(h.kdf={}).OpenSSL={execute:function(e,t,i,r){return r||(r=n.random(8)),e=o.create({keySize:t+i}).compute(e,r),i=n.create(e.words.slice(t),4*i),e.sigBytes=4*t,d.create({key:e,iv:i,salt:r})}},p=e.PasswordBasedCipher=f.extend({cfg:f.cfg.extend({kdf:h}),encrypt:function(e,t,n,i){return n=(i=this.cfg.extend(i)).kdf.execute(n,e.keySize,e.ivSize),i.iv=n.iv,(e=f.encrypt.call(this,e,t,n.key,i)).mixIn(n),e},decrypt:function(e,t,n,i){return i=this.cfg.extend(i),t=this._parse(t,i.format),n=i.kdf.execute(n,e.keySize,e.ivSize,t.salt),i.iv=n.iv,f.decrypt.call(this,e,t,n.key,i)}})}(),function(){for(var e=a,t=e.lib.BlockCipher,n=e.algo,i=[],r=[],o=[],s=[],u=[],c=[],l=[],d=[],f=[],h=[],p=[],g=0;256>g;g++)p[g]=128>g?g<<1:g<<1^283;var v=0,y=0;for(g=0;256>g;g++){var m=(m=y^y<<1^y<<2^y<<3^y<<4)>>>8^255&m^99;i[v]=m,r[m]=v;var b=p[v],S=p[b],_=p[S],k=257*p[m]^16843008*m;o[v]=k<<24|k>>>8,s[v]=k<<16|k>>>16,u[v]=k<<8|k>>>24,c[v]=k,k=16843009*_^65537*S^257*b^16843008*v,l[m]=k<<24|k>>>8,d[m]=k<<16|k>>>16,f[m]=k<<8|k>>>24,h[m]=k,v?(v=b^p[p[p[_^b]]],y^=p[p[y]]):v=y=1}var T=[0,1,2,4,8,16,32,64,128,27,54];n=n.AES=t.extend({_doReset:function(){for(var e=(n=this._key).words,t=n.sigBytes/4,n=4*((this._nRounds=t+6)+1),r=this._keySchedule=[],a=0;a<n;a++)if(a<t)r[a]=e[a];else{var o=r[a-1];a%t?6<t&&4==a%t&&(o=i[o>>>24]<<24|i[o>>>16&255]<<16|i[o>>>8&255]<<8|i[255&o]):(o=i[(o=o<<8|o>>>24)>>>24]<<24|i[o>>>16&255]<<16|i[o>>>8&255]<<8|i[255&o],o^=T[a/t|0]<<24),r[a]=r[a-t]^o}for(e=this._invKeySchedule=[],t=0;t<n;t++)a=n-t,o=t%4?r[a]:r[a-4],e[t]=4>t||4>=a?o:l[i[o>>>24]]^d[i[o>>>16&255]]^f[i[o>>>8&255]]^h[i[255&o]]},encryptBlock:function(e,t){this._doCryptBlock(e,t,this._keySchedule,o,s,u,c,i)},decryptBlock:function(e,t){var n=e[t+1];e[t+1]=e[t+3],e[t+3]=n,this._doCryptBlock(e,t,this._invKeySchedule,l,d,f,h,r),n=e[t+1],e[t+1]=e[t+3],e[t+3]=n},_doCryptBlock:function(e,t,n,i,r,a,o,s){for(var u=this._nRounds,c=e[t]^n[0],l=e[t+1]^n[1],d=e[t+2]^n[2],f=e[t+3]^n[3],h=4,p=1;p<u;p++){var g=i[c>>>24]^r[l>>>16&255]^a[d>>>8&255]^o[255&f]^n[h++],v=i[l>>>24]^r[d>>>16&255]^a[f>>>8&255]^o[255&c]^n[h++],y=i[d>>>24]^r[f>>>16&255]^a[c>>>8&255]^o[255&l]^n[h++];f=i[f>>>24]^r[c>>>16&255]^a[l>>>8&255]^o[255&d]^n[h++],c=g,l=v,d=y}g=(s[c>>>24]<<24|s[l>>>16&255]<<16|s[d>>>8&255]<<8|s[255&f])^n[h++],v=(s[l>>>24]<<24|s[d>>>16&255]<<16|s[f>>>8&255]<<8|s[255&c])^n[h++],y=(s[d>>>24]<<24|s[f>>>16&255]<<16|s[c>>>8&255]<<8|s[255&l])^n[h++],f=(s[f>>>24]<<24|s[c>>>16&255]<<16|s[l>>>8&255]<<8|s[255&d])^n[h++],e[t]=g,e[t+1]=v,e[t+2]=y,e[t+3]=f},keySize:8}),e.AES=t._createHelper(n)}(),a.mode.ECB=((r=a.lib.BlockCipherMode.extend()).Encryptor=r.extend({processBlock:function(e,t){this._cipher.encryptBlock(e,t)}}),r.Decryptor=r.extend({processBlock:function(e,t){this._cipher.decryptBlock(e,t)}}),r),zn=a}(),r=a(i);function a(e){return e&&e.__esModule?e:{default:e}}var o=function(){function e(t){var n=t.config;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this._config=n,this._iv="0123456789012345",this._allowedKeyEncodings=["hex","utf8","base64","binary"],this._allowedKeyLengths=[128,256],this._allowedModes=["ecb","cbc"],this._defaultOptions={encryptKey:!0,keyEncoding:"utf8",keyLength:256,mode:"cbc"}}return n(e,[{key:"HMACSHA256",value:function(e){return r.default.HmacSHA256(e,this._config.secretKey).toString(r.default.enc.Base64)}},{key:"SHA256",value:function(e){return r.default.SHA256(e).toString(r.default.enc.Hex)}},{key:"_parseOptions",value:function(e){var t=e||{};return t.hasOwnProperty("encryptKey")||(t.encryptKey=this._defaultOptions.encryptKey),t.hasOwnProperty("keyEncoding")||(t.keyEncoding=this._defaultOptions.keyEncoding),t.hasOwnProperty("keyLength")||(t.keyLength=this._defaultOptions.keyLength),t.hasOwnProperty("mode")||(t.mode=this._defaultOptions.mode),-1===this._allowedKeyEncodings.indexOf(t.keyEncoding.toLowerCase())&&(t.keyEncoding=this._defaultOptions.keyEncoding),-1===this._allowedKeyLengths.indexOf(parseInt(t.keyLength,10))&&(t.keyLength=this._defaultOptions.keyLength),-1===this._allowedModes.indexOf(t.mode.toLowerCase())&&(t.mode=this._defaultOptions.mode),t}},{key:"_decodeKey",value:function(e,t){return"base64"===t.keyEncoding?r.default.enc.Base64.parse(e):"hex"===t.keyEncoding?r.default.enc.Hex.parse(e):e}},{key:"_getPaddedKey",value:function(e,t){return e=this._decodeKey(e,t),t.encryptKey?r.default.enc.Utf8.parse(this.SHA256(e).slice(0,32)):e}},{key:"_getMode",value:function(e){return"ecb"===e.mode?r.default.mode.ECB:r.default.mode.CBC}},{key:"_getIV",value:function(e){return"cbc"===e.mode?r.default.enc.Utf8.parse(this._iv):null}},{key:"encrypt",value:function(e,t,n){return this._config.customEncrypt?this._config.customEncrypt(e):this.pnEncrypt(e,t,n)}},{key:"decrypt",value:function(e,t,n){return this._config.customDecrypt?this._config.customDecrypt(e):this.pnDecrypt(e,t,n)}},{key:"pnEncrypt",value:function(e,t,n){if(!t&&!this._config.cipherKey)return e;n=this._parseOptions(n);var i=this._getIV(n),a=this._getMode(n),o=this._getPaddedKey(t||this._config.cipherKey,n);return r.default.AES.encrypt(e,o,{iv:i,mode:a}).ciphertext.toString(r.default.enc.Base64)||e}},{key:"pnDecrypt",value:function(e,t,n){if(!t&&!this._config.cipherKey)return e;n=this._parseOptions(n);var i=this._getIV(n),a=this._getMode(n),o=this._getPaddedKey(t||this._config.cipherKey,n);try{var s=r.default.enc.Base64.parse(e),u=r.default.AES.decrypt({ciphertext:s},o,{iv:i,mode:a}).toString(r.default.enc.Utf8);return JSON.parse(u)}catch(e){return null}}}]),e}();t.default=o,e.exports=t.default}(Kn,Kn.exports)),Kn.exports}var Un,Bn,Hn={exports:{}},Gn={exports:{}},Wn={exports:{}};function qn(){return Un||(Un=1,function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default={PNNetworkUpCategory:"PNNetworkUpCategory",PNNetworkDownCategory:"PNNetworkDownCategory",PNNetworkIssuesCategory:"PNNetworkIssuesCategory",PNTimeoutCategory:"PNTimeoutCategory",PNBadRequestCategory:"PNBadRequestCategory",PNAccessDeniedCategory:"PNAccessDeniedCategory",PNUnknownCategory:"PNUnknownCategory",PNReconnectedCategory:"PNReconnectedCategory",PNConnectedCategory:"PNConnectedCategory",PNRequestMessageCountExceededCategory:"PNRequestMessageCountExceededCategory"},e.exports=t.default}(Wn,Wn.exports)),Wn.exports}function jn(){return Bn||(Bn=1,function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var n,i=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),r=(n=qn())&&n.__esModule?n:{default:n},a=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this._listeners=[]}return i(e,[{key:"addListener",value:function(e){this._listeners.push(e)}},{key:"removeListener",value:function(e){var t=[];this._listeners.forEach(function(n){n!==e&&t.push(n)}),this._listeners=t}},{key:"removeAllListeners",value:function(){this._listeners=[]}},{key:"announcePresence",value:function(e){this._listeners.forEach(function(t){t.presence&&t.presence(e)})}},{key:"announceStatus",value:function(e){this._listeners.forEach(function(t){t.status&&t.status(e)})}},{key:"announceMessage",value:function(e){this._listeners.forEach(function(t){t.message&&t.message(e)})}},{key:"announceNetworkUp",value:function(){var e={};e.category=r.default.PNNetworkUpCategory,this.announceStatus(e)}},{key:"announceNetworkDown",value:function(){var e={};e.category=r.default.PNNetworkDownCategory,this.announceStatus(e)}}]),e}();t.default=a,e.exports=t.default}(Gn,Gn.exports)),Gn.exports}var Yn,Qn,Jn,Zn={exports:{}},Xn={},$n={exports:{}};function ei(){return Yn||(Yn=1,function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default={PNTimeOperation:"PNTimeOperation",PNHistoryOperation:"PNHistoryOperation",PNDeleteMessagesOperation:"PNDeleteMessagesOperation",PNFetchMessagesOperation:"PNFetchMessagesOperation",PNSubscribeOperation:"PNSubscribeOperation",PNUnsubscribeOperation:"PNUnsubscribeOperation",PNPublishOperation:"PNPublishOperation",PNPushNotificationEnabledChannelsOperation:"PNPushNotificationEnabledChannelsOperation",PNRemoveAllPushNotificationsOperation:"PNRemoveAllPushNotificationsOperation",PNWhereNowOperation:"PNWhereNowOperation",PNSetStateOperation:"PNSetStateOperation",PNHereNowOperation:"PNHereNowOperation",PNGetStateOperation:"PNGetStateOperation",PNHeartbeatOperation:"PNHeartbeatOperation",PNChannelGroupsOperation:"PNChannelGroupsOperation",PNRemoveGroupOperation:"PNRemoveGroupOperation",PNChannelsForGroupOperation:"PNChannelsForGroupOperation",PNAddChannelsToGroupOperation:"PNAddChannelsToGroupOperation",PNRemoveChannelsFromGroupOperation:"PNRemoveChannelsFromGroupOperation",PNAccessManagerGrant:"PNAccessManagerGrant",PNAccessManagerAudit:"PNAccessManagerAudit"},e.exports=t.default}($n,$n.exports)),$n.exports}function ti(){if(Qn)return Xn;Qn=1,Object.defineProperty(Xn,"__esModule",{value:!0}),Xn.getOperation=function(){return t.default.PNTimeOperation},Xn.getURL=function(){return"/time/0"},Xn.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},Xn.prepareParams=function(){return{}},Xn.isAuthSupported=function(){return!1},Xn.handleResponse=function(e,t){return{timetoken:t[0]}},Xn.validateParams=function(){};var e,t=(e=ei())&&e.__esModule?e:{default:e};return Xn}var ni,ii,ri,ai,oi={exports:{}};function si(){if(ri)return ii;function e(e){return encodeURIComponent(e).replace(/[!~*'()]/g,function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()})}return ri=1,ii={signPamFromParams:function(t){return(n=t,function(e){var t=[];return Object.keys(e).forEach(function(e){return t.push(e)}),t}(n).sort()).map(function(n){return n+"="+e(t[n])}).join("&");var n},endsWith:function(e,t){return-1!==e.indexOf(t,this.length-t.length)},createPromise:function(){var e=void 0,t=void 0;return{promise:new Promise(function(n,i){e=n,t=i}),reject:t,fulfill:e}},encodeString:e}}function ui(){return ai||(ai=1,function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}();s(Fn()),s(xn()),s(jn());var i=s((Jn||(Jn=1,function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var n,i=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}();!(n=ti())||n.__esModule;var r=function(){function e(t){var n=t.timeEndpoint;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this._timeEndpoint=n}return i(e,[{key:"onReconnection",value:function(e){this._reconnectionCallback=e}},{key:"startPolling",value:function(){this._timeTimer=setInterval(this._performTimeLoop.bind(this),3e3)}},{key:"stopPolling",value:function(){clearInterval(this._timeTimer)}},{key:"_performTimeLoop",value:function(){var e=this;this._timeEndpoint(function(t){t.error||(clearInterval(e._timeTimer),e._reconnectionCallback())})}}]),e}();t.default=r,e.exports=t.default}(Zn,Zn.exports)),Zn.exports)),r=s((ni||(ni=1,function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var n,i=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}();!(n=xn())||n.__esModule;var r=function(){function e(t){var n=t.config;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.hashHistory=[],this._config=n}return i(e,[{key:"getKey",value:function(e){var t=function(e){var t=0;if(0===e.length)return t;for(var n=0;n<e.length;n+=1)t=(t<<5)-t+e.charCodeAt(n),t&=t;return t}(JSON.stringify(e.payload)).toString();return e.publishMetaData.publishTimetoken+"-"+t}},{key:"isDuplicate",value:function(e){return this.hashHistory.includes(this.getKey(e))}},{key:"addEntry",value:function(e){this.hashHistory.length>=this._config.maximumCacheSize&&this.hashHistory.shift(),this.hashHistory.push(this.getKey(e))}},{key:"clearHistory",value:function(){this.hashHistory=[]}}]),e}();t.default=r,e.exports=t.default}(oi,oi.exports)),oi.exports)),a=s(si()),o=s(qn());function s(e){return e&&e.__esModule?e:{default:e}}var u=function(){function e(t){var n=t.subscribeEndpoint,a=t.leaveEndpoint,o=t.heartbeatEndpoint,s=t.setStateEndpoint,u=t.timeEndpoint,c=t.config,l=t.crypto,d=t.listenerManager;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this._listenerManager=d,this._config=c,this._leaveEndpoint=a,this._heartbeatEndpoint=o,this._setStateEndpoint=s,this._subscribeEndpoint=n,this._crypto=l,this._channels={},this._presenceChannels={},this._heartbeatChannels={},this._heartbeatChannelGroups={},this._channelGroups={},this._presenceChannelGroups={},this._pendingChannelSubscriptions=[],this._pendingChannelGroupSubscriptions=[],this._currentTimetoken=0,this._lastTimetoken=0,this._storedTimetoken=null,this._subscriptionStatusAnnounced=!1,this._isOnline=!0,this._reconnectionManager=new i.default({timeEndpoint:u}),this._dedupingManager=new r.default({config:c})}return n(e,[{key:"adaptStateChange",value:function(e,t){var n=this,i=e.state,r=e.channels,a=void 0===r?[]:r,o=e.channelGroups,s=void 0===o?[]:o;return a.forEach(function(e){e in n._channels&&(n._channels[e].state=i)}),s.forEach(function(e){e in n._channelGroups&&(n._channelGroups[e].state=i)}),this._setStateEndpoint({state:i,channels:a,channelGroups:s},t)}},{key:"adaptPresenceChange",value:function(e){var t=this,n=e.connected,i=e.channels,r=void 0===i?[]:i,a=e.channelGroups,o=void 0===a?[]:a;n?(r.forEach(function(e){t._heartbeatChannels[e]={state:{}}}),o.forEach(function(e){t._heartbeatChannelGroups[e]={state:{}}})):(r.forEach(function(e){e in t._heartbeatChannels&&delete t._heartbeatChannels[e]}),o.forEach(function(e){e in t._heartbeatChannelGroups&&delete t._heartbeatChannelGroups[e]}),!1===this._config.suppressLeaveEvents&&this._leaveEndpoint({channels:r,channelGroups:o},function(e){t._listenerManager.announceStatus(e)})),this.reconnect()}},{key:"adaptSubscribeChange",value:function(e){var t=this,n=e.timetoken,i=e.channels,r=void 0===i?[]:i,a=e.channelGroups,o=void 0===a?[]:a,s=e.withPresence,u=void 0!==s&&s;this._config.subscribeKey&&""!==this._config.subscribeKey?(n&&(this._lastTimetoken=this._currentTimetoken,this._currentTimetoken=n),"0"!==this._currentTimetoken&&0!==this._currentTimetoken&&(this._storedTimetoken=this._currentTimetoken,this._currentTimetoken=0),r.forEach(function(e){t._channels[e]={state:{}},u&&(t._presenceChannels[e]={}),t._pendingChannelSubscriptions.push(e)}),o.forEach(function(e){t._channelGroups[e]={state:{}},u&&(t._presenceChannelGroups[e]={}),t._pendingChannelGroupSubscriptions.push(e)}),this._subscriptionStatusAnnounced=!1,this.reconnect()):console&&console.log}},{key:"adaptUnsubscribeChange",value:function(e,t){var n=this,i=e.channels,r=void 0===i?[]:i,a=e.channelGroups,o=void 0===a?[]:a,s=[],u=[];r.forEach(function(e){e in n._channels&&(delete n._channels[e],s.push(e)),e in n._presenceChannels&&(delete n._presenceChannels[e],s.push(e))}),o.forEach(function(e){e in n._channelGroups&&(delete n._channelGroups[e],u.push(e)),e in n._presenceChannelGroups&&(delete n._channelGroups[e],u.push(e))}),0===s.length&&0===u.length||(!1!==this._config.suppressLeaveEvents||t||this._leaveEndpoint({channels:s,channelGroups:u},function(e){e.affectedChannels=s,e.affectedChannelGroups=u,e.currentTimetoken=n._currentTimetoken,e.lastTimetoken=n._lastTimetoken,n._listenerManager.announceStatus(e)}),0===Object.keys(this._channels).length&&0===Object.keys(this._presenceChannels).length&&0===Object.keys(this._channelGroups).length&&0===Object.keys(this._presenceChannelGroups).length&&(this._lastTimetoken=0,this._currentTimetoken=0,this._storedTimetoken=null,this._region=null,this._reconnectionManager.stopPolling()),this.reconnect())}},{key:"unsubscribeAll",value:function(e){this.adaptUnsubscribeChange({channels:this.getSubscribedChannels(),channelGroups:this.getSubscribedChannelGroups()},e)}},{key:"getHeartbeatChannels",value:function(){return Object.keys(this._heartbeatChannels)}},{key:"getHeartbeatChannelGroups",value:function(){return Object.keys(this._heartbeatChannelGroups)}},{key:"getSubscribedChannels",value:function(){return Object.keys(this._channels)}},{key:"getSubscribedChannelGroups",value:function(){return Object.keys(this._channelGroups)}},{key:"reconnect",value:function(){this._startSubscribeLoop(),this._registerHeartbeatTimer()}},{key:"disconnect",value:function(){this._stopSubscribeLoop(),this._stopHeartbeatTimer(),this._reconnectionManager.stopPolling()}},{key:"_registerHeartbeatTimer",value:function(){this._stopHeartbeatTimer(),0!==this._config.getHeartbeatInterval()&&(this._performHeartbeatLoop(),this._heartbeatTimer=setInterval(this._performHeartbeatLoop.bind(this),1e3*this._config.getHeartbeatInterval()))}},{key:"_stopHeartbeatTimer",value:function(){this._heartbeatTimer&&(clearInterval(this._heartbeatTimer),this._heartbeatTimer=null)}},{key:"_performHeartbeatLoop",value:function(){var e=this,t=[];t=(t=t.concat(this.getHeartbeatChannels())).concat(this.getSubscribedChannels());var n=[];n=(n=n.concat(this.getHeartbeatChannelGroups())).concat(this.getSubscribedChannelGroups());var i={};0===t.length&&0===n.length||(this.getSubscribedChannels().forEach(function(t){var n=e._channels[t].state;Object.keys(n).length&&(i[t]=n)}),this.getSubscribedChannelGroups().forEach(function(t){var n=e._channelGroups[t].state;Object.keys(n).length&&(i[t]=n)}),this._heartbeatEndpoint({channels:t,channelGroups:n,state:i},function(t){t.error&&e._config.announceFailedHeartbeats&&e._listenerManager.announceStatus(t),t.error&&e._config.autoNetworkDetection&&e._isOnline&&(e._isOnline=!1,e.disconnect(),e._listenerManager.announceNetworkDown(),e.reconnect()),!t.error&&e._config.announceSuccessfulHeartbeats&&e._listenerManager.announceStatus(t)}.bind(this)))}},{key:"_startSubscribeLoop",value:function(){this._stopSubscribeLoop();var e=[],t=[];if(Object.keys(this._channels).forEach(function(t){return e.push(t)}),Object.keys(this._presenceChannels).forEach(function(t){return e.push(t+"-pnpres")}),Object.keys(this._channelGroups).forEach(function(e){return t.push(e)}),Object.keys(this._presenceChannelGroups).forEach(function(e){return t.push(e+"-pnpres")}),0!==e.length||0!==t.length){var n={channels:e,channelGroups:t,timetoken:this._currentTimetoken,filterExpression:this._config.filterExpression,region:this._region};this._subscribeCall=this._subscribeEndpoint(n,this._processSubscribeResponse.bind(this))}}},{key:"_processSubscribeResponse",value:function(e,t){var n=this;if(e.error)e.category===o.default.PNTimeoutCategory?this._startSubscribeLoop():e.category===o.default.PNNetworkIssuesCategory?(this.disconnect(),e.error&&this._config.autoNetworkDetection&&this._isOnline&&(this._isOnline=!1,this._listenerManager.announceNetworkDown()),this._reconnectionManager.onReconnection(function(){n._config.autoNetworkDetection&&!n._isOnline&&(n._isOnline=!0,n._listenerManager.announceNetworkUp()),n.reconnect(),n._subscriptionStatusAnnounced=!0;var t={category:o.default.PNReconnectedCategory,operation:e.operation,lastTimetoken:n._lastTimetoken,currentTimetoken:n._currentTimetoken};n._listenerManager.announceStatus(t)}),this._reconnectionManager.startPolling(),this._listenerManager.announceStatus(e)):e.category===o.default.PNBadRequestCategory?(this._stopHeartbeatTimer(),this._listenerManager.announceStatus(e)):this._listenerManager.announceStatus(e);else{if(this._storedTimetoken?(this._currentTimetoken=this._storedTimetoken,this._storedTimetoken=null):(this._lastTimetoken=this._currentTimetoken,this._currentTimetoken=t.metadata.timetoken),!this._subscriptionStatusAnnounced){var i={};i.category=o.default.PNConnectedCategory,i.operation=e.operation,i.affectedChannels=this._pendingChannelSubscriptions,i.subscribedChannels=this.getSubscribedChannels(),i.affectedChannelGroups=this._pendingChannelGroupSubscriptions,i.lastTimetoken=this._lastTimetoken,i.currentTimetoken=this._currentTimetoken,this._subscriptionStatusAnnounced=!0,this._listenerManager.announceStatus(i),this._pendingChannelSubscriptions=[],this._pendingChannelGroupSubscriptions=[]}var r=t.messages||[],s=this._config,u=s.requestMessageCountThreshold,c=s.dedupeOnSubscribe;if(u&&r.length>=u){var l={};l.category=o.default.PNRequestMessageCountExceededCategory,l.operation=e.operation,this._listenerManager.announceStatus(l)}r.forEach(function(e){var t=e.channel,i=e.subscriptionMatch,r=e.publishMetaData;if(t===i&&(i=null),c){if(n._dedupingManager.isDuplicate(e))return;n._dedupingManager.addEntry(e)}if(a.default.endsWith(e.channel,"-pnpres")){var o={channel:null,subscription:null};o.actualChannel=null!=i?t:null,o.subscribedChannel=null!=i?i:t,t&&(o.channel=t.substring(0,t.lastIndexOf("-pnpres"))),i&&(o.subscription=i.substring(0,i.lastIndexOf("-pnpres"))),o.action=e.payload.action,o.state=e.payload.data,o.timetoken=r.publishTimetoken,o.occupancy=e.payload.occupancy,o.uuid=e.payload.uuid,o.timestamp=e.payload.timestamp,e.payload.join&&(o.join=e.payload.join),e.payload.leave&&(o.leave=e.payload.leave),e.payload.timeout&&(o.timeout=e.payload.timeout),n._listenerManager.announcePresence(o)}else{var s={channel:null,subscription:null};s.actualChannel=null!=i?t:null,s.subscribedChannel=null!=i?i:t,s.channel=t,s.subscription=i,s.timetoken=r.publishTimetoken,s.publisher=e.issuingClientId,e.userMetadata&&(s.userMetadata=e.userMetadata),n._config.cipherKey?s.message=n._crypto.decrypt(e.payload):s.message=e.payload,n._listenerManager.announceMessage(s)}}),this._region=t.metadata.region,this._startSubscribeLoop()}}},{key:"_stopSubscribeLoop",value:function(){this._subscribeCall&&("function"==typeof this._subscribeCall.abort&&this._subscribeCall.abort(),this._subscribeCall=null)}}]),e}();t.default=u,e.exports=t.default}(Hn,Hn.exports)),Hn.exports}var ci,li={exports:{}};var di,fi,hi,pi,gi,vi,yi,mi,bi,Si,_i,ki,Ti,Ii,Vi,Ei,Pi,Ai,Ci,Di,wi,Mi,Ni,Oi={},xi={},zi={},Li={},Ri={},Ki={},Fi={},Ui={},Bi={},Hi={},Gi={},Wi={},qi={},ji={},Yi={},Qi={},Ji={},Zi={},Xi={},$i={},er={},tr={};function nr(){return Ni||(Ni=1,function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),i=re(xn()),r=re(Fn()),a=re(ui()),o=re(jn()),s=re((ci||(ci=1,function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){var a=e.networking,u=e.config,c=null,l=null,d={};t.getOperation()===r.default.PNTimeOperation||t.getOperation()===r.default.PNChannelGroupsOperation?c=arguments.length<=2?void 0:arguments[2]:(d=arguments.length<=2?void 0:arguments[2],c=arguments.length<=3?void 0:arguments[3]),"undefined"==typeof Promise||c||(l=i.default.createPromise());var f=t.validateParams(e,d);if(f)return c?c(s(f)):l?(l.reject(new o("Validation failed, check status for details",s(f))),l.promise):void 0;var h=t.prepareParams(e,d),p=function(e,t,n){return e.usePost&&e.usePost(t,n)?e.postURL(t,n):e.getURL(t,n)}(t,e,d),g=void 0,v={url:p,operation:t.getOperation(),timeout:t.getRequestTimeout(e)};h.uuid=u.UUID,h.pnsdk=function(e){if(e.sdkName)return e.sdkName;var t="PubNub-JS-"+e.sdkFamily;return e.partnerId&&(t+="-"+e.partnerId),t+"/"+e.getVersion()}(u),u.useInstanceId&&(h.instanceid=u.instanceId),u.useRequestId&&(h.requestid=n.default.createUUID()),t.isAuthSupported()&&u.getAuthKey()&&(h.auth=u.getAuthKey()),u.secretKey&&function(e,t,n){var r=e.config,a=e.crypto;n.timestamp=Math.floor((new Date).getTime()/1e3);var o=r.subscribeKey+"\n"+r.publishKey+"\n"+t+"\n";o+=i.default.signPamFromParams(n);var s=a.HMACSHA256(o);s=(s=s.replace(/\+/g,"-")).replace(/\//g,"_"),n.signature=s}(e,p,h);var y=function(n,i){if(n.error)c?c(n):l&&l.reject(new o("PubNub call failed, check status for details",n));else{var r=t.handleResponse(e,i,d);c?c(n,r):l&&l.fulfill(r)}};if(t.usePost&&t.usePost(e,d)){var m=t.postPayload(e,d);g=a.POST(h,m,v,y)}else g=t.useDelete&&t.useDelete()?a.DELETE(h,v,y):a.GET(h,v,y);return t.getOperation()===r.default.PNSubscribeOperation?g:l?l.promise:void 0};var n=a(On()),i=a(si());a(xn());var r=a(ei());function a(e){return e&&e.__esModule?e:{default:e}}var o=function(){function e(t,n){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e);var i=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==S(t)&&"function"!=typeof t?e:t}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return i.name=i.constructor.name,i.status=n,i.message=t,i}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+S(t));e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(e,Error),e}();function s(e){return(t={message:e}).type="validationError",t.error=!0,t;var t}e.exports=t.default}(li,li.exports)),li.exports)),u=function(){if(di)return Oi;di=1,Object.defineProperty(Oi,"__esModule",{value:!0}),Oi.getOperation=function(){return e.default.PNAddChannelsToGroupOperation},Oi.validateParams=function(e,t){var n=t.channels,i=t.channelGroup,r=e.config;return i?n&&0!==n.length?r.subscribeKey?void 0:"Missing Subscribe Key":"Missing Channels":"Missing Channel Group"},Oi.getURL=function(e,n){var i=n.channelGroup;return"/v1/channel-registration/sub-key/"+e.config.subscribeKey+"/channel-group/"+t.default.encodeString(i)},Oi.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},Oi.isAuthSupported=function(){return!0},Oi.prepareParams=function(e,t){var n=t.channels;return{add:(void 0===n?[]:n).join(",")}},Oi.handleResponse=function(){return{}};var e=n(ei()),t=n(si());function n(e){return e&&e.__esModule?e:{default:e}}return Oi}(),c=ie(u),l=function(){if(fi)return xi;fi=1,Object.defineProperty(xi,"__esModule",{value:!0}),xi.getOperation=function(){return e.default.PNRemoveChannelsFromGroupOperation},xi.validateParams=function(e,t){var n=t.channels,i=t.channelGroup,r=e.config;return i?n&&0!==n.length?r.subscribeKey?void 0:"Missing Subscribe Key":"Missing Channels":"Missing Channel Group"},xi.getURL=function(e,n){var i=n.channelGroup;return"/v1/channel-registration/sub-key/"+e.config.subscribeKey+"/channel-group/"+t.default.encodeString(i)},xi.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},xi.isAuthSupported=function(){return!0},xi.prepareParams=function(e,t){var n=t.channels;return{remove:(void 0===n?[]:n).join(",")}},xi.handleResponse=function(){return{}};var e=n(ei()),t=n(si());function n(e){return e&&e.__esModule?e:{default:e}}return xi}(),d=ie(l),f=function(){if(hi)return zi;hi=1,Object.defineProperty(zi,"__esModule",{value:!0}),zi.getOperation=function(){return e.default.PNRemoveGroupOperation},zi.validateParams=function(e,t){var n=t.channelGroup,i=e.config;return n?i.subscribeKey?void 0:"Missing Subscribe Key":"Missing Channel Group"},zi.getURL=function(e,n){var i=n.channelGroup;return"/v1/channel-registration/sub-key/"+e.config.subscribeKey+"/channel-group/"+t.default.encodeString(i)+"/remove"},zi.isAuthSupported=function(){return!0},zi.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},zi.prepareParams=function(){return{}},zi.handleResponse=function(){return{}};var e=n(ei()),t=n(si());function n(e){return e&&e.__esModule?e:{default:e}}return zi}(),h=ie(f),p=function(){if(pi)return Li;pi=1,Object.defineProperty(Li,"__esModule",{value:!0}),Li.getOperation=function(){return t.default.PNChannelGroupsOperation},Li.validateParams=function(e){if(!e.config.subscribeKey)return"Missing Subscribe Key"},Li.getURL=function(e){return"/v1/channel-registration/sub-key/"+e.config.subscribeKey+"/channel-group"},Li.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},Li.isAuthSupported=function(){return!0},Li.prepareParams=function(){return{}},Li.handleResponse=function(e,t){return{groups:t.payload.groups}};var e,t=(e=ei())&&e.__esModule?e:{default:e};return Li}(),g=ie(p),v=function(){if(gi)return Ri;gi=1,Object.defineProperty(Ri,"__esModule",{value:!0}),Ri.getOperation=function(){return e.default.PNChannelsForGroupOperation},Ri.validateParams=function(e,t){var n=t.channelGroup,i=e.config;return n?i.subscribeKey?void 0:"Missing Subscribe Key":"Missing Channel Group"},Ri.getURL=function(e,n){var i=n.channelGroup;return"/v1/channel-registration/sub-key/"+e.config.subscribeKey+"/channel-group/"+t.default.encodeString(i)},Ri.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},Ri.isAuthSupported=function(){return!0},Ri.prepareParams=function(){return{}},Ri.handleResponse=function(e,t){return{channels:t.payload.channels}};var e=n(ei()),t=n(si());function n(e){return e&&e.__esModule?e:{default:e}}return Ri}(),y=ie(v),m=function(){if(vi)return Ki;vi=1,Object.defineProperty(Ki,"__esModule",{value:!0}),Ki.getOperation=function(){return t.default.PNPushNotificationEnabledChannelsOperation},Ki.validateParams=function(e,t){var n=t.device,i=t.pushGateway,r=t.channels,a=e.config;return n?i?r&&0!==r.length?a.subscribeKey?void 0:"Missing Subscribe Key":"Missing Channels":"Missing GW Type (pushGateway: gcm or apns)":"Missing Device ID (device)"},Ki.getURL=function(e,t){var n=t.device;return"/v1/push/sub-key/"+e.config.subscribeKey+"/devices/"+n},Ki.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},Ki.isAuthSupported=function(){return!0},Ki.prepareParams=function(e,t){var n=t.pushGateway,i=t.channels;return{type:n,add:(void 0===i?[]:i).join(",")}},Ki.handleResponse=function(){return{}};var e,t=(e=ei())&&e.__esModule?e:{default:e};return Ki}(),b=ie(m),_=function(){if(yi)return Fi;yi=1,Object.defineProperty(Fi,"__esModule",{value:!0}),Fi.getOperation=function(){return t.default.PNPushNotificationEnabledChannelsOperation},Fi.validateParams=function(e,t){var n=t.device,i=t.pushGateway,r=t.channels,a=e.config;return n?i?r&&0!==r.length?a.subscribeKey?void 0:"Missing Subscribe Key":"Missing Channels":"Missing GW Type (pushGateway: gcm or apns)":"Missing Device ID (device)"},Fi.getURL=function(e,t){var n=t.device;return"/v1/push/sub-key/"+e.config.subscribeKey+"/devices/"+n},Fi.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},Fi.isAuthSupported=function(){return!0},Fi.prepareParams=function(e,t){var n=t.pushGateway,i=t.channels;return{type:n,remove:(void 0===i?[]:i).join(",")}},Fi.handleResponse=function(){return{}};var e,t=(e=ei())&&e.__esModule?e:{default:e};return Fi}(),k=ie(_),T=function(){if(mi)return Ui;mi=1,Object.defineProperty(Ui,"__esModule",{value:!0}),Ui.getOperation=function(){return t.default.PNPushNotificationEnabledChannelsOperation},Ui.validateParams=function(e,t){var n=t.device,i=t.pushGateway,r=e.config;return n?i?r.subscribeKey?void 0:"Missing Subscribe Key":"Missing GW Type (pushGateway: gcm or apns)":"Missing Device ID (device)"},Ui.getURL=function(e,t){var n=t.device;return"/v1/push/sub-key/"+e.config.subscribeKey+"/devices/"+n},Ui.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},Ui.isAuthSupported=function(){return!0},Ui.prepareParams=function(e,t){return{type:t.pushGateway}},Ui.handleResponse=function(e,t){return{channels:t}};var e,t=(e=ei())&&e.__esModule?e:{default:e};return Ui}(),I=ie(T),V=function(){if(bi)return Bi;bi=1,Object.defineProperty(Bi,"__esModule",{value:!0}),Bi.getOperation=function(){return t.default.PNRemoveAllPushNotificationsOperation},Bi.validateParams=function(e,t){var n=t.device,i=t.pushGateway,r=e.config;return n?i?r.subscribeKey?void 0:"Missing Subscribe Key":"Missing GW Type (pushGateway: gcm or apns)":"Missing Device ID (device)"},Bi.getURL=function(e,t){var n=t.device;return"/v1/push/sub-key/"+e.config.subscribeKey+"/devices/"+n+"/remove"},Bi.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},Bi.isAuthSupported=function(){return!0},Bi.prepareParams=function(e,t){return{type:t.pushGateway}},Bi.handleResponse=function(){return{}};var e,t=(e=ei())&&e.__esModule?e:{default:e};return Bi}(),E=ie(V),P=function(){if(Si)return Hi;Si=1,Object.defineProperty(Hi,"__esModule",{value:!0}),Hi.getOperation=function(){return e.default.PNUnsubscribeOperation},Hi.validateParams=function(e){if(!e.config.subscribeKey)return"Missing Subscribe Key"},Hi.getURL=function(e,n){var i=e.config,r=n.channels,a=void 0===r?[]:r,o=a.length>0?a.join(","):",";return"/v2/presence/sub-key/"+i.subscribeKey+"/channel/"+t.default.encodeString(o)+"/leave"},Hi.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},Hi.isAuthSupported=function(){return!0},Hi.prepareParams=function(e,t){var n=t.channelGroups,i=void 0===n?[]:n,r={};return i.length>0&&(r["channel-group"]=i.join(",")),r},Hi.handleResponse=function(){return{}};var e=n(ei()),t=n(si());function n(e){return e&&e.__esModule?e:{default:e}}return Hi}(),A=ie(P),C=function(){if(_i)return Gi;_i=1,Object.defineProperty(Gi,"__esModule",{value:!0}),Gi.getOperation=function(){return t.default.PNWhereNowOperation},Gi.validateParams=function(e){if(!e.config.subscribeKey)return"Missing Subscribe Key"},Gi.getURL=function(e,t){var n=e.config,i=t.uuid,r=void 0===i?n.UUID:i;return"/v2/presence/sub-key/"+n.subscribeKey+"/uuid/"+r},Gi.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},Gi.isAuthSupported=function(){return!0},Gi.prepareParams=function(){return{}},Gi.handleResponse=function(e,t){return t.payload?{channels:t.payload.channels}:{channels:[]}};var e,t=(e=ei())&&e.__esModule?e:{default:e};return Gi}(),D=ie(C),w=function(){if(ki)return Wi;ki=1,Object.defineProperty(Wi,"__esModule",{value:!0}),Wi.getOperation=function(){return e.default.PNHeartbeatOperation},Wi.validateParams=function(e){if(!e.config.subscribeKey)return"Missing Subscribe Key"},Wi.getURL=function(e,n){var i=e.config,r=n.channels,a=void 0===r?[]:r,o=a.length>0?a.join(","):",";return"/v2/presence/sub-key/"+i.subscribeKey+"/channel/"+t.default.encodeString(o)+"/heartbeat"},Wi.isAuthSupported=function(){return!0},Wi.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},Wi.prepareParams=function(e,t){var n=t.channelGroups,i=void 0===n?[]:n,r=t.state,a=void 0===r?{}:r,o=e.config,s={};return i.length>0&&(s["channel-group"]=i.join(",")),s.state=JSON.stringify(a),s.heartbeat=o.getPresenceTimeout(),s},Wi.handleResponse=function(){return{}};var e=n(ei()),t=n(si());function n(e){return e&&e.__esModule?e:{default:e}}return Wi}(),M=ie(w),N=function(){if(Ti)return qi;Ti=1,Object.defineProperty(qi,"__esModule",{value:!0}),qi.getOperation=function(){return e.default.PNGetStateOperation},qi.validateParams=function(e){if(!e.config.subscribeKey)return"Missing Subscribe Key"},qi.getURL=function(e,n){var i=e.config,r=n.uuid,a=void 0===r?i.UUID:r,o=n.channels,s=void 0===o?[]:o,u=s.length>0?s.join(","):",";return"/v2/presence/sub-key/"+i.subscribeKey+"/channel/"+t.default.encodeString(u)+"/uuid/"+a},qi.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},qi.isAuthSupported=function(){return!0},qi.prepareParams=function(e,t){var n=t.channelGroups,i=void 0===n?[]:n,r={};return i.length>0&&(r["channel-group"]=i.join(",")),r},qi.handleResponse=function(e,t,n){var i=n.channels,r=void 0===i?[]:i,a=n.channelGroups,o=void 0===a?[]:a,s={};return 1===r.length&&0===o.length?s[r[0]]=t.payload:s=t.payload,{channels:s}};var e=n(ei()),t=n(si());function n(e){return e&&e.__esModule?e:{default:e}}return qi}(),O=ie(N),x=function(){if(Ii)return ji;Ii=1,Object.defineProperty(ji,"__esModule",{value:!0}),ji.getOperation=function(){return e.default.PNSetStateOperation},ji.validateParams=function(e,t){var n=e.config,i=t.state,r=t.channels,a=void 0===r?[]:r,o=t.channelGroups,s=void 0===o?[]:o;return i?n.subscribeKey?0===a.length&&0===s.length?"Please provide a list of channels and/or channel-groups":void 0:"Missing Subscribe Key":"Missing State"},ji.getURL=function(e,n){var i=e.config,r=n.channels,a=void 0===r?[]:r,o=a.length>0?a.join(","):",";return"/v2/presence/sub-key/"+i.subscribeKey+"/channel/"+t.default.encodeString(o)+"/uuid/"+i.UUID+"/data"},ji.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},ji.isAuthSupported=function(){return!0},ji.prepareParams=function(e,t){var n=t.state,i=t.channelGroups,r=void 0===i?[]:i,a={};return a.state=JSON.stringify(n),r.length>0&&(a["channel-group"]=r.join(",")),a},ji.handleResponse=function(e,t){return{state:t.payload}};var e=n(ei()),t=n(si());function n(e){return e&&e.__esModule?e:{default:e}}return ji}(),z=ie(x),L=function(){if(Vi)return Yi;Vi=1,Object.defineProperty(Yi,"__esModule",{value:!0}),Yi.getOperation=function(){return e.default.PNHereNowOperation},Yi.validateParams=function(e){if(!e.config.subscribeKey)return"Missing Subscribe Key"},Yi.getURL=function(e,n){var i=e.config,r=n.channels,a=void 0===r?[]:r,o=n.channelGroups,s=void 0===o?[]:o,u="/v2/presence/sub-key/"+i.subscribeKey;if(a.length>0||s.length>0){var c=a.length>0?a.join(","):",";u+="/channel/"+t.default.encodeString(c)}return u},Yi.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},Yi.isAuthSupported=function(){return!0},Yi.prepareParams=function(e,t){var n=t.channelGroups,i=void 0===n?[]:n,r=t.includeUUIDs,a=void 0===r||r,o=t.includeState,s=void 0!==o&&o,u={};return a||(u.disable_uuids=1),s&&(u.state=1),i.length>0&&(u["channel-group"]=i.join(",")),u},Yi.handleResponse=function(e,t,n){var i,r=n.channels,a=void 0===r?[]:r,o=n.channelGroups,s=void 0===o?[]:o,u=n.includeUUIDs,c=void 0===u||u,l=n.includeState,d=void 0!==l&&l;return a.length>1||s.length>0||0===s.length&&0===a.length?((i={}).totalChannels=t.payload.total_channels,i.totalOccupancy=t.payload.total_occupancy,i.channels={},Object.keys(t.payload.channels).forEach(function(e){var n=t.payload.channels[e],r=[];return i.channels[e]={occupants:r,name:e,occupancy:n.occupancy},c&&n.uuids.forEach(function(e){d?r.push({state:e.state,uuid:e.uuid}):r.push({state:null,uuid:e})}),i}),i):function(){var e={},n=[];return e.totalChannels=1,e.totalOccupancy=t.occupancy,e.channels={},e.channels[a[0]]={occupants:n,name:a[0],occupancy:t.occupancy},c&&t.uuids&&t.uuids.forEach(function(e){d?n.push({state:e.state,uuid:e.uuid}):n.push({state:null,uuid:e})}),e}()};var e=n(ei()),t=n(si());function n(e){return e&&e.__esModule?e:{default:e}}return Yi}(),R=ie(L),K=function(){if(Ei)return Qi;Ei=1,Object.defineProperty(Qi,"__esModule",{value:!0}),Qi.getOperation=function(){return t.default.PNAccessManagerAudit},Qi.validateParams=function(e){if(!e.config.subscribeKey)return"Missing Subscribe Key"},Qi.getURL=function(e){return"/v2/auth/audit/sub-key/"+e.config.subscribeKey},Qi.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},Qi.isAuthSupported=function(){return!1},Qi.prepareParams=function(e,t){var n=t.channel,i=t.channelGroup,r=t.authKeys,a=void 0===r?[]:r,o={};return n&&(o.channel=n),i&&(o["channel-group"]=i),a.length>0&&(o.auth=a.join(",")),o},Qi.handleResponse=function(e,t){return t.payload};var e,t=(e=ei())&&e.__esModule?e:{default:e};return Qi}(),F=ie(K),U=function(){if(Pi)return Ji;Pi=1,Object.defineProperty(Ji,"__esModule",{value:!0}),Ji.getOperation=function(){return t.default.PNAccessManagerGrant},Ji.validateParams=function(e){var t=e.config;return t.subscribeKey?t.publishKey?t.secretKey?void 0:"Missing Secret Key":"Missing Publish Key":"Missing Subscribe Key"},Ji.getURL=function(e){return"/v2/auth/grant/sub-key/"+e.config.subscribeKey},Ji.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},Ji.isAuthSupported=function(){return!1},Ji.prepareParams=function(e,t){var n=t.channels,i=void 0===n?[]:n,r=t.channelGroups,a=void 0===r?[]:r,o=t.ttl,s=t.read,u=void 0!==s&&s,c=t.write,l=void 0!==c&&c,d=t.manage,f=void 0!==d&&d,h=t.authKeys,p=void 0===h?[]:h,g={};return g.r=u?"1":"0",g.w=l?"1":"0",g.m=f?"1":"0",i.length>0&&(g.channel=i.join(",")),a.length>0&&(g["channel-group"]=a.join(",")),p.length>0&&(g.auth=p.join(",")),(o||0===o)&&(g.ttl=o),g},Ji.handleResponse=function(){return{}};var e,t=(e=ei())&&e.__esModule?e:{default:e};return Ji}(),B=ie(U),H=function(){if(Ai)return Zi;Ai=1,Object.defineProperty(Zi,"__esModule",{value:!0});var e="function"==typeof Symbol&&"symbol"===S(Symbol.iterator)?function(e){return S(e)}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":S(e)};Zi.getOperation=function(){return t.default.PNPublishOperation},Zi.validateParams=function(e,t){var n=e.config,i=t.message;return t.channel?i?n.subscribeKey?void 0:"Missing Subscribe Key":"Missing Message":"Missing Channel"},Zi.usePost=function(e,t){var n=t.sendByPost;return void 0!==n&&n},Zi.getURL=function(e,t){var i=e.config,a=t.channel,o=r(e,t.message);return"/publish/"+i.publishKey+"/"+i.subscribeKey+"/0/"+n.default.encodeString(a)+"/0/"+n.default.encodeString(o)},Zi.postURL=function(e,t){var i=e.config,r=t.channel;return"/publish/"+i.publishKey+"/"+i.subscribeKey+"/0/"+n.default.encodeString(r)+"/0"},Zi.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},Zi.isAuthSupported=function(){return!0},Zi.postPayload=function(e,t){return r(e,t.message)},Zi.prepareParams=function(t,n){var i=n.meta,r=n.replicate,a=void 0===r||r,o=n.storeInHistory,s=n.ttl,u={};return null!=o&&(u.store=o?"1":"0"),s&&(u.ttl=s),!1===a&&(u.norep="true"),i&&"object"===(void 0===i?"undefined":e(i))&&(u.meta=JSON.stringify(i)),u},Zi.handleResponse=function(e,t){return{timetoken:t[2]}};var t=i(ei()),n=i(si());function i(e){return e&&e.__esModule?e:{default:e}}function r(e,t){var n=e.crypto,i=e.config,r=JSON.stringify(t);return i.cipherKey&&(r=n.encrypt(r),r=JSON.stringify(r)),r}return Zi}(),G=ie(H),W=function(){if(Ci)return Xi;Ci=1,Object.defineProperty(Xi,"__esModule",{value:!0}),Xi.getOperation=function(){return e.default.PNHistoryOperation},Xi.validateParams=function(e,t){var n=t.channel,i=e.config;return n?i.subscribeKey?void 0:"Missing Subscribe Key":"Missing channel"},Xi.getURL=function(e,n){var i=n.channel;return"/v2/history/sub-key/"+e.config.subscribeKey+"/channel/"+t.default.encodeString(i)},Xi.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},Xi.isAuthSupported=function(){return!0},Xi.prepareParams=function(e,t){var n=t.start,i=t.end,r=t.reverse,a=t.count,o=void 0===a?100:a,s=t.stringifiedTimeToken,u=void 0!==s&&s,c={include_token:"true"};return c.count=o,n&&(c.start=n),i&&(c.end=i),u&&(c.string_message_token="true"),null!=r&&(c.reverse=r.toString()),c},Xi.handleResponse=function(e,t){var n={messages:[],startTimeToken:t[1],endTimeToken:t[2]};return t[0].forEach(function(t){var r={timetoken:t.timetoken,entry:i(e,t.message)};n.messages.push(r)}),n};var e=n(ei()),t=n(si());function n(e){return e&&e.__esModule?e:{default:e}}function i(e,t){var n=e.config,i=e.crypto;if(!n.cipherKey)return t;try{return i.decrypt(t)}catch(e){return t}}return Xi}(),q=ie(W),j=function(){if(Di)return $i;Di=1,Object.defineProperty($i,"__esModule",{value:!0}),$i.getOperation=function(){return e.default.PNDeleteMessagesOperation},$i.validateParams=function(e,t){var n=t.channel,i=e.config;return n?i.subscribeKey?void 0:"Missing Subscribe Key":"Missing channel"},$i.useDelete=function(){return!0},$i.getURL=function(e,n){var i=n.channel;return"/v3/history/sub-key/"+e.config.subscribeKey+"/channel/"+t.default.encodeString(i)},$i.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},$i.isAuthSupported=function(){return!0},$i.prepareParams=function(e,t){var n=t.start,i=t.end,r={};return n&&(r.start=n),i&&(r.end=i),r},$i.handleResponse=function(e,t){return t.payload};var e=n(ei()),t=n(si());function n(e){return e&&e.__esModule?e:{default:e}}return $i}(),Y=ie(j),Q=function(){if(wi)return er;wi=1,Object.defineProperty(er,"__esModule",{value:!0}),er.getOperation=function(){return e.default.PNFetchMessagesOperation},er.validateParams=function(e,t){var n=t.channels,i=e.config;return n&&0!==n.length?i.subscribeKey?void 0:"Missing Subscribe Key":"Missing channels"},er.getURL=function(e,n){var i=n.channels,r=void 0===i?[]:i,a=e.config,o=r.length>0?r.join(","):",";return"/v3/history/sub-key/"+a.subscribeKey+"/channel/"+t.default.encodeString(o)},er.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},er.isAuthSupported=function(){return!0},er.prepareParams=function(e,t){var n=t.start,i=t.end,r=t.count,a={};return r&&(a.max=r),n&&(a.start=n),i&&(a.end=i),a},er.handleResponse=function(e,t){var n={channels:{}};return Object.keys(t.channels||{}).forEach(function(i){n.channels[i]=[],(t.channels[i]||[]).forEach(function(t){var r={};r.channel=i,r.subscription=null,r.timetoken=t.timetoken,r.message=function(e,t){var n=e.config,i=e.crypto;if(!n.cipherKey)return t;try{return i.decrypt(t)}catch(e){return t}}(e,t.message),n.channels[i].push(r)})}),n};var e=n(ei()),t=n(si());function n(e){return e&&e.__esModule?e:{default:e}}return er}(),J=ie(Q),Z=ie(ti()),X=function(){if(Mi)return tr;Mi=1,Object.defineProperty(tr,"__esModule",{value:!0}),tr.getOperation=function(){return e.default.PNSubscribeOperation},tr.validateParams=function(e){if(!e.config.subscribeKey)return"Missing Subscribe Key"},tr.getURL=function(e,n){var i=e.config,r=n.channels,a=void 0===r?[]:r,o=a.length>0?a.join(","):",";return"/v2/subscribe/"+i.subscribeKey+"/"+t.default.encodeString(o)+"/0"},tr.getRequestTimeout=function(e){return e.config.getSubscribeTimeout()},tr.isAuthSupported=function(){return!0},tr.prepareParams=function(e,t){var n=e.config,i=t.channelGroups,r=void 0===i?[]:i,a=t.timetoken,o=t.filterExpression,s=t.region,u={heartbeat:n.getPresenceTimeout()};return r.length>0&&(u["channel-group"]=r.join(",")),o&&o.length>0&&(u["filter-expr"]=o),a&&(u.tt=a),s&&(u.tr=s),u},tr.handleResponse=function(e,t){var n=[];t.m.forEach(function(e){var t={publishTimetoken:e.p.t,region:e.p.r},i={shard:parseInt(e.a,10),subscriptionMatch:e.b,channel:e.c,payload:e.d,flags:e.f,issuingClientId:e.i,subscribeKey:e.k,originationTimetoken:e.o,userMetadata:e.u,publishMetaData:t};n.push(i)});var i={timetoken:t.t.t,region:t.t.r};return{messages:n,metadata:i}};var e=n(ei()),t=n(si());function n(e){return e&&e.__esModule?e:{default:e}}return tr}(),$=ie(X),ee=re(ei()),te=re(qn()),ne=re(On());function ie(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function re(e){return e&&e.__esModule?e:{default:e}}var ae=function(){function e(t){var n=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e);var u=t.db,l=t.networking,f=this._config=new i.default({setup:t,db:u}),p=new r.default({config:f});l.init(f);var v={config:f,networking:l,crypto:p},m=s.default.bind(this,v,Z),S=s.default.bind(this,v,A),_=s.default.bind(this,v,M),T=s.default.bind(this,v,z),V=s.default.bind(this,v,$),P=this._listenerManager=new o.default,C=new a.default({timeEndpoint:m,leaveEndpoint:S,heartbeatEndpoint:_,setStateEndpoint:T,subscribeEndpoint:V,crypto:v.crypto,config:v.config,listenerManager:P});this.addListener=P.addListener.bind(P),this.removeListener=P.removeListener.bind(P),this.removeAllListeners=P.removeAllListeners.bind(P),this.channelGroups={listGroups:s.default.bind(this,v,g),listChannels:s.default.bind(this,v,y),addChannels:s.default.bind(this,v,c),removeChannels:s.default.bind(this,v,d),deleteGroup:s.default.bind(this,v,h)},this.push={addChannels:s.default.bind(this,v,b),removeChannels:s.default.bind(this,v,k),deleteDevice:s.default.bind(this,v,E),listChannels:s.default.bind(this,v,I)},this.hereNow=s.default.bind(this,v,R),this.whereNow=s.default.bind(this,v,D),this.getState=s.default.bind(this,v,O),this.setState=C.adaptStateChange.bind(C),this.grant=s.default.bind(this,v,B),this.audit=s.default.bind(this,v,F),this.publish=s.default.bind(this,v,G),this.fire=function(e,t){return e.replicate=!1,e.storeInHistory=!1,n.publish(e,t)},this.history=s.default.bind(this,v,q),this.deleteMessages=s.default.bind(this,v,Y),this.fetchMessages=s.default.bind(this,v,J),this.time=m,this.subscribe=C.adaptSubscribeChange.bind(C),this.presence=C.adaptPresenceChange.bind(C),this.unsubscribe=C.adaptUnsubscribeChange.bind(C),this.disconnect=C.disconnect.bind(C),this.reconnect=C.reconnect.bind(C),this.destroy=function(e){C.unsubscribeAll(e),C.disconnect()},this.stop=this.destroy,this.unsubscribeAll=C.unsubscribeAll.bind(C),this.getSubscribedChannels=C.getSubscribedChannels.bind(C),this.getSubscribedChannelGroups=C.getSubscribedChannelGroups.bind(C),this.encrypt=p.encrypt.bind(p),this.decrypt=p.decrypt.bind(p),this.getAuthKey=v.config.getAuthKey.bind(v.config),this.setAuthKey=v.config.setAuthKey.bind(v.config),this.setCipherKey=v.config.setCipherKey.bind(v.config),this.getUUID=v.config.getUUID.bind(v.config),this.setUUID=v.config.setUUID.bind(v.config),this.getFilterExpression=v.config.getFilterExpression.bind(v.config),this.setFilterExpression=v.config.setFilterExpression.bind(v.config),this.setHeartbeatInterval=v.config.setHeartbeatInterval.bind(v.config),l.hasModule("proxy")&&(this.setProxy=function(e){v.config.setProxy(e),n.reconnect()})}return n(e,[{key:"getVersion",value:function(){return this._config.getVersion()}},{key:"networkDownDetected",value:function(){this._listenerManager.announceNetworkDown(),this._config.restore?this.disconnect():this.destroy(!0)}},{key:"networkUpDetected",value:function(){this._listenerManager.announceNetworkUp(),this.reconnect()}}],[{key:"generateUUID",value:function(){return ne.default.createUUID()}}]),e}();ae.OPERATIONS=ee.default,ae.CATEGORIES=te.default,t.default=ae,e.exports=t.default}(Dn,Dn.exports)),Dn.exports}var ir,rr={exports:{}};var ar,or,sr,ur,cr,lr,dr={exports:{}},fr={},hr={exports:{}},pr={exports:{}};function gr(){return ur?sr:(ur=1,sr=function(e){return null!==e&&"object"===S(e)})}var vr,yr,mr,br,Sr,_r={};function kr(){return vr||(vr=1,_r.type=function(e){return e.split(/ *; */).shift()},_r.params=function(e){return e.split(/ *; */).reduce(function(e,t){var n=t.split(/ *= */),i=n.shift(),r=n.shift();return i&&r&&(e[i]=r),e},{})},_r.parseLinks=function(e){return e.split(/ *, */).reduce(function(e,t){var n=t.split(/ *; */),i=n[0].slice(1,-1);return e[n[1].split(/ *= */)[1].slice(1,-1)]=i,e},{})},_r.cleanHeader=function(e,t){return delete e["content-type"],delete e["content-length"],delete e["transfer-encoding"],delete e.host,t&&(delete e.authorization,delete e.cookie),e}),_r}var Tr,Ir,Vr,Er=hr.exports;function Pr(){return Tr||(Tr=1,function(e,t){var n;n="undefined"!=typeof window?window:"undefined"!=typeof self?self:Er;var i=(or||(or=1,function(){function e(t){if(t)return function(t){for(var n in e.prototype)t[n]=e.prototype[n];return t}(t)}pr.exports=e,e.prototype.on=e.prototype.addEventListener=function(e,t){return this._callbacks=this._callbacks||{},(this._callbacks["$"+e]=this._callbacks["$"+e]||[]).push(t),this},e.prototype.once=function(e,t){function n(){this.off(e,n),t.apply(this,arguments)}return n.fn=t,this.on(e,n),this},e.prototype.off=e.prototype.removeListener=e.prototype.removeAllListeners=e.prototype.removeEventListener=function(e,t){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var n,i=this._callbacks["$"+e];if(!i)return this;if(1==arguments.length)return delete this._callbacks["$"+e],this;for(var r=0;r<i.length;r++)if((n=i[r])===t||n.fn===t){i.splice(r,1);break}return 0===i.length&&delete this._callbacks["$"+e],this},e.prototype.emit=function(e){this._callbacks=this._callbacks||{};for(var t=new Array(arguments.length-1),n=this._callbacks["$"+e],i=1;i<arguments.length;i++)t[i-1]=arguments[i];if(n){i=0;for(var r=(n=n.slice(0)).length;i<r;++i)n[i].apply(this,t)}return this},e.prototype.listeners=function(e){return this._callbacks=this._callbacks||{},this._callbacks["$"+e]||[]},e.prototype.hasListeners=function(e){return!!this.listeners(e).length}}()),pr.exports),r=function(){if(lr)return cr;lr=1;var e=gr();function t(e){if(e)return function(e){for(var n in t.prototype)e[n]=t.prototype[n];return e}(e)}cr=t,t.prototype.clearTimeout=function(){return clearTimeout(this._timer),clearTimeout(this._responseTimeoutTimer),delete this._timer,delete this._responseTimeoutTimer,this},t.prototype.parse=function(e){return this._parser=e,this},t.prototype.responseType=function(e){return this._responseType=e,this},t.prototype.serialize=function(e){return this._serializer=e,this},t.prototype.timeout=function(e){if(!e||"object"!==S(e))return this._timeout=e,this._responseTimeout=0,this;for(var t in e)switch(t){case"deadline":this._timeout=e.deadline;break;case"response":this._responseTimeout=e.response}return this},t.prototype.retry=function(e,t){return 0!==arguments.length&&!0!==e||(e=1),e<=0&&(e=0),this._maxRetries=e,this._retries=0,this._retryCallback=t,this};var n=["ECONNRESET","ETIMEDOUT","EADDRINFO","ESOCKETTIMEDOUT"];return t.prototype._shouldRetry=function(e,t){if(!this._maxRetries||this._retries++>=this._maxRetries)return!1;if(this._retryCallback)try{var i=this._retryCallback(e,t);if(!0===i)return!0;if(!1===i)return!1}catch(e){console.error(e)}if(t&&t.status&&t.status>=500&&501!=t.status)return!0;if(e){if(e.code&&~n.indexOf(e.code))return!0;if(e.timeout&&"ECONNABORTED"==e.code)return!0;if(e.crossDomain)return!0}return!1},t.prototype._retry=function(){return this.clearTimeout(),this.req&&(this.req=null,this.req=this.request()),this._aborted=!1,this.timedout=!1,this._end()},t.prototype.then=function(e,t){if(!this._fullfilledPromise){var n=this;this._endCalled,this._fullfilledPromise=new Promise(function(e,t){n.end(function(n,i){n?t(n):e(i)})})}return this._fullfilledPromise.then(e,t)},t.prototype.catch=function(e){return this.then(void 0,e)},t.prototype.use=function(e){return e(this),this},t.prototype.ok=function(e){if("function"!=typeof e)throw Error("Callback required");return this._okCallback=e,this},t.prototype._isResponseOK=function(e){return!!e&&(this._okCallback?this._okCallback(e):e.status>=200&&e.status<300)},t.prototype.get=function(e){return this._header[e.toLowerCase()]},t.prototype.getHeader=t.prototype.get,t.prototype.set=function(t,n){if(e(t)){for(var i in t)this.set(i,t[i]);return this}return this._header[t.toLowerCase()]=n,this.header[t]=n,this},t.prototype.unset=function(e){return delete this._header[e.toLowerCase()],delete this.header[e],this},t.prototype.field=function(t,n){if(null==t)throw new Error(".field(name, val) name can not be empty");if(this._data&&console.error(".field() can't be used if .send() is used. Please use only .send() or only .field() & .attach()"),e(t)){for(var i in t)this.field(i,t[i]);return this}if(Array.isArray(n)){for(var r in n)this.field(t,n[r]);return this}if(null==n)throw new Error(".field(name, val) val can not be empty");return"boolean"==typeof n&&(n=""+n),this._getFormData().append(t,n),this},t.prototype.abort=function(){return this._aborted||(this._aborted=!0,this.xhr&&this.xhr.abort(),this.req&&this.req.abort(),this.clearTimeout(),this.emit("abort")),this},t.prototype._auth=function(e,t,n,i){switch(n.type){case"basic":this.set("Authorization","Basic "+i(e+":"+t));break;case"auto":this.username=e,this.password=t;break;case"bearer":this.set("Authorization","Bearer "+e)}return this},t.prototype.withCredentials=function(e){return null==e&&(e=!0),this._withCredentials=e,this},t.prototype.redirects=function(e){return this._maxRedirects=e,this},t.prototype.maxResponseSize=function(e){if("number"!=typeof e)throw TypeError("Invalid argument");return this._maxResponseSize=e,this},t.prototype.toJSON=function(){return{method:this.method,url:this.url,data:this._data,headers:this._header}},t.prototype.send=function(t){var n=e(t),i=this._header["content-type"];if(this._formData&&console.error(".send() can't be used if .attach() or .field() is used. Please use only .send() or only .field() & .attach()"),n&&!this._data)Array.isArray(t)?this._data=[]:this._isHost(t)||(this._data={});else if(t&&this._data&&this._isHost(this._data))throw Error("Can't merge these send calls");if(n&&e(this._data))for(var r in t)this._data[r]=t[r];else"string"==typeof t?(i||this.type("form"),i=this._header["content-type"],this._data="application/x-www-form-urlencoded"==i?this._data?this._data+"&"+t:t:(this._data||"")+t):this._data=t;return!n||this._isHost(t)||i||this.type("json"),this},t.prototype.sortQuery=function(e){return this._sort=void 0===e||e,this},t.prototype._finalizeQueryString=function(){var e=this._query.join("&");if(e&&(this.url+=(this.url.indexOf("?")>=0?"&":"?")+e),this._query.length=0,this._sort){var t=this.url.indexOf("?");if(t>=0){var n=this.url.substring(t+1).split("&");"function"==typeof this._sort?n.sort(this._sort):n.sort(),this.url=this.url.substring(0,t)+"?"+n.join("&")}}},t.prototype._appendQueryString=function(){console.trace("Unsupported")},t.prototype._timeoutError=function(e,t,n){if(!this._aborted){var i=new Error(e+t+"ms exceeded");i.timeout=t,i.code="ECONNABORTED",i.errno=n,this.timedout=!0,this.abort(),this.callback(i)}},t.prototype._setTimeouts=function(){var e=this;this._timeout&&!this._timer&&(this._timer=setTimeout(function(){e._timeoutError("Timeout of ",e._timeout,"ETIME")},this._timeout)),this._responseTimeout&&!this._responseTimeoutTimer&&(this._responseTimeoutTimer=setTimeout(function(){e._timeoutError("Response timeout of ",e._responseTimeout,"ETIMEDOUT")},this._responseTimeout))},cr}(),a=gr(),o=function(){if(mr)return yr;mr=1;var e=kr();function t(e){if(e)return function(e){for(var n in t.prototype)e[n]=t.prototype[n];return e}(e)}return yr=t,t.prototype.get=function(e){return this.header[e.toLowerCase()]},t.prototype._setHeaderProperties=function(t){var n=t["content-type"]||"";this.type=e.type(n);var i=e.params(n);for(var r in i)this[r]=i[r];this.links={};try{t.link&&(this.links=e.parseLinks(t.link))}catch(e){}},t.prototype._setStatusProperties=function(e){var t=e/100|0;this.status=this.statusCode=e,this.statusType=t,this.info=1==t,this.ok=2==t,this.redirect=3==t,this.clientError=4==t,this.serverError=5==t,this.error=(4==t||5==t)&&this.toError(),this.created=201==e,this.accepted=202==e,this.noContent=204==e,this.badRequest=400==e,this.unauthorized=401==e,this.notAcceptable=406==e,this.forbidden=403==e,this.notFound=404==e,this.unprocessableEntity=422==e},yr}(),s=function(){if(Sr)return br;function e(){this._defaults=[]}return Sr=1,["use","on","once","set","query","type","accept","auth","withCredentials","sortQuery","retry","ok","redirects","timeout","buffer","serialize","parse","ca","key","pfx","cert"].forEach(function(t){e.prototype[t]=function(){return this._defaults.push({fn:t,arguments:arguments}),this}}),e.prototype._setDefaults=function(e){this._defaults.forEach(function(t){e[t.fn].apply(e,t.arguments)})},br=e}();function u(){}var c=t=e.exports=function(e,n){return"function"==typeof n?new t.Request("GET",e).end(n):1==arguments.length?new t.Request("GET",e):new t.Request(e,n)};t.Request=v,c.getXHR=function(){if(!(!n.XMLHttpRequest||n.location&&"file:"==n.location.protocol&&n.ActiveXObject))return new XMLHttpRequest;try{return new ActiveXObject("Microsoft.XMLHTTP")}catch(e){}try{return new ActiveXObject("Msxml2.XMLHTTP.6.0")}catch(e){}try{return new ActiveXObject("Msxml2.XMLHTTP.3.0")}catch(e){}try{return new ActiveXObject("Msxml2.XMLHTTP")}catch(e){}throw Error("Browser-only version of superagent could not find XHR")};var l="".trim?function(e){return e.trim()}:function(e){return e.replace(/(^\s*|\s*$)/g,"")};function d(e){if(!a(e))return e;var t=[];for(var n in e)f(t,n,e[n]);return t.join("&")}function f(e,t,n){if(null!=n)if(Array.isArray(n))n.forEach(function(n){f(e,t,n)});else if(a(n))for(var i in n)f(e,t+"["+i+"]",n[i]);else e.push(encodeURIComponent(t)+"="+encodeURIComponent(n));else null===n&&e.push(encodeURIComponent(t))}function h(e){for(var t,n,i={},r=e.split("&"),a=0,o=r.length;a<o;++a)-1==(n=(t=r[a]).indexOf("="))?i[decodeURIComponent(t)]="":i[decodeURIComponent(t.slice(0,n))]=decodeURIComponent(t.slice(n+1));return i}function p(e){return/[\/+]json($|[^-\w])/.test(e)}function g(e){this.req=e,this.xhr=this.req.xhr,this.text="HEAD"!=this.req.method&&(""===this.xhr.responseType||"text"===this.xhr.responseType)||void 0===this.xhr.responseType?this.xhr.responseText:null,this.statusText=this.req.xhr.statusText;var t=this.xhr.status;1223===t&&(t=204),this._setStatusProperties(t),this.header=this.headers=function(e){for(var t,n,i,r,a=e.split(/\r?\n/),o={},s=0,u=a.length;s<u;++s)-1!==(t=(n=a[s]).indexOf(":"))&&(i=n.slice(0,t).toLowerCase(),r=l(n.slice(t+1)),o[i]=r);return o}(this.xhr.getAllResponseHeaders()),this.header["content-type"]=this.xhr.getResponseHeader("content-type"),this._setHeaderProperties(this.header),null===this.text&&e._responseType?this.body=this.xhr.response:this.body="HEAD"!=this.req.method?this._parseBody(this.text?this.text:this.xhr.response):null}function v(e,t){var n=this;this._query=this._query||[],this.method=e,this.url=t,this.header={},this._header={},this.on("end",function(){var e,t=null,i=null;try{i=new g(n)}catch(e){return(t=new Error("Parser is unable to parse the response")).parse=!0,t.original=e,n.xhr?(t.rawResponse=void 0===n.xhr.responseType?n.xhr.responseText:n.xhr.response,t.status=n.xhr.status?n.xhr.status:null,t.statusCode=t.status):(t.rawResponse=null,t.status=null),n.callback(t)}n.emit("response",i);try{n._isResponseOK(i)||(e=new Error(i.statusText||"Unsuccessful HTTP response"))}catch(t){e=t}e?(e.original=t,e.response=i,e.status=i.status,n.callback(e,i)):n.callback(null,i)})}function y(e,t,n){var i=c("DELETE",e);return"function"==typeof t&&(n=t,t=null),t&&i.send(t),n&&i.end(n),i}c.serializeObject=d,c.parseString=h,c.types={html:"text/html",json:"application/json",xml:"text/xml",urlencoded:"application/x-www-form-urlencoded",form:"application/x-www-form-urlencoded","form-data":"application/x-www-form-urlencoded"},c.serialize={"application/x-www-form-urlencoded":d,"application/json":JSON.stringify},c.parse={"application/x-www-form-urlencoded":h,"application/json":JSON.parse},o(g.prototype),g.prototype._parseBody=function(e){var t=c.parse[this.type];return this.req._parser?this.req._parser(this,e):(!t&&p(this.type)&&(t=c.parse["application/json"]),t&&e&&(e.length||e instanceof Object)?t(e):null)},g.prototype.toError=function(){var e=this.req,t=e.method,n=e.url,i="cannot "+t+" "+n+" ("+this.status+")",r=new Error(i);return r.status=this.status,r.method=t,r.url=n,r},c.Response=g,i(v.prototype),r(v.prototype),v.prototype.type=function(e){return this.set("Content-Type",c.types[e]||e),this},v.prototype.accept=function(e){return this.set("Accept",c.types[e]||e),this},v.prototype.auth=function(e,t,n){return 1===arguments.length&&(t=""),"object"===S(t)&&null!==t&&(n=t,t=""),n||(n={type:"function"==typeof btoa?"basic":"auto"}),this._auth(e,t,n,function(e){if("function"==typeof btoa)return btoa(e);throw new Error("Cannot use basic auth, btoa is not a function")})},v.prototype.query=function(e){return"string"!=typeof e&&(e=d(e)),e&&this._query.push(e),this},v.prototype.attach=function(e,t,n){if(t){if(this._data)throw Error("superagent can't mix .send() and .attach()");this._getFormData().append(e,t,n||t.name)}return this},v.prototype._getFormData=function(){return this._formData||(this._formData=new n.FormData),this._formData},v.prototype.callback=function(e,t){if(this._shouldRetry(e,t))return this._retry();var n=this._callback;this.clearTimeout(),e&&(this._maxRetries&&(e.retries=this._retries-1),this.emit("error",e)),n(e,t)},v.prototype.crossDomainError=function(){var e=new Error("Request has been terminated\nPossible causes: the network is offline, Origin is not allowed by Access-Control-Allow-Origin, the page is being unloaded, etc.");e.crossDomain=!0,e.status=this.status,e.method=this.method,e.url=this.url,this.callback(e)},v.prototype.buffer=v.prototype.ca=v.prototype.agent=function(){return this},v.prototype.pipe=v.prototype.write=function(){throw Error("Streaming is not supported in browser version of superagent")},v.prototype._isHost=function(e){return e&&"object"===S(e)&&!Array.isArray(e)&&"[object Object]"!==Object.prototype.toString.call(e)},v.prototype.end=function(e){return this._endCalled,this._endCalled=!0,this._callback=e||u,this._finalizeQueryString(),this._end()},v.prototype._end=function(){var e=this,t=this.xhr=c.getXHR(),n=this._formData||this._data;this._setTimeouts(),t.onreadystatechange=function(){var n=t.readyState;if(n>=2&&e._responseTimeoutTimer&&clearTimeout(e._responseTimeoutTimer),4==n){var i;try{i=t.status}catch(e){i=0}if(!i){if(e.timedout||e._aborted)return;return e.crossDomainError()}e.emit("end")}};var i=function(t,n){n.total>0&&(n.percent=n.loaded/n.total*100),n.direction=t,e.emit("progress",n)};if(this.hasListeners("progress"))try{t.onprogress=i.bind(null,"download"),t.upload&&(t.upload.onprogress=i.bind(null,"upload"))}catch(e){}try{this.username&&this.password?t.open(this.method,this.url,!0,this.username,this.password):t.open(this.method,this.url,!0)}catch(e){return this.callback(e)}if(this._withCredentials&&(t.withCredentials=!0),!this._formData&&"GET"!=this.method&&"HEAD"!=this.method&&"string"!=typeof n&&!this._isHost(n)){var r=this._header["content-type"],a=this._serializer||c.serialize[r?r.split(";")[0]:""];!a&&p(r)&&(a=c.serialize["application/json"]),a&&(n=a(n))}for(var o in this.header)null!=this.header[o]&&this.header.hasOwnProperty(o)&&t.setRequestHeader(o,this.header[o]);return this._responseType&&(t.responseType=this._responseType),this.emit("request",this),t.send(void 0!==n?n:null),this},c.agent=function(){return new s},["GET","POST","OPTIONS","PATCH","PUT","DELETE"].forEach(function(e){s.prototype[e.toLowerCase()]=function(t,n){var i=new c.Request(e,t);return this._setDefaults(i),n&&i.end(n),i}}),s.prototype.del=s.prototype.delete,c.get=function(e,t,n){var i=c("GET",e);return"function"==typeof t&&(n=t,t=null),t&&i.query(t),n&&i.end(n),i},c.head=function(e,t,n){var i=c("HEAD",e);return"function"==typeof t&&(n=t,t=null),t&&i.query(t),n&&i.end(n),i},c.options=function(e,t,n){var i=c("OPTIONS",e);return"function"==typeof t&&(n=t,t=null),t&&i.send(t),n&&i.end(n),i},c.del=y,c.delete=y,c.patch=function(e,t,n){var i=c("PATCH",e);return"function"==typeof t&&(n=t,t=null),t&&i.send(t),n&&i.end(n),i},c.post=function(e,t,n){var i=c("POST",e);return"function"==typeof t&&(n=t,t=null),t&&i.send(t),n&&i.end(n),i},c.put=function(e,t,n){var i=c("PUT",e);return"function"==typeof t&&(n=t,t=null),t&&i.send(t),n&&i.end(n),i}}(hr,hr.exports)),hr.exports}var Ar,Cr,Dr,wr,Mr,Nr,Or,xr,zr,Lr,Rr,Kr,Fr,Ur=(Vr||(Vr=1,function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var n=s(nr()),i=s((ir||(ir=1,function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}();r(xn());var i=r(qn());function r(e){return e&&e.__esModule?e:{default:e}}var a=function(){function e(t){var n=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this._modules={},Object.keys(t).forEach(function(e){n._modules[e]=t[e].bind(n)})}return n(e,[{key:"init",value:function(e){this._config=e,this._maxSubDomain=20,this._currentSubDomain=Math.floor(Math.random()*this._maxSubDomain),this._providedFQDN=(this._config.secure?"https://":"http://")+this._config.origin,this._coreParams={},this.shiftStandardOrigin()}},{key:"nextOrigin",value:function(){return-1===this._providedFQDN.indexOf("pubsub.")?this._providedFQDN:(this._currentSubDomain=this._currentSubDomain+1,this._currentSubDomain>=this._maxSubDomain&&(this._currentSubDomain=1),e=this._currentSubDomain.toString(),this._providedFQDN.replace("pubsub","ps"+e));var e}},{key:"hasModule",value:function(e){return e in this._modules}},{key:"shiftStandardOrigin",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return this._standardOrigin=this.nextOrigin(e),this._standardOrigin}},{key:"getStandardOrigin",value:function(){return this._standardOrigin}},{key:"POST",value:function(e,t,n,i){return this._modules.post(e,t,n,i)}},{key:"GET",value:function(e,t,n){return this._modules.get(e,t,n)}},{key:"DELETE",value:function(e,t,n){return this._modules.del(e,t,n)}},{key:"_detectErrorCategory",value:function(e){if("ENOTFOUND"===e.code)return i.default.PNNetworkIssuesCategory;if("ECONNREFUSED"===e.code)return i.default.PNNetworkIssuesCategory;if("ECONNRESET"===e.code)return i.default.PNNetworkIssuesCategory;if("EAI_AGAIN"===e.code)return i.default.PNNetworkIssuesCategory;if(0===e.status||e.hasOwnProperty("status")&&void 0===e.status)return i.default.PNNetworkIssuesCategory;if(e.timeout)return i.default.PNTimeoutCategory;if("ETIMEDOUT"===e.code)return i.default.PNNetworkIssuesCategory;if(e.response){if(e.response.badRequest)return i.default.PNBadRequestCategory;if(e.response.forbidden)return i.default.PNAccessDeniedCategory}return i.default.PNUnknownCategory}}]),e}();t.default=a,e.exports=t.default}(rr,rr.exports)),rr.exports)),r=(ar||(ar=1,function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default={get:function(e){try{return localStorage.getItem(e)}catch(e){return null}},set:function(e,t){try{return localStorage.setItem(e,t)}catch(e){return null}}},e.exports=t.default}(dr,dr.exports)),dr.exports),a=s(r),o=function(){if(Ir)return fr;Ir=1,Object.defineProperty(fr,"__esModule",{value:!0}),fr.get=function(e,n,r){var a=t.default.get(this.getStandardOrigin()+n.url).query(e);return i.call(this,a,n,r)},fr.post=function(e,n,r,a){var o=t.default.post(this.getStandardOrigin()+r.url).query(e).send(n);return i.call(this,o,r,a)},fr.del=function(e,n,r){var a=t.default.delete(this.getStandardOrigin()+n.url).query(e);return i.call(this,a,n,r)};var e,t=(e=Pr())&&e.__esModule?e:{default:e};function n(e){var t=(new Date).getTime(),n=(new Date).toISOString(),i=console&&console.log?console:window&&window.console&&window.console.log?window.console:console;i.log("<<<<<"),i.log("["+n+"]","\n",e.url,"\n",e.qs),i.log("-----"),e.on("response",function(n){var r=(new Date).getTime()-t,a=(new Date).toISOString();i.log(">>>>>>"),i.log("["+a+" / "+r+"]","\n",e.url,"\n",e.qs,"\n",n.text),i.log("-----")})}function i(e,t,i){var r=this;return this._config.logVerbosity&&(e=e.use(n)),this._config.proxy&&this._modules.proxy&&(e=this._modules.proxy.call(this,e)),this._config.keepAlive&&this._modules.keepAlive&&(e=this._modules.keepAlive(e)),e.timeout(t.timeout).end(function(e,n){var a={};if(a.error=null!==e,a.operation=t.operation,n&&n.status&&(a.statusCode=n.status),e)return a.errorData=e,a.category=r._detectErrorCategory(e),i(a,null);var o=JSON.parse(n.text);return o.error&&1===o.error&&o.status&&o.message&&o.service?(a.errorData=o,a.statusCode=o.status,a.error=!0,a.category=r._detectErrorCategory(a),i(a,null)):i(a,o)})}return fr}();function s(e){return e&&e.__esModule?e:{default:e}}function u(e){if(!navigator||!navigator.sendBeacon)return!1;navigator.sendBeacon(e)}var c=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=e.listenToBrowserNetworkEvents,r=void 0===n||n;e.db=a.default,e.sdkFamily="Web",e.networking=new i.default({del:o.del,get:o.get,post:o.post,sendBeacon:u});var s=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==S(t)&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return r&&(window.addEventListener("offline",function(){s.networkDownDetected()}),window.addEventListener("online",function(){s.networkUpDetected()})),s}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+S(t));e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),t}(n.default);t.default=c,e.exports=t.default}(Cn,Cn.exports)),Cn.exports),Br=t(Ur),Hr=["PNAccessDeniedCategory","PNTimeoutCategory","PNNetworkIssuesCategory","PNBadRequestCategory","PNMalformedResponseCategory","PNDecryptionErrorCategory","PNTLSConnectionFailedCategory","PNTLSUntrustedCertificateCategory","PNUnexpectedDisconnectCategory","PNNetworkDownCategory","PNNetworkUpCategory"],Gr=function(){function e(t){var n;return a(this,e),(n=r(this,e,[t])).pubnub=void 0,n.channelId=void 0,n._synchronousPublish=!1,n.generateChannel(),n}return h(e,vn),s(e,[{key:"connect",value:function(e){var t=this;VizbeeSDK.logger.debug("PubnubSync::appId - "+this.appConfig.appId+" , deviceId - "+this.appConfig.deviceId),void 0===this.pubnub&&(VizbeeSDK.logger.debug("PubnubSync::connect - initializing pubnub ..."),this.pubnub=new Br({publishKey:this.appConfig.pub_key,subscribeKey:this.appConfig.sub_key,ssl:!0}),this.filterOwnMessages());var n=5;this.pubnub.addListener({status:function(i){"PNConnectedCategory"!==i.category&&"PNReconnectedCategory"!==i.category&&"PNNetworkUpCategory"!==i.category||(n=5),"PNConnectedCategory"===i.category?(t.dispatchReceive(new yn(mn.SYNC_CONNECT,{})),e(!0)):Hr.indexOf(i.category)>=0&&(VizbeeSDK.logger.error("PubnubSync.Connect - PUBNUB.subscribe() error = ",i," with retries = ",n),n>0&&(n--,t.subscribePubnub()))},message:this.messageHandler.bind(this),presence:function(e){}}),this.subscribePubnub()}},{key:"disconnect",value:function(){this.pubnub&&this.channelId&&(VizbeeSDK.logger.debug("PubnubSync::disconnect - invoking disconnect"),this.pubnub.unsubscribe({channels:[this.channelId]}),this.pubnub=void 0,m(e,"disconnect",this)([]))}},{key:"send",value:function(e){if(this.pubnub&&this.channelId){if(this._synchronousPublish)return void this.sendSynchronously(e);this.pubnub.publish({message:e,channel:this.channelId,sendByPost:!1,storeInHistory:!1,meta:{uuid:this.pubnub.getUUID()}},function(e,t){e.error&&VizbeeSDK.logger.error("CommManager:CommManager - PUBNUB.publish() error")})}}},{key:"enableSynchronousPublish",value:function(){this._synchronousPublish=!0}},{key:"sendSynchronously",value:function(e){if(this.pubnub&&this.channelId)try{var t=this.appConfig.pub_key,n=this.appConfig.sub_key,i=this.pubnub.getUUID(),r="?uuid="+encodeURIComponent(i)+"&store=0&meta="+encodeURIComponent(JSON.stringify({uuid:i})),a="https://ps.pndsn.com/publish/"+t+"/"+n+"/0/"+this.channelId+"/0",o=JSON.stringify(e),s=a+"/"+encodeURIComponent(o)+r;if("function"==typeof fetch)return fetch(s,{method:"GET",keepalive:!0,mode:"no-cors"}).catch(function(){}),void VizbeeSDK.logger.debug("PubnubSync::sendSynchronously - sent via keepalive fetch");if("undefined"!=typeof navigator&&"function"==typeof navigator.sendBeacon&&navigator.sendBeacon(a+r,o))return void VizbeeSDK.logger.debug("PubnubSync::sendSynchronously - sent via sendBeacon");var u=new XMLHttpRequest;u.open("GET",s,!1),u.send(),VizbeeSDK.logger.debug("PubnubSync::sendSynchronously - sent via synchronous XHR")}catch(e){VizbeeSDK.logger.error("PubnubSync::sendSynchronously - error publishing on teardown",e)}}},{key:"generateChannel",value:function(){this.appConfig&&(this.channelId=(""+An(this.appConfig.appId+":"+this.appConfig.deviceId)).toLowerCase()),VizbeeSDK.logger.info("PubnubSync::generateChannel",this.channelId)}},{key:"subscribePubnub",value:function(){VizbeeSDK.logger.debug("PubnubSync::subscribePubnub - invoking pubnub subscribe"),this.pubnub&&this.channelId&&(VizbeeSDK.logger.debug("PubnubSync::subscribePubnub - subscribing..."),this.pubnub.subscribe({channels:[this.channelId]}))}},{key:"filterOwnMessages",value:function(){if(this.pubnub){var e="uuid != '";e=e.concat(this.pubnub.getUUID()).concat("'"),this.pubnub.setFilterExpression(e)}}},{key:"messageHandler",value:function(e,t,n){VizbeeSDK.logger.verbose("PubnubSync::messageHandler",e);var i=e?e.message:{};bn.verifyDeviceId(),this.dispatchReceive(new yn(mn.SYNC_MESSAGE,i))}}])}(),Wr="MSF_LIBRARY_NOT_LOADED",qr="MSF_LOCAL_SERVICE_ERROR",jr=function(){function e(t){var n;return a(this,e),(n=r(this,e,[t])).isMSFLibraryLoaded=!1,window.addEventListener(R,function(){window.msf&&(n.isMSFLibraryLoaded=!0)}),window.msf&&(n.isMSFLibraryLoaded=!0),n.msfLocalChannel=void 0,n.channelConnectionRetryCount=15,n.channelId=void 0,n._generateChannelId(),n}return h(e,vn),s(e,[{key:"connect",value:function(){var e=this;VizbeeSDK.logger.debug("SamsungMSFSync::connect - appId= "+this.appConfig.appId+", deviceId= "+this.appConfig.deviceId),void 0===this.msfLocalChannel?void 0!==this.channelId?(VizbeeSDK.logger.debug("SamsungMSFSync::connect - creating channel"),this._createChannel(function(){e.channelConnectionRetryCount=15},function(t){if(VizbeeSDK.logger.warn("SamsungMSFSync::connect - failed to create channel with error= ",t),e.channelConnectionRetryCount>0){VizbeeSDK.logger.info("SamsungMSFSync::connect - retrying to connect, attempts left= ",e.channelConnectionRetryCount),e.channelConnectionRetryCount--;var n;n=t.message===Wr?1500:0,VizbeeSDK.logger.info("SamsungMSFSync::connect - retrying to connect after timeout= ",n),setTimeout(function(){e.connect()},n)}else VizbeeSDK.logger.critical("SamsungMSFSync::connect - failed to connect after all 15 retries with error: ",t)})):VizbeeSDK.logger.error("SamsungMSFSync::connect - channelId is invalid"):VizbeeSDK.logger.debug("SamsungMSFSync::connect - msfLocalChannel is already connected")}},{key:"disconnect",value:function(){if(this.msfLocalChannel){VizbeeSDK.logger.debug("SamsungMSFSync::disconnect - invoking disconnect"),this.msfLocalChannel.off("say",this._messageHandler.bind(this)),this.msfLocalChannel.off("connect",this._connectHandler.bind(this)),this.msfLocalChannel.off("disconnect",this._disconnectHandler.bind(this));try{this.msfLocalChannel.isConnected?this.msfLocalChannel.disconnect(function(e,t){e?VizbeeSDK.logger.warn("SamsungMSFSync::disconnect - failed to disconnect with error - ",e.code,e.message):VizbeeSDK.logger.info("SamsungMSFSync::disconnect - disconnected client - ",t)}):VizbeeSDK.logger.info("SamsungMSFSync::disconnect - already disconnected")}catch(e){VizbeeSDK.logger.warn("SamsungMSFSync::disconnect - failed to disconnect with exception - ",e)}this.msfLocalChannel=void 0,m(e,"disconnect",this)([])}}},{key:"send",value:function(e){this.msfLocalChannel&&this.msfLocalChannel.publish("say",e)}},{key:"_generateChannelId",value:function(){this.appConfig&&(this.channelId=(""+An(this.appConfig.appId+":"+this.appConfig.deviceId)).toLowerCase()),VizbeeSDK.logger.info("SamsungMSFSync::_generateChannelId",this.channelId)}},{key:"_createChannel",value:function(e,t){var n=this;if(!this.isMSFLibraryLoaded)return VizbeeSDK.logger.warn("SamsungMSFSync::_createChannel - msf library is not loaded"),void t({message:Wr});window.msf.local(function(i,r){return i?(VizbeeSDK.logger.error("SamsungMSFSync::_createChannel - msf.local service error= ",i),void t({message:qr,cause:i})):r?(n.msfLocalChannel=r.channel(n.channelId),n.msfLocalChannel.on("connect",n._connectHandler.bind(n)),n.msfLocalChannel.on("disconnect",n._disconnectHandler.bind(n)),n.msfLocalChannel.on("say",n._messageHandler.bind(n)),n.msfLocalChannel.on("clientConnect",function(e){VizbeeSDK.logger.debug("SamsungMSFSync::clientConnect - client= ",e)}),n.msfLocalChannel.on("clientDisconnect",function(e){VizbeeSDK.logger.debug("SamsungMSFSync::clientDisconnect - client= ",e)}),void n.msfLocalChannel.connect({name:"Samsung TV"},function(n,i){n?(VizbeeSDK.logger.error("SamsungMSFSync::_createChannel - msfLocalChannel.connect error= ",n),t({message:"MSF_CHANNEL_CONNECTION_ERROR",cause:n})):(VizbeeSDK.logger.debug("SamsungMSFSync::_createChannel - msfLocalChannel.connect success"),e())})):(VizbeeSDK.logger.error("SamsungMSFSync::_createChannel - msf.local returned invalid service"),void t({message:qr,cause:"msf.local returned invalid service"}))})}},{key:"_connectHandler",value:function(e){VizbeeSDK.logger.debug("SamsungMSFSync::_connectHandler - client= ",e),this.dispatchReceive(new yn(mn.SYNC_CONNECT,{}))}},{key:"_disconnectHandler",value:function(t){VizbeeSDK.logger.debug("SamsungMSFSync::_disconnectHandler - client= ",t),this.msfLocalChannel=void 0,m(e,"disconnect",this)([])}},{key:"_messageHandler",value:function(e,t){VizbeeSDK.logger.debug("SamsungMSFSync::_messageHandler",e),this.dispatchReceive(new yn(mn.SYNC_MESSAGE,e))}}])}(),Yr=function(){function e(t){var n;return a(this,e),(n=r(this,e,[t])).messageBus=void 0,n}return h(e,vn),s(e,[{key:"connect",value:function(e){var t=this;VizbeeTV.tv.config.vizbeeCustomChannel&&(this.messageBus=VizbeeTV.tv.config.vizbeeCustomChannel,this.messageBus.onMessage=function(e){e&&e.data&&(VizbeeSDK.logger.debug("GoogleCastSync::connect",e.senderId,e.data),t.dispatchReceive(new yn(mn.SYNC_MESSAGE,JSON.parse(e.data))))},this.dispatchReceive(new yn(mn.SYNC_CONNECT,{})),e(!0))}},{key:"disconnect",value:function(){this.messageBus=void 0}},{key:"send",value:function(e){try{this.messageBus&&e&&(VizbeeSDK.logger.debug("GoogleCastSync::send",e),this.messageBus.broadcast(JSON.stringify(e)))}catch(e){VizbeeSDK.logger.error("GoogleCastSync::send - Error while sending message",e)}}}])}(),Qr=function(){function e(t){var n;return a(this,e),(n=r(this,e,[t])).vizbeeCustomChannel=VizbeeTV.tv.config.vizbeeCustomChannel,n.castReceiverContext=cast.framework.CastReceiverContext.getInstance(),n}return h(e,vn),s(e,[{key:"connect",value:function(e){var t=this;this.vizbeeCustomChannel&&(this.castReceiverContext.addCustomMessageListener(this.vizbeeCustomChannel,function(e){e&&e.data&&(VizbeeSDK.logger.debug("GoogleCastCAFSync::connect",e.senderId,e.data),t.dispatchReceive(new yn(mn.SYNC_MESSAGE,JSON.parse(e.data))))}),this.dispatchReceive(new yn(mn.SYNC_CONNECT,{})),e(!0))}},{key:"send",value:function(e){try{this.vizbeeCustomChannel&&(VizbeeSDK.logger.debug("GoogleCastCAFSync::send() sending to custom channel",e),this.castReceiverContext.sendCustomMessage(this.vizbeeCustomChannel,void 0,JSON.stringify(e)))}catch(e){VizbeeSDK.logger.error("GoogleCastCAFSync::send - Error while sending message",e)}}}])}(),Jr=function(){function e(t){var n;return a(this,e),(n=r(this,e,[t])).syncInstances=[],n}return h(e,vn),s(e,[{key:"connect",value:function(e){var t,n=u(this.syncInstances);try{for(n.s();!(t=n.n()).done;)t.value.connect(e)}catch(e){n.e(e)}finally{n.f()}}},{key:"disconnect",value:function(){var e,t=u(this.syncInstances);try{for(t.s();!(e=t.n()).done;)e.value.disconnect()}catch(e){t.e(e)}finally{t.f()}}},{key:"send",value:function(e){var t,n=u(this.syncInstances);try{for(n.s();!(t=n.n()).done;)t.value.send(e)}catch(e){n.e(e)}finally{n.f()}}},{key:"addSyncInstance",value:function(e){this.syncInstances.push(e),this.setReceiveListener(e)}},{key:"setReceiveListener",value:function(e){var t=this;e.onReceive=function(e){t.dispatchReceive.call(t,e)}}}])}(),Zr=function(){function e(t,n){var i;if(a(this,e),!(t instanceof vn))throw new TypeError("BaseSyncExtension::constructor() - classToExtend must be instance of BaseSync.");return(i=r(this,e,[n])).extendedClass=t,i.extendedClass.onReceive=function(e){i.onReceiveHandler.call(i,e)},i}return h(e,vn),s(e,[{key:"connect",value:function(e){this.extendedClass.connect(e)}},{key:"disconnect",value:function(){this.extendedClass.disconnect()}},{key:"send",value:function(e){VizbeeSDK.logger.verbose(this._getLogPrefix("send")+" - FORWARDING OUT send message",e),this.extendedClass.send(e)}},{key:"baseSync",get:function(){return this.extendedClass instanceof e?this.extendedClass.baseSync:this.extendedClass}},{key:"onReceiveHandler",value:function(e){if(e&&e.data){var t=void 0;e.type===mn.SYNC_MESSAGE?(t=this.handleSyncReceiveEvent(e))?(VizbeeSDK.logger.verbose(this._getLogPrefix("onReceive")+" - FORWARDING IN sync receive event",t),this.dispatchReceive.call(this,t)):VizbeeSDK.logger.warn(this._getLogPrefix("onReceive")+" - DROPPING receive event",e):(t=this.handleNonSyncReceiveEvent(e))?(VizbeeSDK.logger.verbose(this._getLogPrefix("onReceive")+" - FORWARDING IN non-sync receive event",t),this.dispatchReceive.call(this,t)):VizbeeSDK.logger.warn(this._getLogPrefix("onReceive")+" - DROPPING non-sync receive event",e)}else VizbeeSDK.logger.warn(this._getLogPrefix("onReceive")+" - NULL receive event",e)}},{key:"handleSyncReceiveEvent",value:function(e){return e}},{key:"handleNonSyncReceiveEvent",value:function(e){return e}},{key:"getClassName",value:function(){return this.constructor.name}},{key:"_getLogPrefix",value:function(e){return(this.getClassName()+"::"+e+" ").slice(0,40)}}])}(),Xr=function(){function e(t,n){var i;return a(this,e),(i=r(this,e,[t,n])).txIdMap={},i}return h(e,Zr),s(e,[{key:"handleSyncReceiveEvent",value:function(e){if(this.isValidMessage(e.data))return e}},{key:"isValidMessage",value:function(e){var t,n,i,r,a=!1;if(!e)return VizbeeSDK.logger.warn("SanitizeHeaderRecvExtension:isValidMessage - invalid message",e),a;if(!$.isObject(e.h))return VizbeeSDK.logger.warn("SanitizeHeaderRecvExtension:isValidMessage - invalid message head",e),a;if(t=e.h.id,n=e.h.tx,i=e.h.ss,!$.isString(t))return VizbeeSDK.logger.error("SanitizeHeaderRecvExtension:isValidMessage - invalid message id",t,e),a;if(!$.isNumber(n))return VizbeeSDK.logger.error("SanitizeHeaderRecvExtension:isValidMessage - invalid message tx",n,e),a;if(r=t,i&&(r=i+r),0===n)this.txIdMap[r]=n;else{if(this.txIdMap[r]>=n)return VizbeeSDK.logger.warn("SanitizeHeaderRecvExtension:isValidMessage - duplicate message",n,this.txIdMap[r]),a;this.txIdMap[r]=n}return!0}}])}(),$r=function(){function e(t,n){return a(this,e),r(this,e,[t,n])}return h(e,Zr),s(e,[{key:"handleSyncReceiveEvent",value:function(e){if(this.isValidMessage(e.data))return this.sanitize(e)}},{key:"isValidMessage",value:function(e){var t=!1,n=e.b;if(!$.isObject(n))return t;if(!$.isObject(n.cmd))return t;if(!$.isString(n.cmd.name)||!$.isString(n.cmd.ns))return t;if("start_video"==n.cmd.name){var i=n.vinfo;if(!$.isObject(i))return t;if(!$.isString(i.id)&&!$.isString(i.url))return t}return!0}},{key:"sanitize",value:function(e){var t=e.data,n=t.b.cmd;return n.name=n.name.toLowerCase(),n.ns=n.ns.toLowerCase(),n.type=n.type?n.type.toLowerCase():null,"exit"==n.name&&(n.param=n.param.toLowerCase()),t.b.cmd=n,e.data=t,e}}])}(),ea=function(){function e(t,n){return a(this,e),r(this,e,[t,n])}return h(e,Zr),s(e,[{key:"getActiveSenders",value:function(){throw new TypeError("BaseSyncWithPresence::getSenders() - Abstract method.")}},{key:"getActiveSendersCount",value:function(){throw new TypeError("BaseSyncWithPresence::getActiveSendersCount() - Abstract method.")}}])}(),ta=function(){function e(t,n){if(a(this,e),!(t instanceof ea))throw new TypeError("BaseSyncWithPresenceExtension::constructor() - classToExtend must be instance of BaseSyncWithPresence.");return r(this,e,[t,n])}return h(e,ea),s(e,[{key:"getActiveSenders",value:function(){return this.extendedClass.getActiveSenders()}},{key:"getActiveSendersCount",value:function(){return this.extendedClass.getActiveSendersCount()}}])}(),na=function(){function e(){a(this,e)}return s(e,null,[{key:"decodeVideoInfo",value:function(e){if(e&&e.vinfo){var t={islive:!1,starttime:0,isContinuedVideo:!1};if(t.id=e.vinfo.id,t.videourl=e.vinfo.url,e.vinfo.islive&&(t.islive=e.vinfo.islive),e.vinfo.deeplink&&(t.deeplink=e.vinfo.deeplink),!$.isUndefined(e.cmd)){var n=0;$.isUndefined(e.cmd.param)||(n=parseInt(e.cmd.param,10),isNaN(n)&&(n=0),n<0&&(n=0)),t.starttime=n}if(e.vinfoext){if(e.vinfoext.cuepoints&&(t.cuepoints=e.vinfoext.cuepoints),e.vinfoext.title&&(t.title=e.vinfoext.title),e.vinfoext.subtitle&&(t.subtitle=e.vinfoext.subtitle),e.vinfoext.tracks){var i=$.get(e,["vinfoext","tracks","currentAudioTrack"]);i&&(t.preferredTracks={},t.preferredTracks.currentAudioTrack={label:i.displayName,lang:i.languageCode,id:i.screenTrackId})}e.vinfoext.imgurl&&(t.imgurl=e.vinfoext.imgurl),e.vinfoext.desc&&(t.desc=e.vinfoext.desc),e.vinfoext.customstreaminfo&&(t.customstreaminfo=e.vinfoext.customstreaminfo),e.vinfoext.custommetadata&&(t.custommetadata=e.vinfoext.custommetadata),e.vinfoext.drmtype&&(t.drmtype=e.vinfoext.drmtype),e.vinfoext.protocoltype&&(t.protocoltype=e.vinfoext.protocoltype),e.vinfoext.drmlicenseurl&&(t.drmlicenseurl=e.vinfoext.drmlicenseurl),e.vinfoext.drmcustomdata&&(t.drmcustomdata=e.vinfoext.drmcustomdata)}return t}}},{key:"encodeVideoInfo",value:function(e){if(e){var t={};return t.vinfo={id:e.id,islive:e.islive,url:e.videourl},t.vinfoext={videostarttime:e.starttime||0,imgurl:e.imgurl?e.imgurl:"",title:e.title?e.title:"",subtitle:e.subtitle?e.subtitle:"",desc:e.desc?e.desc:"",isContinuedVideo:null!=e.isContinuedVideo&&e.isContinuedVideo,customstreaminfo:e.customstreaminfo?e.customstreaminfo:{},custommetadata:e.custommetadata?e.custommetadata:{},drmtype:e.drmtype?e.drmtype:"NONE",drmlicenseurl:e.drmlicenseurl?e.drmlicenseurl:"",drmcustomdata:e.drmcustomdata?e.drmcustomdata:{},cuepoints:e.cuepoints?e.cuepoints:[]},t}}},{key:"addInfoFromHeader",value:function(e,t){if(!e||!t)return e;var n=$.clone(t);return e.senderInfo=$.omit(n,["tx","ss"]),e}},{key:"encodeEventCmd",value:function(e){if(e){var t={cmd:{ns:"video",type:"req",name:"event",param:""},einfo:{type:e.type,data:e.data}};return{type:mn.SYNC_MESSAGE,data:{h:{},b:t}}}}},{key:"encodeStartVideoCmd",value:function(e){if(e){e.starttime=e.starttime||0;var t={cmd:{ns:"video",type:"req",name:"start_video",param:e.starttime},internal:{videoInfo:e,startVideoSource:"queue_manager"}};return{type:mn.SYNC_MESSAGE,data:{h:{},b:t}}}}},{key:"encodeVideoStatus",value:function(t){if(t){var n={cmd:{name:"status",ns:"video",type:"upd"},vstatus:{du:0,id:t.id,po:-1,st:"BUFFERING",vol:100,cc:0,tr:{},er:{}}};return $.extend(n,e.encodeVideoInfo(t))}}}])}(),ia=function(){function e(t,n){return a(this,e),r(this,e,[t,n])}return h(e,ta),s(e,[{key:"handleSyncReceiveEvent",value:function(e){if("start_video"==e.data.b.cmd.name){var t=na.decodeVideoInfo(e.data.b);t&&(t=na.addInfoFromHeader(t,e.data.h)),e.data.b.internal={videoInfo:t,startVideoSource:"default",queueInfo:this._createQueueInfo(e.data)}}return e}},{key:"_createQueueInfo",value:function(e){var t={id:"default",name:"default",description:"default",startIndex:0,items:[]},n=na.decodeVideoInfo(e.b);return n&&(n=na.addInfoFromHeader(n,e.h)),t.items.push(n),t}}])}(),ra=function(){function e(t,n){var i;return a(this,e),VizbeeSDK.logger.d("UpdatePresenceRecvExtension","constructor"),(i=r(this,e,[t,n])).currentAppId=n.appId,i._sentFirstHelloCheck=!1,i._sentSecondHelloCheck=!1,i._senderMap={},i._presenceIntervalTimer=void 0,i._previousSenderMapCount=0,i._startPresenceTimer(),i}return h(e,ea),s(e,[{key:"getActiveSenders",value:function(){return this._senderMap}},{key:"getActiveSendersCount",value:function(){return Object.keys(this._senderMap||{}).length}},{key:"disconnect",value:function(){VizbeeSDK.logger.d("UpdatePresenceRecvExtension","disconnect"),this._senderMap={},this._previousSenderMapCount=0,this._stopPresenceTimer(),m(e,"disconnect",this)([])}},{key:"handleSyncReceiveEvent",value:function(e){var t=e.data;return"exit"===t.b.cmd.name?this._senderMap=$.omit(this._senderMap,$.keys(this._senderMap).filter(function(e){return e===t.h.id})):(this._sentFirstHelloCheck=!1,this._sentSecondHelloCheck=!1,this._senderMap[t.h.id]=t.h,this._senderMap[t.h.id].appId=this.currentAppId,this._senderMap[t.h.id].lastMsgReceivedTimeInMs=Date.now(),this._startPresenceTimer()),e}},{key:"_startPresenceTimer",value:function(){var e=this;this._stopPresenceTimer(),this._presenceIntervalTimer=window.setInterval(function(){e._updatePresence()},1e3)}},{key:"_stopPresenceTimer",value:function(){window.clearInterval(this._presenceIntervalTimer),this._presenceIntervalTimer=void 0}},{key:"_checkForSenders",value:function(){!this._sentFirstHelloCheck&&this._shouldSendHelloCheckMessage(15e3)?(this._sendHelloCheckMessage(),this._sentFirstHelloCheck=!0):!this._sentSecondHelloCheck&&this._shouldSendHelloCheckMessage(25e3)&&(this._sendHelloCheckMessage(),this._sentSecondHelloCheck=!0)}},{key:"_shouldSendHelloCheckMessage",value:function(e){var t=this;if(0==Object.keys(this._senderMap||{}).length)return!1;var n=Date.now(),i=$.keys(this._senderMap).filter(function(i){return t._senderMap[i]&&null!=t._senderMap[i].lastMsgReceivedTimeInMs&&n-t._senderMap[i].lastMsgReceivedTimeInMs>e});return Object.keys(i).length>0}},{key:"_sendHelloCheckMessage",value:function(){this.dispatchReceive(new yn(mn.SYNC_MESSAGE,{b:{cmd:{ns:"video",name:"hello",type:"int"},hstatus:{id:this.appConfig.deviceId,type:"SCREEN",vip:"false"}}}))}},{key:"_updatePresence",value:function(){var e=this;this._checkForSenders();var t=Date.now();if(this._senderMap=$.omit(this._senderMap,$.keys(this._senderMap).filter(function(n){return e._senderMap[n]&&null!=e._senderMap[n].lastMsgReceivedTimeInMs&&t-e._senderMap[n].lastMsgReceivedTimeInMs>3e4})),0==Object.keys(this._senderMap||{}).length)return VizbeeSDK.logger.d("UpdatePresenceRecvExtension","_updatePresence","there are no senders now"),this._stopPresenceTimer(),this.dispatchReceive(new yn(mn.SYNC_PRESENCE,this._senderMap)),void(this._previousSenderMapCount=0);var n=Object.keys(this._senderMap).length;n!=this._previousSenderMapCount&&(VizbeeSDK.logger.d("UpdatePresenceRecvExtension","_updatePresence","there is a change in the senders connected"),this._previousSenderMapCount=n,this.dispatchReceive(new yn(mn.SYNC_PRESENCE,this._senderMap)))}}])}(),aa=function(){function e(t,n){return a(this,e),VizbeeSDK.logger.debug("ExitOnLastMessageRecvExtension::constructor()"),r(this,e,[t,n])}return h(e,ta),s(e,[{key:"handleSyncReceiveEvent",value:function(e){var t=e.data;if(VizbeeSDK.logger.verbose("ExitOnLastMessageRecvExtension::onReceiveHandler() ".concat(this.appConfig.appId),t),VizbeeSDK.logger.verbose("ExitOnLastMessageRecvExtension::onReceiveHandler getActiveSendersCount - cmd ",this.getActiveSendersCount(),t.b?t.b.cmd.name:""),!t.b||"exit"!==t.b.cmd.name)return e;"user_invoked_disconnect"===t.b.cmd.param&&0==this.getActiveSendersCount()&&this.appConfig.features&&this.appConfig.features.shouldExitOnLastSender&&(VizbeeSDK.logger.debug("ExitOnLastMessageRecvExtension::onReceiveHandler getActiveSendersCount is zero - going to exit the receiver app"),VizbeeTV.tv.exit())}}])}(),oa=function(){function e(t,n){var i;return a(this,e),(i=r(this,e,[t,n])).tx=0,i.sessionId=i.createTimestamp(),i}return h(e,ta),s(e,[{key:"send",value:function(t){m(e,"send",this)([this.createMessage(null,t)])}},{key:"createMessage",value:function(e,t){return(t=t||{}).vers=1,{h:e=$.extend(this.createHeader(),e),b:t}}},{key:"createHeader",value:function(){return this.tx++,{tx:this.tx,id:this.appConfig.senderId||this.appConfig.deviceId,ss:this.sessionId,app:this.appConfig.appId,ssinfo:this.getSenderSessionInfo()}}},{key:"createTimestamp",value:function(){var e=new Date;return e.getFullYear()+":"+("0"+(e.getMonth()+1)).slice(-2)+":"+("0"+e.getDate()).slice(-2)+":"+("0"+e.getHours()).slice(-2)+":"+("0"+e.getMinutes()).slice(-2)+":"+("0"+e.getSeconds()).slice(-2)+":"+("0"+e.getMilliseconds()).slice(-3)}},{key:"getSenderSessionInfo",value:function(){return{SCREEN_IDFA:this.appConfig.screenIdfa,SCREEN_IDFV:this.appConfig.screenIdfv,SCREEN_DEVICE_TYPE:this.appConfig.screenDeviceType,SCREEN_DEVICE_ID:this.appConfig.screenDeviceId,SCREEN_DEVICE_FRIENDLYNAME:this.appConfig.screenFriendlyName}}}])}(),sa=function(){function e(t,n){var i;return a(this,e),VizbeeSDK.logger.debug("FilterMessageSendExtension::constructor()"),(i=r(this,e,[t,n])).shouldFilterAllMessagesOnLastSenderExit=n&&n.features&&n.features.shouldFilterAllMessagesOnLastSenderExit,i}return h(e,ta),s(e,[{key:"send",value:function(t){if(t&&t.cmd){var n=this.getActiveSendersCount();if(this.shouldFilterAllMessagesOnLastSenderExit&&n<=0)VizbeeSDK.logger.verbose("FilterMessageSendExtension::send filtering all messages as senders are not available and shouldFilterAllMessagesOnLastSenderExit is set");else{if("status"==t.cmd.name)return t.vstatus&&-1!=["FINISHED","INTERRUPTED","FAILED"].indexOf(t.vstatus.st)?(VizbeeSDK.logger.debug("FilterMessageSendExtension::send message.vstatus.st: ".concat(t.vstatus.st)),void m(e,"send",this)([t])):void(0!==n?m(e,"send",this)([t]):VizbeeSDK.logger.verbose("FilterMessageSendExtension::send senders not available: MESSAGE NOT SENT",this.getActiveSendersCount(),t));m(e,"send",this)([t])}}else m(e,"send",this)([t])}}])}(),ua=["BUFFERING","PLAYING","PAUSED_BY_USER","INTERRUPTED","FINISHED","FAILED"],ca=function(){function e(t,n){var i;return a(this,e),(i=r(this,e,[t,n])).appConfig=n,i.shouldSupportLiveDVR=$.get(n,["features","shouldSupportLiveDVR"],!1),i.liveDVRMinBufferInMs=$.get(n,["features","liveDVRMinBufferInMs"],3e5),i}return h(e,ta),s(e,[{key:"send",value:function(t){if(t&&t.cmd){var n=t;"status"==t.cmd.name&&(n=this.interceptVideoStatus(t)),m(e,"send",this)([n])}else m(e,"send",this)([t])}},{key:"interceptVideoStatus",value:function(e){return ua.includes(e.vstatus.st)&&e.vinfo.islive&&(e.vinfoext||(e.vinfoext={}),!0===e.vinfoext.isdvrsupported||(!this.shouldSupportLiveDVR||e.vstatus.du<this.liveDVRMinBufferInMs?(e.vinfoext.isdvrsupported=!1,e.vstatus.po=-1,e.vstatus.du=0):e.vinfoext.isdvrsupported=!0)),e}}])}(),la=function(){return s(function e(){a(this,e)},null,[{key:"setItem",value:function(e,t,n,i,r,a,o){if(e)if("undefined"!=typeof Storage)vizbee.logger.debug("StorageUtil::setItem - Storage supported!"),"session"==n?(vizbee.logger.debug("StorageUtil::setItem - storing in session!"),sessionStorage.setItem(e,t)):(vizbee.logger.debug("StorageUtil::setItem - storing in local!"),localStorage.setItem(e,t));else{if(vizbee.logger.debug("StorageUtil::setItem - Storage NOT supported!"),"session"==n)return;vizbee.logger.debug("StorageUtil::setItem - storing in cookies!"),ae.docCookies.setItem(e,t,i,r,a,o)}}},{key:"getItem",value:function(e,t){if(e){if("undefined"!=typeof Storage)return vizbee.logger.debug("StorageUtil::getItem - Storage supported!"),"session"==t?(vizbee.logger.debug("StorageUtil::getItem - getting from session!"),sessionStorage.getItem(e)):(vizbee.logger.debug("StorageUtil::getItem - getting from local!"),localStorage.getItem(e)?sessionStorage.getItem(e):localStorage.getItem(e));if(vizbee.logger.debug("StorageUtil::getItem - Storage NOT supported!"),"session"!=t)return vizbee.logger.debug("StorageUtil::getItem - getting from cookies!"),ae.docCookies.getItem(e)}}},{key:"removeItem",value:function(e,t,n,i){if(e)if("undefined"!=typeof Storage)"session"==t?sessionStorage.removeItem(e):localStorage.removeItem(e)||sessionStorage.removeItem(e);else{if("session"==t)return;ae.docCookies.removeItem(e,n,i)}}}])}(),da=function(){return s(function e(t){a(this,e),this.senderConfig=t},[{key:"track",value:function(e,t){var n=this;if(e&&t&&this.senderConfig.url&&(VizbeeSDK.logger.d("".concat(this.constructor.name),"track() - tracking event ".concat(e,", ").concat(JSON.stringify(t))),this.shouldTrack(e)&&(t=this.filterProperties(t),0!=Object.keys(t).length))){var i={event:e,properties:t},r=this._getBase64String(i),a=this._getURIEncodedString(r),o=void 0,s=void 0,u="GET";this._needPostRequest(a)?(o=this.senderConfig.url,u="POST",s=JSON.stringify({data:a})):(o=this.senderConfig.url+"?data="+a,u="GET",s=void 0),VizbeeSDK.logger.d("".concat(this.constructor.name),"track() - sending metrics request: URL ".concat(o,", Method ").concat(u,", Data ").concat(s)),ae.xhr({url:o,method:u,data:s,timeout:1e4,retries:this.senderConfig.networkRetries}).then(function(e){e.error?VizbeeSDK.logger.e("".concat(n.constructor.name),"track - ERROR"):VizbeeSDK.logger.d("".concat(n.constructor.name),"track - SUCCESS: ".concat(e))}).catch(function(e){VizbeeSDK.logger.d("".concat(n.constructor.name),"track - ERROR=".concat(e))})}}},{key:"shouldTrack",value:function(e){return VizbeeSDK.logger.d("".concat(this.constructor.name),"shouldTrack - Filtering events with regex = ".concat(this.senderConfig.eventFilter)),!this.senderConfig.eventFilter||new RegExp(this.senderConfig.eventFilter,"i").test(e)}},{key:"filterProperties",value:function(e){if(VizbeeSDK.logger.d("".concat(this.constructor.name),"filterProperties - Filtering properties with regex = ".concat(this.senderConfig.attributeFilter)),!this.senderConfig.attributeFilter)return e;e=e||{},e=JSON.parse(JSON.stringify(e));for(var t=new RegExp(this.senderConfig.attributeFilter,"i"),n=Object.keys(e),i=0;i<n.length;i++){var r=n[i];t.test(r)||delete e[r]}return e}},{key:"_getBase64String",value:function(e){return btoa(unescape(encodeURIComponent(JSON.stringify(e))))}},{key:"_getURIEncodedString",value:function(e){return window.encodeURIComponent(e)}},{key:"_needPostRequest",value:function(e){return!!(e&&e.length>1e4)}}])}(),fa=function(){function e(t){a(this,e);var n={};return t.mixpanel_url&&(n={eventFilter:t.mixpanel_filter,token:t.mixpanel_token,attributeFilter:t.attribute_filter,url:t.mixpanel_url,networkRetries:0}),r(this,e,[n])}return h(e,da),s(e,[{key:"track",value:function(t,n){(n=n||{}).token=this.senderConfig.token,m(e,"track",this)([t,n])}}])}(),ha=function(){function e(t){a(this,e);var n={};return t.vizbee_url&&(n={url:t.vizbee_url,attributeFilter:t.attribute_filter,eventFilter:t.vizbee_filter,networkRetries:0}),r(this,e,[n])}return h(e,da),s(e)}(),pa=function(){return s(function e(t){a(this,e),this.senders=[],t&&t.vizbee_url&&this.senders.push(new ha(t)),t&&t.mixpanel_url&&t.mixpanel_token&&this.senders.push(new fa(t))},[{key:"track",value:function(e,t){VizbeeSDK.logger.d("".concat(this.constructor.name),"track",e,t),$.each(this.senders,function(n){n.track(e,$.clone(t))})}}])}(),ga="UNKNOWN",va="NOT_FOUND",ya=function(){return s(function e(){a(this,e),this.config={},this.commonProperties={},this.attributesProvidersList=[],this.isInitialized=!1,this.needToSetDistinctIdForVideoEvents=!0},[{key:"init",value:function(e){if(e&&this.commonProperties)if(VizbeeSDK.logger.d("MetricsManager","init",e.appId,this.commonProperties.APP_ID),this.isInitialized&&this.commonProperties.APP_ID==e.appId)VizbeeSDK.logger.d("MetricsManager","init","already initialized");else{this.config=e,this.metricsRouter=new pa(e.metricsParams),this.appSessionId=Math.floor(1e10*Math.random()).toString()+"_"+Date.now(),this.screenSdkId=la.getItem("SCREEN_SDK_ID"),this.screenSdkId?VizbeeSDK.logger.d("MetricsManager::init","SCREEN_SDK_ID -> AVAILABLE -> REUSING IT"):(VizbeeSDK.logger.d("MetricsManager::init","SCREEN_SDK_ID -> NOT_AVAILABLE"),this.screenSdkId=Math.floor(1e10*Math.random()).toString()+"_"+Date.now(),la.setItem("SCREEN_SDK_ID",this.screenSdkId,"local",31536e3,"/"));var t=this.prepareCommonProperties(e);this.setCommonProperties(t),e.customAttributesForMetrics&&this.setCustomProperties(e.customAttributesForMetrics),this.isInitialized=!0}else VizbeeSDK.logger.e("MetricsManager","init","called with empty config!")}},{key:"refreshLaunchParamProperties",value:function(){if(VizbeeTV.tv.launchParamsDeferral){var e=VizbeeTV.tv.launchParamsDeferral.isLaunchedbyVizbee()||!1;this.commonProperties.SCREEN_LAUNCHED_WITH_VIZBEE=e,this.commonProperties.SCREEN_VZB_LAUNCH_PARAM=e?"y":va}}},{key:"prepareCommonProperties",value:function(e){var t,n,i,r={appId:e.appId,deviceId:e.deviceId,deviceType:VizbeeTV.tv.cloudPlatformName,distinctId:e.deviceId,externalIp:e.externalIp,ipv6Address:e.ipv6Address,sdkVersion:window.VZB?window.VZB.VERSION:"",appSessionId:this.appSessionId,screenSdkId:this.screenSdkId,timestamp:Date.now(),timezoneOffset:(t=-(new Date).getTimezoneOffset(),n=t>=0?"+":"-",i=Math.abs(t),"GMT"+n+("0"+Math.floor(i/60)).slice(-2)+":"+("0"+i%60).slice(-2))};return VizbeeTV.tv.deviceInfo&&(VizbeeTV.tv.deviceInfo.deviceId&&VizbeeTV.tv.deviceInfo.deviceId!=ga&&(r.deviceId=VizbeeTV.tv.deviceInfo.deviceId,r.distinctId=VizbeeTV.tv.deviceInfo.deviceId),r.macAddress=VizbeeTV.tv.deviceInfo.macAddress,r.deviceMake=VizbeeTV.tv.deviceInfo.make,r.deviceModel=VizbeeTV.tv.deviceInfo.model,r.deviceSerialNumber=VizbeeTV.tv.deviceInfo.serialNumber,r.friendlyName=VizbeeTV.tv.deviceInfo.friendlyName,r.osVersion=$.get(VizbeeTV.tv.deviceInfo,["os","version"],ga),r.osNativeVersion=$.get(VizbeeTV.tv.deviceInfo,["os","sdkVersion"],ga)),VizbeeTV.tv.adId&&(r.adId=VizbeeTV.tv.adId),null!=VizbeeTV.tv.isAdTrackingDisabled&&(r.isAdTrackingDisabled=VizbeeTV.tv.isAdTrackingDisabled),VizbeeTV.tv.networkInfo&&(r.internalIp=VizbeeTV.tv.networkInfo.internalIP,r.bssid=VizbeeTV.tv.networkInfo.bssid,r.ssid=VizbeeTV.tv.networkInfo.ssid,r.isWifiConnected=VizbeeTV.tv.networkInfo.isWifiConnected,r.connectionType=VizbeeTV.tv.networkInfo.connectionType),VizbeeTV.tv.launchParamsDeferral&&(r.isLaunchedWithVizbee=VizbeeTV.tv.launchParamsDeferral.isLaunchedbyVizbee()||!1),r}},{key:"setCommonProperties",value:function(e){VizbeeSDK.logger.d("MetricsManager","setCommonProperties"),this.commonProperties.SCREEN_DEVICE_USERAGENT=ga,this.commonProperties.SCREEN_IDFV=ga,this.commonProperties.SCREEN_HOMESSO_USER_INFO={user_login:ga,user_login_type:ga,user_name:ga,user_subscription_renewal_type:ga,user_subscription_type:ga,user_subscription_value:ga},e.appId&&(this.commonProperties.APP_ID=e.appId),e.externalIp&&(this.commonProperties.EXTERNAL_IP_ADDRESS=e.externalIp),e.ipv6Address&&(this.commonProperties.IPV6_ADDRESS=e.ipv6Address),e.distinctId&&(this.commonProperties.distinct_id=e.distinctId),e.deviceId&&(this.commonProperties.SCREEN_DEVICE_ID=e.deviceId),e.appSessionId&&(this.commonProperties.SCREEN_APP_SESSION_ID=e.appSessionId),e.screenSdkId&&(this.commonProperties.SCREEN_SDK_ID=e.screenSdkId),e.internalIp&&(this.commonProperties.INTERNAL_IP_ADDRESS=e.internalIp,this.commonProperties.SCREEN_INTERNAL_IP=e.internalIp),"isWifiConnected"in e&&(this.commonProperties.WIFI_CONNECTED=e.isWifiConnected),e.connectionType&&(this.commonProperties.CONNECTION_TYPE=e.connectionType),e.bssid&&(this.commonProperties.WIFI_BSSID=e.bssid),e.ssid&&(this.commonProperties.WIFI_SSID=e.ssid),e.adId&&(this.commonProperties.SCREEN_IDFA=e.adId),null!=e.isAdTrackingDisabled&&(this.commonProperties.SCREEN_LIMIT_AD_TRACKING=e.isAdTrackingDisabled),e.macAddress&&(this.commonProperties.SCREEN_MAC_ADDRESS=e.macAddress),navigator&&navigator.userAgent&&(this.commonProperties.SCREEN_DEVICE_USERAGENT=navigator.userAgent),e.deviceType&&(this.commonProperties.SCREEN_DEVICE_TYPE=e.deviceType),e.deviceMake&&(this.commonProperties.SCREEN_DEVICE_MAKE=e.deviceMake),e.deviceModel&&(this.commonProperties.SCREEN_DEVICE_MODEL=e.deviceModel),e.deviceSerialNumber&&(this.commonProperties.SCREEN_SERIAL_NUMBER=e.deviceSerialNumber),e.friendlyName&&(this.commonProperties.SCREEN_FRIENDLY_NAME=e.friendlyName),e.osNativeVersion&&(this.commonProperties.SCREEN_NATIVE_OS_VERSION=e.osNativeVersion),e.osVersion&&(this.commonProperties.SCREEN_OS_VERSION=e.osVersion),null!=e.isLaunchedWithVizbee&&(this.commonProperties.SCREEN_LAUNCHED_WITH_VIZBEE=e.isLaunchedWithVizbee),this.commonProperties.SCREEN_LAUNCHED_WITH_VIZBEE?this.commonProperties.SCREEN_VZB_LAUNCH_PARAM="y":this.commonProperties.SCREEN_VZB_LAUNCH_PARAM=va,e.sdkVersion&&(this.commonProperties.SCREEN_SDK_VERSION=e.sdkVersion),e.timestamp&&(this.commonProperties.VZB_TIMESTAMP=e.timestamp),e.timezoneOffset&&(this.commonProperties.TIMEZONE=e.timezoneOffset),e.SCREEN_HOMESSO_USER_INFO&&(this.commonProperties.SCREEN_HOMESSO_USER_INFO=e.SCREEN_HOMESSO_USER_INFO)}},{key:"setAttributesProviderProperties",value:function(e,t){if(0!=this.attributesProvidersList.length){var n=this.attributesProvidersList.map(function(e){return e.provider.getAttributes()});Promise.all(n).then(function(n){n.forEach(function(t){t&&(e=$.extend(e,t))}),t(e)}).catch(function(n){console.error("Error getting attributes:",n),t(e)})}else t(e)}},{key:"setCustomProperties",value:function(e){var t=this;VizbeeSDK.logger.d("MetricsManager","setCustomProperties"),$.each(e,function(e,n){t.commonProperties["CUSTOM_"+n]=e})}},{key:"addProvider",value:function(e,t){VizbeeSDK.logger.d("MetricsManager","addProvider"),this.attributesProvidersList.push({provider:e,filterRegEx:t})}},{key:"removeProvider",value:function(e){VizbeeSDK.logger.d("MetricsManager","removeProvider"),this.attributesProvidersList=$.reject(this.attributesProvidersList,function(t){return t.provider==e})}},{key:"trackEvent",value:function(e,t){var n=this;this.shouldTrack(e,t)&&this._setUpdatedCommonProperties(function(){VizbeeSDK.logger.d("MetricsManager","trackEvent",e);var i=$.extend({},n.commonProperties,t);n.track(e,i)})}},{key:"trackScreenLaunched",value:function(){var e=this;this.shouldTrack("SCREEN_LAUNCHED",this.commonProperties)&&this._setUpdatedCommonProperties(function(){VizbeeSDK.logger.d("MetricsManager","trackScreenLaunched");var t=$.extend({},e.commonProperties,e.buildPlayerProperties());e.track("SCREEN_LAUNCHED",t)})}},{key:"trackScreenTVViewLoad",value:function(e){var t=this;this.shouldTrack("SCREEN_TV_VIEW_LOAD",e)&&this._setUpdatedCommonProperties(function(){VizbeeSDK.logger.d("MetricsManager","trackScreenTVViewLoad"),t.commonProperties.distinct_id=t.commonProperties.APP_ID+":"+t.commonProperties.SCREEN_DEVICE_TYPE+":"+ae.uuidv4()+":"+Date.now(),t.needToSetDistinctIdForVideoEvents=!1;var n=$.extend({},t.commonProperties,t.buildPlayerProperties(),t.buildNewScreenTVViewProperties(e),t.buildScreenTVViewQualityProperties(e),t.buildStreamInfoAndMetadataProperties(e));t.track("SCREEN_TV_VIEW_LOAD",n)})}},{key:"trackScreenTVViewStart",value:function(e){var t=this;this.shouldTrack("SCREEN_TV_VIEW_START",e)&&this._setUpdatedCommonProperties(function(){VizbeeSDK.logger.d("MetricsManager","trackScreenTVViewStart"),t.needToSetDistinctIdForVideoEvents&&(t.commonProperties.distinct_id&&-1==t.commonProperties.distinct_id.indexOf(t.commonProperties.SCREEN_DEVICE_TYPE)&&(t.commonProperties.APP_ID,t.commonProperties.SCREEN_DEVICE_TYPE,ae.uuidv4(),Date.now()),t.needToSetDistinctIdForVideoEvents=!0);var n=$.extend({},t.commonProperties,t.buildPlayerProperties(),t.buildScreenTVViewStartProperties(e),t.buildScreenTVViewQualityProperties(e),t.buildScreenTVViewStartTimeQualityProperties(e),t.buildStreamInfoAndMetadataProperties(e));t.track("SCREEN_TV_VIEW_START",n)})}},{key:"trackScreenTVViewPause",value:function(e){var t=this;this.shouldTrack("SCREEN_TV_VIEW_PAUSE",e)&&this._setUpdatedCommonProperties(function(){VizbeeSDK.logger.d("MetricsManager","trackScreenTVViewPause");var n=$.extend({},t.commonProperties,t.buildPlayerProperties(),t.buildScreenTVViewDurationProperties(e),t.buildScreenTVViewQualityProperties(e),t.buildStreamInfoAndMetadataProperties(e));t.track("SCREEN_TV_VIEW_PAUSE",n)})}},{key:"trackScreenTVViewResume",value:function(e){var t=this;this.shouldTrack("SCREEN_TV_VIEW_RESUME",e)&&this._setUpdatedCommonProperties(function(){VizbeeSDK.logger.d("MetricsManager","trackScreenTVViewResume");var n=$.extend({},t.commonProperties,t.buildPlayerProperties(),t.buildScreenTVViewResumeProperties(e),t.buildScreenTVViewQualityProperties(e),t.buildStreamInfoAndMetadataProperties(e));t.track("SCREEN_TV_VIEW_RESUME",n)})}},{key:"trackScreenTVViewDuration",value:function(e){var t=this;this.shouldTrack("SCREEN_TV_VIEW_DURATION",e)&&this._setUpdatedCommonProperties(function(){VizbeeSDK.logger.d("MetricsManager","trackScreenTVViewDuration");var n=$.extend({},t.commonProperties,t.buildPlayerProperties(),t.buildScreenTVViewDurationProperties(e),t.buildScreenTVViewQualityProperties(e),t.buildStreamInfoAndMetadataProperties(e));n.SCREEN_HOMESSO_USER_INFO=void 0,t.track("SCREEN_TV_VIEW_DURATION",n)})}},{key:"trackScreenTVViewError",value:function(e){var t=this,n="SCREEN_TV_VIEW_ERROR";this.shouldTrack(n,e)&&this._setUpdatedCommonProperties(function(){VizbeeSDK.logger.d("MetricsManager","trackScreenTVViewError");var i=$.extend({},t.commonProperties,t.buildPlayerProperties(),t.buildScreenTVViewErrorProperties(e),t.buildScreenTVViewDurationProperties(e),t.buildScreenTVViewQualityProperties(e),t.buildStreamInfoAndMetadataProperties(e));t.track(n,i)})}},{key:"trackScreenAdView",value:function(e){var t=this;this.shouldTrack("SCREEN_AD_VIEW",e)&&this._setUpdatedCommonProperties(function(){VizbeeSDK.logger.d("MetricsManager","trackScreenAdView","tracking SCREEN_AD_VIEW");var n=$.extend({},t.commonProperties,t.buildPlayerProperties(),t.buildScreenAdViewProperties(e));t.track("SCREEN_AD_VIEW",n)})}},{key:"trackScreenRemoteConnected",value:function(e){var t=this;e&&this.shouldTrack("SCREEN_REMOTE_CONNECTED")&&this._setUpdatedCommonProperties(function(){VizbeeSDK.logger.d("MetricsManager","trackScreenRemoteConnected");var n=$.extend({},t.commonProperties,t.buildPlayerProperties(),t._buildSenderProperties(e));t.track("SCREEN_REMOTE_CONNECTED",n)})}},{key:"trackScreenTVSignin",value:function(e){var t=this;e&&this.shouldTrack("SCREEN_TV_SIGNIN")&&this._setUpdatedCommonProperties(function(){VizbeeSDK.logger.d("MetricsManager","trackScreenTVSignin");var n=$.extend({},t.commonProperties,t.buildScreenTVSigninProperties(e));t.track("SCREEN_TV_SIGNIN",n)})}},{key:"_buildSenderProperties",value:function(e){return e&&e.ssinfo?{CONNECTED_REMOTE:e.ssinfo}:{}}},{key:"metricsConfig",value:function(){return this.config.metricsParams}},{key:"isVideoEvent",value:function(e){return-1!=["SCREEN_TV_VIEW_LOAD","SCREEN_TV_VIEW_START","SCREEN_TV_VIEW_PAUSE","SCREEN_TV_VIEW_RESUME","SCREEN_TV_VIEW_DURATION","SCREEN_AD_VIEW"].indexOf(e)}},{key:"isValidContinuityEvent",value:function(e){return-1!=["SCREEN_LAUNCHED","SCREEN_REMOTE_CONNECTED","SCREEN_TV_SIGNIN","SCREEN_TV_VIEW_LOAD","SCREEN_TV_VIEW_START","SCREEN_TV_VIEW_PAUSE","SCREEN_TV_VIEW_RESUME","SCREEN_TV_VIEW_DURATION","SCREEN_TV_VIEW_ERROR","SCREEN_AD_VIEW"].indexOf(e)}},{key:"isValidHomeSSOEvent",value:function(e){return-1!=["SCREEN_HOMESSO_SIGNIN_RECEIVED","SCREEN_HOMESSO_SIGNIN_STATUS"].indexOf(e)}},{key:"shouldTrack",value:function(e,t){if(0!=Object.keys(this.config).length){var n=!0;return this.isValidContinuityEvent(e)?this.isVideoEvent(e)&&this.metricsConfig()&&this.metricsConfig().shouldSendViewEventsOnlyOnCast&&t&&!t.isVideoLaunchedFromPhone&&(n=!1):this.isValidHomeSSOEvent(e)||(n=!1),n}VizbeeSDK.logger.e("MetricsManager","shouldTrack","called with empty config!")}},{key:"track",value:function(e,t){this.metricsRouter.track(e,t)}},{key:"buildPlayerProperties",value:function(){var e={PLAYER_NAME:"UNKNOWN"};return VizbeeTV.tv.player&&(e.PLAYER_NAME=VizbeeTV.tv.player.getName()),e}},{key:"buildVideoProperties",value:function(e){return{VIDEO_ID:e.videoId,VIDEO_TITLE:e.videoTitle,VIDEO_START_TIME:e.videoStartTime,VIDEO_DURATION_MS:Math.round(e.videoDuration),IS_LIVE:e.isLive,IS_CONTINUED_VIEW:e.isContinuedView,IS_VIDEO_LAUNCHED_FROM_PHONE:e.isVideoLaunchedFromPhone}}},{key:"buildNewScreenTVViewProperties",value:function(e){return this.buildVideoProperties(e)}},{key:"buildScreenTVViewStartProperties",value:function(e){return this.buildVideoProperties(e)}},{key:"buildScreenTVViewResumeProperties",value:function(e){return $.extend({VIDEO_PAUSED_TIME_MS:Math.round(e.videoPausedTimeInMs)},this.buildScreenTVViewDurationProperties(e))}},{key:"buildScreenTVViewDurationProperties",value:function(e){return $.extend({VIDEO_POSITION_MS:Math.round(e.videoPosition),VIDEO_POSITION_MIN:e.videoPostitionMin,VIDEO_ELAPSED_TIME_MS:Math.round(e.videoElapsedTime),VIDEO_ELAPSED_TIME_MIN:e.videoElapsedTimeMin},this.buildVideoProperties(e))}},{key:"buildStreamInfoAndMetadataProperties",value:function(e){var t={};try{if(e.customStreamInfo&&e.customMetadata){var n={customStreamInfo:e.customStreamInfo,customMetadata:e.customMetadata};t=$.extend({},ae.flatten(n))}}catch(e){}return t}},{key:"buildScreenTVViewQualityProperties",value:function(e){(!e.startTime||e.startTime<0)&&(e.startTime=0);var t=e.startTime/1e3,n=e.videoBufferLevel?e.videoBufferLevel.current:0,i=e.audioBufferLevel?e.audioBufferLevel.current:0,r=e.audioBufferLevel?e.audioBufferLevel.didDetectSeparateAudio:"UNKNOWN",a=2*Math.ceil(t/2),o=2*Math.ceil(n/2),s=2*Math.ceil(i/2);return $.extend({START_TIME_SEC:t||0,VIDEO_BUFFER_SEC:n||0,AUDIO_BUFFER_SEC:i||0,AUDIO_STREAM_DETECTED:r,START_TIME_2SEC_BIN:a||0,VIDEO_BUFFER_2SEC_BIN:o||0,AUDIO_BUFFER_2SEC_BIN:s||0},this.buildVideoProperties(e))}},{key:"buildScreenTVViewStartTimeQualityProperties",value:function(e){return e&&$.get(this.config,["features","sendStartTimeQualityInfo"])?{PRE_ROLL_AD_POD_START_TIME_MS:e.adPodStartedTimeInMs?e.adPodStartedTimeInMs:0,PRE_ROLL_AD_POD_END_TIME_MS:e.adPodEndedTimeInMs?e.adPodEndedTimeInMs:0,VIDEO_LOAD_RECEIVED_BY_APP_TIME_MS:e.loadReceivedByAppTimeInMs?e.loadReceivedByAppTimeInMs:0,VIDEO_LOAD_RECEIVED_BY_PLAYER_TIME_MS:e.loadReceivedByPlayerTimeInMs?e.loadReceivedByPlayerTimeInMs:0,VIDEO_METADATA_LOADED_TIME_MS:e.metadataLoadedTimeInMs?e.metadataLoadedTimeInMs:0,VIDEO_PLAYER_READY_TIME_MS:e.playerReadyToPlayTimeInMs?e.playerReadyToPlayTimeInMs:0,VIDEO_PLAYBACK_STARTED_TIME_MS:e.playbackStartedTimeInMs?e.playbackStartedTimeInMs:0}:{}}},{key:"buildScreenTVViewErrorProperties",value:function(e){return $.extend({VIDEO_POSITION_MS:Math.round(e.videoPosition),FAILURE_VALUE:e.failureValue,FAILURE_CODE:e.failureCode},this.buildVideoProperties(e))}},{key:"buildScreenAdViewProperties",value:function(e){return{SCREEN_AD_ID:e.adId,AD_DURATION:e.adDuration,VIDEO_ID:e.videoId,VIDEO_TITLE:e.videoTitle,VIDEO_DURATION_MS:Math.round(e.videoDuration),VIDEO_POSITION_MS:Math.round(e.videoPosition),IS_LIVE:e.isLive,IS_VIDEO_LAUNCHED_FROM_PHONE:e.isVideoLaunchedFromPhone}}},{key:"buildScreenTVSigninProperties",value:function(e){return{USER_ID:e.userId,USER_LOGIN:e.userLogin,USER_LOGIN_TYPE:e.userLoginType}}},{key:"_setUpdatedCommonProperties",value:function(e){var t=this,n={};this.commonProperties.adId&&this.commonProperties.adId!=ga||(n.adId=VizbeeTV.tv.adId||ga),this.commonProperties.isAdTrackingDisabled&&this.commonProperties.isAdTrackingDisabled!=ga||(n.isAdTrackingDisabled=VizbeeTV.tv.isAdTrackingDisabled||ga),VizbeeTV.tv.deviceInfo&&(VizbeeTV.tv.deviceInfo.deviceId&&VizbeeTV.tv.deviceInfo.deviceId!=ga&&(n.deviceId=VizbeeTV.tv.deviceInfo.deviceId),VizbeeTV.tv.deviceInfo.model&&VizbeeTV.tv.deviceInfo.model!=ga&&(n.deviceModel=VizbeeTV.tv.deviceInfo.model)),this.setAttributesProviderProperties(n,function(n){t.setCommonProperties(n),e()})}}])}(),ma=new ya,ba="receiver_with_applets",Sa=function(){function e(t,n){var i;return a(this,e),(i=r(this,e,[t,n])).appConfig=n,i.currentVideoId=void 0,i.didLogStartVideo=!1,i.lastLoggedVideoPostition2XMin=-1,i.elapsedLastPlayingTimestamp=void 0,i.elapsedPlayingTime=0,i.targetAppType=i.appConfig&&i.appConfig.features&&i.appConfig.features.targetAppType,i.senderMap={},i}return h(e,ta),s(e,[{key:"connect",value:function(t){ma.init(this.appConfig);var n=VizbeeTV.tv.launchParamsDeferral;n&&"function"==typeof n.waitUntilReady?n.waitUntilReady().then(function(){ma.refreshLaunchParamProperties(),ma.trackScreenLaunched()}):ma.trackScreenLaunched(),m(e,"connect",this)([t])}},{key:"send",value:function(t){if(t&&t.cmd){var n=t;"status"==t.cmd.name&&(n=this.interceptVideoStatus(t)),m(e,"send",this)([n])}else m(e,"send",this)([t])}},{key:"interceptVideoStatus",value:function(e){if(this.currentVideoId!=e.vstatus.id&&(this.currentVideoId=e.vstatus.id,this.didLogStartVideo=!1,this.lastLoggedVideoPostition2XMin=-1,this.elapsedLastPlayingTimestamp=Date.now(),this.elapsedPlayingTime=0,VizbeeSDK.logger.d("MetricsExtension","interceptVideoStatus","logging new video"),ma.trackScreenTVViewLoad({videoId:e.vstatus.id,videoTitle:e.vinfoext.title||e.vinfo.url,videoStartTime:e.vinfoext.videostarttime,videoDuration:e.vstatus.du||-1,isLive:e.vinfo.islive,customStreamInfo:e.vinfoext.customstreaminfo,customMetadata:e.vinfoext.custommetadata,isContinuedView:!(!e.qstatus||!e.qstatus.prev),isVideoLaunchedFromPhone:e.vinfoext.wasVideoStartedByVizbee})),"PLAYING"==e.vstatus.st&&(e.vinfo.islive||!e.vinfo.islive&&e.vstatus.po>0)){if(!this.didLogStartVideo){VizbeeSDK.logger.d("MetricsExtension","interceptVideoStatus","logging start video");var t=e.vinfoext.qos||{};ma.trackScreenTVViewStart({videoId:e.vstatus.id,videoTitle:e.vinfoext.title||e.vinfo.url,videoStartTime:e.vinfoext.videostarttime,videoDuration:e.vstatus.du,isLive:e.vinfo.islive,customStreamInfo:e.vinfoext.customstreaminfo,customMetadata:e.vinfoext.custommetadata,isContinuedView:!(!e.qstatus||!e.qstatus.prev),isVideoLaunchedFromPhone:e.vinfoext.wasVideoStartedByVizbee,startTime:t.starttime||0,audioBufferLevel:t.audiobufferlevel||{},videoBufferLevel:t.videobufferlevel||{},adPodStartedTimeInMs:t.adPodStartedTimeInMs||0,adPodEndedTimeInMs:t.adPodEndedTimeInMs||0,loadReceivedByAppTimeInMs:t.loadReceivedByAppTimeInMs||0,loadReceivedByPlayerTimeInMs:t.loadReceivedByPlayerTimeInMs||0,metadataLoadedTimeInMs:t.metadataLoadedTimeInMs||0,playerReadyToPlayTimeInMs:t.playerReadyToPlayTimeInMs||0,playbackStartedTimeInMs:t.playbackStartedTimeInMs||0}),this.didLogStartVideo=!0}this.elapsedPlayingTime=this.elapsedPlayingTime+(Date.now()-this.elapsedLastPlayingTimestamp),this.elapsedLastPlayingTimestamp=Date.now();var n=2*Math.floor(e.vstatus.po/12e4);n>this.lastLoggedVideoPostition2XMin&&(this.lastLoggedVideoPostition2XMin=n,ma.trackScreenTVViewDuration({videoId:e.vstatus.id,videoTitle:e.vinfoext.title||e.vinfo.url,videoStartTime:e.vinfoext.videostarttime,videoDuration:e.vstatus.du,videoPosition:e.vstatus.po,videoPostitionMin:this.lastLoggedVideoPostition2XMin,videoElapsedTime:this.elapsedPlayingTime,videoElapsedTimeMin:2*Math.floor(this.elapsedPlayingTime/12e4),isLive:e.vinfo.islive,customStreamInfo:e.vinfoext.customstreaminfo,customMetadata:e.vinfoext.custommetadata,isContinuedView:!(!e.qstatus||!e.qstatus.prev),isVideoLaunchedFromPhone:e.vinfoext.wasVideoStartedByVizbee,startTime:e.vinfoext.qos.starttime,audioBufferLevel:e.vinfoext.qos.audiobufferlevel,videoBufferLevel:e.vinfoext.qos.videobufferlevel}))}return"FAILED"==e.vstatus.st&&ma.trackScreenTVViewError({videoId:e.vstatus.id,videoTitle:e.vinfoext.title||e.vinfo.url,isLive:e.vinfo.islive,videoStartTime:e.vinfoext.videostarttime,videoDuration:e.vstatus.du,videoPosition:e.vstatus.po,videoPostitionMin:this.lastLoggedVideoPostition2XMin,videoElapsedTime:this.elapsedPlayingTime,videoElapsedTimeMin:2*Math.floor(this.elapsedPlayingTime/12e4),customStreamInfo:e.vinfoext.customstreaminfo,customMetadata:e.vinfoext.custommetadata,isContinuedView:!(!e.qstatus||!e.qstatus.prev),isVideoLaunchedFromPhone:e.vinfoext.wasVideoStartedByVizbee,failureValue:e.vstatus.er.reason,failureCode:e.vstatus.er.code,startTime:e.vinfoext.qos.starttime,audioBufferLevel:e.vinfoext.qos.audiobufferlevel,videoBufferLevel:e.vinfoext.qos.videobufferlevel}),["INTERRUPTED","FINISHED","FAILED"].indexOf(e.vstatus.st)>-1&&(this.currentVideoId=void 0),e}},{key:"handleSyncReceiveEvent",value:function(e){var t=e.data;if(t&&t.b&&t.b.cmd&&"video"===t.b.cmd.ns&&"event"===t.b.cmd.name&&t.b.einfo&&"tv.vizbee.homesign.signin"==t.b.einfo.type){var n=t.b.einfo.data&&t.b.einfo.data.authInfo;n&&ma.trackScreenTVSignin(n)}return e}},{key:"handleNonSyncReceiveEvent",value:function(e){var t=this;if(e&&e.type==mn.SYNC_PRESENCE){var n=e.data;if(n&&this.senderMap){var i=Object.keys(this.senderMap),r=Object.keys(n);r.length>i.length?r.forEach(function(e){t.senderMap[e]||(!n[e]||"vzb0000000"===n[e].appId&&t.targetAppType===ba||(VizbeeSDK.logger.d("MetricsExtension","handleNonSyncReceiveEvent","new sender connected, id = "+e),ma.trackScreenRemoteConnected(n[e])),t.senderMap[e]=n[e])}):r.length<i.length&&i.forEach(function(e){-1==r.indexOf(e)&&(VizbeeSDK.logger.d("MetricsExtension","handleNonSyncReceiveEvent","sender disconnected, id = "+e),delete t.senderMap[e])})}}return e}}])}(),_a=function(){function e(t,n){var i;return a(this,e),(i=r(this,e,[t,n])).appConfig=n,i.currentVideoId=void 0,i.elapsedLastPlayingTimestamp=void 0,i.elapsedPlayingTime=0,i.videoPausedTimestamp=-1,i.didLogPauseVideo=!1,i}return h(e,ta),s(e,[{key:"connect",value:function(t){ma.init(this.appConfig),m(e,"connect",this)([t])}},{key:"send",value:function(t){if(t&&t.cmd){var n=t;"status"==t.cmd.name&&(n=this.interceptVideoStatus(t)),m(e,"send",this)([n])}else m(e,"send",this)([t])}},{key:"interceptVideoStatus",value:function(e){return this.currentVideoId!=e.vstatus.id&&(this.currentVideoId=e.vstatus.id,this.elapsedLastPlayingTimestamp=Date.now(),this.elapsedPlayingTime=0,this.videoPausedTimestamp=-1,this.didLogPauseVideo=!1),"PLAYING"==e.vstatus.st&&(e.vinfo.islive||!e.vinfo.islive&&e.vstatus.po>0)&&(this.elapsedPlayingTime=this.elapsedPlayingTime+(Date.now()-this.elapsedLastPlayingTimestamp),this.elapsedLastPlayingTimestamp=Date.now(),this.didLogPauseVideo&&(VizbeeSDK.logger.debug("FilterPauseResumeEventsExtension::interceptVideoStatus - logging resume video"),ma.trackScreenTVViewResume({videoId:e.vstatus.id,videoTitle:e.vinfoext.title||e.vinfo.url,videoStartTime:e.vinfoext.videostarttime,videoDuration:e.vstatus.du,videoPosition:e.vstatus.po,videoPostitionMin:2*Math.floor(e.vstatus.po/12e4),videoElapsedTime:this.elapsedPlayingTime,videoElapsedTimeMin:2*Math.floor(this.elapsedPlayingTime/12e4),videoPausedTimeInMs:Date.now()-this.videoPausedTimestamp,isLive:e.vinfo.islive,customStreamInfo:e.vinfoext.customstreaminfo,customMetadata:e.vinfoext.custommetadata,isContinuedView:!(!e.qstatus||!e.qstatus.prev),isVideoLaunchedFromPhone:e.vinfoext.wasVideoStartedByVizbee,startTime:e.vinfoext.qos.starttime,audioBufferLevel:e.vinfoext.qos.audiobufferlevel,videoBufferLevel:e.vinfoext.qos.videobufferlevel})),this.videoPausedTimestamp=-1,this.didLogPauseVideo=!1),"PAUSED_BY_USER"==e.vstatus.st&&(-1==this.videoPausedTimestamp&&(this.videoPausedTimestamp=Date.now()),!this.didLogPauseVideo&&Date.now()-this.videoPausedTimestamp>=15e3&&(VizbeeSDK.logger.debug("FilterPauseResumeEventsExtension::interceptVideoStatus - logging pause video"),ma.trackScreenTVViewPause({videoId:e.vstatus.id,videoTitle:e.vinfoext.title||e.vinfo.url,videoStartTime:e.vinfoext.videostarttime,videoDuration:e.vstatus.du,videoPosition:e.vstatus.po,videoPostitionMin:2*Math.floor(e.vstatus.po/12e4),videoElapsedTime:this.elapsedPlayingTime,videoElapsedTimeMin:2*Math.floor(this.elapsedPlayingTime/12e4),isLive:e.vinfo.islive,customStreamInfo:e.vinfoext.customstreaminfo,customMetadata:e.vinfoext.custommetadata,isContinuedView:!(!e.qstatus||!e.qstatus.prev),isVideoLaunchedFromPhone:e.vinfoext.wasVideoStartedByVizbee,startTime:e.vinfoext.qos.starttime,audioBufferLevel:e.vinfoext.qos.audiobufferlevel,videoBufferLevel:e.vinfoext.qos.videobufferlevel}),this.didLogPauseVideo=!0)),["INTERRUPTED","FINISHED","FAILED"].indexOf(e.vstatus.st)>-1&&(this.currentVideoId=void 0),e}}])}(),ka=function(){function e(t,n){var i;return a(this,e),VizbeeSDK.logger.debug("DisconnectSendersInBackgroundExtension::constructor()",t,n.appId),(i=r(this,e,[t,n]))._enable=!1,i._senderAliveTimeoutWithFGFlagInMs=6e4,i._senderAliveTimeoutWithoutFGFlagInMs=72e4,i._senderAliveCheckTimer=void 0,i._senderAliveTimerWithFGFlag=void 0,i._senderAlivetTimerWithoutFGFlag=void 0,i._androidSendersInBackgroundMap={},i._androidSendersWithoutFGFlagMap={},i._getExtensionConfigData(n),i}return h(e,ta),s(e,[{key:"_getExtensionConfigData",value:function(e){if(e&&e.features&&e.features.DisconnectSendersInBackgroundExtension){var t=e.features.DisconnectSendersInBackgroundExtension;1==t.enable&&(this._enable=!0,null!=t.senderAliveTimeoutWithFGFlagInMs&&(this._senderAliveTimeoutWithFGFlagInMs=t.senderAliveTimeoutWithFGFlagInMs),null!=t.senderAliveTimeoutWithoutFGFlagInMs&&(this._senderAliveTimeoutWithoutFGFlagInMs=t.senderAliveTimeoutWithoutFGFlagInMs))}}},{key:"disconnect",value:function(){VizbeeSDK.logger.debug("DisconnectSendersInBackgroundExtension::disconnect()"),this._stopAllTimers(),this._resetToDefault(),m(e,"disconnect",this)([])}},{key:"handleSyncReceiveEvent",value:function(e){if(!this._enable)return e;var t=e.data;if(t&&t.h){var n=t.h.ty&&t.h.ty.toLowerCase(),i=t.h.st&&t.h.st.toLowerCase();n&&"remote"==n&&i&&"android"==i&&(t.h.ssinfo&&null!=t.h.ssinfo.IS_IN_FOREGROUND?0==t.h.ssinfo.IS_IN_FOREGROUND?this._androidSendersInBackgroundMap[t.h.id]||(VizbeeSDK.logger.info("DisconnectSendersInBackgroundExtension::handleSyncReceiveEvent - adding new sender to the map"),this._androidSendersInBackgroundMap[t.h.id]=Date.now()):this._androidSendersInBackgroundMap={}:this._androidSendersWithoutFGFlagMap[t.h.id]||(this._androidSendersWithoutFGFlagMap[t.h.id]=Date.now(),VizbeeSDK.logger.info("DisconnectSendersInBackgroundExtension::handleSyncReceiveEvent - adding new sender to the map")))}return this._startSenderAliveCheckTimer(),e}},{key:"_startSenderAliveCheckTimer",value:function(){var e=this;this._stopSenderAliveCheckTimer(),this._senderAliveCheckTimer=window.setInterval(function(){e._checkSenderStatusAndSendOlleh()},1e3)}},{key:"_checkSenderStatusAndSendOlleh",value:function(){this._handleSendersInBackground(),this._handleSendersWithoutFGFlag()}},{key:"_handleSendersInBackground",value:function(){var e=this,t=Date.now();$.keys(this._androidSendersInBackgroundMap).filter(function(n){return t-e._androidSendersInBackgroundMap[n]>e._senderAliveTimeoutWithFGFlagInMs}).length>0&&(VizbeeSDK.logger.info("DisconnectSendersInBackgroundExtension::_handleSendersInBackground - sending olleh as there are no senders in foreground"),this._sendOllehMessage(),this._resetToDefault())}},{key:"_handleSendersWithoutFGFlag",value:function(){var e=this,t=Date.now(),n=$.keys(this._androidSendersWithoutFGFlagMap),i=$.keys(this._androidSendersWithoutFGFlagMap).filter(function(n){return t-e._androidSendersWithoutFGFlagMap[n]>e._senderAliveTimeoutWithoutFGFlagInMs});i.length>0&&n.length==i.length&&(VizbeeSDK.logger.info("DisconnectSendersInBackgroundExtension::_handleSendersWithoutFGFlag - sending olleh as there are no senders in foreground"),this._sendOllehMessage(),this._resetToDefault())}},{key:"_sendOllehMessage",value:function(){this.dispatchReceive(new yn(mn.SYNC_MESSAGE,{b:{cmd:{ns:"video",name:"olleh",type:"int"},hstatus:{id:this.appConfig.deviceId,type:"SCREEN",vip:"false"}}}))}},{key:"_resetToDefault",value:function(){this._stopAllTimers(),this._androidSendersInBackgroundMap={},this._androidSendersWithoutFGFlagMap={}}},{key:"_stopAllTimers",value:function(){this._stopSenderAliveCheckTimer(),this._stopDisconnetionTimerWithIsInFGFlag(),this._stopDisconnetionTimerWithoutIsInFGFlag()}},{key:"_stopSenderAliveCheckTimer",value:function(){this._senderAliveCheckTimer&&(window.clearInterval(this._senderAliveCheckTimer),this._senderAliveCheckTimer=void 0)}},{key:"_stopDisconnetionTimerWithIsInFGFlag",value:function(){this._senderAliveTimerWithFGFlag&&(window.clearTimeout(this._senderAliveTimerWithFGFlag),this._senderAliveTimerWithFGFlag=void 0)}},{key:"_stopDisconnetionTimerWithoutIsInFGFlag",value:function(){this._senderAliveWithoutFGFlagTimer&&(window.clearTimeout(this._senderAliveWithoutFGFlagTimer),this._senderAliveWithoutFGFlagTimer=void 0)}}])}(),Ta=t(on()),Ia=function(){function e(t,n){var i;if(a(this,e),(i=r(this,e,[t,n])).enable=!0,n&&n.features&&n.features.SubtitlesExtension){var o=n.features.SubtitlesExtension;null!=o.enable&&(i.enable=o.enable)}return i}return h(e,ta),s(e,[{key:"_isEnabled",value:function(){return this.enable}},{key:"handleSyncReceiveEvent",value:function(e){var t=e.data;if(VizbeeSDK.logger.verbose("SubtitlesExtension::handleSyncReceiveEvent - received message data = ".concat(JSON.stringify(t))),!(t&&t.b&&t.b.cmd))return e;var n=t.b.cmd.name;if(!(n&&["enabletrack","disabletrack"].indexOf(n.toLowerCase())>-1))return e;if(this._isEnabled()){var i=Number(t.b.cmd.param);if(!isNaN(i)){var r=[i];"enabletrack"===t.b.cmd.name?Ta.enableTracks(r):Ta.disableTracks(r)}}}},{key:"send",value:function(t){if(t&&t.cmd){var n=t,i="status"==t.cmd.name,r="hello"==t.cmd.name&&"rsp"==t.cmd.type&&t.vstatus;(i||r)&&(n=this._interceptVideoStatus(t)),m(e,"send",this)([n])}else m(e,"send",this)([t])}},{key:"_interceptVideoStatus",value:function(e){return this._addTrackStatus(e)}},{key:"_addTrackStatus",value:function(e){if(!e||!e.vstatus)return e;if(e.vstatus.tr||(e.vstatus.tr={}),!this._isEnabled())return e;var t=this._getTextTrackStatus();return e.vstatus.tr.availableTextTracks=t.availableTextTracks,e.vstatus.tr.currentTextTrack=t.currentTextTrack,e}},{key:"_getTextTrackStatus",value:function(){var e={},t=Ta.getTracks(C),n=Ta.getEnabledTracks(C);if(t&&Array.isArray(t)&&t.length>0&&(t.forEach(function(t){var n=t.toJSON();n&&(e.availableTextTracks||(e={availableTextTracks:[],currentTextTrack:{}}),e.availableTextTracks.push({screenTrackId:n.id,languageCode:n.lang}))}),n&&Array.isArray(n)&&n.length>0)){var i=n[0].toJSON();i&&(e.currentTextTrack={screenTrackId:i.id,languageCode:i.lang})}return e}}])}(),Va=function(){function e(t,n){var i;if(a(this,e),(i=r(this,e,[t,n])).enable=!0,n&&n.features&&n.features.AudioTracksExtension){var o=n.features.AudioTracksExtension;null!=o.enable&&(i.enable=o.enable)}return i}return h(e,ta),s(e,[{key:"_isEnabled",value:function(){return this.enable}},{key:"handleSyncReceiveEvent",value:function(e){if(!this._isEnabled())return e;var t=e.data;if(VizbeeSDK.logger.verbose("AudioTracksExtension::handleSyncReceiveEvent - received message data = ".concat(JSON.stringify(t))),!(t&&t.b&&t.b.cmd))return e;var n=t.b.cmd.name;if(!n||"string"!=typeof n||"changeaudiotrack"!==n.toLowerCase())return e;var i=Number(t.b.cmd.param);isNaN(i)?VizbeeSDK.logger.debug("AudioTracksExtension::handleSyncReceiveEvent - received changeAudioTrack command with invalid trackId = ".concat(i)):(VizbeeSDK.logger.debug("AudioTracksExtension::handleSyncReceiveEvent - received changeAudioTrack command with trackId = ".concat(i)),Ta.changeAudioTrack(i))}},{key:"send",value:function(t){if(t&&t.cmd){var n=t,i="status"==t.cmd.name,r="hello"==t.cmd.name&&"rsp"==t.cmd.type&&t.vstatus;(i||r)&&(n=this._interceptVideoStatus(t)),VizbeeSDK.logger.verbose("AudioTracksExtension::send - forwarding out message",n),m(e,"send",this)([n])}else m(e,"send",this)([t])}},{key:"_interceptVideoStatus",value:function(e){return this._addAudioTrackStatus(e)}},{key:"_addAudioTrackStatus",value:function(e){if(!e||!e.vstatus)return e;if(e.vstatus.tr||(e.vstatus.tr={}),!this._isEnabled())return e;var t=this._getAudioTrackStatus();return e.vstatus.tr.availableAudioTracks=t.availableAudioTracks,e.vstatus.tr.currentAudioTrack=t.currentAudioTrack,e}},{key:"_getAudioTrackStatus",value:function(){var e={},t=Ta.getAudioTracks(D),n=Ta.getActiveAudioTrack(D);return t&&Array.isArray(t)&&t.length>0&&(t.forEach(function(t){var n=t.toJSON();n&&(e.availableAudioTracks||(e={availableAudioTracks:[],currentAudioTrack:{}}),e.availableAudioTracks.push({screenTrackId:n.id,languageCode:n.lang,displayName:n.label}))}),n&&null!=n.id&&(e.currentAudioTrack={screenTrackId:n.id,languageCode:n.lang,displayName:n.label})),e}}])}(),Ea=function(){return s(function e(){a(this,e)},null,[{key:"getVideoInfo",value:function(e){var t=e.data||{},n={};VizbeeSDK.logger.info("ChromecastToSyncConverter::getVideoInfo",JSON.stringify(t)),n.starttime=t.currentTime||0;var i=t.media;if(i){n.islive="LIVE"==i.streamType,n.videourl=i.contentUrl||i.contentId||"",n.contentType=i.contentType||"",n.tracks=i.tracks||[];var r=i.customData||{};n.id=r.guid||n.videourl,n.cuepoints=r.cuepoints||[],n.vzbSenderOS=r.vzbSenderOS,n.vzbVersion=r.vzbVersion,n.senderInfo={st:r.vzbSenderOS,version:r.vzbVersion},n.customstreaminfo=r.customStreamInfo||{},n.custommetadata=r.customMetadata||{},n.drminfo=r.drmInfo||{};var a=i.metadata;a&&(n.title=a.title||"",n.subtitle=a.subtitle||"",n.imgurl="",a.images&&a.images.length>0&&(n.imgurl=a.images[0].url))}return VizbeeSDK.logger.info("ChromecastToSyncConverter::getVideoInfo",e,n),n}}])}(),Pa=function(){function e(t,n){var i;if(a(this,e),(i=r(this,e,[t,n])).queueManager=void 0,i.enable=!1,n&&n.features&&n.features.QueueManagerExtension){var o=n.features.QueueManagerExtension;o.enable&&(i.enable=o.enable)}return i}return h(e,ta),s(e,[{key:"isEnabled",value:function(){return!!this.enable}},{key:"getQueueManager",value:function(){if(!this.queueManager){var e=cast.framework.CastReceiverContext.getInstance();this.queueManager=e.getPlayerManager().getQueueManager()}return this.queueManager}},{key:"send",value:function(t){if(this.isEnabled())if(t&&t.cmd){var n=t;"status"==t.cmd.name&&(n=this.interceptVideoStatus(t)),n&&m(e,"send",this)([n])}else m(e,"send",this)([t]);else m(e,"send",this)([t])}},{key:"interceptVideoStatus",value:function(e){var t;if("FINISHED"!=(t=this._addQStatus(e)).vstatus.st||!t.qstatus||!t.qstatus.next)return t}},{key:"_addQStatus",value:function(e){var t={},n=!1,i=[];if(this.getQueueManager()&&(i=this.getQueueManager().getItems()),0==i.length)return e;var r=this.getQueueManager().getCurrentItem(),a=$.find(i,function(e){return e.orderId==r.orderId-1});if(a){n=!0;var o=Ea.getVideoInfo({data:a});t.prev=na.encodeVideoInfo(o)}var s=$.find(i,function(e){return e.orderId==r.orderId+1});if(s){n=!0;var u=Ea.getVideoInfo({data:s});t.next=na.encodeVideoInfo(u)}return n&&(e.qstatus=t),e}}])}(),Aa=function(){return s(function e(){a(this,e),this.delegate=null},[{key:"setDelegate",value:function(e){this.delegate=e}},{key:"getDelegate",value:function(){return this.delegate}},{key:"playNextVideo",value:function(){}},{key:"playPrevVideo",value:function(){}}])}(),Ca=function(){return s(function e(){a(this,e)},[{key:"initialize",value:function(e){return null}},{key:"fetchNextVideo",value:function(e){return null}},{key:"fetchPrevVideo",value:function(e){return null}}])}(),Da=function(){function e(){return a(this,e),r(this,e,arguments)}return h(e,Ca),s(e,[{key:"initialize",value:function(e){return this.queueInfo=e,e}},{key:"fetchNextVideo",value:function(e){var t=this;return new Promise(function(n,i){var r=void 0;if(null!=t.queueInfo&&null!=t.queueInfo.items){var a=t.queueInfo.items.findIndex(function(t){return t.id===e});a>-1&&a<t.queueInfo.items.length-1&&(r=t.queueInfo.items[a+1])}null!=r?n(r):i()})}},{key:"fetchPrevVideo",value:function(e){var t=this;return new Promise(function(n,i){var r=void 0;if(null!=t.queueInfo&&null!=t.queueInfo.items){var a=t.queueInfo.items.findIndex(function(t){return t.id===e});a>0&&a<t.queueInfo.items.length&&(r=t.queueInfo.items[a-1])}null!=r?n(r):i()})}}])}(),wa=function(){function e(t){var n;return a(this,e),(n=r(this,e)).realQueueDelegate=t,VizbeeSDK.logger.debug("QueueCache::constructor - creating queueCache with new delegate",t),n.queueInfo=void 0,n.currentVideoGUID=void 0,n}return h(e,Ca),s(e,[{key:"_getCurrentVideoIndex",value:function(){var e=this;return null==this.currentVideoGUID||null==this.queueInfo||null==this.queueInfo.items?-1:$.findIndex(this.queueInfo.items,function(t){return t&&t.id===e.currentVideoGUID})}},{key:"_getQueueLength",value:function(){return null==this.queueInfo||null==this.queueInfo.items?0:this.queueInfo.items.length}},{key:"initialize",value:function(e){if(this.realQueueDelegate)return this.queueInfo=this.realQueueDelegate.initialize(e),this.queueInfo}},{key:"fetchNextVideo",value:function(){var e=this;if(null==this.currentVideoGUID)return new Promise(function(e,t){t("currentVideoGUID is undefined")});var t=this.getNextVideo();return new Promise(t?function(e,n){e(t)}:function(t,n){e.realQueueDelegate.fetchNextVideo(e.currentVideoGUID).then(function(n){var i=e._getCurrentVideoIndex(),r=e._getQueueLength();-1==i||0==r?t(void 0):(i>=0&&i<r-1?e.queueInfo.items[i+1]=n:i==r-1&&e.queueInfo.items.push(n),t(n))},function(e){n(e)}).catch(function(e){t(void 0)})})}},{key:"fetchPrevVideo",value:function(){var e=this;if(null==this.currentVideoGUID)return new Promise(function(e,t){t("currentVideoGUID is undefined")});var t=this.getPrevVideo();return new Promise(t?function(e,n){e(t)}:function(t,n){e.realQueueDelegate.fetchPrevVideo(e.currentVideoGUID).then(function(n){var i=e._getCurrentVideoIndex(),r=e._getQueueLength();-1==i||0==r?t(void 0):(i>0&&i<r?e.queueInfo.items[i-1]=n:0==i&&e.queueInfo.items.unshift(n),t(n))},function(e){n(e)}).catch(function(e){t(void 0)})})}},{key:"getNextVideo",value:function(){var e=void 0;if(null!=this.queueInfo&&null!=this.queueInfo.items){var t=this._getCurrentVideoIndex();t>-1&&t<this.queueInfo.items.length-1&&(e=this.queueInfo.items[t+1])}return e}},{key:"getPrevVideo",value:function(){var e=void 0;if(null!=this.queueInfo&&null!=this.queueInfo.items){var t=this._getCurrentVideoIndex();t>0&&t<this.queueInfo.items.length&&(e=this.queueInfo.items[t-1])}return e}},{key:"setCurrentVideo",value:function(e){this.currentVideoGUID=e}}])}(),Ma=null,Na=function(){function e(){return a(this,e),r(this,e,arguments)}return h(e,Aa),s(e,[{key:"setDelegate",value:function(t){VizbeeSDK.logger.debug("QueueService::setDelegate - creating queueCache with new delegate",t),m(e,"setDelegate",this)([t]),this.queueCache=new wa(t)}},{key:"getCache",value:function(){return this.queueCache}},{key:"playNextVideo",value:function(){null!=this.queueManagerExtension&&this.queueManagerExtension.playNextVideo()}},{key:"playPrevVideo",value:function(){null!=this.queueManagerExtension&&this.queueManagerExtension.playPrevVideo()}},{key:"setQueueManagerExtension",value:function(e){this.queueManagerExtension=e}}],[{key:"getInstance",value:function(){if(null==Ma){Ma=new e;var t=new Da;Ma.setDelegate(t)}return Ma}}])}(),Oa=function(){function e(){a(this,e),this.id="",this.name="",this.description="",this.items=[],this.startIndex=-1}return s(e,null,[{key:"fromJSON",value:function(t){var n=new e;return null!=t&&(n.id=t.id,n.name=t.name,n.description=t.description,n.items=t.items,t.startIndex=t.startIndex),n}}])}(),xa=function(){function e(t,n){var i;if(a(this,e),(i=r(this,e,[t,n])).nextOrPrevVideoInfo=void 0,i.enable=!1,n&&n.features&&n.features.QueueManagerExtension){var o=n.features.QueueManagerExtension;o.enable&&(i.enable=o.enable,i.setQueueService(Na.getInstance()))}return i}return h(e,ta),s(e,[{key:"isEnabled",value:function(){return!(!this.enable||null==this.getCache())}},{key:"setQueueService",value:function(e){this.queueService=e,this.queueService.setQueueManagerExtension(this)}},{key:"getCache",value:function(){if(this.queueService)return this.queueService.getCache()}},{key:"handleSyncReceiveEvent",value:function(t){if(!this.isEnabled())return m(e,"handleSyncReceiveEvent",this)([t]);var n=!0,i=t.data;if("start_video"===i.b.cmd.name){this._willStartVideo(t),VizbeeSDK.logger.debug("QueueManagerExtension::handleSyncReceiveEvent - initializing queue"),n=!0;var r=Oa.fromJSON(i.b.internal.queueInfo);this.getCache().initialize(r)}else"queue_next"===i.b.cmd.name?(n=!1,this.playNextVideo()):"queue_prev"===i.b.cmd.name&&(n=!1,this.playPrevVideo());return n?t:void 0}},{key:"playNextVideo",value:function(){var e=this;VizbeeSDK.logger.debug("QueueManagerExtension::playNextVideo"),this.getCache()&&this.getCache().fetchNextVideo().then(function(t){t&&e._sendStartVideo(t)},function(t){VizbeeSDK.logger.debug("QueueManagerExtension::playNextVideo - FAILED to fetch next video"),e.sendEvent(t)}).catch(function(t){return VizbeeSDK.logger.warn(e.constructor.name+"::playNextVideo - error ",t)})}},{key:"playPrevVideo",value:function(){var e=this;VizbeeSDK.logger.debug("QueueManagerExtension::playPrevVideo"),this.getCache()&&this.getCache().fetchPrevVideo().then(function(t){t&&e._sendStartVideo(t)},function(t){VizbeeSDK.logger.debug("QueueManagerExtension::playPrevVideo - FAILED to fetch prev video"),e.sendEvent(t)}).catch(function(t){return VizbeeSDK.logger.warn(e.constructor.name+"::playPrevVideo - error ",t)})}},{key:"_willStartVideo",value:function(e){if(VizbeeSDK.logger.debug("QueueManagerExtension::_willStartVideo"),e){var t=JSON.parse(JSON.stringify(e));t.data.b.cmd.name="will_start_video",t.data.b.internal.videoStartsIn=t.data.b.internal.videoStartsIn||0,this.dispatchReceive(t)}}},{key:"_sendStartVideo",value:function(e){VizbeeSDK.logger.debug("QueueManagerExtension::_sendStartVideo",e);var t=na.encodeStartVideoCmd(e);t&&(this.nextOrPrevVideoInfo=e,this._willStartVideo(t),this.dispatchReceive(t))}},{key:"sendEvent",value:function(e){VizbeeSDK.logger.debug("QueueManagerExtension::sendEvent",e);var t=na.encodeEventCmd(e);t&&this.dispatchReceive(t)}},{key:"send",value:function(t){if(this.isEnabled())if(t&&t.cmd){var n=t;"status"==t.cmd.name&&(n=this.interceptVideoStatus(t)),m(e,"send",this)([n])}else m(e,"send",this)([t]);else m(e,"send",this)([t])}},{key:"interceptVideoStatus",value:function(e){if(this.nextOrPrevVideoInfo){if(e.vstatus.id!=this.nextOrPrevVideoInfo.id)return na.encodeVideoStatus(this.nextOrPrevVideoInfo);this.nextOrPrevVideoInfo=void 0}return this.getCache().setCurrentVideo(e.vstatus.id),this._addQStatus(e)}},{key:"_addQStatus",value:function(e){var t={},n=!1,i=this.getCache().getPrevVideo();i&&(n=!0,t.prev=na.encodeVideoInfo(i));var r=this.getCache().getNextVideo();return r&&(n=!0,t.next=na.encodeVideoInfo(r)),n&&(e.qstatus=t),e}}])}(),za=[Xr,$r,ra,ia,aa,oa,sa,ca,_a,Sa,ka,Ia,Va,function(){function e(t,n){var i;if(a(this,e),(i=r(this,e,[t,n])).currentVideoGUID=void 0,i.didAutoFetchNextVideo=!1,i.didAutoPlayNextVideo=!1,i.nextVideoAutoFetchGapInSecs=20,i.nextVideoAutoPlayGapInSecs=5,n&&n.features&&n.features.QueueManagerAutoplayExtension){var o=n.features.QueueManagerAutoplayExtension;i.nextVideoAutoFetchGapInSecs=isNaN(Number(o.nextVideoAutoFetchGapInSecs))?i.nextVideoAutoFetchGapInSecs:o.nextVideoAutoFetchGapInSecs,i.nextVideoAutoPlayGapInSecs=isNaN(Number(o.nextVideoAutoPlayGapInSecs))?i.nextVideoAutoPlayGapInSecs:o.nextVideoAutoPlayGapInSecs}return i}return h(e,xa),s(e,[{key:"interceptVideoStatus",value:function(t){var n=this;if(VizbeeSDK.logger.debug("QueueManagerAutoplayExtension::interceptVideoStatus - invoked",t),t&&t.vinfo&&t.vinfo.islive)return t;var i=m(e,"interceptVideoStatus",this)([t]);return i&&this.isEnabled()?"PLAYING"!=t.vstatus.st?(["INTERRUPTED","FINISHED","FAILED"].indexOf(t.vstatus.st)>-1&&(this.currentVideoGUID=void 0),i):(this.currentVideoGUID!=t.vstatus.id&&(this.didAutoFetchNextVideo=!1,this.didAutoPlayNextVideo=!1),this.currentVideoGUID=t.vstatus.id,this.currentVideoDuration=t.vstatus.du,this.currentVideoPosition=t.vstatus.po,VizbeeSDK.logger.debug("QueueManagerAutoplayExtension::interceptVideoStatus - check for duration",this.currentVideoDuration,this.currentVideoPosition,this.didAutoFetchNextVideo),this.currentVideoDuration-this.currentVideoPosition<1e3*this.nextVideoAutoFetchGapInSecs&&!this.didAutoFetchNextVideo&&(VizbeeSDK.logger.debug("QueueManagerAutoplayExtension::interceptVideoStatus - autofetching next video",this.currentVideoGUID),this.didAutoFetchNextVideo=!0,this.getCache().fetchNextVideo().then(function(e){if(VizbeeSDK.logger.debug("QueueManagerAutoplayExtension::interceptVideoStatus - fetched next video",e),e){var t=Math.round((n.currentVideoDuration-n.currentVideoPosition)/1e3-n.nextVideoAutoPlayGapInSecs),i=na.encodeStartVideoCmd(e);i&&(i.data.b.internal.videoStartsIn=t,i.data.b.internal.videoInfo.isContinuedVideo=!0,n._willStartVideo(i))}},function(e){VizbeeSDK.logger.debug("QueueManagerAutoplayExtension::interceptVideoStatus - failed to fetch next video",e),n.sendEvent(e)}).catch(function(e){return VizbeeSDK.logger.warn(n.constructor.name+"::fetchNextVideo - error ",e)})),this.currentVideoDuration-this.currentVideoPosition<1e3*this.nextVideoAutoPlayGapInSecs&&!this.didAutoPlayNextVideo&&(VizbeeSDK.logger.debug("QueueManagerAutoplayExtension::interceptVideoStatus - autoplaying next video",this.currentVideoGUID),this.didAutoPlayNextVideo=!0,this.playNextVideo()),i):i}}])}()],La=[Xr,$r,ra,ia,oa,ca,_a,Sa,Ia,Va,Pa],Ra=function(){return s(function e(){a(this,e)},[{key:"createSync",value:function(e){var t=$.get(e,["syncInfo","syncMethod"],"pubnub").toLowerCase();return Ar="googlecustom"==t?this.getGoogleCustomSyncInstanceWitExtensions(e):"googledual"==t?this.getGoogleDualSyncInstanceWitExtensions(e):"samsungmsf"==t?this.getSamsungMsfSyncInstanceWitExtensions(e):"samsungdual"==t?this.getSamsungDualSyncInstanceWitExtensions(e):this.getDefaultSyncInstanceWitExtensions(e)}},{key:"getGoogleCustomSyncInstanceWitExtensions",value:function(e){return this.addExtensions(e,this.getGoogleCastSync(e),La)}},{key:"getGoogleDualSyncInstanceWitExtensions",value:function(e){var t=this.addExtensions(e,new Gr(e),za),n=this.addExtensions(e,this.getGoogleCastSync(e),La),i=new Jr(e);return i.addSyncInstance(t),i.addSyncInstance(n),i}},{key:"getSamsungMsfSyncInstanceWitExtensions",value:function(e){return this.addExtensions(e,new jr(e),za)}},{key:"getSamsungDualSyncInstanceWitExtensions",value:function(e){var t=this.addExtensions(e,new Gr(e),za),n=this.addExtensions(e,new jr(e),za),i=new Jr(e);return i.addSyncInstance(t),i.addSyncInstance(n),i}},{key:"getDefaultSyncInstanceWitExtensions",value:function(e){return this.addExtensions(e,new Gr(e),za)}},{key:"addExtensions",value:function(e,t,n){for(var i=0;i<n.length;i++)t=new(0,n[i])(t,e);return t}},{key:"getGoogleCastSync",value:function(e){return cast.framework?new Qr(e):new Yr(e)}}],[{key:"getSync",value:function(){return Ar}}])}(),Ka=function(e){return e[e.NOT_CONNECTED=1]="NOT_CONNECTED",e[e.CONNECTING=2]="CONNECTING",e[e.CONNECTED=3]="CONNECTED",e}({}),Fa=Y(),Ua=sn(),Ba=function(){if(Xt)return Zt;Xt=1,Y();var e={},t={};function n(){VizbeeSDK.logger.debug("VGAStateManager:reset() previous video and ad objects = ",e,t),e.id="",e.state="UNKNOWN",e.position=-1,e.duration=-1,t.id="",t.state="UNKNOWN",t.position=-1,t.duration=-1}return n(),Zt={type:"VGAStateManager",app:{state:"app"},video:e,ad:t,reset:n,addListener:function(e){},removeListener:function(){}}}(),Ha=Dt(),Ga=un(),Wa=on(),qa=cn(),ja=750;function Ya(){if(Or)return Nr;Or=1;var e=Ct().EventEmitter,t="ad",n=new e,i={type:t,state:"UNKNOWN",id:"UNKNOWN",position:-1,duration:-1,playing:!1,adPodStarted:!1,adPodsPlayedDuration:0,totalAdPodsDuration:0};return Nr={adStatus:i,reset:function(){i.state="UNKNOWN",i.id="UNKNOWN",i.position=-1,i.duration=-1,i.playing=!1,i.adPodStarted=!1},resetTotalAdPodsDuration:function(){i.adPodsPlayedDuration=0,i.totalAdPodsDuration=0},addListener:function(e){n.addListener(t,e)},removeListener:function(e){n.removeListener(t,e)},notify:function(e){n.emit(t,i,e)}}}var Qa,Ja,Za,Xa=function(){function e(t){var n;return a(this,e),(n=r(this,e))._queueService=t,n}return h(e,Aa),s(e,[{key:"setDelegate",value:function(e){return this._queueService.setDelegate(e)}},{key:"getDelegate",value:function(){return this._queueService.getDelegate()}},{key:"playNextVideo",value:function(){return this._queueService.playNextVideo()}},{key:"playPrevVideo",value:function(){return this._queueService.playPrevVideo()}}])}(),$a=void 0,eo=function(){function e(){a(this,e)}return s(e,[{key:"getQueueManager",value:function(){return null==this.queueManager&&(this.queueManager=new Xa(Na.getInstance())),VizbeeSDK.logger.debug("ContinuityContext::getQueueManager - returning queue manager",this.queueManager),this.queueManager}}],[{key:"getInstance",value:function(){return null==$a&&($a=new e),$a}}])}(),to=s(function e(){a(this,e)}),no=window.cast&&window.cast.framework?window.cast.framework.QueueBase:to,io=function(){function e(t){var n;return a(this,e),(n=r(this,e)).queueDelegate=t,n}return h(e,no),s(e,[{key:"initialize",value:function(e){var t=e.queueData;if(!t){var n=new cast.framework.messages.QueueItem;n.media=e.media,(t=new cast.framework.messages.QueueData).startTime=e.currentTime,t.items=[n]}return this.queueDelegate&&this.queueDelegate.initialize(this._createQueueInfo(t)),t}},{key:"nextItems",value:function(e){var t=this;if(!this.queueDelegate)return[];var n=this._getCurrentVideoGUID();return VizbeeSDK.logger.debug("QueueBase::nextItems - Fetching nextItem",n),this.queueDelegate.fetchNextVideo(n).then(function(e){return e?(VizbeeSDK.logger.debug("QueueBase::nextItems - Successfully fetched nextItem",e.id),[t._buildQueueItem(e)]):(VizbeeSDK.logger.debug("QueueBase::nextItems - Invalid nextItem"),[])},function(e){return VizbeeSDK.logger.error("QueueBase::nextItems - Failed to fetch nextItem",e),t._sendQueuingError(e),[]}).catch(function(e){return VizbeeSDK.logger.error("QueueBase::nextItems - Failed to fetch nextItem",e),[]})}},{key:"prevItems",value:function(e){var t=this;if(!this.queueDelegate)return[];var n=this._getCurrentVideoGUID();return VizbeeSDK.logger.debug("QueueBase::prevItems - Fetching prevItem",n),this.queueDelegate.fetchPrevVideo(n).then(function(e){return e?(VizbeeSDK.logger.debug("QueueBase::prevItems - Successfully fetched prevItem",e),[t._buildQueueItem(e)]):(VizbeeSDK.logger.debug("QueueBase::prevItems - Invalid prevItem"),[])},function(e){return VizbeeSDK.logger.error("QueueBase::prevItems - Failed to fetch prevItem",e),t._sendQueuingError(e),[]}).catch(function(e){return VizbeeSDK.logger.error("QueueBase::prevItems - Failed to fetch prevItem",e),[]})}},{key:"_createQueueInfo",value:function(e){var t=this,n={id:"default",name:"default",description:"default"};return n.startIndex=e.startIndex||0,n.items=[],e.items.forEach(function(i,r){var a=t._getVideoInfo(i.media);0==r&&(a.starttime=e.startTime),n.items.push(a)}),n}},{key:"_buildQueueItem",value:function(e){var t=new cast.framework.messages.QueueItem;t.media=new cast.framework.messages.MediaInformation,t.preloadTime=15;var n=Number(e.preloadTime);n>=0&&(t.preloadTime=n),t.startTime=e.starttime||0,t.startTime=t.startTime/1e3,t.media.contentId=e.videourl,t.media.streamType=cast.framework.messages.StreamType.BUFFERED,e.islive&&(t.media.streamType=cast.framework.messages.StreamType.LIVE),t.media.metadata=new cast.framework.messages.MovieMediaMetadata,t.media.metadata.title=e.title||"",t.media.metadata.subtitle=e.subtitle||"",t.media.metadata.images=[new cast.framework.messages.Image(e.imgurl)];var i={};return i.guid=e.id,i.cuepoints=e.cuepoints||[],i.isContinuedVideo=!0,i.customStreamInfo=e.customstreaminfo||{},i.customMetadata=e.custommetadata||{},e.senderInfo=e.senderInfo||{},i.vzbSenderOS=e.senderInfo.st,i.vzbVersion=e.senderInfo.version,e.drminfo=e.drminfo||{},i.drmInfo={drmType:e.drminfo.drmtype,drmLicenseURL:e.drminfo.drmlicenseurl,drmCustomData:e.drminfo.drmcustomdata},t.media.customData=i,VizbeeSDK.logger.debug("QueueBase::_buildQueueItem ",t),t}},{key:"_getVideoInfo",value:function(e){VizbeeSDK.logger.debug("QueueBase::_getVideoInfo ",JSON.stringify(e));var t={starttime:0};t.islive="LIVE"==e.streamType,t.videourl=e.contentId||"",t.contentType=e.contentType||"",t.tracks=e.tracks||[];var n=e.customData||{};t.id=n.guid||"",t.cuepoints=n.cuepoints||[],t.vzbSenderOS=n.vzbSenderOS,t.vzbVersion=n.vzbVersion,t.senderInfo={st:n.vzbSenderOS,version:n.vzbVersion},t.customstreaminfo=n.customStreamInfo||{},t.custommetadata=n.customMetadata||{},t.drminfo=n.drmInfo||{};var i=e.metadata;return i&&(t.title=i.title||"",t.imgurl="",i.images&&i.images.length>0&&(t.imgurl=i.images[0].url)),t}},{key:"_getCurrentVideoGUID",value:function(){return this._getVideoInfo(this._getPlayerManager().getMediaInformation()).id}},{key:"_getPlayerManager",value:function(){return cast.framework.CastReceiverContext.getInstance().getPlayerManager()}},{key:"_sendQueuingError",value:function(e){this._getPlayerManager().sendCustomState(e)}}])}(),ro=function(){function e(t){var n;a(this,e);var i="https://us1-prod.disco-api.com";if((n=r(this,e)).userInfoUrl="".concat(i,"/users/me"),n.nextVideoInfoUrl="".concat(i,"/cms/recommendations/nextVideos?videoId=VIDEO_ID&decorators=viewingHistory,isFavorite&include=images,show,show.images,primaryChannel,primaryChannel.images,genres&page[size]=1&page[number]=1&algorithm=naturalOrder"),n.nextVideoPreloadTime=0,n.videoSourceUrl="".concat(i,"/playback/videoPlaybackInfo/VIDEO_ID?usePreAuth=true"),n.collectionInfoUrl="".concat(i,"/cms/collections/COLLECTION_ID?decorators=viewingHistory,isFavorite&include=default&include=images,show,show.images,primaryChannel,primaryChannel.images,genres&page[items.number]=1&page[items.size]=1"),n.defaultFallbackCollectionId="carousel-new-episodes",t.queueInfo){var o=t.queueInfo;o.userInfoUrl&&(n.userInfoUrl=o.userInfoUrl),o.upNextUrl&&(n.nextVideoInfoUrl=o.upNextUrl),o.upNextPreloadTime&&(n.nextVideoPreloadTime=o.upNextPreloadTime),o.videoSourceUrl&&(n.videoSourceUrl=o.videoSourceUrl),o.collectionInfoUrl&&(n.collectionInfoUrl=o.collectionInfoUrl),o.collectionId&&(n.defaultFallbackCollectionId=o.collectionId)}return n}return h(e,Ca),s(e,[{key:"initialize",value:function(e){return this.queueInfo=e,this.authToken=this._getAuthToken(),this.currentVideoMetadata=this._getMetadataFromQueueItem(),this.isCastedVideoLive=this._isCastedVideoLive(),this.userData=this._getUserDataFromSender(),this.senderData=this._getSenderData(),e}},{key:"_getAuthToken",value:function(){if(this.queueInfo.items[0].customstreaminfo)return this.queueInfo.items[0].customstreaminfo.authToken}},{key:"_getMetadataFromQueueItem",value:function(){return this.queueInfo.items[0].custommetadata||{}}},{key:"_isCastedVideoLive",value:function(){return!!(this.queueInfo&&this.queueInfo.items&&this.queueInfo.items.length>0&&this.queueInfo.items[0])&&!!this.queueInfo.items[0].islive}},{key:"_getUserDataFromSender",value:function(){var e=this.queueInfo.items[0].custommetadata;if(e)return{userId:e.userId,mid:e.mid,userDeviceID:e.userDeviceID,planId:e.planId,subscriptionId:e.subscriptionId,subscriptionPackages:[],authToken:this._getAuthToken(),loginStatus:e.loginStatus,accountStatus:e.accountStatus,continueStatus:e.continueStatus,propertyName:e.propertyName,videoInteractionType:e.videoInteractionType,resumeMediaSession:e.resumeMediaSession,universalCastDevice:e.universalCastDevice}}},{key:"_getSenderData",value:function(){return this.queueInfo.items[0].senderInfo||{}}},{key:"fetchNextVideo",value:function(e){var t=this;return VizbeeSDK.logger.debug("MTQueueDelegate::fetchNextVideo",e),new Promise(function(n,i){return t.isCastedVideoLive?(VizbeeSDK.logger.debug("MTQueueDelegate::fetchNextVideo - returning empty - RECEIVED LIVE VIDEO"),void n()):t.authToken&&t.userData?void t._getUserInfo(function(){if(!t.userData.subscriptionPackages||0==t.userData.subscriptionPackages.length)return VizbeeSDK.logger.debug("MTQueueDelegate::fetchNextVideo - Failed to fetch userInfo or packages not available"),void i(t._buildErrorEvent("Failed to fetch userInfo or packages not available"));t._getNextVideo(e,function(e){if(e){var r=e.data&&e.data[0]&&e.data[0],a=r&&r.id;if(a){var o=r&&r.attributes&&r.attributes.packages;o&&0!=o.length?0!=$.intersection(t.userData.subscriptionPackages,o).length?t._getVideoUrl(a,function(i){var r=void 0;if(i){var a=$.find(e.included,function(e){return"show"==e.type}),o={};a&&(o.id=a.id,o.name=a.attributes?a.attributes.name:""),e.meta&&e.meta.fromCollectionId?t.currentVideoMetadata.collectionId=e.meta.fromCollectionId:t.currentVideoMetadata.collectionId="",r=t._adaptVideoInfo(e,o,i)}n(r)}):i(t._buildErrorEvent("User subscription packages not matching with packages in next videoInfo")):i(t._buildErrorEvent("User subscription packages not available in next videoInfo"))}else n()}else n()})}):(VizbeeSDK.logger.debug("MTQueueDelegate::fetchNextVideo - returning empty - NO AUTH TOKEN"),void n())})}},{key:"_buildErrorEvent",value:function(e){return{type:"tv.vizbee.queuing.error",data:{message:e}}}},{key:"_getUserInfo",value:function(e){var t=this;if(VizbeeSDK.logger.debug("MTQueueDelegate::_getUserInfo"),this.authToken==this.userData.authToken&&this.userData.subscriptionPackages.length>0)return VizbeeSDK.logger.debug("MTQueueDelegate::_getUserInfo - userInfo already available"),void e();var n={Accept:"application/json",Authorization:"Bearer ".concat(this.authToken)};VizbeeSDK.logger.debug("MTQueueDelegate::_getUserInfo - FETCHING userInfo");var i=function(n){n&&n.data&&n&&n.data.attributes&&n.data.attributes.packages&&n.data.attributes.packages.length>0?(VizbeeSDK.logger.debug("MTQueueDelegate::_getUserInfo - SUCCESS"),t.userData.subscriptionPackages=n.data.attributes.packages):VizbeeSDK.logger.error("MTQueueDelegate::_getUserInfo - FAILED"),e()};ae.xhr({url:this.userInfoUrl,headers:n}).then(i,i).catch(i)}},{key:"_getNextVideo",value:function(e,t){var n=this;VizbeeSDK.logger.debug("MTQueueDelegate::_getNextVideo",e);var i=function(i){VizbeeSDK.logger.error("MTQueueDelegate::_getNextVideo - ERROR - failed to fetch next video for ",e,i),n._captureCriticalError("MT QUEUE DELEGATE UPNEXT API FAILED TO FETCH NEXT VIDEO"),n._getVideoFromCollectionInfo(n.defaultFallbackCollectionId).then(function(e){t(e)}).catch(function(e){t()})},r={Accept:"application/json",Authorization:"Bearer ".concat(this.authToken)},a=this.nextVideoInfoUrl.replace("VIDEO_ID",e);this.currentVideoMetadata&&this.currentVideoMetadata.collectionId&&(a=a+"&collectionId="+this.currentVideoMetadata.collectionId),ae.xhr({url:a,headers:r}).then(function(i){i&&i.data&&i.data.length>0?(VizbeeSDK.logger.debug("MTQueueDelegate::_getNextVideo - SUCCESS - got next video for ",e,i),t(i)):(VizbeeSDK.logger.info("MTQueueDelegate::_getNextVideo - NO NEXT VIDEO, fetching next video from "+n.defaultFallbackCollectionId+" collection"),n._getVideoFromCollectionInfo(n.defaultFallbackCollectionId).then(function(e){t(e)}).catch(function(e){t()}))},i).catch(i)}},{key:"_getVideoFromCollectionInfo",value:function(e){var t=this;return new Promise(function(n,i){VizbeeSDK.logger.debug("MTQueueDelegate::_getVideoFromCollectionInfo",e);var r=function(e){VizbeeSDK.logger.error("MTQueueDelegate::_getCollectionInfo - ERROR - failed to fetch collection info: ",e),t._captureCriticalError("MT QUEUE DELEGATE DEFAULT FALLBACK COLLECTION API FAILED TO FETCH NEXT VIDEO"),n()},a={Accept:"application/json",Authorization:"Bearer ".concat(t.authToken)},o=t.collectionInfoUrl.replace("COLLECTION_ID",e);ae.xhr({url:o,headers:a}).then(function(t){if(VizbeeSDK.logger.debug("MTQueueDelegate::_getVideoFromCollectionInfo - SUCCESS - got collection info: ",t),t&&t.included&&t.included.length>0){var i={data:[],included:[],meta:{fromCollectionId:e}},r=$.find(t.included,function(e){return e&&"video"==e.type});i.data.push(r);var a=$.find(t.included,function(e){return e&&"show"==e.type});i.included.push(a),n(i)}else VizbeeSDK.logger.debug("MTQueueDelegate::_getVideoFromCollectionInfo - ERROR - no data from collection info"),n()},r).catch(r)})}},{key:"_getVideoUrl",value:function(e,t){var n=this;VizbeeSDK.logger.debug("MTQueueDelegate::_getVideoUrl",e);var i=function(e){VizbeeSDK.logger.error("MTQueueDelegate::_getVideoUrl - ERROR - failed to fetch metadata: ",e),n._captureCriticalError("MT QUEUE DELEGATE FAILED TO FETCH VIDEO URL"),t()},r={Accept:"application/json",Authorization:"Bearer ".concat(this.authToken)},a=this.videoSourceUrl.replace("VIDEO_ID",e);ae.xhr({url:a,headers:r}).then(function(e){VizbeeSDK.logger.debug("MTQueueDelegate::_getVideoUrl - SUCCESS - got metadata: ",e);var n=e.data&&e.data.attributes&&e.data.attributes.streaming;t(n)},i).catch(i)}},{key:"_adaptVideoInfo",value:function(e,t,n){var i,r,a;if(e&&e.data&&Array.isArray(e.data)&&e.data.length>0){var o=(n=n||{}).hls&&n.hls.url||"",s=[{type:"hls",url:o},{type:"dash",url:n.dash&&n.dash.url||""}],u=e.data[0].attributes||{},c=u.identifiers&&u.identifiers.analyticsId||"",l=null!=u.seasonNumber?u.seasonNumber.toString():"",d=null!=u.episodeNumber?u.episodeNumber.toString():"",f=e.data[0].relationships&&e.data[0].relationships.season&&e.data[0].relationships.season.data&&e.data[0].relationships.season.data.id||"9999",h=u.viewingHistory&&u.viewingHistory.position||0;return{id:e.data[0].id,videourl:o,islive:!1,imgurl:(i=e,r=-1,a=i.included,a&&$.isArray(a)&&a.length>0&&(r=$.findLastIndex(a,function(e){return e.attributes&&e.attributes.src&&"default"==e.attributes.kind})),r>-1?a[r].attributes.src:""),title:t.name||"",subtitle:u.name||"",starttime:h,preloadTime:this.nextVideoPreloadTime,customstreaminfo:{authToken:this._getAuthToken(),streams:s},custommetadata:{nextVideoId:"",collectionId:this.currentVideoMetadata.collectionId,mediaId:c,seasonId:f,seasonNumber:l,season:"Season "+l||"",series:t.name||"",seriesId:t.id,episodeNumber:d,assetName:[(t.name||"").split(" ").join("-"),"s"+ae.padStart(l,2,"0"),"e"+ae.padStart(d,3,"0"),u.name.split(" ").join("-")].join("|").toLowerCase(),showType:function(e){var t,n="3";return e&&e.videoType&&(-1!=(t=e.videoType.toLowerCase()).indexOf("episode")?n="0":-1!=t.indexOf("preview")||-1!=t.indexOf("trailer")?n="1":-1!=t.indexOf("clip")&&(n="2")),n}(u),userId:this.userData.userId,mid:this.userData.mid,userDeviceID:this.userData.userDeviceID,planId:this.userData.planId,subscriptionId:this.userData.subscriptionId,loginStatus:this.userData.loginStatus,accountStatus:this.userData.accountStatus,continueStatus:this.userData.continueStatus,propertyName:this.userData.propertyName,videoInteractionType:this.userData.videoInteractionType,resumeMediaSession:this.userData.resumeMediaSession,universalCastDevice:this.userData.universalCastDevice},senderInfo:this.senderData}}}},{key:"_captureCriticalError",value:function(e){var t=new Error(e);VizbeeSDK.logger.critical("MTQueueDelegate::_captureCriticalError - MT UpNext API FAILED",t)}},{key:"fetchPrevVideo",value:function(e){return new Promise(function(e,t){e()})}}])}(),ao=function(){function e(t){var n;a(this,e),n=r(this,e);var i=t.queueInfo;return n.nextVideoPreloadTime=0,i&&i.upNextPreloadTime&&(n.nextVideoPreloadTime=i.upNextPreloadTime),n.nextVideoIds=[],n.playedVideoIds=[],n}return h(e,Ca),s(e,[{key:"initialize",value:function(e){return this.queueInfo=e,this.isCastedVideoLive=this._isCastedVideoLive(),this.currentVideoMetadata=this._getMetadataFromQueueItem(),this._parseNextVideoIdsFromCustomMetadata(),this.senderData=this._getSenderData(),e}},{key:"_isCastedVideoLive",value:function(){return!!(this.queueInfo&&this.queueInfo.items&&this.queueInfo.items.length>0&&this.queueInfo.items[0])&&!!this.queueInfo.items[0].islive}},{key:"_getMetadataFromQueueItem",value:function(){var e={};if(this.queueInfo&&this.queueInfo.items&&this.queueInfo.items[0]&&this.queueInfo.items[0].custommetadata)try{e=this.queueInfo.items[0].custommetadata,delete(e=JSON.parse(JSON.stringify(e))).refreshToken,delete e.accessToken,delete e.playlistContentIds}catch(t){e={}}return e}},{key:"_parseNextVideoIdsFromCustomMetadata",value:function(){this.nextVideoIds=[],this.playedVideoIds=[];var e=this.queueInfo&&this.queueInfo.items&&this.queueInfo.items[0]&&this.queueInfo.items[0].custommetadata;e&&$.isArray(e.playlistContentIds)&&(this.nextVideoIds=e.playlistContentIds)}},{key:"_getSenderData",value:function(){var e={};return this.queueInfo&&this.queueInfo.items&&this.queueInfo.items[0]&&this.queueInfo.items[0]&&(e=this.queueInfo.items[0].senderInfo||e),e}},{key:"fetchNextVideo",value:function(e){var t=this;return VizbeeSDK.logger.debug("NFLQueueDelegate::fetchNextVideo",e),new Promise(function(n,i){if(t.isCastedVideoLive)return VizbeeSDK.logger.debug("NFLQueueDelegate::fetchNextVideo - returning empty - Received LIVE video"),void n();t.playedVideoIds.push(e),t._getNextVideo(e,function(e){if(!e)return VizbeeSDK.logger.debug("NFLQueueDelegate::fetchNextVideo - Failed to get nextVideoInfo"),void i(t._buildErrorEvent("Failed to get nextVideoInfo"));var r=t._adaptVideoInfo(e);if(!r)return VizbeeSDK.logger.debug("NFLQueueDelegate::fetchNextVideo - Received invalid nextVideoInfo"),void i(t._buildErrorEvent("Received invalid nextVideoInfo"));n(r)})})}},{key:"fetchPrevVideo",value:function(e){return new Promise(function(e,t){e()})}},{key:"_buildErrorEvent",value:function(e){return{type:"tv.vizbee.queuing.error",data:{message:e}}}},{key:"_getNextVideo",value:function(e,t){if(VizbeeSDK.logger.debug("NFLQueueDelegate::_getNextVideo",e),0==this.nextVideoIds.length)return VizbeeSDK.logger.debug("NFLQueueDelegate::_getNextVideo - Empty playlist"),void t();var n=this.nextVideoIds.indexOf(e)+1;n>=this.nextVideoIds.length&&(n=0);var i=this.nextVideoIds[n];if(!i)return VizbeeSDK.logger.debug("NFLQueueDelegate::_getNextVideo - next video is not valid"),void t();this.playedVideoIds&&-1!=this.playedVideoIds.indexOf(i)?t():VZBAdapter&&VZBAdapter._fetchStreamInfo?(VizbeeSDK.logger.debug("NFLQueueDelegate::_getNextVideo - Found VZBAdapter to get video info"),VZBAdapter._fetchStreamInfo({id:i,islive:!1},t)):(VizbeeSDK.logger.debug("NFLQueueDelegate::_getNextVideo - VZBAdapter not found to get video info"),t())}},{key:"_adaptVideoInfo",value:function(e){if(e&&e.metadata&&e.metadata.event){var t=e.metadata.event;t.derived_metadata=t.derived_metadata||{},t.custom_metadata_map=t.custom_metadata_map||{};var n=t.derived_metadata.id||t.custom_metadata_map.id,i=t.derived_metadata.videoname,r=this._getImageURL(e.metadata);return{id:n,videourl:e.accessUrl||"",islive:!1,imgurl:r,title:i||"",subtitle:"",starttime:0,preloadTime:this.nextVideoPreloadTime,customstreaminfo:this.currentVideoMetadata,custommetadata:this.currentVideoMetadata,senderInfo:this.senderData}}}},{key:"_getImageURL",value:function(e){var t="";if(e.thumbnails){var n=$.find(e.thumbnails,function(e){return"thumbnail"==e.role&&"image/jpeg"==e.type});n||(n=$.find(e.thumbnails,function(e){return"poster"==e.role&&"image/jpeg"==e.type})),n&&n.url&&(t=n.url)}return t}}])}(),oo=function(){function e(t){var n;a(this,e),n=r(this,e);var i=$.get(t,["queueInfo"],{});return n._platformId=$.get(i,["platformId"],"35BF4E00-4C3F-4D2D-962A-D34CBEE059DC"),n._baseDomain=$.get(i,["baseDomain"],"https://prod-api.crackle.com/"),n._requestHeaders={"x-crackle-region":"US","x-crackle-brand":"crackle"},n._requestHeaders["x-crackle-platform"]=n._platformId,n._timeout=1e4,n.nextVideoPreloadTime=$.get(i,["upNextPreloadTime"],0),n.nextVideos=[],n.playedVideoIds=[],n}return h(e,Ca),s(e,[{key:"initialize",value:function(e){return this.queueInfo=e,this.isCastedVideoLive=this._isCastedVideoLive(),this.senderData=this._getSenderData(),this.nextVideos=[],this.playedVideoIds=[],e}},{key:"_isCastedVideoLive",value:function(){return!!(this.queueInfo&&this.queueInfo.items&&this.queueInfo.items.length>0&&this.queueInfo.items[0])&&!!this.queueInfo.items[0].islive}},{key:"_getSenderData",value:function(){return this.queueInfo.items[0].senderInfo||{}}},{key:"fetchNextVideo",value:function(e){var t=this;return VizbeeSDK.logger.debug("CrackleQueueDelegate::fetchNextVideo",e),new Promise(function(n,i){return t.isCastedVideoLive?(VizbeeSDK.logger.debug("CrackleQueueDelegate::fetchNextVideo - returning empty - Received LIVE video"),void n()):(e=e&&e.replace("category:vod::media:",""))?void t._fetchContentMetadata(e,function(r){var a=$.get(r,"parentId"),o=$.get(r,"type","");if(!r||!a||!o)return VizbeeSDK.logger.debug("CrackleQueueDelegate::fetchNextVideo - contentMetadata is not valid"),void n();var s=e;t._isContentTypeMovie(o)&&(s=a),t.playedVideoIds.push(s),t._getUpNextVideos(a,o,function(){t._getNextVideo(s,function(e){if(!e)return VizbeeSDK.logger.debug("CrackleQueueDelegate::fetchNextVideo - Failed to get nextVideoInfo"),void i(t._buildErrorEvent("Failed to get nextVideoInfo"));var r=t._adaptVideoInfo(e);if(!r)return VizbeeSDK.logger.debug("CrackleQueueDelegate::fetchNextVideo - Received invalid nextVideoInfo"),void i(t._buildErrorEvent("Received invalid nextVideoInfo"));n(r)})})}):(VizbeeSDK.logger.debug("CrackleQueueDelegate::fetchNextVideo - returning empty since videoGUID is invalid"),void n())})}},{key:"fetchPrevVideo",value:function(e){return new Promise(function(e,t){e()})}},{key:"_buildErrorEvent",value:function(e){return{type:"tv.vizbee.queuing.error",data:{message:e}}}},{key:"_getUpNextVideos",value:function(e,t,n){var i=this;if(VizbeeSDK.logger.debug("CrackleQueueDelegate::_getUpNextVideos",e),this.nextVideos.length>0)return VizbeeSDK.logger.debug("CrackleQueueDelegate::_getUpNextVideos - playlist available"),void n();this._isContentTypeMovie(t)?this._fetchMovieRecommendations(e,function(e){if(!e)return VizbeeSDK.logger.debug("CrackleQueueDelegate::_getUpNextVideos - invalid movies"),void n();i.nextVideos=e,n()}):this._isContentTypeEpisode(t)&&this._fetchEpisodesInSeason(e,function(e){if(!e)return VizbeeSDK.logger.debug("CrackleQueueDelegate::_getUpNextVideos - invalid episodes"),void n();i.nextVideos=e,n()})}},{key:"_getNextVideo",value:function(e,t){if(VizbeeSDK.logger.debug("CrackleQueueDelegate::_getNextVideo",e),0==this.nextVideos.length)return VizbeeSDK.logger.debug("CrackleQueueDelegate::_getNextVideo - Empty playlist"),void t();var n=$.pluck(this.nextVideos,"id"),i=n.indexOf(e)+1;i>=n.length&&(i=0);var r=n[i];if(!r)return VizbeeSDK.logger.debug("CrackleQueueDelegate::_getNextVideo - next video is not valid"),void t();if(this.playedVideoIds&&-1!=this.playedVideoIds.indexOf(r))t();else{var a=$.findWhere(this.nextVideos,{id:r}),o=$.get(a,"type","");this._isContentTypeMovie(o)?this._fetchContentChildren(r,function(e){t($.get(e,0))}):t(a)}}},{key:"_adaptVideoInfo",value:function(e){if(e&&e.id){var t=this._getImageURL(e);return{id:"category:vod::media:"+e.id,videourl:"",islive:!1,imgurl:t||"",title:e.title||"",subtitle:"",starttime:0,preloadTime:this.nextVideoPreloadTime,customstreaminfo:{},custommetadata:{},senderInfo:this.senderData}}}},{key:"_fetchContentMetadata",value:function(e,t){var n=this._baseDomain+"content/"+e;this._fetchURL(n,t)}},{key:"_fetchMovieRecommendations",value:function(e,t){this._fetchContentRecommendations(e,"movies",t)}},{key:"_fetchContentRecommendations",value:function(e,t,n){var i=this._baseDomain+"recommendations/"+t+"/content/"+e;this._fetchURL(i,n)}},{key:"_fetchEpisodesInSeason",value:function(e,t){this._fetchContentChildren(e,t)}},{key:"_fetchContentChildren",value:function(e,t){var n=this._baseDomain+"content/"+e+"/children";this._fetchURL(n,t)}},{key:"_fetchURL",value:function(e,t){ae.xhr({url:e,headers:this._requestHeaders,timeout:this._timeout}).then(function(e){var n=$.get(e,"data");t(n)}).catch(function(n){VizbeeSDK.logger.error("CrackleQueueDelegate::_fetchURL - Failed to fetch "+e),t()})}},{key:"_isContentTypeMovie",value:function(e){return!!e&&(-1!=(e=e.toLowerCase()).indexOf("film")||-1!=e.indexOf("movie"))}},{key:"_isContentTypeEpisode",value:function(e){return!!e&&-1!=(e=e.toLowerCase()).indexOf("episode")}},{key:"_getImageURL",value:function(e){var t=$.get(e,["images"],[]);0==t.length&&(t=$.get(e,["assets","images"],[]));var n=$.find(t,function(e){return e.width>400&&e.height>200&&$.isString(e.url)&&""!=e.url});return $.get(n,"url","")}}])}(),so=function(){function e(t){var n;if(a(this,e),(n=r(this,e)).nextVideoPreloadTime=0,n.nextVideoInfoUrl="https://api.foxnews.com/v3/videos?filter=fn__media_tags:",n.nextVideoFallbackUrl="https://api.foxnews.com/v3/playlists",n.nextVideos=[],t.queueInfo){var i=t.queueInfo;i.nextVideoPreloadTime&&(n.nextVideoPreloadTime=i.nextVideoPreloadTime),i.nextVideoInfoUrl&&(n.nextVideoInfoUrl=i.nextVideoInfoUrl),i.nextVideoFallbackUrl&&(n.nextVideoFallbackUrl=i.nextVideoFallbackUrl)}return n}return h(e,Ca),s(e,[{key:"initialize",value:function(e){return this.queueInfo=e,this.isCastedVideoLive=this._isCastedVideoLive(),this.currentVideoMetadata=this._getMetadataFromQueueItem(),this.nextVideos=[],this.senderData=this._getSenderData(),e}},{key:"_isCastedVideoLive",value:function(){return!!(this.queueInfo&&this.queueInfo.items&&this.queueInfo.items.length>0&&this.queueInfo.items[0])&&!!this.queueInfo.items[0].islive}},{key:"_getMetadataFromQueueItem",value:function(){var e={};if(this.queueInfo.items[0].custommetadata)try{e=this.queueInfo.items[0].custommetadata,e=JSON.parse(JSON.stringify(e))}catch(t){e={}}return e}},{key:"_getSenderData",value:function(){return this.queueInfo.items[0].senderInfo||{}}},{key:"fetchNextVideo",value:function(e){var t=this;return VizbeeSDK.logger.debug("FNFBQueueDelegate::fetchNextVideo",e),new Promise(function(n,i){return t.isCastedVideoLive?(VizbeeSDK.logger.debug("FNFBQueueDelegate::fetchNextVideo - returning empty - Received LIVE video"),void n()):e?void t._getNextVideo(e,function(e){if(!e)return VizbeeSDK.logger.debug("FNFBQueueDelegate::fetchNextVideo - Failed to get nextVideoInfo"),void i(t._buildErrorEvent("Failed to get nextVideoInfo"));var r=t._adaptVideoInfo(e);if(!r)return VizbeeSDK.logger.debug("FNFBQueueDelegate::fetchNextVideo - Received invalid nextVideoInfo"),void i(t._buildErrorEvent("Received invalid nextVideoInfo"));n(r)}):(VizbeeSDK.logger.debug("FNFBQueueDelegate::fetchNextVideo - Invalid videoGUID"),void i(t._buildErrorEvent("Received invalid videoGUID")))})}},{key:"fetchPrevVideo",value:function(e){return new Promise(function(e,t){e()})}},{key:"_buildErrorEvent",value:function(e){return{type:"tv.vizbee.queuing.error",data:{message:e}}}},{key:"_getNextVideo",value:function(e,t){VizbeeSDK.logger.debug("FNFBQueueDelegate::_getNextVideo",e),0==this.nextVideos.length?this._getNextVideoFromRemotePlaylist(e,t):this._getNextVideoFromLocalPlaylist(e,t)}},{key:"_adaptVideoInfo",value:function(e){if(e){var t="category:vod::media:"+e.id,n=$.get(e,["attributes"],{}),i=$.get(n,["streams",0,"url"],""),r=$.get(n,["title"],""),a=$.get(n,["fn__show_title"],""),o=$.get(n,["thumbnail","url"],""),s=$.get(n,["duration"],0),u=$.get(n,["fn__media_tags"],[]),c=$.get(n,["ima__content_source_id"],""),l=$.get(n,["fn__tve_authentication_required"],!1),d={streamURL:i},f={id:e.id,title:r,thumbnail:o,isAuthenticationRequired:l,previewDuration:s,imaContentID:c,imaAssetKey:null,mediaTags:u,isPreview:!1,authToken:this.currentVideoMetadata.authToken};return{id:t,videourl:i,islive:!1,imgurl:o,title:r,subtitle:a,starttime:0,preloadTime:this.nextVideoPreloadTime,customstreaminfo:d,custommetadata:f,senderInfo:this.senderData}}}},{key:"_getNextVideoFromRemotePlaylist",value:function(e,t){var n=this;VizbeeSDK.logger.debug("FNFBQueueDelegate::_getNextVideoFromRemotePlaylist for ",e);var i={Accept:"application/json"},r=function(r){var a=[];r&&r.included&&(a=n._filterByValidUpNextVideos(r.included));var o=$.get(n.currentVideoMetadata,["mediaTags",0],"");if(o=o.split("|")[0]){var s=function(i){i&&i.data&&i.data.length>0&&(n.nextVideos=n._filterByValidUpNextVideos(i.data)),a.length>0&&(n.nextVideos=n.nextVideos.concat(a)),n.nextVideos.length>0?n._getNextVideoFromLocalPlaylist(e,t):t(null)};ae.xhr({url:n.nextVideoInfoUrl+o,headers:i}).then(s,s).catch(s)}else a.length>0?(n.nextVideos=a,t(n.nextVideos[0])):t(null)};ae.xhr({url:this.nextVideoFallbackUrl,headers:i}).then(r,r).catch(r)}},{key:"_getNextVideoFromLocalPlaylist",value:function(e,t){VizbeeSDK.logger.debug("FNFBQueueDelegate::_getNextVideoFromLocalPlaylist for ",e);var n=e.replace("category:vod::media:",""),i=$.pluck(this.nextVideos,"id"),r=i.indexOf(n)+1;r>=i.length?t(null):t($.findWhere(this.nextVideos,{id:i[r]})||null)}},{key:"_filterByValidUpNextVideos",value:function(e){return $.filter(e,function(e){var t=$.get(e,["id"],""),n=$.get(e,["attributes","ima__content_source_id"],"");return t&&n})}}])}(),uo=[{islive:!1,id:"18 Fingers",videourl:"http://content.claspws.tv/videos3.0/action/18Fingers.mp4",imgurl:"https://content.claspws.tv/images3.0/action/18fingersofdeath.jpg",title:"18 Fingers"},{islive:!1,id:"AssassinsCode",videourl:"http://content.claspws.tv/videos3.0/action/AssassinsCode.mp4",imgurl:"https://content.claspws.tv/images3.0/action/22214_AssassinsCode_110x150_CoverArtImage.jpg",title:"AssassinsCode"},{islive:!1,id:"BlackKnightReturns",videourl:"http://content.claspws.tv/videos3.0/action/BlackKnightReturns.mp4",imgurl:"https://content.claspws.tv/images3.0/action/31460_BlackKnight_110x150.jpg",title:"BlackKnightReturns"},{islive:!1,id:"Croczilla",videourl:"http://content.claspws.tv/videos3.0/action/Croczilla.mp4",imgurl:"https://content.claspws.tv/images3.0/action/24504_Croczilla_110x150.jpg",title:"Croczilla"},{islive:!1,id:"Magma",videourl:"http://content.claspws.tv/videos3.0/action/Magma.mp4",imgurl:"https://content.claspws.tv/images3.0/action/43118_Magma_110x150.jpg",title:"Magma"}],co=function(){function e(){return a(this,e),r(this,e,arguments)}return h(e,Ca),s(e,[{key:"initialize",value:function(e){return this.queueInfo=e,e}},{key:"fetchNextVideo",value:function(e){VizbeeSDK.logger.debug("MockQueueDelegate::fetchNextVideo",e);var t=void 0,n=uo.findIndex(function(t){return t.id===e});return n>-1&&n<uo.length-1&&(t=uo[n+1]),null==t&&(t=uo[Math.round(Math.random()*uo.length)]),VizbeeSDK.logger.debug("MockQueueDelegate::fetchNextVideo - returning videoInfo",t),new Promise(function(e,n){e(t)})}},{key:"fetchPrevVideo",value:function(e){return new Promise(function(e,t){e({islive:!1,id:"Black Knight Returns",videourl:"http://content.claspws.tv/videos3.0/action/BlackKnightReturns.mp4"})})}}])}(),lo={MTQueueDelegate:ro,NFLQueueDelegate:ao,CrackleQueueDelegate:oo,FNFBQueueDelegate:so},fo=function(){return s(function e(){a(this,e)},null,[{key:"getInstance",value:function(e){return e.queueInfo?new lo[e.queueInfo.delegate](e):new co(e)}}])}(),ho=Y(),po=function(){if(X)return Z;X=1;var e,t,n=Tt().xhr,i=Y(),r={appId:null,config:null,pub_key:"pub-c-1e4f216f-168e-4fdc-8a2b-a29ffe05cb5b",sub_key:"sub-c-6da25f1b-58d7-4f17-bd10-21a30198a794"};return Z={appConfig:r,getConfig:function(a,o){r.appId=a.appId,r.platform=a.platform,r.platformModel=a.platformModel,r.hostProxy=a.hostProxy,function(){var i="config.claspws.tv";r.hostProxy&&(i=r.hostProxy),e=r.platform,t=r.platformModel;var a="//"+i+"/api/v2/";a+="apps/"+r.appId+"/screen/"+e,t&&(a+="."+t);var o=!1;if(window&&window.navigator&&window.navigator.language){var s=window.navigator.language.split("-");s.length>1&&(a+="?country="+s[1],o=!0)}return a+=(o?"&":"?")+"seed="+Math.round(1e3*Math.random()),VizbeeSDK.logger.debug("Config:getAPIConfig - didn't find any saved config from local storage. Calling config server ..."),a="https:"+a,VizbeeSDK.logger.debug("Config:getAPIConfig - URL = "+a),n({url:a,retries:3,timeout:3e4,headers:{Accept:"application/json"}}).then(function(e){if(e&&e.error&&100==e.error.code)return VizbeeSDK.logger.error("Config:getAPIConfig - received error code and message = ",e.error.code,e.error.message),VizbeeSDK.logger.error("Config:getAPIConfig - screen device may not be allowed or setup. Screen device platform = ",r.platform),VizbeeSDK.logger.error("Config:getAPIConfig - SDK init FAILED!"),Promise.reject(e.error);if(e&&e.data&&e.data.items&&e.data.items[0]){if(e.data.items[0].channelKeys.pub_key&&e.data.items[0].channelKeys.sub_key){var t=e.data.items[0];return t.externalIp=e.externalIpAddress,VizbeeSDK.logger.debug("Config:getAPIConfig - valid config returned by API",t),VizbeeSDK.logger.debug("Config:getAPIConfig - SDK init SUCCESS!"),t}return VizbeeSDK.logger.error("Config:getAPIConfig - got config response but no channel pub keys or sub keys!"),VizbeeSDK.logger.error("Config:getAPIConfig - SDK init FAILED!"),Promise.reject("No pub sub keys for given appId")}return VizbeeSDK.logger.error("Config:getAPIConfig - invalid response (but no error!) returned by server"),VizbeeSDK.logger.error("Config:getAPIConfig - SDK init FAILED!"),Promise.reject("Invalid response")}).catch(function(e){return VizbeeSDK.logger.error("Config:getAPIConfig - XHR request to get config failed"),VizbeeSDK.logger.error("Config:getAPIConfig - SDK init FAILED!"),Promise.reject(e)})}().then(function(e){VizbeeSDK.logger.debug("Config:getConfig - got apiConfig",e),i.extend(r,e),e.channelKeys.pub_key&&e.channelKeys.sub_key&&(r.pub_key=e.channelKeys.pub_key,r.sub_key=e.channelKeys.sub_key),"function"==typeof o&&(VizbeeSDK.logger.debug("Config:getConfig - calling callback with extended config =",r),o(r))}).catch(function(e){var t="SDK CONFIG FETCH FAILED";null!=e&&(t+=" - "+e.message);var n=new Error(t);VizbeeSDK.logger.critical("Config::getConfig - SDK CONFIG FETCH FAILED",n),VizbeeSDK.logger.error("Config::getConfig - NOTE - could be a failure in the callback passed to getConfig!")})}},Z}(),go=At,vo=function(e,t){var n,i=e,r=void 0,a=void 0,o=!1,s=!1,u=!1,c=!1,l=i&&i.features&&i.features.syncSendIntervalInMs;isNaN(l)||(ja=l);var d=[],f=[],h={};return t?(o=!0,n=Ba):(o=!1,n=Ua,Wa.setAppStateManager(Ua),qa.addListener(function(e){VizbeeSDK.logger.debug("synccontroller",e),"sync_proxy_video_cmds"==e.type&&("x"===e.cmd.name||"event"===e.cmd.name?(delete e.type,r.send(e)):v(e))})),{connect:function(e){VizbeeSDK.logger.debug("SyncController::connect - dumping appConfig = ",i);var t=new Ra;(r=t.createSync(i)).onReceive=function(t){if(t)switch(t.type){case mn.SYNC_CONNECT:!function(e){s=!0,o&&(VizbeeSDK.logger.debug("SyncController::syncConnectHandler - setting isAppAdapterAvailable to TRUE (isVGA=true)"),u=!0),p(),e(!0)}(e);break;case mn.SYNC_MESSAGE:var n=t.data.b,i=t.data.h;if(o&&n.cmd&&-1==["launch_applet","hello"].indexOf(n.cmd.name))return;a=i,"video"===(r=n).cmd.ns&&v(r,a),"x"===r.cmd.ns&&m((c=r).b.cmd.ns,y(c));break;case mn.SYNC_PRESENCE:o||function(e){VizbeeSDK.logger.debug("SyncController::presenceHandler() - connected users count",e);var t=Fa.extend({},h);h=Fa.extend({},e),VizbeeSDK.logger.debug("SyncController::syncPresenceHandler - transition","from:",Object.keys(t),"to:",Object.keys(h)),function(e,t){var n=Object.keys(e||{}),i=Object.keys(t||{});VizbeeSDK.logger.debug("SyncController::notifyPresenceListeners - previousIds: ",n," newIds: ",i);var r=i.filter(function(e){return-1===n.indexOf(e)});VizbeeSDK.logger.debug("SyncController::notifyPresenceListeners - joinedIds: ",r);var a=n.filter(function(e){return-1===i.indexOf(e)});VizbeeSDK.logger.debug("SyncController::notifyPresenceListeners - leftIds: ",a),r.forEach(function(e){var n=t[e];if(n){VizbeeSDK.logger.debug("SyncController::notifyPresenceListeners - user joined: ",e);var i={event:"JOIN",member:n};f.forEach(function(e){try{e(i)}catch(e){VizbeeSDK.logger.error("SyncController::notifyPresenceListeners - Error calling listener",e)}})}}),a.forEach(function(t){VizbeeSDK.logger.debug("SyncController::notifyPresenceListeners - user left: ",t);var n=e[t];if(n){VizbeeSDK.logger.debug("SyncController::notifyPresenceListeners - user left: ",t);var i={event:"LEAVE",member:n};f.forEach(function(e){try{e(i)}catch(e){VizbeeSDK.logger.error("SyncController::notifyPresenceListeners - Error calling listener",e)}})}})}(t,h),Ha.updatePresence(e)}(t.data)}var r,a,c},r.connect(e),n.addListener(S),Ha.isAppSet()&&(VizbeeSDK.logger.debug("SyncController::connect appIsSet"),u=!0,p()),d.forEach(function(e){e(Ka.CONNECTED)}),a=window.setInterval(_,ja)},disconnect:function(){VizbeeSDK.logger.debug("SyncController::disconnect() called"),clearInterval(a),n.removeListener(S),d.forEach(function(e){e(Ka.NOT_CONNECTED)}),g(),r.disconnect(),s=!1},isConnected:function(){return s},addSessionStateListener:function(e){d.push(e)},sessionState:function(){return s?Ka.CONNECTED:Ka.NOT_CONNECTED},subscribeToPresence:function(e){"function"==typeof e&&(f.push(e),VizbeeSDK.logger.debug("SyncController::subscribeToPresence - listener added"))},unsubscribeFromPresence:function(e){var t=f.indexOf(e);t>-1&&(f.splice(t,1),VizbeeSDK.logger.debug("SyncController::unsubscribeFromPresence - listener removed"))},getActiveSenders:function(){return r&&"function"==typeof r.getActiveSenders?r.getActiveSenders():{}},enableSynchronousPublish:function(){try{var e=r&&r.baseSync;e&&"function"==typeof e.enableSynchronousPublish&&e.enableSynchronousPublish()}catch(e){VizbeeSDK.logger.error("SyncController::enableSynchronousPublish - error",e)}}};function p(){if(s&&u){o&&!c&&(c=!0,Ga.onSubscribedToSync()),VizbeeSDK.logger.debug("SyncController::sendJoin - sending initial JOIN HELLO UPD message");var e={cmd:{ns:"video",name:"hello",type:"upd"},hstatus:{id:i.deviceId,type:"SCREEN",vip:"false"}};r.send(e)}else VizbeeSDK.logger.debug("SyncController::sendJoin - NOT sending JOIN HELLO yet",s,u)}function g(){if(s&&u){VizbeeSDK.logger.debug("SyncController::sendOlleh - sending OLLEH UPD message");var e={cmd:{ns:"video",name:"olleh",type:"upd"},hstatus:{id:i.deviceId,type:"SCREEN",vip:"false"}};r.send(e)}else VizbeeSDK.logger.debug("SyncController::sendOlleh - NOT sending Olleh",s,u)}function v(e){var t,a,o,s,u=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!("int"!==e.cmd.type&&e.hstatus&&"SCREEN"==e.hstatus.type||"req"!==e.cmd.type&&"int"!==e.cmd.type))switch(e.cmd.name){case"launch_applet":if(Fa.isUndefined(e.cmd.param))return;VizbeeSDK.logger.debug("SyncController::launch_applet - called",e.cmd.param),void 0!==window.VGA&&window.VGA.launch(e.cmd.param);break;case"hello":t={cmd:{ns:"video",name:"hello",type:"rsp"},hstatus:{id:i.deviceId,type:"SCREEN"}};try{"app"!==n.app.state?((s=k()).vstatus&&(t.vstatus=s.vstatus),s.vinfo&&(t.vinfo=s.vinfo),s.vinfoext&&(t.vinfoext=s.vinfoext),t.hstatus.vip="true"):t.hstatus.vip="false","int"==e.cmd.type&&(t.cmd.type="req"),r.send(t)}catch(e){VizbeeSDK.logger.error("SyncController::videoMessgaeHandler -- hello command. error ",e)}break;case"will_start_video":if(VizbeeSDK.logger.debug("SyncController::videoMessageHandler::will_start_video called",e),!(l=e.internal.videoInfo))return;var c=e.internal.videoStartsIn;c=c||0,Wa.willStart(l,c);break;case"start_video":VizbeeSDK.logger.debug("SyncController::videoMessageHandler::start_video called",e);var l=e.internal.videoInfo,d=e.internal.startVideoSource?e.internal.startVideoSource:"default";if(!l)return;"app"!==n.app.state?(VizbeeSDK.logger.debug("SyncController::videoMessageHandler()::start_video -- CALLING VIDEOADAPTER.STOP()"),Wa.stop("stop_reason_before_next_video"),setTimeout(function(){VizbeeSDK.logger.debug("SyncController::videoMessageHandler()::start_video -- CALLING START AFTER STOP"),b(l,d)},3e3)):b(l,d);break;case"pause":if("video"!==n.app.state)return void VizbeeSDK.logger.warn("pause requested when not in 'video' state",n.app.state);Wa.pause();break;case"play":if("video"!==n.app.state)return void VizbeeSDK.logger.warn("play requested when not in 'video' state",n.app.state);Wa.play();break;case"stop":if("app"==n.app.state)return void VizbeeSDK.logger.warn("stop requested when in 'app' state",n.app.state);VizbeeSDK.logger.info("syccontroller:: stop ",e.cmd.param);var f=e.cmd.param||"stop_reason_unknown";Wa.stop(f);break;case"exit":t={cmd:{ns:"video",name:"olleh",type:"upd"},hstatus:{id:i.deviceId,type:"SCREEN",vip:"false"}},r.send(t),Wa.exit();break;case"olleh":"int"==e.cmd.type&&g();break;case"status":_();break;case"seek":if(n.ad.playing)return VizbeeSDK.logger.debug("1",n.ad),void VizbeeSDK.logger.debug(n.video);if(Fa.isUndefined(e.cmd.param))return void VizbeeSDK.logger.debug("2",e);if(a=parseInt(e.cmd.param,10),isNaN(a))return void VizbeeSDK.logger.debug("3",a);if(n.video&&n.video.duration&&(o=n.video.duration,VizbeeSDK.logger.debug("4",a,o),a>o))return;if(a<0)return void VizbeeSDK.logger.debug("5",a);Wa.seek(a);break;case"vol_up":"function"==typeof Wa.volumeUp&&Wa.volumeUp();break;case"vol_down":"function"==typeof Wa.volumeDown&&Wa.volumeDown();break;case"mute":"function"==typeof Wa.mute&&Wa.mute(!0);break;case"unmute":"function"==typeof Wa.mute&&Wa.mute(!1);break;case"set_tracks":"function"==typeof Wa.setTracks&&Wa.setTracks(e.cmd.param||[]);break;case"event":"function"==typeof Wa.onEvent&&e.einfo&&e.einfo.data&&(Wa.onEvent(e.einfo),"tv.vizbee.homesso.signin"===e.einfo.type&&function(e,t){m(e.type,y({h:t,b:{payload:e.data}}))}(e.einfo,u))}}function y(e){var t=e.h.ssinfo,n={deviceId:t.REMOTE_DEVICE_ID,deviceType:t.REMOTE_DEVICE_TYPE,friendlyName:t.REMOTE_FRIENDLY_NAME,networkSessionId:t.REMOTE_NETWORK_SESSION_ID};return{payload:e.b.payload,senderInfo:n}}function m(e,t){if(window.vizbee&&window.vizbee.continuity&&window.vizbee.continuity.xmessages)if(window.vizbee.continuity.xmessages.VizbeeBicastSessionManager){var n=new window.vizbee.continuity.xmessages.VizbeeBicastSessionManager;if(n){var i=n.getSession();if(i){var r=i.getMessagingClient();r?r.onReceive(e,t.payload,t.senderInfo):VizbeeSDK.logger.error("SyncController::sendMessageToMessagingClient - Failed to initialize Vizbee session: messaging client not found")}else VizbeeSDK.logger.error("SyncController::sendMessageToMessagingClient - Failed to initialize Vizbee session: session not found")}else VizbeeSDK.logger.error("SyncController::sendMessageToMessagingClient - Failed to initialize Vizbee session: unable to create session manager instance")}else VizbeeSDK.logger.error("SyncController::sendMessageToMessagingClient - Failed to initialize Vizbee session: session manager not found");else VizbeeSDK.logger.error("SyncController::sendMessageToMessagingClient - Failed to initialize Vizbee session: xmessages not found")}function b(e,t){VizbeeSDK.logger.debug("SyncController::doStartVideo -- called StateManager.reset()",n),n.reset(),VizbeeSDK.logger.debug("SyncController::doStartVideo -- calling setSyncVideoInfo",n,n.getSyncVideoInfo()),n.setSyncVideoInfo(e),n.syncStartVideoSource=t,VizbeeSDK.logger.debug("SyncController::doStartVideo -- calling VideoAdapter.start() with videoInfo",e),Wa.start(e)}function S(e){"appIsSet"===e.type?(VizbeeSDK.logger.debug("SyncController::stateHandler appIsSet"),u=!0,p()):_()}function _(){if("app"!==n.app.state)if("UNKNOWN"!==n.video.state)if("PAUSED_BY_AD"!==n.video.state||"UNKNOWN"!==n.ad.state){var e=k();r&&r.send(e)}else VizbeeSDK.logger.debug("SyncController:sendUpdate - unknown video/ad state, not sending. app/video/ad.state: ",n.app.state,n.video.state,n.ad.state);else VizbeeSDK.logger.verbose("SyncController::sendUpdate - UNKNOWN video state, not sending");else"AppStateManager"==n.type&&VizbeeSDK.logger.verbose("SyncController::sendUpdate - in app state, not sending update",n)}function k(){var e,t=n.video,i=n.ad,r=n.getSyncVideoInfo(),a=n.getCurrentVideoInfo(),o={cmd:{name:"status",ns:"video",type:"upd"}};t&&(e=t.volume,t.muted&&(e=0),o.vinfo={id:t.id,url:""},r.id||(r=a),o.vinfo.islive=!1,o.vinfoext={title:"",subtitle:"",imgurl:"",desc:"",videostarttime:0,custommetadata:{},customstreaminfo:{},qos:{}},VizbeeSDK.logger.verbose("SyncController::createStatusMessage:: - ",r,a),a&&a.id&&r&&r.id&&r.id==a.id?(o.vinfo.url=r.videourl,o.vinfo.islive=r.islive,o.vinfoext={title:r.title||"",subtitle:r.subtitle||"",imgurl:r.imgurl||"",desc:r.desc||"",videostarttime:r.starttime||0,custommetadata:r.customMetadata||r.custommetadata,customstreaminfo:r.customStreamInfo||r.customstreaminfo,qos:T(t)}):a&&a.id&&(o.vinfo.url=a.videourl,o.vinfo.islive=a.islive,o.vinfoext={title:a.title||"",subtitle:a.subtitle||"",imgurl:a.imgurl||"",desc:a.desc||"",videostarttime:a.starttime||0,custommetadata:a.customMetadata||a.custommetadata,customstreaminfo:a.customStreamInfo||a.customstreaminfo,qos:T(t)}),o.vinfoext.wasVideoStartedByVizbee=n.wasVideoStartedByVizbee(),o.vstatus={du:parseInt(t.duration,10)||-1,id:t.id,po:parseInt(t.position,10)||-1,st:t.state,vol:parseInt(e),cc:t.cc,tr:t.tr,er:t.error||{}},"Infinity"!=t.duration&&"0"!=t.duration||(o.vstatus.du=0)),i&&t&&"PAUSED_BY_AD"==t.state&&(o.adstatus={du:parseInt(i.duration,10)||-1,id:i.id,po:parseInt(i.position,10)||-1,st:i.state});var s=Ha.getVideoInfo();return s&&(s.id&&(o.vinfo=o.vinfo||{},o.vinfo.id=s.id,o.vstatus=o.vstatus||{},o.vstatus.id=s.id),void 0!==s.videourl&&(o.vinfo=o.vinfo||{},o.vinfo.url=s.videourl),void 0!==s.islive&&(o.vinfo=o.vinfo||{},o.vinfo.islive=s.islive),void 0!==s.title&&(o.vinfoext=o.vinfoext||{},o.vinfoext.title=s.title),void 0!==s.subtitle&&(o.vinfoext=o.vinfoext||{},o.vinfoext.subtitle=s.subtitle),void 0!==s.imgurl&&(o.vinfoext=o.vinfoext||{},o.vinfoext.imgurl=s.imgurl),void 0!==s.isdvrsupported&&(o.vinfoext=o.vinfoext||{},o.vinfoext.isdvrsupported=s.isdvrsupported),void 0!==s.state&&(o.vstatus=o.vstatus||{},o.vstatus.st=s.state),void 0!==s.position&&(o.vstatus=o.vstatus||{},o.vstatus.po=parseInt(s.position,10)),void 0!==s.duration&&(o.vstatus=o.vstatus||{},o.vstatus.du=parseInt(s.duration,10))),o}function T(e){if(!e)return{};var t=e.qos||{};return{starttime:e.startTime||0,audiobufferlevel:e.audioBufferLevel,videobufferlevel:e.videoBufferLevel,adPodStartedTimeInMs:t.adPodStartedTimeInMs||0,adPodEndedTimeInMs:t.adPodEndedTimeInMs||0,loadReceivedByAppTimeInMs:t.loadReceivedByAppTimeInMs||0,loadReceivedByPlayerTimeInMs:t.loadReceivedByPlayerTimeInMs||0,metadataLoadedTimeInMs:t.metadataLoadedTimeInMs||0,playerReadyToPlayTimeInMs:t.playerReadyToPlayTimeInMs||0,playbackStartedTimeInMs:t.playbackStartedTimeInMs||0}}},yo=sn(),mo=Dt(),bo=un(),So=on(),_o=an(),ko=function(){if(Dr)return Cr;Dr=1;var e,t,n=Y(),i=new(0,Ct().EventEmitter),r={preparing:!1,playing:!1,alladscomplete:!1},a=-1,o=-1,s=!1;function u(e){var i={type:"ad",position:-1,duration:-1,preparing:r.preparing,playing:r.playing,alladscomplete:r.alladscomplete};return r.playing&&(o>0?(i.position=a,i.duration=o,VizbeeSDK.logger.debug("[VZB-DEBUG] AdAdapter::Status using app ad timing — po:",a,"du:",o)):t&&(i.position=1e3*t.currentTime(),i.duration=1e3*t.getDuration(),VizbeeSDK.logger.debug("[VZB-DEBUG] AdAdapter::Status using videoEl — po:",i.position,"du:",i.duration))),n.extend(i,e)}function c(e){var a,o,s=!n.contains(["timeupdate"],e.type);(r.preparing||r.playing)&&(a=new u,"timeupdate"!==e.type&&VizbeeSDK.logger.debug("AdAdapter::handleAdEvent() - not a timeupdate event",e.type),"preparing"===e.type&&(o="LOADING",a.id="UNKNOWN"),"play"===e.type&&(o="LOADING"),"playing"===e.type&&(o="PLAYING",t&&t.basePlayer&&t.basePlayer.videoInfo&&t.basePlayer.videoInfo.src&&(a.id=t.basePlayer.videoInfo.src)),"error"===e.type&&(o="INTERRUPTED",r.playing=!1),"ended"===e.type&&(o="FINISHED",r.playing=!1),a.playing=r.playing,o&&(a.state=o),i.emit("ad",a,s))}function l(e){var t=e.type||"UNKNOWN";VizbeeSDK.logger.debug("[VZB-DEBUG] AdAdapter::adsManagerHandleStateChange state:",t,"data:",e.data),-1!=["ad-pod-start","ad-pod-end","ad-start","ad-playing"].indexOf(t)&&(r.preparing=!1,r.playing=!1,"ad-pod-start"===t?(s=!1,r.preparing=!0,c({type:"preparing"})):"ad-start"===t?(s=!1,c({type:"play"})):"ad-playing"===t?(r.playing=!0,e.data&&(void 0!==e.data.duration&&e.data.duration>0&&(o=e.data.duration),void 0!==e.data.position&&e.data.position>=0&&(a=e.data.position),VizbeeSDK.logger.debug("[VZB-DEBUG] AdAdapter::ad-playing stored timing — po:",a,"du:",o))):("ad-pod-end"===t&&(r.playing=!1,r.alladscomplete=!0,a=-1,o=-1),i.emit("ad",new u({position:-1,duration:-1,state:"UNKNOWN",preparing:r.preparing,playing:r.playing}),!1)))}function d(n){VizbeeSDK.logger.debug("VIZBEE: AdAdapter.setAdVideo()",n),n&&((t=n).onError=function(e){r.playing&&(c({type:"error"}),s=!1)},t.onEnded=function(){r.playing&&(c({type:"ended"}),s=!1)},t.onTimeUpdate=function(e){r.playing&&(s?c({type:"timeupdate"}):(s=!0,c({type:"playing"})))},e||f(t))}function f(t){VizbeeSDK.logger.debug("VIZBEE: AdAdapter.setAdsManager()",t),(e=t).onEvent=l,d(e)}return Cr={setAdVideo:d,setAdsManager:f,reset:function(){r.preparing=!1,r.playing=!1,r.alladscomplete=!1,a=-1,o=-1,i.emit("ad",new u({position:-1,duration:-1,state:"UNKNOWN"}),!1)},addListener:function(e){i.addListener("ad",e)},removeListener:function(e){i.removeListener("ad",e)}}}(),To=function(){if(Mr)return wr;Mr=1;var e,t,n=Y(),i=new(0,Ct().EventEmitter),r={playing:!1,alladscomplete:!1};function a(e){var i={type:"ad",position:-1,duration:-1,playing:r.playing,alladscomplete:r.alladscomplete};return t&&(i.position=1e3*t.currentTime,i.duration=1e3*t.duration),n.extend(i,e)}function o(e){var o,s,u=!n.contains(["timeupdate","progress","suspend"],e.type);r.playing&&(o=new a,"timeupdate"!==e.type&&VizbeeSDK.logger.debug("handleAdEvent",e.type,t.currentTime),"loadedmetadata"===e.type&&(s="LOADING"),"play"===e.type&&(s="LOADING",o.id=t.src),"playing"===e.type&&(s="PLAYING"),"error"===e.type&&(s="FAILED"),"ended"===e.type&&(s="FINISHED"),t.ended&&(s="FINISHED"),s&&(o.state=s),i.emit("ad",o,u))}function s(e){r.playing=e.type===google.ima.AdEvent.Type.CONTENT_PAUSE_REQUESTED,r.alladscomplete=e.type===google.ima.AdEvent.Type.ALL_ADS_COMPLETED,VizbeeSDK.logger.debug("ADADAPTER:adsManagerHandler",e.type,"playing",r.playing,"(currentTime "+t.currentTime+")"),i.emit("ad",new a({position:-1,duration:-1,state:"UNKNOWN"}),!1)}return wr={setAdVideo:function(e){!function(e,t){["error","play","playing","ended","timeupdate","loadedmetadata"].forEach(function(n){e.addEventListener(n,o,!1),t&&t.removeEventListener(n,o,!1)})}(e,t),t=e},setAdsManager:function(t){!function(e,t){google&&google.ima&&[google.ima.AdErrorEvent.Type.AD_ERROR,google.ima.AdEvent.Type.CONTENT_PAUSE_REQUESTED,google.ima.AdEvent.Type.CONTENT_RESUME_REQUESTED,google.ima.AdEvent.Type.ALL_ADS_COMPLETED].forEach(function(n){e&&e.addEventListener(n,s),t&&t.removeEventListener(n,s)})}(t,e),e=t,VizbeeSDK.logger.debug("adsManager cue points,",e.getCuePoints())},reset:function(){r.playing=!1,r.alladscomplete=!1,i.emit("ad",new a({position:-1,duration:-1,state:"UNKNOWN"}),!1)},addListener:function(e){i.addListener("ad",e)},removeListener:function(e){i.removeListener("ad",e)}},wr}(),Io=function(){if(zr)return xr;zr=1,Y();var e,t,n=Ya(),i=["loadedmetadata","play","playing","timeupdate","error","ended"];function r(i){if(n.adStatus.adPodStarted){var r="LOADING";"loadedmetadata"==i.type||"play"==i.type?r="LOADING":"playing"==i.type?(n.adStatus.id=e.src,r="PLAYING"):"timeupdate"==i.type?r="PLAYING":"error"==i.type?r="FAILED":("ended"==i.type||e.ended)&&(r="FINISHED");var a=!1;r!=n.adStatus.state&&(a=!0,n.adStatus.state=r),n.adStatus.playing&&n.adStatus.duration>0&&t>=0?n.adStatus.position=1e3*e.currentTime-t:n.adStatus.position=-1,n.notify(a)}}function a(){n.reset(),t=-1}function o(){a(),n.notify()}return xr={setAdVideo:function(t){!function(e){e&&i.forEach(function(t){e.removeEventListener(t,r,!1)})}(e),function(e){e&&i.forEach(function(t){e.addEventListener(t,r,!1)})}(e=t)},setAdPodStart:function(e,t,i){a(),n.adStatus.adPodStarted=!0},setAdPodEnd:function(){o()},setTotalAdPodsDuration:function(e){n.adStatus.totalAdPodsDuration=e||0,n.notify(!1)},setAdStart:function(e,i){n.adStatus.playing=!0,t=e,n.adStatus.duration=i,n.adStatus.adPodsPlayedDuration+=i},setAdEnd:function(){n.adStatus.state="FINISHED",n.notify(!0),n.adStatus.playing=!1,t=-1,n.adStatus.duration=-1},getAdStatus:function(){return n.adStatus},reset:o,resetTotalAdPodsDuration:function(){n.resetTotalAdPodsDuration()},addListener:function(e){n.addListener(e)},removeListener:function(e){n.removeListener(e)}}}(),Vo=function(){if(Rr)return Lr;Rr=1,Y();var e,t,n=Ya();function i(i){if(n.adStatus.adPodStarted){"PLAYING"==i&&(n.adStatus.id=e.videoInfo.videoID||e.videoInfo.src);var r=!1;i!=n.adStatus.state&&(r=!0,n.adStatus.state=i),n.adStatus.playing&&n.adStatus.duration>0&&t>=0?n.adStatus.position=1e3*e.currentTime()-t:n.adStatus.position=-1,n.notify(r)}}function r(){n.reset(),t=-1}function a(){r(),n.notify()}return Lr={setAdVideo:function(t){t&&t.basePlayer&&function(e){e&&(e.onLoading=function(){i("LOADING")},e.onBuffering=function(){i("BUFFERING")},e.onPlaying=function(){i("PLAYING")},e.onTimeUpdate=function(){i("PLAYING")},e.onEnded=function(){i("FINISHED")},e.onError=function(){i("FAILED")})}(e=t.basePlayer)},setAdPodStart:function(e,t,i){r(),n.adStatus.adPodStarted=!0},setAdPodEnd:function(){a()},setAdStart:function(e,i){n.adStatus.playing=!0,t=e,n.adStatus.duration=i},setAdEnd:function(){n.adStatus.state="FINISHED",n.notify(!0),n.adStatus.playing=!1,t=-1,n.adStatus.duration=-1},reset:a,addListener:function(e){n.addListener(e)},removeListener:function(e){n.removeListener(e)}}}(),Eo=cn(),Po=(Fr||(Fr=1,Kr={getDeviceID:function(e,t,n){if(VizbeeTV&&VizbeeTV.tv)VizbeeTV.tv.uniqueDeviceID(function(n){switch(VizbeeSDK.logger.debug("Device::getDeviceID - DeviceIDAlgorithm = "+VizbeeTV.tv.deviceIDAlgorithm),VizbeeTV.tv.deviceIDAlgorithm){case"VTV_SESSION_ID":case"VTV_DEFAULT":case"VTV_URL_PARAMS":n=e.platform+":"+n;break;case"VTV_INTERNAL_IP":n=e.platform+":"+e.externalIp.toLowerCase()+":"+n}VizbeeSDK.logger.debug("Device::getDeviceID - deviceID = "+n),t(n)},function(e){VizbeeSDK.logger.error("PROD","C:001 failed to fetch deviceId, halting SDK initialization",e),n&&n(e)},e);else{var i="VizbeeTV framework not initialized yet, halting SDK initialization";VizbeeSDK.logger.error("PROD","C:002",i),n&&n(i)}}}),Kr),Ao=void 0,Co=void 0,Do=!1,wo=[],Mo="vzb0000000";function No(){if(Za&&Za.features&&Za.features.shouldSyncDisconnectOnBackground){if(Do)return;Ao?Ao.isConnected()||(VizbeeSDK.logger.i("SDK","onForeground","connecting VGA"),Do=!0,zo(Mo,function(){Do=!1,Co&&!Co.isConnected()&&(VizbeeSDK.logger.i("SDK","onForeground","connecting APPLET after VGA ",Ja.id),Do=!0,zo(Ja.id,function(){Do=!1}))})):Co&&!Co.isConnected()&&(VizbeeSDK.logger.i("SDK","onForeground","connecting APPLET ",Ja.id),Do=!0,zo(Ja.id,function(){Do=!1}))}}function Oo(){return VizbeeSDK.logger.i("SDK","onBackground"),Za&&Za.features&&Za.features.shouldExitOnBackground?(VizbeeSDK.logger.i("SDK","onBackground","exiting the app"),void VizbeeTV.tv.exit()):Za&&Za.features&&Za.features.shouldSyncDisconnectOnBackground?(VizbeeSDK.logger.i("SDK","onBackground","disconnecting from sync"),Ao&&Ao.isConnected()&&(VizbeeSDK.logger.i("SDK","_disconnectFromSync","disconnecting VGA"),Ao.disconnect()),Co&&Co.isConnected()&&(VizbeeSDK.logger.i("SDK","_disconnectFromSync","disconnecting APPLET"),Co.disconnect()),void(Do=!1)):void Uo()}function xo(e){VizbeeSDK.logger.i("SDK","onEnd","sending olleh"),e&&e.isTeardown&&(Ao&&Ao.enableSynchronousPublish(),Co&&Co.enableSynchronousPublish()),Uo()}function zo(e,t){po.getConfig({appId:e||Ja.id,deviceId:"",platform:VizbeeTV.tv.cloudPlatformName,platformModel:VizbeeTV.tv.platformModel,hostProxy:Ja.configServiceProxyHost},function(e){Za=e,VizbeeSDK.logger.d("SDK","getConfig","got config=",Za),Za.customAttributesForMetrics=Ja.customAttributesForMetrics,Za.features&&Za.features.enableIpv6Lookup?go.getIpv6Address(function(e){VizbeeSDK.logger.d("SDK","getIpv6Address","got response=",e),Za.ipv6Address=e,Lo(Za,t)}):(VizbeeSDK.logger.d("SDK","getIpv6Address","skipped - enableIpv6Lookup not set in screen config"),Lo(Za,t))})}function Lo(e,t){Po.getDeviceID(e,function(n){if(VizbeeSDK.logger.d("SDK","onConfigReady","using deviceid="+n),!function(e){if(!e||"string"!=typeof e)return!1;var t=e.split(":"),n=t[t.length-1];if(!n)return!1;var i=n.toLowerCase();return"unknown_device_id"!==i&&"0.0.0.0"!==i&&"127.0.0.1"!==i&&"localhost"!==i&&"undefined"!==i&&"null"!==i}(n))return VizbeeSDK.logger.e("SDK","onConfigReady","PROD - SDK init aborted: deviceId is a default/sentinel value; sync will not be established",n),Do=!1,void(t&&t(void 0));e.deviceId=n,function(e,t){(function(e){if(e&&e.debug&&e.debug.clients&&e.debug.clients.length>0&&e.debug.server)for(var t=0;t<e.debug.clients.length;t++){var n=e.debug.clients[t];if(n.ip&&n.ip==e.externalIp){var i=e.appId+":"+e.platform+":"+e.externalIp,r=n.aka||i;r="["+r+"]",kt.enableRemoteLogging(e.debug.server,r),window.VizbeeSDK&&window.VizbeeSDK.logger.setLevel(window.VizbeeSDK.logger.LEVEL.DEBUG),window.VizbeeTV&&window.VizbeeTV.logger.setLevel(window.VizbeeTV.logger.LEVEL.DEBUG),window.VGA&&window.VGA.logger.setLevel(window.VGA.logger.LEVEL.DEBUG)}}})(e),e.appId==Mo||e.features&&e.features.targetAppType==ba?(Mo=e.appId,Ao||(Ao=new vo(e,!0)),Ao.connect(function(e){e?VizbeeSDK.logger.d("SDK","onConfigAndDeviceIDReady","connected VGA"):VizbeeSDK.logger.e("SDK","onConfigAndDeviceIDReady","failed to connect VGA")})):(Co||(VizbeeSDK.logger.d("SDK","onConfigAndDeviceIDReady","creating appletSyncController"),Co=new vo(e,!1),ho.each(wo,function(e){e()})),VizbeeSDK.logger.d("SDK","onConfigAndDeviceIDReady","connecting appletSyncController"),Co.connect(function(e){e?VizbeeSDK.logger.d("SDK","onConfigAndDeviceIDReady","connected APPLET"):VizbeeSDK.logger.e("SDK","onConfigAndDeviceIDReady","failed to connect APPLET")})),t&&t(e)}(e,t)},function(e){VizbeeSDK.logger.e("SDK","onConfigReady","PROD - SDK init aborted: deviceId fetch failed; sync will not be established",e),Do=!1,t&&t(void 0)})}function Ro(e){VizbeeSDK.logger.d("SDK","setApp"),mo.setApp(e)}function Ko(e){VizbeeSDK.logger.d("SDK","setVideo","video=",e),So.setVideo(e)}function Fo(e){Qa={vzb_ad_ima:To,vzb_ad_ssai:Io,vzb_ad_ssai_avplay:Vo,vzb_ad_default:ko}[e.toLowerCase()],So.setAdAdapter(Qa)}function Uo(){Eo.send({type:"sync_proxy_video_cmds",cmd:{ns:"video",name:"olleh",type:"int"}})}var Bo={ContinuityContext:eo,QueueBase:io,QueueManager:Xa,QueueDelegate:Ca,QueueDelegateFactory:fo},Ho={VERSION:"7.8.42",wasVideoStartedByVizbee:function(){return yo&&yo.wasVideoStartedByVizbee()},init:function(e){VizbeeSDK.logger.i("SDK","init"),VizbeeTV.tv.appLifeCycleManager&&(VizbeeTV.tv.appLifeCycleManager.addHandler("onForeground",No),VizbeeTV.tv.appLifeCycleManager.addHandler("onBackground",Oo),VizbeeTV.tv.appLifeCycleManager.addHandler("onEnd",xo)),Ja=e,VizbeeSDK.logger.i("SDK","onStart"),Ja&&Ja.id&&(function(e){var t;VizbeeSDK.logger.d("SDK","handleInitOptions"),e.video&&Ko(e.video),e.app&&Ro(e.app),e.videoAdapter&&(t=e.videoAdapter,VizbeeSDK.logger.d("SDK","setHostVideoAdapter","video=",t),_o.setVideoAdapter(t)),e.adType&&Fo(e.adType),e.VGA&&e.isVGA&&bo.setVGA(e.VGA)}(Ja),So.init(),zo())},setApp:Ro,setVideo:Ko,setVideoGuid:function(e,t){So.setId(e,t)},setVideoInfo:function(e){VizbeeSDK.logger.d("SDK","setVideoInfo","videoInfo=",e),So.setVideoInfo(e)},setVideoStop:function(){So.setVideoStop()},setAdsVideo:function(e){VizbeeSDK.logger.d("SDK","setAdsVideo","video=",e),Qa?Qa.setAdVideo(e):VizbeeSDK.logger.d("SDK","setAdsVideo","AdAdapter not configured; skipping")},getAdsAdapter:function(){return Qa},setAdType:Fo,sendXMessage:function(e,t,n){if(Co){if(ho.get(Za,["features","useXMessagesFormat"])){var i={type:"sync_proxy_video_cmds",cmd:{type:"req",ns:t,name:"x",param:""},payload:e};return VizbeeSDK.logger.d("XMessages",this.constructor.name,"sendXMessage","sending message: ".concat(JSON.stringify(i)," in new format to sync controller")),void Eo.send(i)}var r={type:"sync_proxy_video_cmds",cmd:{type:"req",ns:"video",name:"event",param:""},einfo:{type:t,data:e}};VizbeeSDK.logger.d("XMessages",this.constructor.name,"sendXMessage","sending message: ".concat(JSON.stringify(r)," in old format to sync controller")),Eo.send(r)}else VizbeeSDK.logger.e("XMessages",this.constructor.name,"sendXMessage","appletSyncController not initialized")},syncProxy:Eo,addSyncReadyListener:function(e){wo.push(e)},removeSyncReadyListener:function(e){wo=ho.without(wo,e)},getSyncController:function(){return Co},getMetricsManager:function(){return ma},wrapVideoCallbacks:So.wrapCallbacks,addVideoEventListener:So.addEventListener,removeVideoEventListener:So.removeEventListener,reset:function(){VizbeeSDK.logger.d("SDK","reset");try{Co&&(Co.disconnect(),Co=void 0)}catch(e){VizbeeSDK.logger.e("SDK","reset","error disconnecting appletSyncController.",e)}try{yo.reset()}catch(e){VizbeeSDK.logger.e("SDK","reset","error resetting AppStateManager",e)}try{mo.reset()}catch(e){VizbeeSDK.logger.e("SDK","reset","error resetting AppAdapter",e)}try{Qa&&Qa.reset()}catch(e){VizbeeSDK.logger.e("SDK","reset","error resetting AdAdapter",e)}try{So.reset()}catch(e){VizbeeSDK.logger.e("SDK","reset"," error resetting VideoAdapter",e)}try{_o.reset()}catch(e){VizbeeSDK.logger.e("SDK","reset","error resetting HostVideoAdapter",e)}try{Eo.reset()}catch(e){VizbeeSDK.logger.e("SDK","reset","error resetting SyncProxy",e)}try{VizbeeTV.tv.appLifeCycleManager&&(VizbeeTV.tv.appLifeCycleManager.removeHandler("onForeground",No),VizbeeTV.tv.appLifeCycleManager.removeHandler("onBackground",Oo),VizbeeTV.tv.appLifeCycleManager.removeHandler("onEnd",xo))}catch(e){VizbeeSDK.logger.e("SDK","reset","error removing app lifecycle handlers",e)}},framework:Bo};window.VizbeeSDK||(window.VizbeeSDK={},VizbeeSDK.logger||(VizbeeSDK.logger=new kt,VizbeeSDK.logger.setPrefix("[Vizbee]")));var Go=window.VZB;Go=Ho,window.VZB=Go;var Wo=function(){return s(function e(){a(this,e),this.platformType="",this.platformConfig={},this.appAdapter=void 0,this.vgaAdapter=void 0,this.videoAdapter=void 0,this.adAdapter=void 0,this.vzbOptions={}},[{key:"setOptions",value:function(e){e||(e={}),this.vzbOptions=e}},{key:"getOptions",value:function(){return this.vzbOptions}},{key:"initAppOnPlatform",value:function(e,t,n,i){this.appAdapter=t.appAdapter||t,this.vgaAdapter=t.vgaAdapter,this.videoAdapter=t.videoAdapter,this.adAdapter=t.adAdapter,this.platformType=n,this.platformConfig=i,this.platformConfig.appId=e,null==this.platformConfig.standalone&&(this.platformConfig.standalone=!0),VizbeeTV.init(this.platformType,this.platformConfig);var r=this.appAdapter.startVideo||function(){},a=this;this.appAdapter.startVideo=function(e,t){t=t||0,a.platformConfig.standalone||a.setVideoGuid(e.id,e.isLive||e.islive),r(e,t)};var o={id:e,app:this.appAdapter,videoAdapter:this.videoAdapter,adAdapter:this.adAdapter,customAttributesForMetrics:{}};this.vgaAdapter?(o.isVGA=!0,o.VGA=this.vgaAdapter):o.video=VizbeeTV.tv.player,o.customAttributesForMetrics=l(o.customAttributesForMetrics,this.platformConfig.customAttributesForMetrics,this.vzbOptions.customAttributesForMetrics),this.vzbOptions.configServiceProxyHost&&(o.configServiceProxyHost=this.vzbOptions.configServiceProxyHost),VZB.init(o)}},{key:"setAdAdapterType",value:function(e){VZB.setAdType(e)}},{key:"getAdsAdapter",value:function(){return VZB.getAdsAdapter()}},{key:"setAdsVideo",value:function(e){VZB.setAdsVideo(e)}},{key:"setVideoElement",value:function(e){if(!e)return"undefined"!=typeof VizbeeSDK&&VizbeeSDK.logger&&VizbeeSDK.logger.warn("BaseAPIWrapper::setVideoElement - INVALID newVideoElement"),!1;if(!this.platformConfig)return"undefined"!=typeof VizbeeSDK&&VizbeeSDK.logger&&VizbeeSDK.logger.warn("BaseAPIWrapper::setVideoElement - SDK not initialized"),!1;if(this.platformConfig.videoElement===e)return!0;this.platformConfig.videoElement=e;var t=l({},this.platformConfig,{standalone:!0});return"undefined"!=typeof VizbeeTV&&VizbeeTV.tv&&VizbeeTV.tv.player&&"function"==typeof VizbeeTV.tv.player.reconstruct&&VizbeeTV.tv.player.reconstruct(t),this.setAdsVideo(e),!0}},{key:"setVideoGuid",value:function(e,t){VZB.setVideoGuid(e,t)}},{key:"setVideoInfo",value:function(e){VZB.setVideoInfo(e),this.setVideoGuid(e.id||e.videourl,e.islive)}},{key:"setVideoStop",value:function(){VZB.setVideoStop()}}])}(),qo=function(){return s(function e(){a(this,e)},[{key:"setup",value:function(e,t){this.chromecastAPI=e,this.mediaManager=t}}])}(),jo=function(){function e(){return a(this,e),r(this,e,arguments)}return h(e,qo),s(e,[{key:"setup",value:function(t,n){m(e,"setup",this)([t,n]),this.setupAppProcessors(),this.setupProcessors()}},{key:"setupAppProcessors",value:function(){this.appProcessOnLoad=this.mediaManager.onLoad.bind(this.mediaManager),this.appProcessOnMetadataLoaded=this.mediaManager.onMetadataLoaded.bind(this.mediaManager),this.appProcessOnPause=this.mediaManager.onPause.bind(this.mediaManager),this.appProcessOnEditTracksInfo=this.mediaManager.onEditTracksInfo.bind(this.mediaManager)}},{key:"setupProcessors",value:function(){this.setupOnLoadProcessor(),this.setupOnMetadataLoadedProcessor(),this.setupOnPauseProcessor(),this.setupOnEditTracksInfo()}},{key:"setupOnLoadProcessor",value:function(){var e=this;e.mediaManager.onLoad=function(t){var n=e.chromecastAPI.platformConfig.captionsType;n&&"cea608"==n.toLowerCase()&&(t.data.media.tracks=[{trackId:99,type:"TEXT",trackContentType:"text/608",name:"English",language:"en-US",subtype:"SUBTITLES"}]);var i=Ea.getVideoInfo(t);i.vzbSenderOS&&i.vzbVersion&&(e.chromecastAPI.setVideoInfo(i),e.chromecastAPI.appAdapter&&e.chromecastAPI.appAdapter.adaptMediaInfo&&(t=e.chromecastAPI.appAdapter.adaptMediaInfo(t))),e.appProcessOnLoad(t)}}},{key:"setupOnMetadataLoadedProcessor",value:function(){var e=this;e.mediaManager.onMetadataLoaded=function(t){var n=e.mediaManager.getMediaInformation(),i=n.customData;i&&i.vzbSenderOS&&i.vzbVersion&&e.chromecastAPI.setVideoGuid(n.customData.guid,"live"==n.streamType.toLowerCase()),e.appProcessOnMetadataLoaded(t)}}},{key:"setupOnPauseProcessor",value:function(){var e=this;e.mediaManager.onPause=function(t){VZB.syncProxy.send({type:"sync_proxy_video_cmds",cmd:{ns:"video",name:"pause",type:"req"}}),e.appProcessOnPause(t)}}},{key:"setupOnEditTracksInfo",value:function(){var e=this;e.mediaManager.onEditTracksInfo=function(t){var n=t.data.activeTrackIds,i=e.chromecastAPI.platformConfig.captionsType,r=e.chromecastAPI.platformConfig.playerType&&e.chromecastAPI.platformConfig.playerType.toLowerCase();if(n.length>0)i&&"cea608"==i.toLowerCase()&&99==n[0]?r&&"bitmovin"===r?(VizbeeSDK.logger.debug("DefaultProcessor::onEditTracksInfo - playerType=bitmovin player, handing off to app"),e.appProcessOnEditTracksInfo(t)):(o=e.chromecastAPI.platformConfig.videoElement)&&o.textTracks&&o.textTracks[0]&&(o.textTracks[0].mode="showing"):e.appProcessOnEditTracksInfo(t);else{VizbeeSDK.logger.debug("DefaultProcessor::onEditTracksInfo - No Active Track IDs");var a=VizbeeTV.tv.player.getEnabledTracks(C);if(a&&a.length>0){var o,s=a[0].toJSON();if(i&&"cea608"==i.toLowerCase()&&99==s.idNum)return void(r&&"bitmovin"===r?(VizbeeSDK.logger.debug("DefaultProcessor::onEditTracksInfo - playerType=bitmovin player, handing off to app"),e.appProcessOnEditTracksInfo(t)):(o=e.chromecastAPI.platformConfig.videoElement)&&o.textTracks&&o.textTracks[0]&&(o.textTracks[0].mode="hidden"))}e.appProcessOnEditTracksInfo(t)}}}}])}(),Yo=function(){function e(){return a(this,e),r(this,e,arguments)}return h(e,qo),s(e,[{key:"setup",value:function(t,n){m(e,"setup",this)([t,n]);var i=this;i.mediaManager.onLoad=(i.mediaManager.onLoad.bind(i.mediaManager),function(e){var t=Ea.getVideoInfo(e);t.islive||(t.starttime=1e3*t.starttime);var n={type:"sync_proxy_video_cmds",cmd:{ns:"video",name:"start_video",type:"req",param:t.starttime},vinfo:{id:t.id,url:t.videourl,islive:t.islive,deeplink:t.deeplink},vinfoext:{}};t.cuepoints&&(n.vinfoext.cuepoints=t.cuepoints),t.title&&(n.vinfoext.title=t.title),t.imgurl&&(n.vinfoext.imgurl=t.imgurl),t.desc&&(n.vinfoext.desc=t.desc),t.tracks&&(n.vinfoext.tracks=t.tracks),t.customstreaminfo&&(n.vinfoext.customstreaminfo=t.customstreaminfo),t.custommetadata&&(n.vinfoext.custommetadata=t.custommetadata),t.drminfo&&(n.vinfoext.drmcustomdata=t.drminfo.drmCustomData),t.drminfo&&(n.vinfoext.drmtype=t.drminfo.drmType),t.drminfo&&(n.vinfoext.drmlicenseurl=t.drminfo.drmLicenseURL),n.internal=t,VZB.syncProxy.send(n)}),i.mediaManager.onPlay=(i.mediaManager.onPlay.bind(i.mediaManager),function(e){VZB.syncProxy.send({type:"sync_proxy_video_cmds",cmd:{ns:"video",name:"play",type:"req"}}),i.mediaManager.sendStatus(e.senderId,e.data.requestId,!0)}),i.mediaManager.onPause=(i.mediaManager.onPause.bind(i.mediaManager),function(e){VZB.syncProxy.send({type:"sync_proxy_video_cmds",cmd:{ns:"video",name:"pause",type:"req"}}),i.mediaManager.sendStatus(e.senderId,e.data.requestId,!0)}),i.mediaManager.onSeek=(i.mediaManager.onSeek.bind(i.mediaManager),function(e){var t=Ea.getVideoInfo(e),n={type:"sync_proxy_video_cmds",cmd:{ns:"video",name:"seek",type:"req",param:Math.round(1e3*t.starttime)}};VZB.syncProxy.send(n),i.mediaManager.sendStatus(e.senderId,e.data.requestId,!0)}),i.mediaManager.onStop=(i.mediaManager.onStop.bind(i.mediaManager),function(e){VZB.syncProxy.send({type:"sync_proxy_video_cmds",cmd:{ns:"video",name:"stop",type:"req"}}),i.mediaManager.sendStatus(e.senderId,e.data.requestId,!0)}),i.mediaManager.onEditTracksInfo=function(e){var t={type:"sync_proxy_video_cmds",cmd:{ns:"video",name:"set_tracks",type:"req",param:e.data.activeTrackIds}};VZB.syncProxy.send(t),i.mediaManager.sendStatus(e.senderId,e.data.requestId,!0)}}}])}(),Qo=function(){function e(){return a(this,e),r(this,e,arguments)}return h(e,jo),s(e,[{key:"setupAppMediaManagerProcessor",value:function(e){this.appMediaManagerProcessor=e}},{key:"setupAppProcessors",value:function(){this.appProcessOnLoad=this.appMediaManagerProcessor.onLoad.bind(this.appMediaManagerProcessor),this.appProcessOnPause=this.appMediaManagerProcessor.onPause.bind(this.appMediaManagerProcessor),this.appProcessOnPlay=this.appMediaManagerProcessor.onPlay.bind(this.appMediaManagerProcessor),this.appProcessOnSeek=this.appMediaManagerProcessor.onSeek.bind(this.appMediaManagerProcessor),this.appMediaManagerProcessor.onEditTracksInfo?this.appProcessOnEditTracksInfo=this.appMediaManagerProcessor.onEditTracksInfo.bind(this.appMediaManagerProcessor):this.appProcessOnEditTracksInfo=this.mediaManager.onEditTracksInfo.bind(this.mediaManager),this.appProcessOnStop=this.appMediaManagerProcessor.onStop.bind(this.appMediaManagerProcessor)}},{key:"setupProcessors",value:function(){m(e,"setupProcessors",this)([]),this.setupOnPlayProcessor(),this.setupOnSeekProcessor(),this.setupOnStopProcessor()}},{key:"setupOnPlayProcessor",value:function(){var e=this;e.mediaManager.onPlay=function(t){var n=e.appProcessOnPlay(t);e.mediaManager.sendStatus(t.senderId,t.data.requestId,!!n)}}},{key:"setupOnSeekProcessor",value:function(){var e=this;e.mediaManager.onSeek=function(t){var n=e.appProcessOnSeek(t);e.mediaManager.sendStatus(t.senderId,t.data.requestId,!!n)}}},{key:"setupOnStopProcessor",value:function(){var e=this;e.mediaManager.onStop=function(t){var n=e.appProcessOnStop(t);e.mediaManager.sendStatus(t.senderId,t.data.requestId,!!n)}}}])}(),Jo=function(){return s(function e(){a(this,e)},[{key:"setup",value:function(e,t){this.chromecastAPI=e,this.playerManager=t}}])}(),Zo=function(){function e(){return a(this,e),r(this,e,arguments)}return h(e,Jo),s(e,[{key:"setup",value:function(t,n){m(e,"setup",this)([t,n]),this.setupProcessors()}},{key:"setupProcessors",value:function(){this.setupOnLoadProcessor(),this.setupOnMetadataLoadedProcessor()}},{key:"setupOnLoadProcessor",value:function(){var e=this;e.playerManager.addEventListener([cast.framework.events.EventType.REQUEST_LOAD,cast.framework.events.EventType.REQUEST_LOAD_BY_ENTITY],function(t){VizbeeSDK.logger.debug("DefaultCAFProcessor::setupOnLoadProcessor",t);var n={data:t.requestData},i=Ea.getVideoInfo(n);e.chromecastAPI.setVideoInfo(i)})}},{key:"setupOnMetadataLoadedProcessor",value:function(){var e=this;e.playerManager.addEventListener(cast.framework.events.EventType.LOADED_METADATA,function(t){VizbeeSDK.logger.debug("DefaultCAFProcessor::setupOnMetadataLoadedProcessor",t);var n={data:{media:e.playerManager.getMediaInformation()}},i=Ea.getVideoInfo(n);e.chromecastAPI.setVideoGuid(i.id,i.islive)})}}])}(),Xo=function(){return s(function e(){a(this,e)},null,[{key:"createProcessor",value:function(e){return!e||e&&"default"==e.toLowerCase()?cast.framework?new Zo:new jo:e&&"custom"==e.toLowerCase()?new Qo:e&&"sync"==e.toLowerCase()?new Yo:void 0}}])}(),$o=function(){function e(){return a(this,e),r(this,e,arguments)}return h(e,Wo),s(e,[{key:"initAppOnPlatform",value:function(t,n,i,r,a){var o=cast.receiver.CastReceiverManager.getInstance();if(o.isSystemReady())VizbeeSDK.logger.error("Vizbee should be initialized before calling CastReceiverManager.start()");else try{VizbeeSDK.logger.debug("Vizbee: creating vizbee custom channel");var s=o.getCastMessageBus("urn:x-cast:tv.vizbee.sync");r.vizbeeCustomChannel=s}catch(e){VizbeeSDK.logger.error("Vizbee should be initialized before calling CastReceiverManager.start()")}if(m(e,"initAppOnPlatform",this)([t,n,i,r]),r.mediaManager){r.mediaManagerProcessorType||(r.mediaManagerProcessorType="default");var u=Xo.createProcessor(r.mediaManagerProcessorType);if("custom"==r.mediaManagerProcessorType.toLowerCase()){if(!a)return void VizbeeSDK.logger.info("Vizbee: Incorrect API usage - customProcessorForMediaManager is required when mediaManagerProcessorType is custom");u.setupAppMediaManagerProcessor(a)}u.setup(this,r.mediaManager)}else VizbeeSDK.logger.info("Vizbee: Incorrect API usage - mediaManager is a required property in initAppOnPlatform method.");this._maybeStartStatusPoller()}},{key:"_maybeStartStatusPoller",value:function(){if(!this.statusPoller){var e=!(!this.platformConfig||!this.platformConfig.videoElement),t=!(!this.appAdapter||"function"!=typeof this.appAdapter.getVideoInfo);if(!e&&t){var n=this;this.statusPoller=new null({intervalMs:this.vzbOptions&&this.vzbOptions.statusPollIntervalMs,logger:VizbeeSDK.logger,getStatus:function(){return n.appAdapter.getVideoInfo()},setVideoSource:function(e){"undefined"!=typeof VZB&&VZB.setVideo&&VZB.setVideo(e)},setVideoGuid:function(e,t){"undefined"!=typeof VZB&&VZB.setVideoGuid&&VZB.setVideoGuid(e,t)},installAdSource:function(e){"undefined"!=typeof VZB&&VZB.setAdsVideo&&VZB.setAdsVideo(e)}}),this.statusPoller.start()}}}},{key:"setAdAdapterType",value:function(e){VZB.setAdType(e),this.platformConfig.videoElement&&this.setAdsVideo(this.platformConfig.videoElement)}}])}(),es=function(){function e(){return a(this,e),r(this,e,arguments)}return h(e,Wo),s(e,[{key:"initAppOnPlatform",value:function(t,n,i,r,a){try{var o=cast.framework.CastReceiverContext.getInstance();o.isSystemReady()?VizbeeSDK.logger.error("Vizbee should be initialized before calling castReceiverContext.start()"):r.vizbeeCustomChannel="urn:x-cast:tv.vizbee.sync",m(e,"initAppOnPlatform",this)([t,n,i,r]),r.mediaManagerProcessorType||(r.mediaManagerProcessorType="default"),Xo.createProcessor(r.mediaManagerProcessorType).setup(this,o.getPlayerManager())}catch(e){VizbeeSDK.logger.error("ChromecastCAFAPIWrapper::initAppOnPlatform - Failed to initialize the SDK")}}},{key:"setAdAdapterType",value:function(e){e&&(VZB.setAdType(e),VizbeeTV&&VizbeeTV.tv&&VizbeeTV.tv.player&&this.setAdsVideo(VizbeeTV.tv.player))}},{key:"setVideoElement",value:function(e){return!!e&&(this.platformConfig&&(this.platformConfig.videoElement=e),!0)}}])}(),ts=function(){function e(){return a(this,e),r(this,e,arguments)}return h(e,Wo),s(e,[{key:"initAppOnPlatform",value:function(t,n,i,r){m(e,"initAppOnPlatform",this)([t,n,i,r]),r.standalone||r.videoElement||VizbeeSDK.logger.error("Incorrect API usage: VideoElement is a required property in initAppOnPlatform method for Samsung Tizen")}},{key:"wrapAVPlayerListener",value:function(e){return VizbeeTV.tv.player.wrapAVPlayerListener(e)}},{key:"setAdAdapterType",value:function(e){VZB.setAdType(e),this.setAdsVideo(this.platformConfig.videoElement)}},{key:"setVideoGuid",value:function(e,t){VZB.setVideoGuid(e,t)}},{key:"setVideoInfo",value:function(e){VZB.setVideoInfo(e),this.setVideoGuid(e.id||e.videourl,e.islive)}},{key:"setAdsVideo",value:function(e){VZB.setAdsVideo(e)}}])}(),ns={chromecast:window.cast&&cast.framework?es:$o,tizen:ts},is=function(){function e(){return a(this,e),r(this,e,arguments)}return h(e,Wo),s(e,[{key:"VERSION",get:function(){return window.VZB?window.VZB.VERSION:""}},{key:"init",value:function(e,t,n,i){var r=this;bt.detectPlatformWhenReady(function(a){a?r.initAppOnPlatform(e,t,a,n,t.mediaManagerAdapter,i):VizbeeSDK.logger.error("PROD","VirtualAPIWrapper::init - platform not detected; aborting SDK init")})}},{key:"initAppOnPlatform",value:function(e,t,n,i,r,a){n=n.toLowerCase(),ns[n]&&!t.vgaAdapter?(this._apiWrapper=new ns[n],this._apiWrapper.setOptions(a),this._apiWrapper.initAppOnPlatform(e,t,n,i,r)):(this._apiWrapper=new Wo,this._apiWrapper.setOptions(a),this._apiWrapper.initAppOnPlatform(e,t,n,i))}},{key:"setVideoGuid",value:function(e,t){if(this._isAPIWrapperInitialized())return this._apiWrapper.setVideoGuid(e,t),!0}},{key:"setVideoInfo",value:function(e){if(this._isAPIWrapperInitialized())return this._apiWrapper.setVideoInfo(e),!0}},{key:"setVideoStop",value:function(){if(this._isAPIWrapperInitialized())return this._apiWrapper.setVideoStop(),!0}},{key:"getAdsManager",value:function(){if(this._isAPIWrapperInitialized())return this._apiWrapper.getAdsManager()}},{key:"setAdsVideo",value:function(e){if(this._isAPIWrapperInitialized())return this._apiWrapper.setAdsVideo(e),!0}},{key:"setVideoElement",value:function(e){if(this._isAPIWrapperInitialized())return this._apiWrapper.setVideoElement(e)}},{key:"setAdAdapterType",value:function(e){if(this._isAPIWrapperInitialized())return this._apiWrapper.setAdAdapterType(e),!0}},{key:"wrapAVPlayerListener",value:function(e){if(this._isAPIWrapperInitialized())return this._apiWrapper.wrapAVPlayerListener(e)}},{key:"_isAPIWrapperInitialized",value:function(){return null!=this._apiWrapper}}])}(),rs=void 0,as=function(){function e(){a(this,e),this.virtualAPIWrapper=Xs,this.vzbOptions={}}return s(e,[{key:"startWithOptions",value:function(e,t){this.vzbOptions=t||{},this.start(e)}},{key:"start",value:function(e){this.isValidAppId(e)&&this.virtualAPIWrapper.init(e,{},{},this.vzbOptions)}},{key:"isValidAppId",value:function(e){if("string"!=typeof e)return!1;var t=new RegExp("^vzb[0-9]+$"),n=new RegExp("^vzb(-[A-Za-z]+)+-[0-9]+$");return t.test(e)||n.test(e)}}],[{key:"getInstance",value:function(){return null==rs&&(rs=new e),rs}}])}(),os=function(){return s(function e(){a(this,e),this._configServiceProxyHost=void 0,this._customAttributesForMetrics=void 0},[{key:"configServiceProxyHost",get:function(){return this._configServiceProxyHost},set:function(e){this._configServiceProxyHost=e}},{key:"customAttributesForMetrics",get:function(){return this._customAttributesForMetrics},set:function(e){this._customAttributesForMetrics=e}}])}(),ss=function(){return s(function e(){a(this,e)},[{key:"ContinuityContext",get:function(){return as}},{key:"ContinuityOptions",get:function(){return os}}])}(),us=function(){return s(function e(){a(this,e),this.deeplinkHandler=void 0,this.vizbeeEventHandler=void 0,this.vizbeeSigninEventHandler=void 0},[{key:"setSignInHandler",value:function(e){"function"==typeof e?this.vizbeeSigninEventHandler=e:vizbee.logger.warn(this.constructor.name+"::setSignInHandler - NO SIGNIN Handler implemented by HostApp")}},{key:"setDeeplinkHandler",value:function(e){"function"==typeof e?this.deeplinkHandler=e:vizbee.logger.warn(this.constructor.name+"::setDeeplinkHandler - NO DEEPLINK Handler implemented by HostApp")}},{key:"setVizbeeEventHandler",value:function(e){"function"==typeof e?this.vizbeeEventHandler=e:vizbee.logger.warn(this.constructor.name+"::setVizbeeEventHandler - NO Event Handler implemented by HostApp")}},{key:"setVizbeeSigninEventHandler",value:function(e){"function"==typeof e?this.vizbeeSigninEventHandler=e:vizbee.logger.warn(this.constructor.name+"::setVizbeeSigninEventHandler - NO Event Handler implemented by HostApp")}}])}(),cs=function(){return s(function e(){a(this,e)},null,[{key:"AD_POD_WAITING",get:function(){return"awaiting-ad-pod"}},{key:"AD_POD_START",get:function(){return"ad-pod-start"}},{key:"AD_PREPARING",get:function(){return"ad-preparing"}},{key:"AD_START",get:function(){return"ad-start"}},{key:"AD_PLAYING",get:function(){return"ad-playing"}},{key:"AD_PAUSED",get:function(){return"ad-paused"}},{key:"AD_END",get:function(){return"ad-end"}},{key:"AD_POD_END",get:function(){return"ad-pod-end"}},{key:"AD_ERROR",get:function(){return"ad-error"}}])}(),ls=function(){return s(function e(t,n){a(this,e),this._eventType=t,this._eventData=n},[{key:"eventType",get:function(){return this._eventType},set:function(e){this._eventType=e}},{key:"eventData",get:function(){return this._eventData},set:function(e){this._eventData=e}}])}(),ds=function(){return s(function e(t,n){a(this,e),this.adType=t,this.playerElement=n,this.vtvPlayerEvent=new Te},[{key:"updateAdStatus",value:function(e){this._isValidAdStatus(e)?this._handleAdStatus(e):vizbee.logger.verbose("AdAdapter::updateAdStatus - invalid ad status")}},{key:"_isValidAdStatus",value:function(e){return e instanceof ls?-1!=[cs.AD_POD_WAITING,cs.AD_PREPARING,cs.AD_POD_START,cs.AD_POD_END,cs.AD_START,cs.AD_PLAYING,cs.AD_PAUSED,cs.AD_END,cs.AD_ERROR].indexOf(e.eventType)||(vizbee.logger.warn("AdAdapter::_isValidAdStatus - adStatus event type is invalid: ".concat(e.eventType)),!1):(vizbee.logger.warn("AdAdapter::_isValidAdStatus - adStatus is not an instance of vizbee.continuity.messages.AdStatus"),!1)}},{key:"_handleAdStatus",value:function(e){e?(vizbee.logger.verbose("AdAdapter::_handleAdStatus - eventType: ".concat(e.eventType)),this.vtvPlayerEvent.type=e.eventType,this.vtvPlayerEvent.data=e.eventData||{},VizbeeTV.tv.player.dispatchOnEvent(this.vtvPlayerEvent)):vizbee.logger.warn("AdAdapter::_handleAdStatus - invalid ad status")}}])}(),fs=function(){return s(function e(t,n){a(this,e),this.playerType=t,this.playerElement=n,this.playHandler=void 0,this.pauseHandler=void 0,this.seekHandler=void 0,this.stopHandler=void 0,this.videoInfoGetter=void 0,this.tracksGetHandler=void 0,this.enabledTracksGetHandler=void 0,this.enableTracksHandler=void 0,this.disableTracksHandler=void 0,this.vizbeeEventHandler=void 0},[{key:"setPlayerType",value:function(e){e&&(this.playerType=e)}},{key:"setPlayerElement",value:function(e){e&&(this.playerElement=e)}},{key:"updateVideoInfo",value:function(e){window.vizbee&&vizbee.continuity.ContinuityContext.getInstance().setVideoInfo(e)}},{key:"setVideoInfoGetter",value:function(e){"function"==typeof e&&(this.videoInfoGetter=e)}},{key:"getVideoInfo",value:function(){if(this.videoInfoGetter)return this.videoInfoGetter()}},{key:"setPlayHandler",value:function(e){"function"==typeof e&&(this.playHandler=e)}},{key:"setPauseHandler",value:function(e){"function"==typeof e&&(this.pauseHandler=e)}},{key:"setSeekHandler",value:function(e){"function"==typeof e&&(this.seekHandler=e)}},{key:"setStopHandler",value:function(e){"function"==typeof e&&(this.stopHandler=e)}},{key:"getTracksHandler",value:function(e){"function"==typeof e&&(this.tracksGetHandler=e)}},{key:"getEnabledTracksHandler",value:function(e){"function"==typeof e&&(this.enabledTracksGetHandler=e)}},{key:"setAvailableTracksGetter",value:function(e){"function"==typeof e&&(this.tracksGetHandler=e)}},{key:"setEnabledTracksGetter",value:function(e){"function"==typeof e&&(this.enabledTracksGetHandler=e)}},{key:"setEnableTracksHandler",value:function(e){"function"==typeof e&&(this.enableTracksHandler=e)}},{key:"setDisableTracksHandler",value:function(e){"function"==typeof e&&(this.disableTracksHandler=e)}},{key:"setVizbeeEventHandler",value:function(e){"function"==typeof e&&(this.vizbeeEventHandler=e)}}])}(),hs=function(){return s(function e(){a(this,e)},null,[{key:"UNKNOWN",get:function(){return"unknown"}},{key:"HTML",get:function(){return"html"}},{key:"AVPLAYER",get:function(){return"avplayer"}},{key:"BITMOVIN",get:function(){return"bitmovin"}},{key:"VIDEOJS",get:function(){return"videojs"}},{key:"THEO",get:function(){return"theo"}},{key:"SHAKA",get:function(){return"shaka"}}])}(),ps=function(){return s(function e(){a(this,e)},null,[{key:"UNKNOWN",get:function(){return"unknown"}},{key:"SSAI",get:function(){return"ssai"}},{key:"CSAI",get:function(){return"csai"}}])}(),gs=function(){return s(function e(){a(this,e),this._guid="",this._isLive=!1,this._startTime=0,this._videoUrl="",this._deeplink="",this._imgUrl="",this._title="",this._subtitle="",this._desc="",this._tracks=[],this._cuepoints=[],this._customStreamInfo=void 0,this._customMetadata=void 0},[{key:"toJson",value:function(){var e={};return e.id=this._guid,e.islive=this._isLive,e.starttime=this._startTime,e.videourl=this._videoUrl,e.deeplink=this._deeplink,e.imgurl=this._imgUrl,e.title=this._title,e.subtitle=this._subtitle,e.desc=this._desc,e.tracks=this._tracks,e.cuepoints=this._cuepoints,e.customstreaminfo=this._customStreamInfo,e.custommetadata=this._customMetadata,e}},{key:"fromJson",value:function(e){e?(this._guid=e.id,this._isLive=e.islive,this._startTime=e.starttime,this._videoUrl=e.videourl,this._deeplink=void 0!==e.deeplink&&null!==e.deeplink?e.deeplink:"",this._imgUrl=e.imgurl,this._title=e.title,this._subtitle=e.subtitle,this._desc=e.desc,this._tracks=e.tracks,this._cuepoints=e.cuepoints,this._customStreamInfo=e.customstreaminfo,this._customMetadata=e.custommetadata):vizbee.logger.debug(this.constructor.name+"::toJson - invalid syncVideoInfo")}},{key:"isLive",get:function(){return this._isLive},set:function(e){this._isLive=e}},{key:"guid",get:function(){return this._guid},set:function(e){this._guid=e}},{key:"videoUrl",get:function(){return this._videoUrl},set:function(e){this._videoUrl=e}},{key:"deeplink",get:function(){return this._deeplink},set:function(e){this._deeplink=e}},{key:"imgUrl",get:function(){return this._imgUrl},set:function(e){this._imgUrl=e}},{key:"title",get:function(){return this._title},set:function(e){this._title=e}},{key:"subtitle",get:function(){return this._subtitle},set:function(e){this._subtitle=e}},{key:"desc",get:function(){return this._desc},set:function(e){this._desc=e}},{key:"startTime",get:function(){return this._startTime},set:function(e){this._startTime=e}},{key:"tracks",get:function(){return this._tracks},set:function(e){this._tracks=e}},{key:"cuepoints",get:function(){return this._cuepoints},set:function(e){this._cuepoints=e}},{key:"customStreamInfo",get:function(){return this._customStreamInfo},set:function(e){this._customStreamInfo=e}},{key:"customMetadata",get:function(){return this._customMetadata},set:function(e){this._customMetadata=e}}])}(),vs=function(){return s(function e(){a(this,e)},null,[{key:"IDLE",get:function(){return"idle"}},{key:"PREPARING",get:function(){return"preparing"}},{key:"LOADING",get:function(){return"loading"}},{key:"STARTED",get:function(){return"started"}},{key:"PLAYING",get:function(){return"playing"}},{key:"PAUSED",get:function(){return"paused"}},{key:"BUFFERING",get:function(){return"buffering"}},{key:"INTERRUPTED",get:function(){return"interrupted"}},{key:"ENDED",get:function(){return"ended"}},{key:"ERROR",get:function(){return"error"}}])}(),ys=function(){return s(function e(){a(this,e),this._guid="",this._state=vs.IDLE,this._currentPosition=-1,this._duration=-1,this._isLive=!1,this._isDvrSupported=!1,this._title="",this._subtitle="",this._videoUrl="",this._imgUrl=""},[{key:"guid",get:function(){return this._guid},set:function(e){this._guid=e}},{key:"state",get:function(){return this._state},set:function(e){this._state=e}},{key:"currentPosition",get:function(){return this._currentPosition},set:function(e){this._currentPosition=e}},{key:"duration",get:function(){return this._duration},set:function(e){this._duration=e}},{key:"isLive",get:function(){return this._isLive},set:function(e){this._isLive=e}},{key:"isDvrSupported",get:function(){return this._isDvrSupported},set:function(e){this._isDvrSupported=e}},{key:"title",get:function(){return this._title},set:function(e){this._title=e}},{key:"subtitle",get:function(){return this._subtitle},set:function(e){this._subtitle=e}},{key:"videoUrl",get:function(){return this._videoUrl},set:function(e){this._videoUrl=e}},{key:"imgUrl",get:function(){return this._imgUrl},set:function(e){this._imgUrl=e}}])}(),ms=function(){return s(function e(){a(this,e),this._type="",this._data=void 0},[{key:"type",get:function(){return this._type},set:function(e){this._type=e}},{key:"data",get:function(){return this._data},set:function(e){this._data=e}}])}(),bs=void 0,Ss=function(){function e(){var t;return a(this,e),(t=r(this,e)).appAdapter=new us,t.playerAdapter=void 0,t.adAdapter=void 0,t.adType=void 0,t}return h(e,as),s(e,[{key:"getAppAdapter",value:function(){return this.appAdapter}},{key:"setAppAdapter",value:function(e){e instanceof us&&(this.appAdapter=e)}},{key:"getPlayerAdapter",value:function(){return this.playerAdapter}},{key:"setPlayerAdapter",value:function(e){if(!this._isPlatformPlayerInitialized())return vizbee.logger.w("DefaultContinuityContext::setPlayerAdapter - Vizbee platform player not initialized"),!1;if(!this._isValidPlayerAdapter(e))return vizbee.logger.w("DefaultContinuityContext::setPlayerAdapter - playerAdapter should be valid and of type vizbee.continuity.adapters.PlayerAdapter"),!1;this.playerAdapter=e;var t=this._buildPlatformConfig(e);return VizbeeTV.tv.player.reconstruct(t),this._setAdAdapter(),!0}},{key:"removePlayerAdapter",value:function(e){return this._isPlatformPlayerInitialized()?(this.stopVideo(),this.playerAdapter=void 0,!0):(vizbee.logger.w(this.constructor.name,"resetPlayerAdapter","Vizbee platform player not initialized"),!1)}},{key:"setPlayerAdapterWithVideoInfo",value:function(e,t){return!!this.setPlayerAdapter(e)&&this.setVideoInfo(t)}},{key:"setVideoInfo",value:function(e){return!!this._isValidVideoInfo(e)&&this.virtualAPIWrapper.setVideoInfo(e.toJson())}},{key:"getVideoInfo",value:function(){if(this.playerAdapter&&this.playerAdapter.getVideoInfo){var e=this.playerAdapter.getVideoInfo();if(e instanceof ys)return e}}},{key:"getAdAdapter",value:function(e){return this.adAdapter}},{key:"setAdAdapter",value:function(e){return e instanceof ds?this._isValidAdType(e.adType)?(this.adAdapter=e,this.setAdType(ps.CSAI),void this._setAdAdapter()):(vizbee.logger.w("DefaultContinuityContext::setAdAdapter - adAdapter.adType is INVALID"),!1):(vizbee.logger.w("DefaultContinuityContext::setAdAdapter - AdAdapter should be of type vizbee.continuity.adapters.AdAdapter"),!1)}},{key:"removeAdAdapter",value:function(e){this.adAdapter=void 0}},{key:"setAdType",value:function(e){this._isValidAdType(e)&&(this.adType=e,this._setAdAdapter())}},{key:"start",value:function(e){var t=this;if(this.isValidAppId(e)){var n={};n.appAdapter={startVideo:function(e){if(t.appAdapter&&t.appAdapter.deeplinkHandler){var n=new gs;n.fromJson(e),t.appAdapter.deeplinkHandler(n)}else vizbee.logger.w(t.constructor.name,"startVideo","NO DEEPLINK HANDLER")},onEvent:function(e){if(t.appAdapter&&t.appAdapter.vizbeeSigninEventHandler&&e&&"tv.vizbee.homesign.signin"===e.type){var n=new ms;n.type=e.type,n.data=e.data,t.appAdapter.vizbeeSigninEventHandler(n)}if(t.appAdapter&&t.appAdapter.vizbeeEventHandler&&e){var i=new ms;i.type=e.type,i.data=e.data,t.appAdapter.vizbeeEventHandler(i)}if(t.playerAdapter&&t.playerAdapter.vizbeeEventHandler&&e){var r=new ms;r.type=e.type,r.data=e.data,t.playerAdapter.vizbeeEventHandler(r)}},playVideo:function(){return!(!t.playerAdapter||!t.playerAdapter.playHandler||(t.playerAdapter.playHandler(),0))},pauseVideo:function(){return!(!t.playerAdapter||!t.playerAdapter.pauseHandler||(t.playerAdapter.pauseHandler(),0))},seekVideo:function(e){return!(!t.playerAdapter||!t.playerAdapter.seekHandler||(t.playerAdapter.seekHandler(e),0))},stopVideo:function(e){return!(!t.playerAdapter||!t.playerAdapter.stopHandler||(t.playerAdapter.stopHandler(e),0))},getTracks:function(){return!(!t.playerAdapter||!t.playerAdapter.tracksGetHandler)&&t.playerAdapter.tracksGetHandler()},getEnabledTracks:function(){return!(!t.playerAdapter||!t.playerAdapter.enabledTracksGetHandler)&&t.playerAdapter.enabledTracksGetHandler()},enableTracks:function(e){return!(!t.playerAdapter||!t.playerAdapter.enableTracksHandler||(t.playerAdapter.enableTracksHandler(e),0))},disableTracks:function(e){return!(!t.playerAdapter||!t.playerAdapter.disableTracksHandler||(t.playerAdapter.disableTracksHandler(e),0))},getVideoInfo:function(){if(t.playerAdapter&&t.playerAdapter.getVideoInfo){var e=t.playerAdapter.getVideoInfo();if(e instanceof ys){var n={};return e.guid&&(n.id=e.guid),e.videoUrl&&(n.videourl=e.videoUrl),!1!==e.isLive&&(n.islive=e.isLive),!1!==e.isDvrSupported&&(n.isdvrsupported=e.isDvrSupported),e.title&&(n.title=e.title),e.subtitle&&(n.subtitle=e.subtitle),e.imgUrl&&(n.imgurl=e.imgUrl),e.state&&"idle"!==e.state&&(n.state=t._mapPlayerStateToSyncState(e.state)),e.currentPosition>=0&&(n.position=e.currentPosition),e.duration>=0&&(n.duration=e.duration),n}}}},this.virtualAPIWrapper.init(e,n,{},this.vzbOptions)}}},{key:"stopVideo",value:function(){vizbee.logger.d(this.constructor.name,"stopVideo"),this.virtualAPIWrapper&&this.virtualAPIWrapper.setVideoStop&&(vizbee.logger.d(this.constructor.name,"stopVideo","calling setVideoStop"),this.virtualAPIWrapper.setVideoStop())}},{key:"_buildPlatformConfig",value:function(e){var t={standalone:!0,videoElement:e.playerElement,vtvPlayerListConfig:[{type:"native"}]};return e.playerType==hs.BITMOVIN&&(t.vtvPlayerListConfig=[{type:"bitmovin"}]),e.playerType==hs.VIDEOJS&&(t.vtvPlayerListConfig=[{type:"videojs"}]),e.playerType==hs.THEO&&(t.vtvPlayerListConfig=[{type:"theo"}]),e.playerType==hs.SHAKA&&(t.vtvPlayerListConfig=[{type:"shaka"}]),t}},{key:"_isValidVideoInfo",value:function(e){return e instanceof gs||(vizbee.logger.w(this.constructor.name,"_isValidVideoInfo","videoInfo should be of type vizbee.continuity.messages.VideoInfo"),!1)}},{key:"_isValidPlayerAdapter",value:function(e){return e instanceof fs?!(e&&!e.playerElement&&(vizbee.logger.d(this.constructor.name,"_isValidPlayerAdapter","playerAdapter should contain playerElement"),1)):(vizbee.logger.d(this.constructor.name,"_isValidPlayerAdapter","playerAdapter should be of type vizbee.continuity.adapters.PlayerAdapter"),!1)}},{key:"_isPlatformInitialized",value:function(){return VizbeeTV&&VizbeeTV.tv}},{key:"_isPlatformPlayerInitialized",value:function(){return this._isPlatformInitialized()&&VizbeeTV.tv.player}},{key:"_isValidAdType",value:function(e){return e?e==ps.SSAI||e==ps.CSAI||(vizbee.logger.w("DefaultContinuityContext::_isValidAdType - adType is invalid: ".concat(e)),!1):(vizbee.logger.w("DefaultContinuityContext::_isValidAdType - adType is undefined"),!1)}},{key:"_mapPlayerStateToSyncState",value:function(e){return{idle:"UNKNOWN",preparing:"UNKNOWN",loading:"BUFFERING",started:"PLAYING",playing:"PLAYING",paused:"PAUSED",buffering:"BUFFERING",interrupted:"INTERRUPTED",ended:"FINISHED",error:"FAILED"}[e]||e}},{key:"_getAdAdapterType",value:function(e){if(e&&e.playerType)return this.adType==ps.CSAI?"vzb_ad_default":this.adType==ps.SSAI?e.playerType==hs.AVPLAYER?"vzb_ad_ssai_avplay":"vzb_ad_default":void 0;vizbee.logger.w(this.constructor.name,"_getAdAdapterType","INVALID playerAdapter")}},{key:"_setAdAdapter",value:function(){var e=this._getAdAdapterType(this.playerAdapter);e&&this.virtualAPIWrapper&&VizbeeTV&&VizbeeTV.tv&&VizbeeTV.tv.player&&(this.virtualAPIWrapper.setAdAdapterType(e),this.virtualAPIWrapper.setAdsVideo(VizbeeTV.tv.player))}}],[{key:"getInstance",value:function(){return null==bs&&(bs=new e,vizbee.logger.d(this.constructor.name,"getInstance","created")),bs}}])}(),_s=function(){return s(function e(){a(this,e),this.playHandler=void 0,this.pauseHandler=void 0,this.seekHandler=void 0,this.stopHandler=void 0,this.videoInfoGetter=void 0,this.enableTracksHandler=void 0,this.disableTracksHandler=void 0,this.availableTracksGetter=void 0,this.enabledTracksGetter=void 0,this.vizbeeEventHandler=void 0},[{key:"updateVideoInfo",value:function(e){window.vizbee&&vizbee.continuity.ContinuityContext.getInstance().setVideoInfo(e)}},{key:"setVideoInfoGetter",value:function(e){"function"==typeof e&&(this.videoInfoGetter=e)}},{key:"getVideoInfo",value:function(){if(this.videoInfoGetter)return this.videoInfoGetter()}},{key:"updateVideoStatus",value:function(e){}},{key:"setPlayHandler",value:function(e){"function"==typeof e&&(this.playHandler=e)}},{key:"setPauseHandler",value:function(e){"function"==typeof e&&(this.pauseHandler=e)}},{key:"setSeekHandler",value:function(e){"function"==typeof e&&(this.seekHandler=e)}},{key:"setStopHandler",value:function(e){"function"==typeof e&&(this.stopHandler=e)}},{key:"setAvailableTracksGetter",value:function(e){"function"==typeof e&&(this.availableTracksGetter=e)}},{key:"setEnabledTracksGetter",value:function(e){"function"==typeof e&&(this.enabledTracksGetter=e)}},{key:"setEnableTracksHandler",value:function(e){"function"==typeof e&&(this.enableTracksHandler=e)}},{key:"setDisableTracksHandler",value:function(e){"function"==typeof e&&(this.disableTracksHandler=e)}},{key:"setVizbeeEventHandler",value:function(e){"function"==typeof e&&(this.vizbeeEventHandler=e)}}])}(),ks=function(){function e(t){var n;if(a(this,e),!(t instanceof Ue))throw new TypeError("BasePlayerExtension::constructor() - playerToExtend must be instance of BasePlayerExtensible.");return(n=r(this,e,[t.platform])).extendedPlayer=t,n.parentExtension=null,n.isExtendedPlayerBasePlayer()||(n.extendedPlayer.parentExtension=n),n.registerEvents(n.extendedPlayer,n),VizbeeTV.logger.debug(n.constructor.name+"::constructed"),n}return h(e,Ue),s(e,[{key:"registerEvents",value:function(e,t){var n=this;e&&t?(e.onLoading=function(e){n.onLoadingHandler.call(t,e)},e.onStarted=function(e){n.onStartedHandler.call(t,e)},e.onPlaying=function(e){n.onPlayingHandler.call(t,e)},e.onPaused=function(e){n.onPausedHandler.call(t,e)},e.onBuffering=function(e){n.onBufferingHandler.call(t,e)},e.onBufferingComplete=function(e){n.onBufferingCompleteHandler.call(t,e)},e.onTimeUpdate=function(e){n.onTimeUpdateHandler.call(t,e)},e.onInterrupted=function(e){n.onInterruptedHandler.call(t,e)},e.onEnded=function(e){n.onEndedHandler.call(t,e)},e.onError=function(e){n.onErrorHandler.call(t,e)},e.onEvent=function(e){n.onEventHandler.call(t,e)}):VizbeeTV.logger.error(this.constructor.name+"::registerEvents - MISSING playerToExtend/currentPlayer")}},{key:"reconstruct",value:function(e){this.extendedPlayer.reconstruct(e)}},{key:"beforeStart",value:function(t){m(e,"start",this)([t])}},{key:"start",value:function(e){this.beforeStart(e),this.extendedPlayer.start(e)}},{key:"play",value:function(){this.extendedPlayer.play()}},{key:"pause",value:function(){this.extendedPlayer.pause()}},{key:"togglePlayPause",value:function(){VizbeeTV.logger.debug("BasePlayerExtension::togglePlayPause() -- called"),this.extendedPlayer.togglePlayPause()}},{key:"stop",value:function(e){this.extendedPlayer.stop(e)}},{key:"seek",value:function(e){this.extendedPlayer.seek(e)}},{key:"currentTime",value:function(){return this.extendedPlayer.currentTime()}},{key:"getDuration",value:function(){return this.extendedPlayer.getDuration()}},{key:"getStartTime",value:function(){return this.extendedPlayer.getStartTime()}},{key:"getBufferLevel",value:function(){return this.extendedPlayer.getBufferLevel()}},{key:"getAudioBufferLevel",value:function(){return this.extendedPlayer.getAudioBufferLevel()}},{key:"getCurrentState",value:function(){return this.extendedPlayer.getCurrentState()}},{key:"getCurrentVersion",value:function(){return this.extendedPlayer.getCurrentVersion()}},{key:"getTracks",value:function(e){return this.extendedPlayer.getTracks(e)}},{key:"getEnabledTracks",value:function(e){return this.extendedPlayer.getEnabledTracks(e)}},{key:"setTracks",value:function(e){return this.extendedPlayer.setTracks(e)}},{key:"enableTracks",value:function(e){this.extendedPlayer.enableTracks(e)}},{key:"disableTracks",value:function(e){this.extendedPlayer.disableTracks(e)}},{key:"changeAudioTrack",value:function(e){this.extendedPlayer.changeAudioTrack(e)}},{key:"doAction",value:function(e){return this.extendedPlayer.doAction(e)}},{key:"getName",value:function(){return this.extendedPlayer.getName()}},{key:"destroy",value:function(){this.resetListeners(),this.extendedPlayer.destroy()}},{key:"getStreamQualityInfo",value:function(){return this.extendedPlayer?this.extendedPlayer.getStreamQualityInfo():{}}},{key:"setStreamQualityInfo",value:function(e){this.extendedPlayer&&this.extendedPlayer.setStreamQualityInfo(e)}},{key:"resetStreamQualityInfo",value:function(){this.extendedPlayer&&this.extendedPlayer.resetStreamQualityInfo()}},{key:"basePlayer",get:function(){return this.isExtendedPlayerBasePlayer()?this.extendedPlayer.currentPlayer:this.extendedPlayer instanceof e?this.extendedPlayer.basePlayer:void 0}},{key:"isExtendedPlayerBasePlayer",value:function(){return this.extendedPlayer instanceof Ue&&!(this.extendedPlayer instanceof e)}},{key:"parentPlayer",get:function(){return this.parentExtension}},{key:"onLoadingHandler",value:function(e){this.dispatchOnLoading.call(this,e)}},{key:"onStartedHandler",value:function(e){this.dispatchOnStarted.call(this,e)}},{key:"onPlayingHandler",value:function(e){this.dispatchOnPlaying.call(this,e)}},{key:"onPausedHandler",value:function(e){this.dispatchOnPaused.call(this,e)}},{key:"onBufferingHandler",value:function(e){this.dispatchOnBuffering.call(this,e)}},{key:"onBufferingCompleteHandler",value:function(e){this.dispatchOnBufferingComplete.call(this,e)}},{key:"onTimeUpdateHandler",value:function(e){this.dispatchOnTimeUpdate.call(this,e)}},{key:"onInterruptedHandler",value:function(e){this.dispatchOnInterrupted.call(this,e)}},{key:"onEndedHandler",value:function(e){this.dispatchOnEnded.call(this,e)}},{key:"onErrorHandler",value:function(e){this.dispatchOnError.call(this,e)}},{key:"onEventHandler",value:function(e){this.dispatchOnEvent.call(this,e)}}])}(),Ts=function(){function e(){return a(this,e),r(this,e,[hs.AVPLAYER,webapis.avplay])}return h(e,fs),s(e,[{key:"setPlayerType",value:function(e){}},{key:"setPlayerElement",value:function(e){}},{key:"wrapListener",value:function(e){var t=this._getVTVAVPlayer();return null==t?(vizbee.logger.warn(this.constructor.name+"::wrapListener - can't get AVPlayer"),e):t.wrapAVPlayerListener(e)}},{key:"getListener",value:function(){var e=this._getVTVAVPlayer();if(null!=e)return e.getListener();vizbee.logger.warn(this.constructor.name+"::getListener - can't get AVPlayer")}},{key:"_getVTVAVPlayer",value:function(){var e;if(this.playerElement)if(VizbeeTV&&VizbeeTV.tv&&VizbeeTV.tv.player){var t;if(e=VizbeeTV.tv.player,Object.getPrototypeOf(e.constructor).name===ks.name?t=e.basePlayer:Object.getPrototypeOf(e.constructor).name===Ue.name&&(t=e.currentPlayer),t&&"avplayer"==t.getName().toLowerCase())return t;vizbee.logger.warn(this.constructor.name+"::_getVTVAVPlayer - can't get AVPlayer")}else vizbee.logger.warn(this.constructor.name+"::_getVTVAVPlayer - can't get platform player")}}])}(),Is=function(){return s(function e(){a(this,e)},null,[{key:"STOP_REASON_UNKNOWN",get:function(){return"stop_reason_unknown"}},{key:"STOP_BY_USER",get:function(){return"stop_by_user"}},{key:"STOP_IMPLICIT",get:function(){return"stop_implicit"}},{key:"STOP_REASON_BEFORE_NEXT_VIDEO",get:function(){return"stop_reason_before_next_video"}}])}(),Vs=function(){return s(function e(){a(this,e)},[{key:"wasAppLaunchedByVizbee",value:function(){return!!VizbeeTV.tv.launchParamsDeferral&&VizbeeTV.tv.launchParamsDeferral.isLaunchedbyVizbee()}},{key:"wasVideoStartedByVizbee",value:function(){return VZB.wasVideoStartedByVizbee()}},{key:"addProvider",value:function(e,t){var n=VZB.getMetricsManager();n&&n.addProvider(e,t)}},{key:"removeProvider",value:function(e){var t=VZB.getMetricsManager();t&&t.removeProvider(e)}},{key:"logMetrics",value:function(e,t){var n=VZB.getMetricsManager();n&&n.trackEvent(e,t)}},{key:"setCustomAttributes",value:function(e){var t=VZB.getMetricsManager();t&&t.setCustomProperties(e)}}])}(),Es=function(){return s(function e(){a(this,e),this._type="",this._id=-1},[{key:"toJSON",value:function(){return{type:this._type,id:this._id}}},{key:"fromJSON",value:function(e){e&&e.type&&!isNaN(e.id)?(this._type=e.type,this._id=e.id):VizbeeSDK.logger.verbose("Track::fromJSON - invalid trackInfo")}},{key:"type",get:function(){return this._type},set:function(e){this._type=e}},{key:"id",get:function(){return this._id},set:function(e){this._id=e}}])}(),Ps=function(){function e(){var t;return a(this,e),(t=r(this,e)).type=C,t.subtype="",t._lang="",t}return h(e,Es),s(e,[{key:"toJSON",value:function(){var t=m(e,"toJSON",this)([]);return t.lang=this._lang,t.subtype=this._subtype,t}},{key:"fromJSON",value:function(t){t?(t.type=t.type||this.type,m(e,"fromJSON",this)([t]),this._lang=t.lang,this._subtype=t.subtype):VizbeeSDK.logger.verbose("SubtitleTrack::fromJSON - invalid trackInfo")}},{key:"lang",get:function(){return this._lang},set:function(e){this._lang=e}},{key:"subtype",get:function(){return this._subtype},set:function(e){this._subtype=e}}])}(),As=function(){return s(function e(){a(this,e),this.state={message:"This is vizbee snackbar!",theme:{color:"#FFFFFF",bgColor:"#7F98DE"},layout:{position:""},border:{color:"#FFFFFF"},font:{uri:"",family:"",size:24,weight:""},icon:{uri:"https://static.claspws.tv/screen/icons/common/user_icon_white.png"}},this.uiContainer=document.getElementsByTagName("body")[0],this.uiContainer&&(this._setupCSS(),this.render(this.uiContainer),this.isCurrentAnimationShowingUI=void 0)},[{key:"render",value:function(e){this.nodes||e&&(this.nodes={},this.nodes.popupMessageWithIconOverlay=document.createElement("div"),this.nodes.popupMessageWithIconOverlay.id="vizbeeSnackbarOverlay",this.nodes.popupMessageWithIconOverlay.className="opaqueBackground hidden",this.nodes.popupMessageWithIconContainer=document.createElement("div"),this.nodes.popupMessageWithIconContainer.id="popupTimedoutMessageWithIconUIContainer",this.nodes.popupMessageWithIconContainer.className="popupTimedoutMessageWithIconUIContainer",this.nodes.popupMessageWithIconContainer.style.color=this.state.theme.color,this.nodes.popupTimedoutIconEle=document.createElement("div"),this.nodes.popupTimedoutIconEle.id="popupTimedoutIconEle",this.nodes.popupTimedoutIconEle.className="popupTimedoutIconEle",this.nodes.popupTimedoutMessageEle=document.createElement("div"),this.nodes.popupTimedoutMessageEle.id="popupTimedoutMessageEle",this.nodes.popupTimedoutMessageEle.className="popupMessageEle",this.nodes.popupMessageWithIconContainer.appendChild(this.nodes.popupTimedoutIconEle),this.nodes.popupMessageWithIconContainer.appendChild(this.nodes.popupTimedoutMessageEle),this.nodes.popupMessageWithIconOverlay.appendChild(this.nodes.popupMessageWithIconContainer),e.appendChild(this.nodes.popupMessageWithIconOverlay),this._updateUI())}},{key:"setOptions",value:function(e){e&&(this.state.message=e.message||this.state.message,this.state.theme.color=e.theme.color||this.state.theme.color,this.state.theme.bgColor=e.theme.bgColor||this.state.theme.bgColor,this.state.layout.position=e.layout.position||this.state.layout.position,this.state.border.color=e.border.color||this.state.border.color,this.state.font.uri=e.font.uri||this.state.font.uri,this.state.font.family=e.font.family||this.state.font.family,this.state.font.size=this.screenRatio*(e.font.size||this.state.font.size),this.state.font.weight=e.font.weight||this.state.font.weight,this.state.icon.uri=e.icon.uri||this.state.icon.uri,this._updateUI(),this.show())}},{key:"show",value:function(){this.nodes&&this.nodes.popupMessageWithIconOverlay&&(this._showUIWithAnimation(),ae.removeClass("hidden",this.nodes.popupMessageWithIconOverlay))}},{key:"hide",value:function(){this.nodes&&this.nodes.popupMessageWithIconOverlay&&this.nodes.popupMessageWithIconContainer&&(ae.addClass("hidden",this.nodes.popupMessageWithIconOverlay),this.uiContainer&&this.uiContainer.contains(this.nodes.popupMessageWithIconOverlay)&&this.nodes.popupMessageWithIconOverlay.parentNode.removeChild(this.nodes.popupMessageWithIconOverlay))}},{key:"_updateUI",value:function(){if(this.nodes){var e=this.nodes.popupMessageWithIconContainer;if(e){e.style.color=this.state.theme.color,e.style.backgroundColor=this.state.theme.bgColor,null!=this.state.border.color&&(e.style.borderColor=this.state.border.color);var t=this.state.layout.position;if(t){delete e.style.top,delete e.style.right,delete e.style.bottom,delete e.style.left,e.style.position=t;var n=30*this.screenRatio+"px";t.indexOf("top")>-1?(e.style.top=n,t.indexOf("left")>-1?e.style.left=n:e.style.right=n):(e.style.bottom=n,t.indexOf("left")>-1?e.style.left=n:e.style.right=n)}}var i=this.nodes.popupTimedoutMessageEle;i&&(null!=this.state.font.uri&&(i.style.fontFamily=this.state.font.family),null!=this.state.font.size&&(i.style.fontSize=this.state.font.size+"px"),null!=this.state.font.weight&&(i.style.fontWeight=this.state.font.weight),null!=this.state.font.color&&(i.style.color=this.state.font.color),i.innerHTML=this.state.message);var r=this.nodes.popupTimedoutIconEle;r&&(this.state.icon.uri?(r.style.minWidth=36*this.screenRatio+"px",r.style.minHeight=36*this.screenRatio+"px",r.style.backgroundImage="url('"+this.state.icon.uri+"')",i&&(i.style.paddingLeft=12*this.screenRatio+"px")):(r.style.minWidth="0px",r.style.width="0px",i&&(i.style.paddingLeft="0px")))}}},{key:"_showUIWithAnimation",value:function(){this.isCurrentAnimationShowingUI=!0,$.get(this.state,["layout","position"],"").indexOf("top")>-1?this._showSlidingFromTopToBottom():this._showSlidingFromBottomToTop()}},{key:"_isAnimationSupported",value:function(e){return e&&"function"==typeof e.animate}},{key:"_showSlidingFromBottomToTop",value:function(){if(this.nodes&&this.nodes.popupMessageWithIconContainer)if(this._isAnimationSupported(this.nodes.popupMessageWithIconContainer)){var e=this.nodes.popupMessageWithIconContainer.offsetHeight+50,t=[{transform:"translateY("+e+"px)"},{transform:"translateY("+e/2+"px)"},{transform:"translateY(0px)"}];this.nodes.popupMessageWithIconContainer.animate(t,{duration:300,iterations:1})}else VizbeeTV.logger.i("PopupMessageWithIconView","_showSlidingFromBottomToTop","animation NOT supported!")}},{key:"_showSlidingFromTopToBottom",value:function(){if(this.nodes&&this.nodes.popupMessageWithIconContainer)if(this._isAnimationSupported(this.nodes.popupMessageWithIconContainer)){var e=this.nodes.popupMessageWithIconContainer.offsetHeight+50,t=[{transform:"translateY(-"+e+"px)"},{transform:"translateY(-"+e/2+"px)"},{transform:"translateY(0px)"}];this.nodes.popupMessageWithIconContainer.animate(t,{duration:300,iterations:1})}else VizbeeTV.logger.i("PopupMessageWithIconView","_showSlidingFromTopToBottom","animation NOT supported!")}},{key:"_setupCSS",value:function(){this.screenRatio=this._getScreenRatio();var e=this._processCSS(this.screenRatio,"\n #vizbeeSnackbarOverlay {\n position: absolute;\n top: 0px;\n left: 0px;\n width: $1280px;\n height: $720px;\n background: transparent !important;\n z-index: 9999;\n }\n\n #popupTimedoutMessageWithIconUIContainer {\n position: absolute;\n display: inline-flex;\n align-items: center;\n max-width: $420px;\n max-height: $80px;\n background: white;\n border-color: #FFFFFF;\n border: solid;\n border-width: $1px;\n border-radius: $45px;\n padding: $10px $24px;\n text-align: left !important;\n }\n\n #popupTimedoutIconEle {\n width: $36px;\n height: $36px;\n min-width: $36px;\n min-height: $36px;\n background-size: contain;\n background-repeat: no-repeat;\n }\n\n #popupTimedoutMessageEle {\n padding-left: $12px;\n }\n");this._appendToHEAD("vizbeeSnackbarCSS",e)}},{key:"_processCSS",value:function(e,t){if(t)return t.replace(/\$[0-9]+/gi,function(t){var n=t.split("$");return Math.ceil(e*n[1])})}},{key:"_getScreenRatio",value:function(){return document.body.clientWidth/1280}},{key:"_appendToHEAD",value:function(e,t){if(!this._isEmpty(e)&&!this._isEmpty(t)){var n=document.getElementById(e);if(!(null!==n&&n instanceof HTMLStyleElement)){var i=document.createElement("style");i.type="text/css",i.id=e,i.styleSheet?i.styleSheet.cssText=t:i.appendChild(document.createTextNode(t)),document.getElementsByTagName("head")[0].appendChild(i)}}}},{key:"_isEmpty",value:function(e){return void 0===e||0==e.length||null==e}}])}(),Cs=function(){return s(function e(t){a(this,e),this.uiConfig=t,this.popupMessageWithIconView=void 0},[{key:"show",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:8;this.hide(),this.uiConfig&&"function"==typeof this.uiConfig.toJSON?(this.popupMessageWithIconView=new As,this.popupMessageWithIconView.setOptions(this.uiConfig.toJSON()),-1!==t&&setTimeout(function(){e.popupMessageWithIconView.hide()},1e3*t)):VizbeeTV.logger.e("PopupMessageWithIconView","show","Invalid uiConfig")}},{key:"hide",value:function(){this.popupMessageWithIconView&&this.popupMessageWithIconView.hide();var e=document.getElementById("vizbeeSnackbarOverlay");e&&(VizbeeTV.logger.i("PopupMessageWithIconView","hide","Removing vizbeeSnackbarEle"),e.parentNode.removeChild(e))}}])}(),Ds={TOP_LEFT:"top-left",TOP_RIGHT:"top-right",BOTTOM_LEFT:"bottom-left",BOTTOM_RIGHT:"bottom-right"},ws=function(){return s(function e(){a(this,e),this._message="This is a vizbee snackbar message",this._theme={color:"#FFFFFF",bgColor:"#7F98DE"},this._layout={position:Ds.BOTTOM_RIGHT},this._border={color:"#FFFFFF"},this._font={uri:"",family:"",size:24,weight:""},this._icon={uri:"https://s3.amazonaws.com/vga-videos/images/vsa/loading.gif"}},[{key:"message",get:function(){return this._message},set:function(e){this._message=e}},{key:"theme",get:function(){return this._theme},set:function(e){this._theme=e}},{key:"layout",get:function(){return this._layout},set:function(e){this._layout=e}},{key:"border",get:function(){return this._border},set:function(e){this._border=e}},{key:"font",get:function(){return this._font},set:function(e){this._font=e}},{key:"icon",get:function(){return this._icon},set:function(e){this._icon=e}},{key:"fromJSON",value:function(e){e&&(this._message=e.message,e.theme&&(this._theme.color=e.theme.color||this._theme.color,this._theme.bgColor=e.theme.bgColor||this._theme.bgColor),e.layout&&(this._layout=e.layout||this._layout),e.border&&(this._border=e.border||this._border),e.font&&(this._font.uri=e.font.uri||this._font.uri,this._font.family=e.font.family||this._font.family,this._font.size=e.font.size||this._font.size,this._font.weight=e.font.weight||this._font.weight),e.icon&&e.icon.uri&&(this._icon.uri=e.icon.uri||this._icon.uri))}},{key:"toJSON",value:function(){return{message:this._message,theme:this._theme,layout:this._layout,border:this._border,font:this._font,icon:this._icon}}}])}(),Ms=function(){return s(function e(){a(this,e),c(this,"namespaceAndReceiverMap",new Map)},[{key:"send",value:(e=g().m(function e(t,n){return g().w(function(e){for(;;)if(0===e.n)return VizbeeSDK.logger.debug(this.constructor.name,"send","namespace: ".concat(n,", payload: ").concat(JSON.stringify(t))),e.a(2,new Promise(function(e,i){window.VZB.sendXMessage(t,n,{onSuccess:function(t){e()},onFailure:function(e){i(e)}})}))},e,this)}),t=function(){var t=this,n=arguments;return new Promise(function(r,a){var o=e.apply(t,n);function s(e){i(o,r,a,s,u,"next",e)}function u(e){i(o,r,a,s,u,"throw",e)}s(void 0)})},function(e,n){return t.apply(this,arguments)})},{key:"addReceiver",value:function(e,t){VizbeeSDK.logger.debug(this.constructor.name,"addReceiver","with namespace: ".concat(e)),this.namespaceAndReceiverMap.set(e,t)}},{key:"removeReceiver",value:function(e,t){VizbeeSDK.logger.debug(this.constructor.name,"removeReceiver","with namespace: ".concat(e)),this.namespaceAndReceiverMap.delete(e)}},{key:"onReceive",value:function(e,t,n){VizbeeSDK.logger.debug(this.constructor.name,"onReceive","namespace: ".concat(e,", payload: ").concat(JSON.stringify(t),", device: ").concat(n));var i=this.namespaceAndReceiverMap.get(e);i&&i(t,e,n)}}]);var e,t}(),Ns=function(e){return e.ANDROID_MOBILE="Android",e.IOS="iOS",e.UNKNOWN="Unknown",e}({}),Os=function(e){return e.ANDROID_MOBILE="ANDROID_MOBILE",e.IOS="IOS",e.UNKNOWN="UNKNOWN",e}({});function xs(e){switch(e){case Ns.ANDROID_MOBILE:return Os.ANDROID_MOBILE;case Ns.IOS:return Os.IOS;case Ns.UNKNOWN:default:return Os.UNKNOWN}}var zs=function(e){return e.JOIN="JOIN",e.LEAVE="LEAVE",e}({}),Ls=function(e){return e.JOIN="JOIN",e.LEAVE="LEAVE",e}({}),Rs=function(){return s(function e(){a(this,e),c(this,"presenceCallbacks",[]),c(this,"syncController",null),this.init()},[{key:"init",value:function(){var e,t,n;this.syncController=null===(e=window.VZB)||void 0===e||null===(t=e.getSyncController)||void 0===t?void 0:t.call(e),this.syncController?this.listenForSyncControllerSessionState():(null===(n=window.VizbeeSDK)||void 0===n||null===(n=n.logger)||void 0===n||n.warn("VizbeeBicastMemberPresenceClientImpl","init","syncController is not available"),this.listenForSyncControllerAvailability())}},{key:"listenForSyncControllerAvailability",value:function(){var e,t,n=this;null===(e=window.VizbeeSDK)||void 0===e||null===(e=e.logger)||void 0===e||e.debug("VizbeeBicastMemberPresenceClientImpl","listenForSyncControllerAvailability","waiting for syncController to be available"),null===(t=window.VZB)||void 0===t||t.addSyncReadyListener(function(){var e,t,i;null===(e=window.VizbeeSDK)||void 0===e||null===(e=e.logger)||void 0===e||e.debug("VizbeeBicastMemberPresenceClientImpl","listenForSyncControllerAvailability","syncController is now available"),n.syncController=null===(t=window.VZB)||void 0===t||null===(i=t.getSyncController)||void 0===i?void 0:i.call(t),n.listenForSyncControllerSessionState()})}},{key:"listenForSyncControllerSessionState",value:function(){var e=this;VizbeeSDK.logger.debug("VizbeeBicastMemberPresenceClientImpl","listenForSyncControllerSessionState","subscribing to presence events"),this.syncController.subscribeToPresence(function(t){if(VizbeeSDK.logger.debug("VizbeeBicastMemberPresenceClientImpl","listenForSyncControllerSessionState","presence event received: ".concat(JSON.stringify(t))),null!==t){VizbeeSDK.logger.debug("VizbeeBicastMemberPresenceClientImpl","listenForSyncControllerSessionState","processing presence event: ".concat(JSON.stringify(t)));var n=e.toVizbeeDevice(t.member),i={event:t.event===Ls.JOIN?zs.JOIN:zs.LEAVE,device:n};e.presenceCallbacks.forEach(function(e){return e(i)})}})}},{key:"subscribe",value:function(e){VizbeeSDK.logger.debug("VizbeeBicastMemberPresenceClientImpl","subscribe",e),this.presenceCallbacks.push(e)}},{key:"unsubscribe",value:function(e){VizbeeSDK.logger.debug("VizbeeBicastMemberPresenceClientImpl","unsubscribe","");var t=this.presenceCallbacks.indexOf(e);t>-1&&this.presenceCallbacks.splice(t,1)}},{key:"getMembers",value:function(){var e,t,n=this,i=(null===(e=this.syncController)||void 0===e||null===(t=e.getActiveSenders)||void 0===t?void 0:t.call(e))||{};return Object.values(i).map(function(e){return n.toVizbeeDevice(e)})}},{key:"toVizbeeDevice",value:function(e){var t,n,i,r,a,o,s,u,c,l,d;return{deviceId:null!==(t=null==e||null===(n=e.ssinfo)||void 0===n?void 0:n.REMOTE_DEVICE_ID)&&void 0!==t?t:"UNKNOWN",friendlyName:null!==(i=null==e||null===(r=e.ssinfo)||void 0===r?void 0:r.REMOTE_FRIENDLY_NAME)&&void 0!==i?i:"UNKNOWN",modelName:null!==(a=null==e||null===(o=e.ssinfo)||void 0===o?void 0:o.modelName)&&void 0!==a?a:"UNKNOWN",modelNumber:null!==(s=null==e||null===(u=e.ssinfo)||void 0===u?void 0:u.modelNumber)&&void 0!==s?s:"UNKNOWN",manufacturer:null!==(c=null==e||null===(l=e.ssinfo)||void 0===l?void 0:l.manufacturer)&&void 0!==c?c:"UNKNOWN",deviceType:xs(null==e||null===(d=e.ssinfo)||void 0===d?void 0:d.REMOTE_DEVICE_TYPE)}}}])}();c(Rs,"LOG_TAG","VizbeeBicastMemberPresenceClientImpl");var Ks=function(){return s(function e(){a(this,e),c(this,"_messagingClient",null),c(this,"_presenceClient",null)},[{key:"getMessagingClient",value:function(){return this._messagingClient||(this._messagingClient=new Ms),this._messagingClient}},{key:"getPresenceClient",value:function(){return this._presenceClient||(this._presenceClient=new Rs),this._presenceClient}}])}(),Fs=function(){return s(function e(){var t=this;if(a(this,e),c(this,"session",null),c(this,"sessionState",Ka.NOT_CONNECTED),c(this,"sessionStateListeners",[]),c(this,"syncController",null),c(this,"onSessionStateChanged",function(e){var n,i;switch(t.sessionState=e,e){case Ka.CONNECTED:null===(n=window.VizbeeSDK)||void 0===n||null===(n=n.logger)||void 0===n||n.info("VizbeeBicastSessionManager","onSessionStateChanged","CONNECTED"),t.session=new Ks,t.sessionStateListeners.forEach(function(e){return e.onSessionStateChanged(Ka.CONNECTED)});break;case Ka.NOT_CONNECTED:null===(i=window.VizbeeSDK)||void 0===i||null===(i=i.logger)||void 0===i||i.info("VizbeeBicastSessionManager","onSessionStateChanged","NOT_CONNECTED"),t.session=null,t.sessionStateListeners.forEach(function(e){return e.onSessionStateChanged(Ka.NOT_CONNECTED)})}}),e.instance)return e.instance;this.init(),e.instance=this},[{key:"init",value:function(){var e,t,n,i;null===(e=window.VizbeeSDK)||void 0===e||null===(e=e.logger)||void 0===e||e.debug("VizbeeBicastSessionManager","init","initialize session manager"),this.syncController=null===(t=window.VZB)||void 0===t||null===(n=t.getSyncController)||void 0===n?void 0:n.call(t),this.syncController?this.listenForSyncControllerSessionState():(null===(i=window.VizbeeSDK)||void 0===i||null===(i=i.logger)||void 0===i||i.warn("VizbeeBicastSessionManager","init","syncController is not available"),this.listenForSyncControllerAvailability())}},{key:"listenForSyncControllerAvailability",value:function(){var e,t,n=this;null===(e=window.VizbeeSDK)||void 0===e||null===(e=e.logger)||void 0===e||e.debug("VizbeeBicastSessionManager","listenForSyncControllerAvailability","waiting for syncController to be available"),null===(t=window.VZB)||void 0===t||t.addSyncReadyListener(function(){var e,t,i;null===(e=window.VizbeeSDK)||void 0===e||null===(e=e.logger)||void 0===e||e.debug("VizbeeBicastSessionManager","listenForSyncControllerAvailability","syncController is now available"),n.syncController=null===(t=window.VZB)||void 0===t||null===(i=t.getSyncController)||void 0===i?void 0:i.call(t),n.listenForSyncControllerSessionState()})}},{key:"listenForSyncControllerSessionState",value:function(){var e,t,n,i;this.sessionState=null!==(e=null===(t=this.syncController)||void 0===t||null===(n=t.sessionState)||void 0===n?void 0:n.call(t))&&void 0!==e?e:Ka.NOT_CONNECTED,this.sessionState===Ka.CONNECTED&&(this.session=new Ks),null===(i=this.syncController)||void 0===i||i.addSessionStateListener(this.onSessionStateChanged)}},{key:"addSessionStateListener",value:function(e){var t;null===(t=window.VizbeeSDK)||void 0===t||null===(t=t.logger)||void 0===t||t.debug("VizbeeBicastSessionManager","addSessionStateListener","add session state listener"),"function"==typeof e?this.sessionStateListeners.push({onSessionStateChanged:e}):this.sessionStateListeners.push(e)}},{key:"removeSessionStateListener",value:function(e){var t;null===(t=window.VizbeeSDK)||void 0===t||null===(t=t.logger)||void 0===t||t.debug("VizbeeBicastSessionManager","removeSessionStateListener","remove session state listener");var n=this.sessionStateListeners.indexOf(e);n>-1&&this.sessionStateListeners.splice(n,1)}},{key:"getSession",value:function(){return this.session}},{key:"isConnecting",value:function(){return this.sessionState===Ka.CONNECTING}},{key:"isConnected",value:function(){return this.sessionState===Ka.CONNECTED}}])}(),Us=void 0,Bs=function(){return s(function e(){if(a(this,e),c(this,"presenceCallbacks",[]),c(this,"vizbeeSession",null),e.instance)return e.instance;this.init(),e.instance=this},[{key:"init",value:function(){var e=this;try{var t;if(VizbeeSDK.logger.info("VizbeePresenceManager::init - Initializing Vizbee Presence Manager"),null===(t=window.vizbee)||void 0===t||null===(t=t.continuity)||void 0===t||!t.xmessages)throw new Error("Vizbee continuity or xmessages not initialized");var n=new window.vizbee.continuity.xmessages.VizbeeBicastSessionManager;if(!n)throw new Error("Session manager initialization failed");n.addSessionStateListener({onSessionStateChanged:function(t){if(VizbeeSDK.logger.info("VizbeePresenceManager::init - Session state changed:",t),t===Ka.CONNECTED){if(VizbeeSDK.logger.debug("VizbeePresenceManager::init - Session connected"),e.vizbeeSession=n.getSession(),!e.vizbeeSession)throw new Error("Failed to retrieve Vizbee session");if(e.vizbeePresenceClient=e.vizbeeSession.getPresenceClient(),!e.vizbeePresenceClient)throw new Error("Failed to retrieve Vizbee presence client");if(e.presenceCallbacks.length>0)for(var i=0;i<e.presenceCallbacks.length;i++){var r=e.presenceCallbacks[i];e.vizbeePresenceClient.subscribe(r)}}else{if(e.vizbeePresenceClient)for(var a=0;a<e.presenceCallbacks.length;a++){var o=e.presenceCallbacks[a];e.vizbeePresenceClient.unsubscribe(o)}e.vizbeeSession=null}}})}catch(e){throw VizbeeSDK.logger.warn("VizbeePresenceManager::init - Error initializing Vizbee session:",e),e}}},{key:"subscribe",value:function(e){"function"==typeof e?(this.presenceCallbacks.push(e),this.vizbeePresenceClient?this.vizbeePresenceClient.subscribe(e):VizbeeSDK.logger.warn("VizbeePresenceManager::subscribe - Presence client not initialized yet")):VizbeeSDK.logger.warn("VizbeePresenceManager::subscribe - Provided callback is not a function")}},{key:"unsubscribe",value:function(e){VizbeeSDK.logger.debug("VizbeePresenceManager::unsubscribe"),this.vizbeePresenceClient&&this.vizbeePresenceClient.unsubscribe(e);var t=this.presenceCallbacks.indexOf(e);t>-1&&this.presenceCallbacks.splice(t,1)}},{key:"getMembers",value:function(){return this.vizbeePresenceClient?this.vizbeePresenceClient.getMembers():[]}}])}(),Hs=function(){function e(){return a(this,e),r(this,e)}return h(e,ss),s(e,[{key:"ContinuityContext",get:function(){return Ss}},{key:"adapters",get:function(){return{AppAdapter:us,PlayerAdapter:fs,BasePlayerAdapter:_s,AVPlayerAdapter:Ts,PlayerType:hs,AdAdapter:ds,AdType:ps,VideoStopReason:Is}}},{key:"messages",get:function(){return{VizbeeEvent:ms,VideoInfo:gs,VideoStatus:ys,AdEventType:cs,AdStatus:ls,PlayerState:vs,SubtitleTrack:Ps}}},{key:"analytics",get:function(){return{AnalyticsProvider:Vs}}},{key:"ui",get:function(){return{LayoutPosition:Ds,Snackbar:Cs,SnackbarUIConfig:ws}}},{key:"xmessages",get:function(){return{VizbeeBicastSessionManager:Fs,VizbeeBicastSession:Ks,VizbeeMessagingClient:Us,VizbeePresenceManager:Bs}}}])}(),Gs=new(function(){function e(){return a(this,e),r(this,e)}return h(e,Hs),s(e)}()),Ws=void 0,qs=function(){function e(){return a(this,e),r(this,e)}return h(e,as),s(e,[{key:"start",value:function(t){this.isValidAppId(t)&&(m(e,"start",this)([t]),this.virtualAPIWrapper.setAdAdapterType("vzb_ad_default"))}}],[{key:"getInstance",value:function(){return null==Ws&&(Ws=new e),Ws}}])}(),js=function(){return s(function e(t){a(this,e),this.adaptLoadRequest=t},[{key:"update",value:function(e){if(this.adaptLoadRequest&&"function"==typeof this.adaptLoadRequest){var t=e;if(t&&t.media){VizbeeSDK.logger.debug("CAFLoadRequestInterceptor::update LoadRequest has valid media");var n=t.media.customData;n&&n.vzbSenderOS&&n.vzbVersion?("LIVE"==t.media.streamType&&(t.currentTime=void 0),VizbeeSDK.logger.debug("CAFLoadRequestInterceptor::update request is from Vizbee Sender, UPDATING LoadRequest"),t=this.adaptLoadRequest(t)):VizbeeSDK.logger.info("CAFLoadRequestInterceptor::update request is not from Vizbee Sender, NOT UPDATING LoadRequest")}return t}return VizbeeSDK.logger.debug("CAFLoadRequestInterceptor::update adaptLoadRequest is not defined, NOT UPDATING LoadRequest"),e}}])}(),Ys=new(function(){function e(){return a(this,e),r(this,e)}return h(e,ss),s(e,[{key:"ContinuityContext",get:function(){return qs}},{key:"interceptors",get:function(){return{LoadRequestInterceptor:js}}},{key:"LoadRequestInterceptor",get:function(){return js}},{key:"xmessages",get:function(){return{VizbeeBicastSessionManager:Fs,VizbeeBicastSession:Ks,VizbeeMessagingClient:Us}}}])}()),Qs=void 0,Js=function(){function e(){return a(this,e),r(this,e)}return h(e,Ss),s(e,[{key:"_buildPlatformConfig",value:function(e){var t={standalone:!0,videoElement:e.playerElement,vtvPlayerListConfig:[{type:"native"}]};return e.playerType==hs.HTML&&(t.vtvPlayerListConfig=[{type:"html"}]),e.playerType==hs.BITMOVIN&&(t.vtvPlayerListConfig=[{type:"bitmovin"}]),e.playerType==hs.THEO&&(t.vtvPlayerListConfig=[{type:"theo"}]),t}}],[{key:"getInstance",value:function(){return null==Qs&&(Qs=new e,vizbee.logger.debug(this.constructor.name+"::getInstance - instance created")),Qs}}])}(),Zs=new(function(){function e(){return a(this,e),r(this,e)}return h(e,Hs),s(e,[{key:"ContinuityContext",get:function(){return Js}}])}()),Xs=new(function(){function e(){return a(this,e),r(this,e)}return h(e,is),s(e,[{key:"continuity",get:function(){return this._getContinuityFramework()}},{key:"framework",get:function(){return this._getContinuityFramework()}},{key:"_getContinuityFramework",value:function(){var e=bt.getPlatformType();return"chromecast"==(e=(e||"").toLowerCase())&&window.cast&&window.cast.framework?Ys:"tizen"==e?Zs:Gs}}])}());if(Xs.logger=new kt,Xs.logger.setPrefix("[Vizbee]"),"undefined"!=typeof window){if(window.VizbeeSDK=Xs,window.vizbee){var $s=window.vizbee;window.vizbee=window.VizbeeSDK,Object.keys($s).forEach(function(e){window.vizbee[e]=$s[e]})}else window.vizbee=window.VizbeeSDK;"function"==typeof window.dispatchEvent&&window.dispatchEvent(new Event("VIZBEE_SDK_READY"))}
|
|
1
|
+
if(window.VizbeeSDK||(window.VizbeeSDK={}),!window.VizbeeSDK.logger){var e=function(){};window.VizbeeSDK.logger={debug:e,info:e,warn:e,error:e,d:e,i:e,w:e,e:e,critical:e,verbose:e}}function t(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function n(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=Array(t);n<t;n++)i[n]=e[n];return i}function i(e,t,n,i,r,a,o){try{var s=e[a](o),u=s.value}catch(e){return void n(e)}s.done?t(u):Promise.resolve(u).then(i,r)}function r(e,t,n){return t=f(t),function(e,t){if(t&&("object"==typeof t||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,p()?Reflect.construct(t,n||[],f(e).constructor):t.apply(e,n))}function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,b(i.key),i)}}function s(e,t,n){return t&&o(e.prototype,t),n&&o(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function u(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=_(e))||t){n&&(e=n);var i=0,r=function(){};return{s:r,n:function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw a}}}}function c(e,t,n){return(t=b(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(){return l=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},l.apply(null,arguments)}function d(){return d="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,n){var i=function(e,t){for(;!{}.hasOwnProperty.call(e,t)&&null!==(e=f(e)););return e}(e,t);if(i){var r=Object.getOwnPropertyDescriptor(i,t);return r.get?r.get.call(arguments.length<3?e:n):r.value}},d.apply(null,arguments)}function f(e){return f=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},f(e)}function h(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&&y(e,t)}function p(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(p=function(){return!!e})()}function g(){var e,t,n="function"==typeof Symbol?Symbol:{},i=n.iterator||"@@iterator",r=n.toStringTag||"@@toStringTag";function a(n,i,r,a){var u=i&&i.prototype instanceof s?i:s,c=Object.create(u.prototype);return v(c,"_invoke",function(n,i,r){var a,s,u,c=0,l=r||[],d=!1,f={p:0,n:0,v:e,a:h,f:h.bind(e,4),d:function(t,n){return a=t,s=0,u=e,f.n=n,o}};function h(n,i){for(s=n,u=i,t=0;!d&&c&&!r&&t<l.length;t++){var r,a=l[t],h=f.p,p=a[2];n>3?(r=p===i)&&(u=a[(s=a[4])?5:(s=3,3)],a[4]=a[5]=e):a[0]<=h&&((r=n<2&&h<a[1])?(s=0,f.v=i,f.n=a[1]):h<p&&(r=n<3||a[0]>i||i>p)&&(a[4]=n,a[5]=i,f.n=p,s=0))}if(r||n>1)return o;throw d=!0,i}return function(r,l,p){if(c>1)throw TypeError("Generator is already running");for(d&&1===l&&h(l,p),s=l,u=p;(t=s<2?e:u)||!d;){a||(s?s<3?(s>1&&(f.n=-1),h(s,u)):f.n=u:f.v=u);try{if(c=2,a){if(s||(r="next"),t=a[r]){if(!(t=t.call(a,u)))throw TypeError("iterator result is not an object");if(!t.done)return t;u=t.value,s<2&&(s=0)}else 1===s&&(t=a.return)&&t.call(a),s<2&&(u=TypeError("The iterator does not provide a '"+r+"' method"),s=1);a=e}else if((t=(d=f.n<0)?u:n.call(i,f))!==o)break}catch(t){a=e,s=1,u=t}finally{c=1}}return{value:t,done:d}}}(n,r,a),!0),c}var o={};function s(){}function u(){}function c(){}t=Object.getPrototypeOf;var l=[][i]?t(t([][i]())):(v(t={},i,function(){return this}),t),d=c.prototype=s.prototype=Object.create(l);function f(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,c):(e.__proto__=c,v(e,r,"GeneratorFunction")),e.prototype=Object.create(d),e}return u.prototype=c,v(d,"constructor",c),v(c,"constructor",u),u.displayName="GeneratorFunction",v(c,r,"GeneratorFunction"),v(d),v(d,r,"Generator"),v(d,i,function(){return this}),v(d,"toString",function(){return"[object Generator]"}),(g=function(){return{w:a,m:f}})()}function v(e,t,n,i){var r=Object.defineProperty;try{r({},"",{})}catch(e){r=0}v=function(e,t,n,i){function a(t,n){v(e,t,function(e){return this._invoke(t,n,e)})}t?r?r(e,t,{value:n,enumerable:!i,configurable:!i,writable:!i}):e[t]=n:(a("next",0),a("throw",1),a("return",2))},v(e,t,n,i)}function y(e,t){return y=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},y(e,t)}function m(e,t,n,i){var r=d(f(e.prototype),t,n);return"function"==typeof r?function(e){return r.apply(n,e)}:r}function b(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,t);if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e,"string");return"symbol"==typeof t?t:t+""}function S(e){return S="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},S(e)}function _(e,t){if(e){if("string"==typeof e)return n(e,t);var i={}.toString.call(e).slice(8,-1);return"Object"===i&&e.constructor&&(i=e.constructor.name),"Map"===i||"Set"===i?Array.from(e):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?n(e,t):void 0}}var k,T,I={exports:{}};k||(k=1,T=I,function(e){function t(){}function n(e){if("object"!=S(this))throw new TypeError("Promises must be constructed via new");if("function"!=typeof e)throw new TypeError("not a function");this._state=0,this._handled=!1,this._value=void 0,this._deferreds=[],u(e,this)}function i(e,t){for(;3===e._state;)e=e._value;return 0===e._state?void e._deferreds.push(t):(e._handled=!0,void n._immediateFn(function(){var n=1===e._state?t.onFulfilled:t.onRejected;if(null!==n){var i;try{i=n(e._value)}catch(e){return void a(t.promise,e)}r(t.promise,i)}else(1===e._state?r:a)(t.promise,e._value)}))}function r(e,t){try{if(t===e)throw new TypeError("A promise cannot be resolved with itself.");if(t&&("object"==S(t)||"function"==typeof t)){var i=t.then;if(t instanceof n)return e._state=3,e._value=t,void o(e);if("function"==typeof i)return void u(function(e,t){return function(){e.apply(t,arguments)}}(i,t),e)}e._state=1,e._value=t,o(e)}catch(t){a(e,t)}}function a(e,t){e._state=2,e._value=t,o(e)}function o(e){2===e._state&&0===e._deferreds.length&&n._immediateFn(function(){e._handled||n._unhandledRejectionFn(e._value)});for(var t=0,r=e._deferreds.length;t<r;t++)i(e,e._deferreds[t]);e._deferreds=null}function s(e,t,n){this.onFulfilled="function"==typeof e?e:null,this.onRejected="function"==typeof t?t:null,this.promise=n}function u(e,t){var n=!1;try{e(function(e){n||(n=!0,r(t,e))},function(e){n||(n=!0,a(t,e))})}catch(e){if(n)return;n=!0,a(t,e)}}var c=setTimeout;n.prototype.catch=function(e){return this.then(null,e)},n.prototype.then=function(e,n){var r=new this.constructor(t);return i(this,new s(e,n,r)),r},n.all=function(e){var t=Array.prototype.slice.call(e);return new n(function(e,n){function i(a,o){try{if(o&&("object"==S(o)||"function"==typeof o)){var s=o.then;if("function"==typeof s)return void s.call(o,function(e){i(a,e)},n)}t[a]=o,0===--r&&e(t)}catch(e){n(e)}}if(0===t.length)return e([]);for(var r=t.length,a=0;a<t.length;a++)i(a,t[a])})},n.resolve=function(e){return e&&"object"==S(e)&&e.constructor===n?e:new n(function(t){t(e)})},n.reject=function(e){return new n(function(t,n){n(e)})},n.race=function(e){return new n(function(t,n){for(var i=0,r=e.length;i<r;i++)e[i].then(t,n)})},n._immediateFn="function"==typeof setImmediate&&function(e){setImmediate(e)}||function(e){c(e,0)},n._unhandledRejectionFn=function(e){"undefined"!=typeof console&&console},n._setImmediateFn=function(e){n._immediateFn=e},n._setUnhandledRejectionFn=function(e){n._unhandledRejectionFn=e},T.exports?T.exports=n:e.Promise||(e.Promise=n)}(I.exports));var V,E,P,A="UNKNOWN",C="subtitle",D="audio",w="chromecast_caf",M="chromecast_v2",N="avplayer",O="bitmovin",x="videojs",z="theo",L="shaka",R="msf-lib-loaded",K=function(){return s(function e(t){if(a(this,e),"Platform"===this.constructor.name)throw new TypeError("Platform::constructor() - Abstract class.");this.config=t||{},this.launchParams=void 0,this.isAppExitInProgress=!1},[{key:"setConfig",value:function(e){this.config=e}},{key:"cloudPlatformName",get:function(){throw new TypeError("Platform::cloudPlatformName() - Abstract method.")}},{key:"uniqueDeviceID",value:function(e,t){this.deviceId.uniqueDeviceID(e,t)}},{key:"deviceIDAlgorithm",get:function(){return this.deviceId.algorithm},set:function(e){}},{key:"platformModel",get:function(){}},{key:"deviceInfo",get:function(){}},{key:"platformVersion",get:function(){}},{key:"networkInfo",get:function(){}},{key:"adId",get:function(){}},{key:"isAdTrackingDisabled",get:function(){}},{key:"createInputDevice",value:function(){throw new TypeError("Platform::createInputDevice() - Abstract method.")}},{key:"enableScreenSaver",value:function(e){}},{key:"defaultAppletAppId",get:function(){throw new TypeError("Platform::defaultAppletAppId() - Abstract method.")}},{key:"launchParamsDeferral",get:function(){return this.launchParams}},{key:"appLifeCycleManager",get:function(){}},{key:"exit",value:function(){VizbeeTV.logger.i("BasePlatform","exit"),this.appLifeCycleManager&&this.appLifeCycleManager.emit("onEnd")}},{key:"isAppExiting",get:function(){return this.isAppExitInProgress},set:function(e){this.isAppExitInProgress=e}},{key:"createPlayer",value:function(){throw new TypeError("Platform::createPlayer() - Abstract method.")}}])}(),F=s(function e(t,n){if(a(this,e),"BaseEvent"===this.constructor.name)throw new TypeError("BaseEvent::constructor() - Abstract class.");this.nativeEvent=t,this.source=n}),U=function(){function e(t,n){return a(this,e),r(this,e,[t,n])}return h(e,F),s(e)}(),B=function(){function e(t,n){var i;if(a(this,e),!(n instanceof oe))throw new TypeError("TVRemoteEvent::constructor() - source must be an instance of BaseTVRemote.");return(i=r(this,e,[t,n])).keyCode=n.keyCodeMap[t.keyCode],i.keyName=n.keyNameMap[i.keyCode],i}return h(e,U),s(e)}(),H=function(){return s(function e(){if(a(this,e),"BaseEventDispatcher"===this.constructor.name)throw new TypeError("BaseEventDispatcher::constructor() - Abstract class.");this.eventType=void 0,this._eventHandlers=[],this.registerListener()},[{key:"registerListener",value:function(){throw new TypeError("BaseEventDispatcher::registerListener() - Abstract method.")}},{key:"onevent",set:function(e){if(void 0===e)this._eventHandlers=[];else{if(!(e instanceof Function))throw new TypeError("BaseEventDispatcher::onevent setter - callback must be an instance of Function.");this._eventHandlers.push(e)}}},{key:"dispatchEvent",value:function(e){if(!(e instanceof F))throw new TypeError("BaseEventDispatcher::dispatchEvent() - event must be instance of BaseEvent.");this._eventHandlers.forEach(function(t){t instanceof Function&&t(e)})}},{key:"reset",value:function(){this._eventHandlers=[]}}])}(),G=function(){function e(){var t;if(a(this,e),"BaseInputDevice"===(t=r(this,e)).constructor.name)throw new TypeError("BaseInputDevice::constructor() - Abstract class.");return t}return h(e,H),s(e)}(),W={exports:{}},q=W.exports;function j(){return V||(V=1,function(e){!function(t){var n=setTimeout;function i(){}var r="function"==typeof setImmediate&&setImmediate||function(e){n(e,1)},a=function(e){"undefined"!=typeof console&&console},o=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)};function s(e){if("object"!==S(this))throw new TypeError("Promises must be constructed via new");if("function"!=typeof e)throw new TypeError("not a function");this._state=0,this._handled=!1,this._value=void 0,this._deferreds=[],h(e,this)}function u(e,t){for(;3===e._state;)e=e._value;0!==e._state?(e._handled=!0,r(function(){var n=1===e._state?t.onFulfilled:t.onRejected;if(null!==n){var i;try{i=n(e._value)}catch(e){return void l(t.promise,e)}c(t.promise,i)}else(1===e._state?c:l)(t.promise,e._value)})):e._deferreds.push(t)}function c(e,t){try{if(t===e)throw new TypeError("A promise cannot be resolved with itself.");if(t&&("object"===S(t)||"function"==typeof t)){var n=t.then;if(t instanceof s)return e._state=3,e._value=t,void d(e);if("function"==typeof n)return void h((i=n,r=t,function(){i.apply(r,arguments)}),e)}e._state=1,e._value=t,d(e)}catch(t){l(e,t)}var i,r}function l(e,t){e._state=2,e._value=t,d(e)}function d(e){2===e._state&&0===e._deferreds.length&&setTimeout(function(){e._handled||a(e._value)},1);for(var t=0,n=e._deferreds.length;t<n;t++)u(e,e._deferreds[t]);e._deferreds=null}function f(e,t,n){this.onFulfilled="function"==typeof e?e:null,this.onRejected="function"==typeof t?t:null,this.promise=n}function h(e,t){var n=!1;try{e(function(e){n||(n=!0,c(t,e))},function(e){n||(n=!0,l(t,e))})}catch(e){if(n)return;n=!0,l(t,e)}}s.prototype.catch=function(e){return this.then(null,e)},s.prototype.then=function(e,t){var n=new s(i);return u(this,new f(e,t,n)),n},s.all=function(){var e=Array.prototype.slice.call(1===arguments.length&&o(arguments[0])?arguments[0]:arguments);return new s(function(t,n){if(0===e.length)return t([]);var i=e.length;function r(a,o){try{if(o&&("object"===S(o)||"function"==typeof o)){var s=o.then;if("function"==typeof s)return void s.call(o,function(e){r(a,e)},n)}e[a]=o,0===--i&&t(e)}catch(e){n(e)}}for(var a=0;a<e.length;a++)r(a,e[a])})},s.resolve=function(e){return e&&"object"===S(e)&&e.constructor===s?e:new s(function(t){t(e)})},s.reject=function(e){return new s(function(t,n){n(e)})},s.race=function(e){return new s(function(t,n){for(var i=0,r=e.length;i<r;i++)e[i].then(t,n)})},s._setImmediateFn=function(e){r=e},s._setUnhandledRejectionFn=function(e){a=e},e.exports?e.exports=s:t.Promise||(t.Promise=s)}(q)}(W)),W.exports}function Y(){if(P)return E;P=1;var e={get:function(e,t,n){for(var i=Array.isArray(t)?t:[t],r=e,a=0;a<i.length;a++){if(null==r)return n;r=r[i[a]]}return void 0===r?n:r},extend:function(e){if(null==e)return e;for(var t=1;t<arguments.length;t++){var n=arguments[t];if(null!=n)for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},isObject:function(e){return null!==e&&"object"===S(e)},find:function(e,t){if(null!=e){if(Array.isArray(e))return e.find(t);for(var n=Object.keys(e),i=0;i<n.length;i++){var r=e[n[i]];if(t(r,n[i],e))return r}}},keys:function(e){return Object.keys(e)},isString:function(e){return"string"==typeof e},filter:function(e,t){return Array.isArray(e)?e.filter(t):Object.keys(e).reduce(function(n,i){return t(e[i],i,e)&&n.push(e[i]),n},[])},omit:function(e){var t=Array.isArray(arguments[1])?arguments[1]:Array.prototype.slice.call(arguments,1),n={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&-1===t.indexOf(i)&&(n[i]=e[i]);return n},isUndefined:function(e){return void 0===e},isNumber:function(e){return"number"==typeof e},isArray:function(e){return Array.isArray(e)},each:function(e,t){return Array.isArray(e)?e.forEach(t):null!=e&&Object.keys(e).forEach(function(n){t(e[n],n,e)}),e},contains:function(e,t){return-1!==e.indexOf(t)},values:function(e){return Object.keys(e).map(function(t){return e[t]})},isFunction:function(e){return"function"==typeof e},isEmpty:function(e){return null==e||(Array.isArray(e)||"string"==typeof e?0===e.length:0===Object.keys(e).length)},clone:function(t){return Array.isArray(t)?t.slice():e.extend({},t)},reject:function(e,t){return Array.isArray(e)?e.filter(function(e){return!t(e)}):Object.keys(e).reduce(function(n,i){return t(e[i],i,e)||n.push(e[i]),n},[])},reduce:function(e,t,n){return Array.isArray(e)?e.reduce(t,n):(Object.keys(e).forEach(function(i){n=t(n,e[i],i,e)}),n)},isBoolean:function(e){return!0===e||!1===e},isNaN:function(e){return"number"==typeof e&&e!=e},isEqual:function(e,t){return JSON.stringify(e)===JSON.stringify(t)},pluck:function(e,t){return e.map(function(e){return e[t]})},findIndex:function(e,t){var n="function"==typeof t?t:function(e){return null!=e&&Object.keys(t).every(function(n){return e[n]===t[n]})};return e.findIndex(n)},findLastIndex:function(e,t){for(var n="function"==typeof t?t:function(e){return null!=e&&Object.keys(t).every(function(n){return e[n]===t[n]})},i=e.length-1;i>=0;i--)if(n(e[i],i,e))return i;return-1},findWhere:function(e,t){return e.find(function(e){return null!=e&&Object.keys(t).every(function(n){return e[n]===t[n]})})},without:function(e){var t=Array.prototype.slice.call(arguments,1);return e.filter(function(e){return-1===t.indexOf(e)})},sortBy:function(e,t){var n="function"==typeof t?t:function(e){return e[t]};return e.slice().sort(function(e,t){var i=n(e),r=n(t);return i<r?-1:i>r?1:0})},rest:function(e,t){return e.slice(void 0===t?1:t)},indexOf:function(e,t){return e.indexOf(t)},intersection:function(){var e=Array.prototype.slice.call(arguments);return e[0].filter(function(t){return e.every(function(e){return-1!==e.indexOf(t)})})}};return E=e}var Q,J,Z,X,$=t(Y()),ee=[],te=[],ne=[],ie=document.getElementsByTagName("HEAD")[0],re=document.getElementsByTagName("BODY")[0],ae=function(){function e(){a(this,e)}return s(e,null,[{key:"xchangeHLSUrl",value:function(e,t,n,i,r,a){var o="unknown",s="unknown";t&&(o=t),n&&(s=n);var u="https://hlsxchange.claspws.tv/"+o+"/"+s;return e&&e.indexOf(u)>=0?e:(i&&r&&a&&(u+="/"+i+"/"+r+"/"+a),u+="/x.m3u8?hlsurl="+e)}},{key:"getRandomIntInclusive",value:function(e,t){return e=Math.ceil(e),t=Math.floor(t),Math.floor(Math.random()*(t-e+1))+e}},{key:"buildErrorEvent",value:function(e,t,n){return{code:e,reason:t,data:n}}},{key:"loadStyleSheet",value:function(e){if(!e||!(e instanceof String||"string"==typeof e))throw new TypeError("Util::loadStyleSheet - Url must be a string.");var t=document.createElement("link");t.setAttribute("rel","stylesheet"),t.setAttribute("type","text/css"),ie.appendChild(t),ne.push(t),t.setAttribute("href",e)}},{key:"loadSynchronousScripts",value:function(t){var n=n||void 0;if(n||(n=j()),void 0===e.loadSynchronousScripts.scripts&&(e.loadSynchronousScripts.scripts=[],e.loadSynchronousScripts.index=-1,e.loadSynchronousScripts.loading=!1,e.loadSynchronousScripts.next=function(){if(!e.loadSynchronousScripts.loading){e.loadSynchronousScripts.loading=!0;var t=e.loadSynchronousScripts.scripts[++e.loadSynchronousScripts.index],n=document.getElementsByTagName("head")[0],i=document.createElement("script");i.type="text/javascript",i.src=t.src,i.onload=function(){e.loadSynchronousScripts.loading=!1,e.loadSynchronousScripts.index<e.loadSynchronousScripts.scripts.length-1&&e.loadSynchronousScripts.next(),t.resolve()},n.appendChild(i)}}),t){for(var i=0;i<e.loadSynchronousScripts.scripts.length;i++)if(e.loadSynchronousScripts.scripts[i].src==t)return e.loadSynchronousScripts.scripts[i].promise;var r={src:t};r.promise=new n(function(e){r.resolve=e}),e.loadSynchronousScripts.scripts.push(r),e.loadSynchronousScripts.next()}return e.loadSynchronousScripts.scripts[e.loadSynchronousScripts.scripts.length-1].promise}},{key:"loadScript",value:function(e,t,n){if(!e||!(e instanceof String||"string"==typeof e))throw new TypeError("Util::loadScript - Url must be a string.");t=!(!t&&void 0!==t);var i=document.createElement("script");i.setAttribute("type","text/javascript"),i.setAttribute("async",t),i.onload=n||function(){},ie.appendChild(i),ee.push(i),i.setAttribute("src",e)}},{key:"loadScriptToBody",value:function(e,t,n){if(!e||!(e instanceof String||"string"==typeof e))throw new TypeError("Util::loadScript - Url must be a string.");t=!(!t&&void 0!==t);var i=document.createElement("script");i.setAttribute("type","text/javascript"),i.setAttribute("async",t),i.onload=n||function(){},re.appendChild(i),te.push(i),i.setAttribute("src",e)}},{key:"clearLoadedScripts",value:function(){for(var e=0;e<ee.length;e++)ee[e]&&ee[e]instanceof Node&&(ie.removeChild(ee[e]),delete ee[e])}},{key:"clearBodyLoadedScripts",value:function(){for(var e=0;e<te.length;e++)te[e]&&te[e]instanceof Node&&(re.removeChild(te[e]),delete te[e])}},{key:"clearLoadedStyleSheets",value:function(){for(var e=0;e<ne.length;e++)ne[e]&&ne[e]instanceof Node&&(ne[e].disabled=!0,ie.removeChild(ne[e]),delete ne[e])}},{key:"clearAllLoadedScriptsAndStyleSheets",value:function(){e.clearLoadedScripts(),e.clearLoadedStyleSheets()}},{key:"addClass",value:function(e,t){if(t){var n=t.className;if(-1!=n.indexOf(e))return;""!=n&&(e=" "+e),t.className=n+e}}},{key:"removeClass",value:function(e,t){if(t){var n=t.className,i=new RegExp(e,"g");n=n.replace(i,""),t.className=n}}},{key:"hasClass",value:function(e,t){return(" "+e.className+" ").indexOf(" "+t+" ")>-1}},{key:"elementInViewport",value:function(e,t,n){var i=e.getBoundingClientRect(),r=i.top,a=i.bottom,o=i.left,s=i.right,u=document.documentElement.clientHeight,c=document.documentElement.clientWidth,l=window.innerHeight,d=window.innerWidth;return n&&(r-=n),t?r>=0&&a<=window.innerHeight:r>=0&&r<=(l||u)&&o>=0&&o<=(d||c)||a>=0&&a<=(l||u)&&s>=0&&s<=(d||c)}},{key:"smoothScroll",value:function(t,n){var i=t,r=t;do{if(!(i=i.parentNode))return;i.scrollTop+=1}while(0==i.scrollTop);var a=0;do{if(t==i)break;a+=t.offsetTop}while(t=t.offsetParent);e.myscroll(r,n,i,i.scrollTop,a-n,0)}},{key:"myscroll",value:function(t,n,i,r,a,o){++o>10||t.children.length>0&&e.elementInViewport(t.children.item(0),!0,n)||(i.scrollTop=r+(a-r)/10*o,setTimeout(function(){e.myscroll(t,n,i,r,a,o)},20))}},{key:"xhr",value:function(e){var t=t||void 0;return t||(t=j()),new t(function(t,n){var i=0===e.retries?0:e.retries||3;!function r(){var a=new XMLHttpRequest;e.disableSSL||(e.url=e.url.replace(/^http:\/\//i,"https://")),a.open(e.method||"GET",e.url,!0),Object.keys(e.headers||{}).forEach(function(t){a.setRequestHeader(t,e.headers[t])});var o=void 0;a.onreadystatechange=function(s){var u,c;if(2==a.readyState&&(u=a.getAllResponseHeaders().trim().split(/[\r\n]+/),c={},u.forEach(function(e){var t=e.split(": "),n=t.shift(),i=t.join(": ");c[n]=i}),o=c),4===a.readyState)if(-1===[200,201,202,203,204,304].indexOf(a.status))i>0?(i--,r()):e.isFullResponse?n(a):n(new Error("Server responded with a status of "+a.status));else try{var d=s.target;e.format=e.format||"json","json"===e.format?(d=d.response?JSON.parse(d.response):{}).headers?l(d.headers,o):d.headers=o:"xml"===e.format&&(d=d.responseXML),e.isFullResponse?t({xhr:s.target,data:d,headers:o}):t(d)}catch(s){i>0?(i--,r()):e.isFullResponse?n(a):n("JSON parse error with Server response")}},e.timeout&&(a.timeout=e.timeout,a.ontimeout=function(t){i>0?(i--,r()):n(new Error("Server timeout "+e.timeout+"ms"))}),a.send(e.data)}()})}},{key:"timeSnapToMs",value:function(e){e.split(".").length<=1&&(e+=".000");var t=e.split(":"),n=t.pop().split("."),i=1e3*Number(n[0])+Number(n[1]);return(i+=1e3*Number(t.pop())*60)+1e3*Number(t.pop())*60*60}},{key:"millisecondsToString",value:function(e,t){var n="",i=Math.floor(e%31536e3%86400%3600%60);n=isNaN(i)||i<=0?":00":i<10?":0"+i:":"+i;var r=Math.floor(e%31536e3%86400%3600/60);n=isNaN(r)||r<=0?"00"+n:r<10?"0"+r+n:r+n;var a=Math.floor(e%31536e3%86400/3600);return t?n=isNaN(a)||a<=0?"00:"+n:a<10?"0"+a+":"+n:a+":"+n:a>0&&(n=a+":"+n),n}},{key:"getUrlVars",value:function(){for(var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:window.location.href,n={},i=t.slice(t.indexOf("?")+1).split("&"),r=0;r<i.length;r++)n[(e=i[r].split("="))[0]]=decodeURIComponent(e[1]);return n}},{key:"updateUrlQueryParams",value:function(e,t){if(!e)return VizbeeUtils.logger.warn("Util::updateUrlQueryParams - INVALID inputUrl, doing nothing"),e;if($.isEmpty(t))return VizbeeUtils.logger.warn("Util::updateUrlQueryParams - INVALID inputParams, doing nothing"),e;try{var n=new URL(e),i=new URLSearchParams(n.search);Object.keys(t).forEach(function(e){return i.set(e,t[e])}),n.search=i.toString();var r=n.toString();return VizbeeUtils.logger.debug("Util::updateUrlQueryParams - updated url="+r),r}catch(t){return VizbeeUtils.logger.error("Util::updateUrlQueryParams - failed to update query params for url="+e),e}}},{key:"docCookies",get:function(){return{getItem:function(e){return e&&decodeURIComponent(document.cookie.replace(new RegExp("(?:(?:^|.*;)\\s*"+encodeURIComponent(e).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*([^;]*).*$)|^.*$"),"$1"))||null},setItem:function(e,t,n,i,r,a){if(!e||/^(?:expires|max\-age|path|domain|secure)$/i.test(e))return!1;var o="";if(n)switch(n.constructor){case Number:o=n===1/0?"; expires=Fri, 31 Dec 9999 23:59:59 GMT":"; max-age="+n;break;case String:o="; expires="+n;break;case Date:o="; expires="+n.toUTCString()}return document.cookie=encodeURIComponent(e)+"="+encodeURIComponent(t)+o+(r?"; domain="+r:"")+(i?"; path="+i:"")+(a?"; secure":""),!0},removeItem:function(e,t,n){return!!this.hasItem(e)&&(document.cookie=encodeURIComponent(e)+"=; expires=Thu, 01 Jan 1970 00:00:00 GMT"+(n?"; domain="+n:"")+(t?"; path="+t:""),!0)},hasItem:function(e){return!!e&&new RegExp("(?:^|;\\s*)"+encodeURIComponent(e).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=").test(document.cookie)},keys:function(){for(var e=document.cookie.replace(/((?:^|\s*;)[^\=]+)(?=;|$)|^\s*|\s*(?:\=[^;]*)?(?:\1|$)/g,"").split(/\s*(?:\=[^;]*)?;\s*/),t=e.length,n=0;n<t;n++)e[n]=decodeURIComponent(e[n]);return e},eraseCookieFromAllPaths:function(e){var t=location.pathname.split("/"),n=" path=";document.cookie=encodeURIComponent(e)+"=; expires=Thu, 01-Jan-1970 00:00:01 GMT;";for(var i=0;i<t.length;i++)n+=("/"!=n.substr(-1)?"/":"")+t[i],document.cookie=encodeURIComponent(e)+"=; expires=Thu, 01-Jan-1970 00:00:01 GMT;"+n+";"}}}},{key:"invert",value:function(e){for(var t={},n=Object.keys(e),i=0,r=n.length;i<r;i++)t[e[n[i]]]=n[i];return t}},{key:"deepMerge",value:function(t,n){var i=Array.isArray(n),r=i&&[]||{};return i?(t=t||[],r=r.concat(t),n.forEach(function(n,i){void 0===r[i]?r[i]=n:"object"===S(n)?r[i]=e.deepMerge(t[i],n):-1===t.indexOf(n)&&r.push(n)})):("object"===S(t)&&null!==t&&Object.keys(t).forEach(function(e){r[e]=t[e]}),Object.keys(n).forEach(function(i){"object"===S(n[i])&&n[i]&&t[i]?r[i]=e.deepMerge(t[i],n[i]):r[i]=n[i]})),r}},{key:"isEqual",value:function(e,t){return $.isEqual(e,t)}},{key:"flatten",value:function(e){var t={};return function e(n,i){if(Object(n)!==n)t[i]=n;else if(Array.isArray(n)){for(var r=0,a=n.length;r<a;r++)e(n[r],i+"["+r+"]");0==a&&(t[i]=[])}else{var o=!0;for(var s in n)o=!1,e(n[s],i?i+"."+s:s);o&&i&&(t[i]={})}}(e,""),t}},{key:"unflatten",value:function(e){if(Object(e)!==e||Array.isArray(e))return e;var t=/\.?([^.\[\]]+)|\[(\d+)\]/g,n={};for(var i in e){for(var r,a=n,o="";r=t.exec(i);)a=a[o]||(a[o]=r[2]?[]:{}),o=r[2]||r[1];a[o]=e[i]}return n[""]||n}},{key:"decodeB64Recurse",value:function(t,n){if(!t||!n)return t;for(var i in t){var r=t[i];if("object"===S(r))e.decodeB64Recurse(r,n);else if(i.indexOf(n)>-1){var a=i.replace(n,"");if(t[a]=t[i],delete t[i],"string"==typeof t[a]){var o=decodeURIComponent(escape(atob(t[a])));t[a]=e.parseFunction(o)}}}return t}},{key:"parseFunction",value:function(e){var t=e.indexOf("{"),n=e.substring(t+1,e.lastIndexOf("}")),i=e.substring(0,t),r=i.substring(i.indexOf("(")+1,i.lastIndexOf(")")).split(",");function a(){return Function.apply(this,r)}return r.push(n),a.prototype=Function.prototype,new a}},{key:"padStart",value:function(t,n,i){return n|=0,i=String(void 0!==i?i:" "),t.length>n?String(t):((n-=t.length)>i.length&&(i+=e.repeat(i,n/i.length)),i.slice(0,n)+String(t))}},{key:"padEnd",value:function(t,n,i){return n|=0,i=String(void 0!==i?i:" "),t.length>n?String(t):((n-=t.length)>i.length&&(i+=e.repeat(i,n/i.length)),String(t)+i.slice(0,n))}},{key:"repeat",value:function(e,t){if(!e)throw new TypeError("can't convert "+e+" to object");var n=""+e;if((t=+t)!=t&&(t=0),t<0)throw new RangeError("repeat count must be non-negative");if(t==1/0)throw new RangeError("repeat count must be less than infinity");if(t=Math.floor(t),0==n.length||0==t)return"";if(n.length*t>=1<<28)throw new RangeError("repeat count must not overflow maximum string size");var i=n.length*t;for(t=Math.floor(Math.log(t)/Math.log(2));t;)n+=n,t--;return n+n.substring(0,i-n.length)}},{key:"getShortString",value:function(e,t){if(!$.isString(t))return e;if(!$.isString(e))return e;if(-1!=e.indexOf(t)){var n=e.trim().split(t);return $.reduce(n,function(e,t){return e+t.charAt(0)},"")}return e}},{key:"toCamelCase",value:function(e){return void 0===e?e:(e=e.replace(/([-_][a-z])/g,function(e){return e.toUpperCase().replace("-","").replace("_","")})).charAt(0).toLowerCase()+e.slice(1)}},{key:"matchStringWithRegex",value:function(e,t){return null!=t&&null!=e&&new RegExp(e,"i").test(t)}},{key:"isValidIPv4Address",value:function(t){return null!=t&&e.matchStringWithRegex(/^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/,t)}},{key:"convertObjectsToString",value:function(e){if(!e)return e;if(!Array.isArray(e))return e;for(var t=0;t<e.length;t++){var n=e[t];try{"object"==S(n)&&(n=JSON.stringify(n))}catch(e){}e[t]=n}return e}},{key:"getUpdatedStringWithReplacedValues",value:function(e,t){return $.isString(e)?!t||Array.isArray(t)||"object"!=S(t)?(VizbeeUtils.logger.d("Util","getUpdatedStringWithReplacedValues","INVALID input json, NOT updating input string"),e):(Object.keys(t).forEach(function(n){e=e.replace(new RegExp(n,"gi"),t[n])}),e):(VizbeeUtils.logger.warn("Util::getUpdatedStringWithReplacedValues - INVALID inputString, NOT updating input string"),e)}},{key:"uuidv4",value:function(){return crypto&&crypto.getRandomValues?([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,function(e){return(e^crypto.getRandomValues(new Uint8Array(1))[0]&15>>e/4).toString(16)}):Math.floor(1e10*Math.random()).toString()}},{key:"checkIfImageExists",value:function(e){var t=t||void 0;return t||(t=j()),new t(function(t,n){var i=new Image;i.src=e,i.complete?t(!0):(i.onload=function(){t(!0)},i.onerror=function(){t(!1)})})}},{key:"getFormEncodedUriFormat",value:function(e){if($.isObject(e)){var t=[];for(var n in e){var i=encodeURIComponent(n),r=encodeURIComponent(e[n]);t.push(i+"="+r)}return t.join("&")}}}])}(),oe=function(){function e(t){var n;if(a(this,e),n=r(this,e),VizbeeTV.logger.debug("constructing BaseTVRemote"),n.eventType=B,!(t&&t instanceof K))throw new Error("BaseTVRemote::constructor() -- platform cannot be empty or invalid.");return n.platform=t,n}return h(e,G),s(e,[{key:"keyNameMap",get:function(){return{1:"up",2:"down",3:"left",4:"right",5:"select",6:"play",7:"pause",8:"stop",9:"fast-forward",10:"rewind",11:"back",12:"exit",13:"play-pause",14:"alt_up",15:"alt_down",16:"alt_left",17:"alt_right",18:"skip_next",19:"skip_prev"}}},{key:"keyCodeMap",get:function(){throw new TypeError("Abstract method - BaseTVRemote::keyMap getter.")}},{key:"registerListener",value:function(){var e=this;try{document.addEventListener("keydown",function(t){e.dispatchEvent(new B(t,e))})}catch(e){VizbeeTV.logger.error("registerListener error - ",e.message,e)}}},{key:"sendKeyEvent",value:function(e){try{var t=ae.invert(this.keyCodeMap)[e],n=new Event("keydown");n.keyCode=t,n.charCode=t,document.dispatchEvent(n)}catch(e){VizbeeTV.logger.error("sendKeyEvent error ",e.message,e)}}},{key:"sendPlay",value:function(){this.sendKeyEvent(e.keys.play)}},{key:"sendPause",value:function(){this.sendKeyEvent(e.keys.pause)}},{key:"sendStop",value:function(){this.sendKeyEvent(e.keys.stop)}}],[{key:"keys",get:function(){return{up:1,down:2,left:3,right:4,select:5,play:6,pause:7,stop:8,ffw:9,rw:10,back:11,exit:12,play_pause:13,alt_up:14,alt_down:15,alt_left:16,alt_right:17,skip_next:18,skip_prev:19}}}])}(),se=function(){function e(){return a(this,e),r(this,e,arguments)}return h(e,oe),s(e,[{key:"keyCodeMap",get:function(){return{38:oe.keys.up,40:oe.keys.down,37:oe.keys.left,39:oe.keys.right,13:oe.keys.select,415:oe.keys.play,19:oe.keys.pause,413:oe.keys.stop,417:oe.keys.ffw,412:oe.keys.rw,8:oe.keys.back}}}])}(),ue=function(){return s(function e(){if(a(this,e),"BaseDeviceID"===this.constructor.name)throw new TypeError("BaseDeviceID::constructor() - Abstract class.");this.deviceIdAlgorithm="VTV_DEFAULT",this.deviceIdKey="deviceid"},[{key:"uniqueDeviceID",value:function(e,t){VizbeeTV.logger.error("BaseDeviceID::uniqueDeviceID - subclass did not override; no deviceId available"),t()}},{key:"algorithm",get:function(){return this.deviceIdAlgorithm}}])}(),ce=function(){function e(){var t;return a(this,e),(t=r(this,e)).deviceIdAlgorithm="VTV_URL_PARAMS",t.storageDeviceIdKey="VTV_"+t.deviceIdKey,t}return h(e,ue),s(e,[{key:"uniqueDeviceID",value:function(e,t){var n=(ae.getUrlVars()||{})[this.deviceIdKey];if(n)ae.docCookies.setItem(this.storageDeviceIdKey,n,1/0,"/");else{var i=ae.docCookies.getItem(this.storageDeviceIdKey);if(!i)return VizbeeTV.logger.error("URLParamsDeviceID::uniqueDeviceID - didn't find deviceID in URL or storage"),void t();n=i}e(n)}}])}(),le=function(){return s(function e(){a(this,e)},[{key:"isLaunchedbyVizbee",value:function(){throw new TypeError("BaseLaunchParams::isLaunchedbyVizbee() - Abstract method. This method must be implemented by derived classes.")}},{key:"getLaunchParams",value:function(e){}},{key:"setLaunchParams",value:function(e){}},{key:"waitUntilReady",value:function(){return this._readyPromise||Promise.resolve()}}])}(),de=function(){function e(){return a(this,e),r(this,e)}return h(e,le),s(e,[{key:"isLaunchedbyVizbee",value:function(){var e=this.getLaunchParams();return e?(VizbeeTV.logger.debug("URLLaunchParams::isLaunchedbyVizbee() - params present",e),"y"==e.vzb):(VizbeeTV.logger.debug("URLLaunchParams::isLaunchedbyVizbee() - params not present"),!1)}},{key:"getLaunchParams",value:function(){var e,t={};if(e=window.location.href,this.isValidUrl(e)){var n=!1,i=e.indexOf("?");if(i>=0)for(var r=e.slice(i+1).split("&"),a=0;a<r.length;a++){var o;2==(o=r[a].split("=")).length&&o[0].length&&o[1].length&&(n=!0,t[o[0]]=o[1])}return n?t:void 0}}},{key:"isValidUrl",value:function(e){return/(http|https):\/\//.test(e)}}])}(),fe=function(){return s(function e(){var t,n,i,r,o;a(this,e),this._uaParser=(t=navigator.userAgent,i={name:"",version:""},r={name:"",version:""},o={name:"",version:""},(n=/Tizen\s*([\d.]+)?/i.exec(t))?(i.name="Tizen",i.version=n[1]||""):(n=/Web0S(?:\.TV)?(?:[;\s/]*([\d.]+))?/i.exec(t))?(i.name="webOS",i.version=n[1]||""):(n=/Windows\s*(?:NT\s*)?([\d.]+)?/i.exec(t))?(i.name="Windows",i.version=n[1]||""):(n=/Mac OS X\s*([\d_.]+)?/i.exec(t))?(i.name="Mac OS",i.version=(n[1]||"").replace(/_/g,".")):(n=/CrOS[\s/]*([\w.]+)?/i.exec(t))?(i.name="Chromium OS",i.version=n[1]||""):(n=/Android\s*([\d.]+)?/i.exec(t))?(i.name="Android",i.version=n[1]||""):(n=/(?:iPhone|iPad).*OS\s*([\d_]+)/i.exec(t))?(i.name="iOS",i.version=(n[1]||"").replace(/_/g,".")):(n=/Linux/i.exec(t))&&(i.name="Linux"),(n=/(?:Edg|EdgA|EdgIOS)\/([\d.]+)/i.exec(t))?(r.name="Edge",r.version=n[1]):(n=/OPR\/([\d.]+)/i.exec(t))?(r.name="Opera",r.version=n[1]):(n=/SamsungBrowser\/([\d.]+)/i.exec(t))?(r.name="Samsung Internet",r.version=n[1]):(n=/Firefox\/([\d.]+)/i.exec(t))?(r.name="Firefox",r.version=n[1]):(n=/Chrome\/([\d.]+)/i.exec(t))?(r.name="Chrome",r.version=n[1]):(n=/Safari\/([\d.]+)/i.exec(t))&&/Version\/([\d.]+)/.test(t)&&(r.name="Safari",r.version=/Version\/([\d.]+)/.exec(t)[1]),(n=/AppleWebKit\/([\d.]+)/i.exec(t))?(o.name="WebKit",o.version=n[1]):(n=/Gecko\/([\d.]+)/i.exec(t))?(o.name="Gecko",o.version=n[1]):(n=/Trident\/([\d.]+)/i.exec(t))&&(o.name="Trident",o.version=n[1]),{os:i,browser:r,engine:o})},[{key:"deviceId",get:function(){return A}},{key:"make",get:function(){return A}},{key:"model",get:function(){return A}},{key:"modelYear",get:function(){return A}},{key:"serialNumber",get:function(){return A}},{key:"friendlyName",get:function(){return A}},{key:"macAddress",get:function(){return A}},{key:"userAgent",get:function(){return navigator.userAgent}},{key:"os",get:function(){return{name:this._uaParser.os.name,sdkVersion:this._uaParser.os.version,version:this._uaParser.os.version}}},{key:"browser",get:function(){return{name:this._uaParser.browser.name,version:this._uaParser.browser.version,engine_name:this._uaParser.engine.name,engine_version:this._uaParser.engine.version}}},{key:"screen",get:function(){return{height:document.body.clientHeight,width:document.body.clientWidth}}}])}(),he=function(){function e(){return a(this,e),r(this,e)}return h(e,fe),s(e)}(),pe=function(){return s(function e(){a(this,e)},[{key:"internalIP",get:function(){return A}},{key:"externalIP",get:function(){return A}},{key:"isWifiConnected",get:function(){return!0}},{key:"connectionType",get:function(){return A}},{key:"bssid",get:function(){return A}},{key:"ssid",get:function(){return A}}])}(),ge=function(){function e(){return a(this,e),r(this,e)}return h(e,pe),s(e)}(),ve=function(){return s(function e(){a(this,e)},[{key:"init",value:function(){this.player=void 0}},{key:"setPlayer",value:function(e){this.player=e}},{key:"getPlayer",value:function(){return this.player}},{key:"getTracks",value:function(e){return[]}},{key:"getEnabledTracks",value:function(e){return[]}},{key:"enableTracks",value:function(){}},{key:"disableTracks",value:function(e){}}])}(),ye=function(){return s(function e(){a(this,e),this._type="",this._id=-1},[{key:"toJSON",value:function(){return{type:this._type,id:this._id}}},{key:"fromJSON",value:function(e){e&&e.type&&!isNaN(e.id)?(this._type=e.type,this._id=e.id):VizbeeTV.logger.verbose("Track::fromJSON - invalid trackInfo")}},{key:"type",get:function(){return this._type},set:function(e){this._type=e}},{key:"id",get:function(){return this._id},set:function(e){this._id=e}}])}(),me=function(){function e(){var t;return a(this,e),(t=r(this,e)).type=C,t.subtype="",t._lang="",t}return h(e,ye),s(e,[{key:"toJSON",value:function(){var t=m(e,"toJSON",this)([]);return t.lang=this._lang,t.subtype=this._subtype,t}},{key:"fromJSON",value:function(t){t?(t.type=t.type||this.type,m(e,"fromJSON",this)([t]),this._lang=t.lang,this._subtype=t.subtype):VizbeeTV.logger.verbose("SubtitleTrack::fromJSON - invalid trackInfo")}},{key:"lang",get:function(){return this._lang},set:function(e){this._lang=e}},{key:"subtype",get:function(){return this._subtype},set:function(e){this._subtype=e}}])}(),be=function(){function e(){return a(this,e),r(this,e)}return h(e,ve),s(e,[{key:"init",value:function(){this._playerManager=cast.framework.CastReceiverContext.getInstance().getPlayerManager()}},{key:"getTracks",value:function(e){var t=this;if(!e)return[];var n=[];try{if(this._isTextTracksManagerAvailable()){var i=this._playerManager.getTextTracksManager();if(i){var r=i.getTracks();if(r&&r.length>0&&e==C){var a=r.filter(function(e){return cast.framework.messages.TrackType.TEXT==e.type});a&&a.forEach(function(e){var i=new me;i.fromJSON({id:e.trackId,lang:t._isValidTrackLanguage(e.language)?e.language:"en"}),n.push(i)})}}}}catch(e){VizbeeTV.logger.debug("ChromecastCAFSubtitle::getTracks - error",e&e.message),n=[]}return n}},{key:"getEnabledTracks",value:function(e){if(!e)return[];var t=[];try{if(this._isTextTracksManagerAvailable()&&e==C){var n=this._playerManager.getTextTracksManager();if(n){var i=n.getActiveTracks(),r=i.length>0?i[0]:void 0,a=new me;a.fromJSON({id:r.trackId,lang:this._isValidTrackLanguage(r.language)?r.language:"en"}),t.push(a)}}}catch(e){VizbeeTV.logger.debug("ChromecastCAFSubtitle::getEnabledTracks - error",e),t=[]}return t}},{key:"enableTracks",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];!e||!Array.isArray(e)||e.length<=0?VizbeeTV.logger.debug("ChromecastCAFSubtitle::enableTracks - enable subtitles command ignored due to invalid input"):this._isTextTracksManagerAvailable()?(VizbeeTV.logger.debug("ChromecastCAFSubtitle::enableTracks - sending setActiveByIds to CAFPlayer"),this._playerManager.getTextTracksManager().setActiveByIds(e)):VizbeeTV.logger.debug("ChromecastCAFSubtitle::enableTracks - ignoring command as textTracksManager is not available")}},{key:"disableTracks",value:function(e){this._isTextTracksManagerAvailable()?(VizbeeTV.logger.debug("ChromecastCAFSubtitle::disableTracks - sending setActiveByIds[] to CAFPlayer"),this._playerManager.getTextTracksManager().setActiveByIds([])):VizbeeTV.logger.debug("ChromecastCAFSubtitle::disableTracks - ignoring command as textTracksManager is not available")}},{key:"_isTextTracksManagerAvailable",value:function(){var e=this.getPlayer();return!(!e||!e.playerState)&&[e.playerState.STARTED,e.playerState.BUFFERING,e.playerState.PLAYING,e.playerState.PAUSED].indexOf(e.getCurrentState())>=0}},{key:"_isValidTrackLanguage",value:function(e){return!(!e||e.indexOf("null")>=0)}}])}(),Se=function(){function e(){return a(this,e),r(this,e)}return h(e,ve),s(e,[{key:"getTracks",value:function(e){if(!e||C!=e)return[];var t=this.getPlayer();if(!t)return[];var n=this._getTracksFromVideoInfo(t);return n&&n.length>0?n:(n=[],n=this._getTracksFromMediaManager(t))}},{key:"_getTracksFromVideoInfo",value:function(e){if(!e)return[];var t=[];if(e.videoInfo&&e.videoInfo.tracks&&e.videoInfo.tracks.length>0){var n=e.videoInfo.tracks.filter(function(e){return"text"==e.type.toLowerCase()});n.length>0&&n.forEach(function(e){var n=new me;n.fromJSON({id:e.trackId,lang:e.language,subtype:e.trackContentType}),t.push(n)})}return t}},{key:"_getTracksFromMediaManager",value:function(e){var t=[];try{var n=e.mediaManager&&e.mediaManager.getMediaInformation();if(n&&n.tracks&&n.tracks.length){var i=n.tracks.filter(function(e){return"text"==e.type.toLowerCase()});i.length>0&&i.forEach(function(e){var n=new me;n.fromJSON({id:e.trackId,lang:e.language,subtype:e.trackContentType}),t.push(n)})}}catch(e){t=[]}return t}},{key:"getEnabledTracks",value:function(e){if(!e||C!=e)return[];var t=this.getPlayer();if(!t)return[];var n=[];return(n=this._getEnabledTracksFromVideoInfo(t))&&n.length>0?n:(n=[],n=this._getEnabledTracksFromMediaManager(t))}},{key:"_getEnabledTracksFromVideoInfo",value:function(e){if(!e||!e.videoInfo)return[];var t=[];if(e.videoInfo.tracks&&e.videoInfo.tracks.length>0&&isFinite(e.videoInfo.activeTrackId)){var n=e.videoInfo.tracks.find(function(t){return e.videoInfo.activeTrackId==t.trackId});if(n){var i=new me;i.fromJSON({id:n.trackId,lang:n.language,subtype:n.trackContentType}),t.push(i)}}return t}},{key:"_getEnabledTracksFromMediaManager",value:function(e){var t=[];try{var n=e.mediaManager&&e.mediaManager.getMediaInformation();if(n&&n.tracks&&n.tracks.length){for(var i,r=n.tracks.filter(function(e){return"text"==e.type.toLowerCase()}),a=e.playerElement&&e.playerElement.textTracks.length||0,o=function(){var t=e.playerElement.textTracks[s];if("showing"==t.mode)return""==t.id?e.platformConfig.captionsType&&"cea608"==e.platformConfig.captionsType.toLowerCase()?(t.trackId=99,i=t):i=r&&r[0]:i=r.find(function(e){return e.trackId==t.id}),1},s=0;s<a&&!o();s++);if(i){var u=new me;u.fromJSON({id:i.trackId,lang:i.language,subtype:i.trackContentType}),t.push(u)}}}catch(e){t=[]}return t}},{key:"enableTracks",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=this.getPlayer();this._areInbandCaptionAvailable(t)?this._enableInbandTracks(e,t):this._enableExternalTracks(e,t)}},{key:"_enableInbandTracks",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1?arguments[1]:void 0;VizbeeTV.logger.debug("ChromecastV2InbandSubtitle::enableTracks - ",e);for(var n=t.castPlayer.getStreamingProtocol(),i=n.getStreamCount(),r=0;r<i;r++){for(var a=r+1,o=!1,s=0;s<e.length;s++)if(e[s]==a){o=!0;break}var u=n.isStreamEnabled(r);o&&!u&&n.enableStream(r,!0)}t.castPlayer.enableCaptions(!0)}},{key:"_enableExternalTracks",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1?arguments[1]:void 0;if(0!=e.length){var n=this.getTracks(C,t);if(0!=n.length){var i=e[0],r=n.find(function(e){return i==e.id});if(r){var a,o="ttml";r.subtype.indexOf("vtt")>=0&&(a="webvtt"),r.subtype.indexOf(o)>=0&&(a=o),a&&(t.videoInfo.activeTrackId=i,t.castPlayer.enableCaptions(!0,a,i))}}}}},{key:"disableTracks",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=this.getPlayer();this._areInbandCaptionAvailable(t)?this._disableInbandTracks(e,t):this._disableExternalTracks(e,t)}},{key:"_disableInbandTracks",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1?arguments[1]:void 0;VizbeeTV.logger.debug("ChromecastV2InbandSubtitle::disableTracks - ",e);for(var n=t.castPlayer.getStreamingProtocol(),i=n.getStreamCount(),r=0;r<i;r++){for(var a=r+1,o=!1,s=0;s<e.length;s++)if(e[s]==a){o=!0;break}var u=n.isStreamEnabled(r);!o&&u&&n.enableStream(r,!1)}t.castPlayer.enableCaptions(!0)}},{key:"_disableExternalTracks",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1?arguments[1]:void 0;if(0!=e.length){var n=this.getEnabledTracks(C,t);if(n&&n.length>0){var i=n.find(function(t){return t.id==e[0]});if(i){var r,a="ttml";i.subtype.indexOf("vtt")>=0&&(r="webvtt"),i.subtype.indexOf(a)>=0&&(r=a),r&&(t.videoInfo.activeTrackId=void 0,t.castPlayer.enableCaptions(!1,r))}}}}},{key:"_areInbandCaptionAvailable",value:function(e){VizbeeTV.logger.verbose("ChromecastV2InbandSubtitle::_areInbandCaptionAvailable");var t=e.mediaManager.getMediaInformation();return 0!=(t&&t.tracks).length||(VizbeeTV.logger.verbose("ChromecastV2InbandSubtitle::_areInbandCaptionAvailable - No in_band captions"),!1)}}])}(),_e=function(){function e(){return a(this,e),r(this,e)}return h(e,ve),s(e,[{key:"init",value:function(){this._registerInAppCaptionControl(),this.isCaptionsEnabledInTV=this._isCaptionsEnabledInTV(),this._addCaptionChangeListener(),this.isInbandSubtitlesEnabled=!1,this.disableTracks([])}},{key:"_registerInAppCaptionControl",value:function(){try{webapis.tvinfo.registerInAppCaptionControl(!0)}catch(e){VizbeeTV.logger.debug("InbandSubtitle::_registerInAppCaptionControl - error code = "+e.code)}}},{key:"_isCaptionsEnabledInTV",value:function(){var e=1;try{0==(e=webapis.tvinfo.getMenuValue(webapis.tvinfo.TvInfoMenuKey.CAPTION_ONOFF_KEY))?VizbeeTV.logger.verbose("InbandSubtitle::_isCaptionsEnabledInTV - Captions are DISABLED in TV"):VizbeeTV.logger.verbose("InbandSubtitle::_isCaptionsEnabledInTV - Captions are ENABLED in TV")}catch(e){VizbeeTV.logger.error("InbandSubtitle::_isCaptionsEnabledInTV - Error in getting captions info, code = "+e.code)}return e}},{key:"_addCaptionChangeListener",value:function(){var e=this;try{webapis.tvinfo.addCaptionChangeListener(webapis.tvinfo.TvInfoMenuKey.CAPTION_ONOFF_KEY,function(t){e.isCaptionsEnabledInTV=e._isCaptionsEnabledInTV(),e.isCaptionsEnabledInTV?e.enableTracks([99]):e.disableTracks([])})}catch(e){VizbeeTV.logger.error("InbandSubtitle::addCaptionChangeListener - error code = "+e.code)}}},{key:"getTracks",value:function(e){if(VizbeeTV.logger.verbose("InbandSubtitle::getTracks - trackType = ",e),!e||C!=e)return VizbeeTV.logger.verbose("InbandSubtitle::getTracks - INVALID trackType"),[];if(!this._isCaptionsEnabledInTV())return VizbeeTV.logger.verbose("InbandSubtitle::getTracks - CAPTIONS menu option is OFF in TV"),[];var t=[],n=new me;return n.fromJSON({id:99,lang:"en-US"}),t.push(n),t}},{key:"getEnabledTracks",value:function(e){if(VizbeeTV.logger.verbose("InbandSubtitle::getEnabledTracks - trackType = ",e),!e||C!=e)return VizbeeTV.logger.verbose("InbandSubtitle::getEnabledTracks - INVALID trackType"),[];if(!this._isCaptionsEnabledInTV())return VizbeeTV.logger.verbose("InbandSubtitle::getEnabledTracks - CAPTIONS menu option is OFF in TV"),[];if(!this.isInbandSubtitlesEnabled)return[];var t=[],n=new me;return n.fromJSON({id:99,lang:"en-US"}),t.push(n),t}},{key:"enableTracks",value:function(e){if(this._isCaptionsEnabledInTV())try{VizbeeTV.logger.debug("InbandSubtitle::enableTracks - ENABLING INBAND SUBTITLES"),webapis.tvinfo.showCaption(!0),this.isInbandSubtitlesEnabled=!0}catch(e){VizbeeTV.logger.error("InbandSubtitle::enableTracks - Error enabling in_band subtitles, code = "+e.code)}else VizbeeTV.logger.warn("InbandSubtitle::enableTracks - Captions are OFF in TV menu, IGNORING enable captions command")}},{key:"disableTracks",value:function(e){if(this._isCaptionsEnabledInTV())try{VizbeeTV.logger.debug("InbandSubtitle::disableTracks - DISABLING INBAND SUBTITLES"),webapis.tvinfo.showCaption(!1),this.isInbandSubtitlesEnabled=!1}catch(e){VizbeeTV.logger.error("InbandSubtitle::disableTracks - Error disabling in_band subtitles, code = "+e.code)}else VizbeeTV.logger.warn("InbandSubtitle::disableTracks - Captions are OFF in TV menu, IGNORING disable captions command")}}])}(),ke=function(){function e(){return a(this,e),r(this,e)}return h(e,ve),s(e,[{key:"init",value:function(){this.enabledTracks=[],this.isInManifestSubtitleEnabled=!1}},{key:"getTracks",value:function(e){if(!e||C!=e)return VizbeeTV.logger.verbose("InManifestSubtitle::getTracks - INVALID trackType"),[];if(-1==["READY","PLAYING","PAUSED"].indexOf(webapis.avplay.getState()))return[];var t=webapis.avplay.getTotalTrackInfo(),n=$.filter(t,function(e){return"TEXT"==e.type}),i=[];if(n&&n.length>0){VizbeeTV.logger.verbose("InManifestSubtitle::getTracks - available text tracks subtitle = ",n);try{if(n.forEach(function(e){var t=JSON.parse(e.extra_info);if(t&&t.track_lang&&-1!=t.track_lang.toLowerCase().indexOf("en")){var n=new me;n.fromJSON({id:e.index,lang:t.track_lang}),i.push(n)}}),0==i.length&&$.filter(n,function(e){return"NotSet"==JSON.parse(e.extra_info).track_lang}).length==n.length){VizbeeTV.logger.verbose("InManifestSubtitle::getTracks - setting default available text tracks");var r=new me;r.fromJSON({id:99,lang:"en"}),i.push(r)}}catch(e){VizbeeTV.logger.warn("InManifestSubtitle::getTracks - error in parsing in-manifest subtitle = ",e)}}return i}},{key:"getEnabledTracks",value:function(e){if(!e||C!=e)return VizbeeTV.logger.verbose("InManifestSubtitle::getEnabledTracks - INVALID trackType"),[];if(!this.isInManifestSubtitleEnabled)return this.enabledTracks=[],this.enabledTracks;if(-1==["READY","PLAYING","PAUSED"].indexOf(webapis.avplay.getState()))return VizbeeTV.logger.warn("InManifestSubtitle::getEnabledTracks - COMMAND IGNORED AS PLAYER IS NOT IN READY/PLAYING/PAUSED STATE"),this.enabledTracks=[],this.enabledTracks;if(this.enabledTracks&&Object.keys(this.enabledTracks).length>0)return this.enabledTracks;var t=$.find(webapis.avplay.getCurrentStreamInfo(),function(e){return"TEXT"==e.type});if(t)try{var n=JSON.parse(t.extra_info),i=new me;"NotSet"==n.track_lang?(VizbeeTV.logger.verbose("InManifestSubtitle::getEnabledTracks - setting default text track"),i.fromJSON({id:99,lang:"en"})):i.fromJSON({id:t.index,lang:"en"}),this.enabledTracks.push(i)}catch(e){VizbeeTV.logger.error("InManifestSubtitle::getEnabledTracks - error in parsing in_band subtitles = ",e),this.enabledTracks=[]}return this.enabledTracks}},{key:"enableTracks",value:function(e){if(-1!=["IDLE","PLAYING","PAUSED"].indexOf(webapis.avplay.getState()))try{var t=this.getTracks(C);t&&t.length>0?(VizbeeTV.logger.debug("InManifestSubtitle::enableTracks - ENABLING TRACKS, trackId = ",e[0]),99!=e[0]&&(webapis.avplay.setSelectTrack("TEXT",e[0]),webapis.avplay.setSilentSubtitle(!1)),this.isInManifestSubtitleEnabled=!0):VizbeeTV.logger.warn("InManifestSubtitle::enableTracks - COMMAND IGNORED AS THERE ARE NO AVAILABLE TEXT TRACKS")}catch(e){VizbeeTV.logger.error("InManifestSubtitle::enableTracks - Error enabling in-manifest tracks, code = "+e.code)}else VizbeeTV.logger.warn("InManifestSubtitle::enableSubtitle - COMMAND IGNORED AS PLAYER IS NOT IN PLAYING/PAUSED STATE")}},{key:"disableTracks",value:function(e){if(-1!=["IDLE","PLAYING","PAUSED"].indexOf(webapis.avplay.getState())){VizbeeTV.logger.debug("InManifestSubtitle::disableTracks - DISABLING IN_MANIFEST TRACKS");try{99!=e[0]&&webapis.avplay.setSilentSubtitle(!0),this.isInManifestSubtitleEnabled=!1}catch(e){VizbeeTV.logger.error("InManifestSubtitle::disableTracks - Error disabling in-manifest tracks, code = "+e.code)}}else VizbeeTV.logger.warn("InManifestSubtitle::disableTracks - COMMAND IGNORED AS PLAYER IS NOT IN IDLE/PLAYING/PAUSED STATE")}}])}(),Te=s(function e(t,n){a(this,e),this.type=t,this.data=n}),Ie=function(){return s(function e(){a(this,e)},null,[{key:"WILL_START",get:function(){return"will-start"}},{key:"START",get:function(){return"start"}},{key:"STOP",get:function(){return"stop"}},{key:"ENDED",get:function(){return"ended"}},{key:"DESTROY",get:function(){return"destroy"}},{key:"REWIND",get:function(){return"rewind"}},{key:"FAST_FORWARD",get:function(){return"fast-forward"}},{key:"BACK",get:function(){return"back"}},{key:"UP",get:function(){return"up"}},{key:"DOWN",get:function(){return"down"}},{key:"SELECT",get:function(){return"select"}},{key:"RESET",get:function(){return"reset"}},{key:"GET_MOBILE_APP",get:function(){return"get-mobile-app"}},{key:"SETTINGS_UI",get:function(){return"settings-ui"}},{key:"BROWSE_VIDEOS",get:function(){return"browse-videos"}},{key:"CAST_TO_TV",get:function(){return"cast-to-tv"}},{key:"QUEUING_ERROR",get:function(){return"tv.vizbee.queuing.error"}},{key:"MOUSE_CLICK",get:function(){return"mouse-click"}},{key:"MOUSE_MOVE",get:function(){return"mouse-move"}},{key:"GET_MOBILE_APP_CLICKED",get:function(){return"get-mobile-app-clicked"}},{key:"GET_MOBILE_APP_LOADED",get:function(){return"get-mobile-app-loaded"}},{key:"UPDATE_PRESENCE",get:function(){return"update-presence"}},{key:"AD_POD_WAITING",get:function(){return"awaiting-ad-pod"}},{key:"AD_PREPARING",get:function(){return"ad-preparing"}},{key:"AD_POD_START",get:function(){return"ad-pod-start"}},{key:"AD_POD_END",get:function(){return"ad-pod-end"}},{key:"AD_START",get:function(){return"ad-start"}},{key:"AD_PLAYING",get:function(){return"ad-playing"}},{key:"AD_END",get:function(){return"ad-end"}},{key:"ADD_CUEPOINTS",get:function(){return"add-cuepoints"}},{key:"SET_AD_POSITION",get:function(){return"set-ad-position"}},{key:"ID3_DATA",get:function(){return"id3-data"}},{key:"SHOW_CON_MON_MSG",get:function(){return"show-concurrency-monitoring-msg"}},{key:"SHOW_CON_MON_SESSION_LIST",get:function(){return"show-concurrency-monitoring-session-list"}},{key:"SHOW_SPINNER",get:function(){return"show-spinner"}},{key:"CUE_ENTER",get:function(){return"cue-enter"}},{key:"CUE_EXIT",get:function(){return"cue-exit"}},{key:"CAPTION_ONOFF_KEY",get:function(){return"caption-onoff-key"}},{key:"CAPTION_MODE_KEY",get:function(){return"caption-mode-key"}},{key:"CAPTION_STYLE_KEY",get:function(){return"caption-style-key"}},{key:"CAPTION_FONT_SIZE_KEY",get:function(){return"caption-font-size-key"}},{key:"CAPTION_FONT_STYLE_KEY",get:function(){return"caption-font-style-key"}},{key:"CAPTION_FG_COLOR_KEY",get:function(){return"caption-fg-color-key"}},{key:"CAPTION_FG_OPACITY_KEY",get:function(){return"caption-fg-opacity-key"}},{key:"CAPTION_BG_COLOR_KEY",get:function(){return"caption-bg-color-key"}},{key:"CAPTION_BG_OPACITY_KEY",get:function(){return"caption-bg-opacity-key"}},{key:"CAPTION_EDGE_TYPE_KEY",get:function(){return"caption-edge-type-key"}},{key:"CAPTION_EDGE_COLOR_KEY",get:function(){return"caption-edge-type-ley"}},{key:"CAPTION_WINDOW_COLOR_KEY",get:function(){return"caption-window-color-key"}},{key:"CAPTION_WINDOW_OPACITY_KEY",get:function(){return"caption-window-opacity-key"}},{key:"PLAYER_CONTROLS_VISIBLE",get:function(){return"player-controls-visible"}},{key:"PLAYER_CONTROLS_INVISIBLE",get:function(){return"player-controls-invisible"}},{key:"PREVIEW_TIME_UPDATE",get:function(){return"preview-time-update"}},{key:"SHOW_MESSAGE_POPUP",get:function(){return"show-message-popup"}},{key:"HIDE_MESSAGE_POPUP",get:function(){return"hide-message-popup"}},{key:"BITRATE_CHANGED",get:function(){return"bitrate-changed"}},{key:"UPDATE_TTS_MESSAGE",get:function(){return"update-tts-message"}}])}(),Ve=function(){function e(){a(this,e)}return s(e,null,[{key:"init",value:function(){window.webapis&&window.webapis.tvinfo&&(e._registerInAppCaptionControl(),e._addCaptionChangeListener())}},{key:"_registerInAppCaptionControl",value:function(){try{webapis.tvinfo.registerInAppCaptionControl(!0)}catch(e){VizbeeTV.logger.debug("TizenSubtitlesHelper::_registerInAppCaptionControl - error code = "+e.code)}}},{key:"_addCaptionChangeListener",value:function(){try{webapis.tvinfo.addCaptionChangeListener(webapis.tvinfo.TvInfoMenuKey.CAPTION_BG_COLOR_KEY,function(e,t){VizbeeTV.logger.debug("TizenSubtitlesHelper::_addCaptionChangeListener - webapis.tvinfo.TvInfoMenuKey.CAPTION_BG_COLOR_KEY=",t),VGA.tv.player.basePlayer.dispatchOnEvent(new Te(Ie.CAPTION_BG_COLOR_KEY,{value:webapis.tvinfo.getMenuValue(webapis.tvinfo.TvInfoMenuKey.CAPTION_BG_COLOR_KEY)}))}),webapis.tvinfo.addCaptionChangeListener(webapis.tvinfo.TvInfoMenuKey.CAPTION_BG_OPACITY_KEY,function(e,t){VizbeeTV.logger.debug("TizenSubtitlesHelper::_addCaptionChangeListener - webapis.tvinfo.TvInfoMenuKey.CAPTION_BG_OPACITY_KEY=",t),VGA.tv.player.basePlayer.dispatchOnEvent(new Te(Ie.CAPTION_BG_OPACITY_KEY,{value:webapis.tvinfo.getMenuValue(webapis.tvinfo.TvInfoMenuKey.CAPTION_BG_OPACITY_KEY)}))}),webapis.tvinfo.addCaptionChangeListener(webapis.tvinfo.TvInfoMenuKey.CAPTION_FG_COLOR_KEY,function(e,t){VizbeeTV.logger.debug("TizenSubtitlesHelper::_addCaptionChangeListener - webapis.tvinfo.TvInfoMenuKey.CAPTION_FG_COLOR_KEY=",t),VGA.tv.player.basePlayer.dispatchOnEvent(new Te(Ie.CAPTION_FG_COLOR_KEY,{value:webapis.tvinfo.getMenuValue(webapis.tvinfo.TvInfoMenuKey.CAPTION_FG_COLOR_KEY)}))}),webapis.tvinfo.addCaptionChangeListener(webapis.tvinfo.TvInfoMenuKey.CAPTION_FG_OPACITY_KEY,function(e,t){VizbeeTV.logger.debug("TizenSubtitlesHelper::_addCaptionChangeListener - webapis.tvinfo.TvInfoMenuKey.CAPTION_FG_OPACITY_KEY=",t),VGA.tv.player.basePlayer.dispatchOnEvent(new Te(Ie.CAPTION_FG_OPACITY_KEY,{value:webapis.tvinfo.getMenuValue(webapis.tvinfo.TvInfoMenuKey.CAPTION_FG_OPACITY_KEY)}))}),webapis.tvinfo.addCaptionChangeListener(webapis.tvinfo.TvInfoMenuKey.CAPTION_STYLE_KEY,function(e,t){VizbeeTV.logger.debug("TizenSubtitlesHelper::_addCaptionChangeListener - webapis.tvinfo.TvInfoMenuKey.CAPTION_STYLE_KEY=",t),VGA.tv.player.basePlayer.dispatchOnEvent(new Te(Ie.CAPTION_STYLE_KEY,{value:webapis.tvinfo.getMenuValue(webapis.tvinfo.TvInfoMenuKey.CAPTION_STYLE_KEY)}))}),webapis.tvinfo.addCaptionChangeListener(webapis.tvinfo.TvInfoMenuKey.CAPTION_FONT_STYLE_KEY,function(e,t){VizbeeTV.logger.debug("TizenSubtitlesHelper::_addCaptionChangeListener - webapis.tvinfo.TvInfoMenuKey.CAPTION_FONT_STYLE_KEY=",t),VGA.tv.player.basePlayer.dispatchOnEvent(new Te(Ie.CAPTION_FONT_STYLE_KEY,{value:webapis.tvinfo.getMenuValue(webapis.tvinfo.TvInfoMenuKey.CAPTION_FONT_STYLE_KEY)}))}),webapis.tvinfo.addCaptionChangeListener(webapis.tvinfo.TvInfoMenuKey.CAPTION_FONT_SIZE_KEY,function(e,t){VizbeeTV.logger.debug("TizenSubtitlesHelper::_addCaptionChangeListener - webapis.tvinfo.TvInfoMenuKey.CAPTION_FONT_SIZE_KEY=",t),VGA.tv.player.basePlayer.dispatchOnEvent(new Te(Ie.CAPTION_FONT_SIZE_KEY,{value:webapis.tvinfo.getMenuValue(webapis.tvinfo.TvInfoMenuKey.CAPTION_FONT_SIZE_KEY)}))}),webapis.tvinfo.addCaptionChangeListener(webapis.tvinfo.TvInfoMenuKey.CAPTION_EDGE_TYPE_KEY,function(e,t){VizbeeTV.logger.debug("TizenSubtitlesHelper::_addCaptionChangeListener - webapis.tvinfo.TvInfoMenuKey.CAPTION_EDGE_TYPE_KEY=",t),VGA.tv.player.basePlayer.dispatchOnEvent(new Te(Ie.CAPTION_EDGE_TYPE_KEY,{value:webapis.tvinfo.getMenuValue(webapis.tvinfo.TvInfoMenuKey.CAPTION_EDGE_TYPE_KEY)}))}),webapis.tvinfo.addCaptionChangeListener(webapis.tvinfo.TvInfoMenuKey.CAPTION_EDGE_COLOR_KEY,function(e,t){VizbeeTV.logger.debug("TizenSubtitlesHelper::_addCaptionChangeListener - webapis.tvinfo.TvInfoMenuKey.CAPTION_EDGE_COLOR_KEY=",t),VGA.tv.player.basePlayer.dispatchOnEvent(new Te(Ie.CAPTION_EDGE_COLOR_KEY,{value:webapis.tvinfo.getMenuValue(webapis.tvinfo.TvInfoMenuKey.CAPTION_EDGE_COLOR_KEY)}))}),webapis.tvinfo.addCaptionChangeListener(webapis.tvinfo.TvInfoMenuKey.CAPTION_WINDOW_COLOR_KEY,function(e,t){VizbeeTV.logger.debug("TizenSubtitlesHelper::_addCaptionChangeListener - webapis.tvinfo.TvInfoMenuKey.CAPTION_WINDOW_COLOR_KEY=",t),VGA.tv.player.basePlayer.dispatchOnEvent(new Te(Ie.CAPTION_WINDOW_COLOR_KEY,{value:webapis.tvinfo.getMenuValue(webapis.tvinfo.TvInfoMenuKey.CAPTION_WINDOW_COLOR_KEY)}))}),webapis.tvinfo.addCaptionChangeListener(webapis.tvinfo.TvInfoMenuKey.CAPTION_WINDOW_OPACITY_KEY,function(e,t){VizbeeTV.logger.debug("TizenSubtitlesHelper::_addCaptionChangeListener - webapis.tvinfo.TvInfoMenuKey.CAPTION_WINDOW_OPACITY_KEY=",t),VGA.tv.player.basePlayer.dispatchOnEvent(new Te(Ie.CAPTION_WINDOW_OPACITY_KEY,{value:webapis.tvinfo.getMenuValue(webapis.tvinfo.TvInfoMenuKey.CAPTION_WINDOW_OPACITY_KEY)}))})}catch(e){VizbeeTV.logger.error("TizenSubtitlesHelper::addCaptionChangeListener - error code = "+e&&e.code)}}}])}(),Ee=function(){function e(){return a(this,e),r(this,e)}return h(e,ve),s(e,[{key:"init",value:function(){Ve&&Ve.init(),this._resetTrackIdStringToNumberMap()}},{key:"_setTrackIdStringToNumberMap",value:function(e){if(!this.trackIdStringToNumberMap[e]){var t=parseInt(e);$.isNaN(t)&&(t=Object.keys(this.trackIdStringToNumberMap).length+1),this.trackIdStringToNumberMap[e]=t,VizbeeTV.logger.verbose("BitmovinSubtitle::_setTrackIdStringToNumberMap - updated trackIdStringToNumberMap = ",this.trackIdStringToNumberMap)}}},{key:"_resetTrackIdStringToNumberMap",value:function(){this.trackIdStringToNumberMap={}}},{key:"getTracks",value:function(e){var t=this;if(!e||C!=e)return VizbeeTV.logger.verbose("BitmovinSubtitle::getTracks - INVALID trackType"),[];var n=this.getPlayer();if(!this._isBitmovinPlayerSubtitlesAPIAvailable(n))return VizbeeTV.logger.verbose("BitmovinSubtitle::getTracks - INVALID player or player has no subtitles"),[];var i=n.subtitles.list();VizbeeTV.logger.verbose("BitmovinSubtitle::getTracks - available text tracks from Bitmovin Player = ",JSON.stringify(i));var r=[];return i.length>0&&i.forEach(function(e){t._setTrackIdStringToNumberMap(e.id);var n=new me;n.fromJSON({id:t.trackIdStringToNumberMap[e.id],lang:"en"}),r.push(n)}),VizbeeTV.logger.verbose("BitmovinSubtitle::getTracks - available tracks = ",JSON.stringify(r)),r}},{key:"getEnabledTracks",value:function(e){if(!e||C!=e)return VizbeeTV.logger.verbose("BitmovinSubtitle::getEnabledTracks - INVALID trackType"),[];var t=this.getPlayer();if(!this._isBitmovinPlayerSubtitlesAPIAvailable(t))return VizbeeTV.logger.verbose("BitmovinSubtitle::getEnabledTracks - INVALID player or player has no subtitles"),[];var n=$.find(t.subtitles.list(),function(e){return 1==e.enabled});if(!n)return[];var i=[];this._setTrackIdStringToNumberMap(n.id);var r=new me;return r.fromJSON({id:this.trackIdStringToNumberMap[n.id],lang:"en"}),i.push(r),VizbeeTV.logger.verbose("BitmovinSubtitle::getEnabledTracks - enabled tracks = ",JSON.stringify(i)),i}},{key:"enableTracks",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];if(!t||!Array.isArray(t)||t.length<=0)VizbeeTV.logger.debug("BitmovinSubtitle::enableTracks - enable subtitles command ignored due to invalid input");else{var n=this.getPlayer();if(this._isBitmovinPlayerSubtitlesAPIAvailable(n)){var i=$.find(n.subtitles.list(),function(n){return 0==n.enabled&&e.trackIdStringToNumberMap[n.id]==t[0]});i?n.subtitles.enable(i.id):VizbeeTV.logger.debug("BitmovinSubtitle::enableTracks - enable subtitles command ignored as the text track is already enabled or not valid")}}}},{key:"disableTracks",value:function(e){var t=this.getPlayer();if(this._isBitmovinPlayerSubtitlesAPIAvailable(t)){var n=$.find(t.subtitles.list(),function(e){return 1==e.enabled});n?t.subtitles.disable(n.id):VizbeeTV.logger.debug("BitmovinSubtitle::disableTracks - disable subtitles command ignored as the text track is already disabled or not valid")}}},{key:"_isBitmovinPlayerSubtitlesAPIAvailable",value:function(e){if(!e)return!1;try{return null!=e.subtitles}catch(e){return VizbeeTV.logger.debug("BitmovinSubtitle::_isBitmovinPlayerSubtitlesAPIAvailable - subtitles API is not available"),!1}return!0}}])}(),Pe=function(){function e(){return a(this,e),r(this,e)}return h(e,ve),s(e,[{key:"init",value:function(){this._resetTrackIdStringToNumberMap()}},{key:"_setTrackIdStringToNumberMap",value:function(e){this.trackIdStringToNumberMap[e]||(this.trackIdStringToNumberMap[e]=Object.keys(this.trackIdStringToNumberMap).length+1,VizbeeTV.logger.verbose("VideoJSSubtitle::_setTrackIdStringToNumberMap - updated trackIdStringToNumberMap = ",this.trackIdStringToNumberMap))}},{key:"_resetTrackIdStringToNumberMap",value:function(){this.trackIdStringToNumberMap={}}},{key:"getTracks",value:function(e){var t=this;if(!e||C!=e)return VizbeeTV.logger.verbose("VideoJSSubtitle::getTracks - INVALID trackType"),[];var n=this._getTextTracksFromPlayer();VizbeeTV.logger.verbose("VideoJSSubtitle::getTracks - available text tracks from VideoJS Player = ",n);var i=[];return n.length>0&&n.forEach(function(e){t._setTrackIdStringToNumberMap(e.id);var n=new me;n.fromJSON({id:t.trackIdStringToNumberMap[e.id],lang:"en"}),i.push(n)}),VizbeeTV.logger.verbose("VideoJSSubtitle::getTracks - available tracks = ",JSON.stringify(i)),i}},{key:"getEnabledTracks",value:function(e){if(!e||C!=e)return VizbeeTV.logger.verbose("VideoJSSubtitle::getEnabledTracks - INVALID trackType"),[];var t=this._getTextTracksFromPlayer(),n=$.find(t,function(e){return e.mode&&"showing"==e.mode}),i=[];if(n){this._setTrackIdStringToNumberMap(n.id);var r=new me;r.fromJSON({id:this.trackIdStringToNumberMap[n.id],lang:"en"}),i.push(r)}return VizbeeTV.logger.verbose("VideoJSSubtitle::getEnabledTracks - enabled tracks = ",JSON.stringify(i)),i}},{key:"enableTracks",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];if(!t||!Array.isArray(t)||t.length<=0)VizbeeTV.logger.debug("VideoJSSubtitle::enableTracks - enable subtitles command ignored due to invalid input");else{var n=this._getTextTracksFromPlayer(),i=$.find(n,function(n){return n.mode&&("disabled"==n.mode||"hidden"==n.mode)&&e.trackIdStringToNumberMap[n.id]==t[0]});i?i.mode="showing":VizbeeTV.logger.debug("VideoJSSubtitle::enableTracks - enable subtitles command ignored as the text track is already enabled or not valid")}}},{key:"disableTracks",value:function(e){var t=this._getTextTracksFromPlayer(),n=$.find(t,function(e){return e.mode&&"showing"==e.mode});n?n.mode="disabled":VizbeeTV.logger.debug("VideoJSSubtitle::disableTracks - disable subtitles command ignored as the text track is already disabled or not valid")}},{key:"_getTextTracksFromPlayer",value:function(){var e=this.getPlayer();return e?$.filter(e.textTracks(),function(e){return e.kind&&("captions"===e.kind||"subtitles"===e.kind)}):[]}}])}(),Ae=function(){function e(){return a(this,e),r(this,e)}return h(e,ve),s(e,[{key:"init",value:function(){this._resetTrackIdStringToNumberMap()}},{key:"_setTrackIdStringToNumberMap",value:function(e){this.trackIdStringToNumberMap[e]||(this.trackIdStringToNumberMap[e]=Object.keys(this.trackIdStringToNumberMap).length+1,VizbeeTV.logger.verbose("THEOSubtitle::_setTrackIdStringToNumberMap - updated trackIdStringToNumberMap = ",this.trackIdStringToNumberMap))}},{key:"_resetTrackIdStringToNumberMap",value:function(){this.trackIdStringToNumberMap={}}},{key:"getTracks",value:function(e){var t=this;if(!e||C!=e)return VizbeeTV.logger.verbose("THEOSubtitle::getTracks - INVALID trackType"),[];var n=this._getTextTracksFromPlayer();VizbeeTV.logger.verbose("THEOSubtitle::getTracks - available text tracks from THEO Player = ",n);var i=[];return n.length>0&&n.forEach(function(e){t._setTrackIdStringToNumberMap(e.id);var n=new me;n.fromJSON({id:t.trackIdStringToNumberMap[e.id],lang:"en"}),i.push(n)}),VizbeeTV.logger.verbose("THEOSubtitle::getTracks - available tracks = ",JSON.stringify(i)),i}},{key:"getEnabledTracks",value:function(e){if(!e||C!=e)return VizbeeTV.logger.verbose("THEOSubtitle::getEnabledTracks - INVALID trackType"),[];var t=this._getTextTracksFromPlayer(),n=$.find(t,function(e){return e.mode&&"showing"==e.mode}),i=[];if(n){this._setTrackIdStringToNumberMap(n.id);var r=new me;r.fromJSON({id:this.trackIdStringToNumberMap[n.id],lang:"en"}),i.push(r)}return VizbeeTV.logger.verbose("THEOSubtitle::getEnabledTracks - enabled tracks = ",JSON.stringify(i)),i}},{key:"enableTracks",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];if(!t||!Array.isArray(t)||t.length<=0)VizbeeTV.logger.debug("THEOSubtitle::enableTracks - enable subtitles command ignored due to invalid input");else{var n=this._getTextTracksFromPlayer(),i=$.find(n,function(n){return n.mode&&("disabled"==n.mode||"hidden"==n.mode)&&e.trackIdStringToNumberMap[n.id]==t[0]});i?i.mode="showing":VizbeeTV.logger.debug("THEOSubtitle::enableTracks - enable subtitles command ignored as the text track is already enabled or not valid")}}},{key:"disableTracks",value:function(e){var t=this._getTextTracksFromPlayer(),n=$.find(t,function(e){return e.mode&&"showing"==e.mode});n?n.mode="disabled":VizbeeTV.logger.debug("THEOSubtitle::disableTracks - disable subtitles command ignored as the text track is already disabled or not valid")}},{key:"_getTextTracksFromPlayer",value:function(){var e=this.getPlayer();if(!e)return[];var t=[],n=e.textTracks||[],i=n.length;if(i>0)for(var r=0;r<i;r++)t.push(n[r]);return t}}])}(),Ce=function(){function e(){return a(this,e),r(this,e)}return h(e,ve),s(e,[{key:"init",value:function(){}},{key:"getTracks",value:function(e){if(!e||C!=e)return VizbeeTV.logger.v(this.constructor.name,"getTracks","INVALID trackType"),[];var t=this._getTextTracksFromPlayer()||[];if(0==t.length)return VizbeeTV.logger.v(this.constructor.name,"getTracks","text tracks are not available"),[];VizbeeTV.logger.v(this.constructor.name,"getTracks","available text tracks from Shaka Player: ",t);var n=[];return t.forEach(function(e){var t=new me;t.fromJSON({id:e.id,lang:"en"}),n.push(t)}),VizbeeTV.logger.v(this.constructor.name,"getTracks","available tracks: "+n),n}},{key:"getEnabledTracks",value:function(e){if(!e||C!=e)return VizbeeTV.logger.v(this.constructor.name,"getEnabledTracks","INVALID trackType"),[];var t=this._getTextTracksFromPlayer()||[],n=$.find(t,function(e){return e.active});if(!n)return VizbeeTV.logger.v(this.constructor.name,"getEnabledTracks","there are not active text tracks"),[];var i=[],r=new me;return r.fromJSON({id:n.id,lang:"en"}),i.push(r),VizbeeTV.logger.v(this.constructor.name,"getEnabledTracks","enabled tracks : ",i),i}},{key:"enableTracks",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=this.getPlayer();if(t)if(t.isTextTrackVisible())VizbeeTV.logger.d(this.constructor.name,"enableTracks","enable subtitles command ignored as the text track is already enabled");else if(!e||!Array.isArray(e)||e.length<=0)VizbeeTV.logger.d(this.constructor.name,"enableTracks","enable subtitles command ignored due to invalid input");else{var n=this._getTextTracksFromPlayer()||[],i=$.find(n,function(t){return t.id==e[0]});i?(i.active||t.selectTextTrack(i),t.setTextTrackVisibility(!0)):VizbeeTV.logger.d(this.constructor.name,"enableTracks","enable subtitles command ignored as the text track is not valid")}else VizbeeTV.logger.d(this.constructor.name,"enableTracks","enable subtitles command ignored as shaka player is not available")}},{key:"disableTracks",value:function(e){var t=this.getPlayer();t?t.isTextTrackVisible()?t.setTextTrackVisibility(!1):VizbeeTV.logger.d(this.constructor.name,"enableTracks","disable subtitles command ignored as the text track is not enabled"):VizbeeTV.logger.d(this.constructor.name,"disableTracks","disable subtitles command ignored as shaka player is not available")}},{key:"_getTextTracksFromPlayer",value:function(){var e=this.getPlayer();return e?e.getTextTracks():[]}}])}(),De=function(){return s(function e(){a(this,e)},null,[{key:"getInstance",value:function(e,t){if(VizbeeTV.logger.debug("SubtitleFactory::getInstance - playerType = "+e+", subtitleType = "+t),e)return w==e?(VizbeeTV.logger.debug("SubtitleFactory::getInstance - creating Chromecast CAFSubtitle"),new be):M==e?(VizbeeTV.logger.debug("SubtitleFactory::getInstance - creating Chromecast V2Subtitle"),new Se):N==e?"in_band"==t?new _e:"in_manifest"==t?new ke:void 0:O==e?(VizbeeTV.logger.debug("SubtitleFactory::getInstance - creating Bitmovin Subtitle"),new Ee):x==e?(VizbeeTV.logger.debug("SubtitleFactory::getInstance - creating VideoJS Subtitle"),new Pe):z==e?(VizbeeTV.logger.debug("SubtitleFactory::getInstance - creating THEO Subtitle"),new Ae):L==e?(VizbeeTV.logger.debug("SubtitleFactory::getInstance - creating Shaka Subtitle"),new Ce):void 0}}])}(),we=function(){function e(){var t;return a(this,e),(t=r(this,e)).init(),t}return h(e,ve),s(e,[{key:"init",value:function(){this.subtitleInstance=void 0,this.playerType=void 0,this.subtitleType=void 0,this.videoPlayer=void 0}},{key:"setPlayerWithType",value:function(e,t){e?t?(this.playerType=e,this.playerType==O?this.videoPlayer=t.bitmovinPlayer:this.playerType==x?this.videoPlayer=t.playerElement:this.playerType==z?this.videoPlayer=t.playerInstance:this.playerType==L?this.videoPlayer=t.shakaPlayer:this.videoPlayer=t,this._setSubtitleInstance()):VizbeeTV.logger.warn("VirtualSubtitle::setPlayer - invalid parameter 'videoPlayer'"):VizbeeTV.logger.warn("VirtualSubtitle::setPlayer - invalid parameter 'playerType'")}},{key:"getPlayer",value:function(){return this.videoPlayer}},{key:"setSubtitleType",value:function(e){this.subtitleType=e,this._setSubtitleInstance()}},{key:"_setSubtitleInstance",value:function(){this.playerType&&this.videoPlayer&&this.subtitleType&&(this.subtitleInstance=De.getInstance(this.playerType,this.subtitleType),this.subtitleInstance&&(this.subtitleInstance.init(),this.subtitleInstance.setPlayer(this.videoPlayer)))}},{key:"isReady",value:function(){return!!this.subtitleInstance}},{key:"getTracks",value:function(e){return VizbeeTV.logger.verbose("VirtualSubtitle::getTracks - trackType = ",e),this.subtitleInstance?this.subtitleInstance.getTracks(e):(VizbeeTV.logger.verbose("VirtualSubtitle::getTracks - sending empty data as there is no valid subtitle instance"),[])}},{key:"getEnabledTracks",value:function(e){return VizbeeTV.logger.verbose("VirtualSubtitle::getTracks - trackType = ",e),this.subtitleInstance?this.subtitleInstance.getEnabledTracks(e):(VizbeeTV.logger.verbose("VirtualSubtitle::getEnabledTracks - sending empty data as there is no valid subtitle instance"),[])}},{key:"enableTracks",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this.subtitleInstance&&this.subtitleInstance.enableTracks(e)}},{key:"disableTracks",value:function(e){this.subtitleInstance&&this.subtitleInstance.disableTracks(e)}}])}(),Me=c(c(c(c({en:"English","en-US":"English (United States)","en-GB":"English (United Kingdom)","en-CA":"English (Canada)","en-AU":"English (Australia)",es:"Spanish","es-ES":"Spanish (Spain)","es-MX":"Spanish (Mexico)",fr:"French","fr-FR":"French (France)","fr-CA":"French (Canada)","fr-BE":"French (Belgium)",de:"German","de-DE":"German (Germany)","de-AT":"German (Austria)","de-CH":"German (Switzerland)",it:"Italian","it-IT":"Italian (Italy)",pt:"Portuguese","pt-PT":"Portuguese (Portugal)","pt-BR":"Portuguese (Brazil)",ru:"Russian","ru-RU":"Russian (Russia)",zh:"Chinese","zh-CN":"Chinese (Simplified)","zh-TW":"Chinese (Traditional)",ja:"Japanese",ko:"Korean",ar:"Arabic","ar-SA":"Arabic (Saudi Arabia)","ar-EG":"Arabic (Egypt)",hi:"Hindi",bn:"Bengali",pa:"Punjabi",mr:"Marathi",te:"Telugu",tr:"Turkish",vi:"Vietnamese",th:"Thai",id:"Indonesian",ms:"Malay",tl:"Tagalog",sw:"Swahili",fi:"Finnish",sv:"Swedish",no:"Norwegian",da:"Danish",pl:"Polish",hu:"Hungarian",cs:"Czech",sk:"Slovak",el:"Greek",ro:"Romanian",bg:"Bulgarian",sr:"Serbian",hr:"Croatian",uk:"Ukrainian",he:"Hebrew",ur:"Urdu",fa:"Persian",gu:"Gujarati",kn:"Kannada",ml:"Malayalam",ta:"Tamil",si:"Sinhalese",cy:"Welsh",sq:"Albanian",mk:"Macedonian",bs:"Bosnian",et:"Estonian",lv:"Latvian",lt:"Lithuanian",ka:"Georgian",am:"Amharic",yo:"Yoruba",ig:"Igbo",zu:"Zulu",xh:"Xhosa",ne:"Nepali"},"ms","Malay"),"hi-IN","Hindi (India)"),"bn-IN","Bengali (India)"),"pa-IN","Punjabi (India)"),Ne=function(){return s(function e(){a(this,e)},[{key:"init",value:function(){this.player=void 0,this._reset()}},{key:"setPlayer",value:function(e){this.player=e}},{key:"getPlayer",value:function(){return this.player}},{key:"getTracks",value:function(e){return[]}},{key:"getEnabledTracks",value:function(e){return[]}},{key:"setActiveTrack",value:function(e){}},{key:"_setTrackIdStringToNumberMap",value:function(e){if(!this.trackIdStringToNumberMap[e]){var t=parseInt(e);$.isNaN(t)&&(t=Object.keys(this.trackIdStringToNumberMap).length+1),this.trackIdStringToNumberMap[e]=t,VizbeeTV.logger.verbose("BaseAudio::_setTrackIdStringToNumberMap - updated trackIdStringToNumberMap = ",this.trackIdStringToNumberMap)}}},{key:"_setTrackLanguageCodeToNameMap",value:function(e){!e&&this.trackLanguageCodeToNameMap[e]||(this.trackLanguageCodeToNameMap[e]=Me[e]||e,VizbeeTV.logger.verbose("BaseAudio::_setTrackLanguageCodeToNameMap - updated _setTrackLanguageCodeToNameMap = ",this.trackLanguageCodeToNameMap))}},{key:"_reset",value:function(){this.trackIdStringToNumberMap={},this.trackLanguageCodeToNameMap={}}}])}(),Oe=function(){function e(){var t;return a(this,e),(t=r(this,e)).type=D,t._label="",t._lang="",t}return h(e,ye),s(e,[{key:"toJSON",value:function(){var t=m(e,"toJSON",this)([]);return t.lang=this._lang,t.label=this._label,t}},{key:"fromJSON",value:function(t){t?(t.type=t.type||this.type,m(e,"fromJSON",this)([t]),this._lang=t.lang,this._label=t.label):VizbeeTV.logger.verbose("AudioTrack::fromJSON - invalid trackInfo")}},{key:"lang",get:function(){return this._lang},set:function(e){this._lang=e}},{key:"label",get:function(){return this._label},set:function(e){this._label=e}}])}(),xe=function(){function e(){return a(this,e),r(this,e)}return h(e,Ne),s(e,[{key:"getTracks",value:function(e){var t=this;if(!e||D!=e)return VizbeeTV.logger.verbose("BitmovinAudio::getTracks - INVALID trackType"),[];var n=this.getPlayer();if(!this._isBitmovinPlayerAudioAPIAvailable(n))return VizbeeTV.logger.verbose("BitmovinAudio::getTracks - INVALID player or player has no audio API"),[];var i=n.getAvailableAudio();VizbeeTV.logger.verbose("BitmovinAudio::getTracks - available audio tracks from Bitmovin Player = ",JSON.stringify(i));var r=[],a=[];return i.length>0&&i.forEach(function(e){if("und"!==e.lang&&!(a.indexOf(e.lang)>-1)){t._setTrackIdStringToNumberMap(e.id);var n=e.label;n&&n!==e.lang||(t._setTrackLanguageCodeToNameMap(e.lang),n=t.trackLanguageCodeToNameMap[e.lang]);var i=new Oe;i.fromJSON({id:t.trackIdStringToNumberMap[e.id],lang:e.lang,label:n||e.lang}),r.push(i),a.push(e.lang)}}),VizbeeTV.logger.verbose("BitmovinAudio::getTracks - available tracks = ",JSON.stringify(r)),r}},{key:"getEnabledTracks",value:function(e){if(!e||D!=e)return VizbeeTV.logger.verbose("BitmovinAudio::getEnabledTracks - INVALID trackType"),[];var t=this.getPlayer();if(!this._isBitmovinPlayerAudioAPIAvailable(t))return VizbeeTV.logger.verbose("BitmovinAudio::getEnabledTracks - INVALID player or player has no audio API"),[];var n=t.getAudio();if(n){var i=n.label;i&&i!==n.lang||(this._setTrackLanguageCodeToNameMap(n.lang),i=this.trackLanguageCodeToNameMap[n.lang]);var r=new Oe;return r.fromJSON({id:this.trackIdStringToNumberMap[n.id],lang:n.lang,label:i||n.lang}),VizbeeTV.logger.verbose("BitmovinAudio::getEnabledTracks - enabled track = ",JSON.stringify(r)),[r]}}},{key:"setActiveTrack",value:function(e){var t=this;if(e){var n=this.getPlayer();if(this._isBitmovinPlayerAudioAPIAvailable(n)){var i=$.find(n.getAvailableAudio(),function(n){return t.trackIdStringToNumberMap[n.id]==e});i?n.setAudio(i.id):VizbeeTV.logger.debug("BitmovinAudio::setActiveTrack - command ignored as the audio track is not valid")}else VizbeeTV.logger.verbose("BitmovinAudio::setActiveTrack - INVALID player or player has no audio API")}else VizbeeTV.logger.debug("BitmovinAudio::setActiveTrack - enable audio command ignored due to invalid input")}},{key:"_isBitmovinPlayerAudioAPIAvailable",value:function(e){if(!e)return!1;try{return S("function"===e.getAudio)&&S("function"===e.setAudio)&&S("function"===e.getAvailableAudio)}catch(e){return VizbeeTV.logger.debug("BitmovinSubtitle::_isBitmovinPlayerAudioAPIAvailable - subtitles API is not available"),!1}}}])}(),ze=function(){function e(){return a(this,e),r(this,e)}return h(e,Ne),s(e,[{key:"init",value:function(){m(e,"init",this)([]),this._playerManager=cast.framework.CastReceiverContext.getInstance().getPlayerManager()}},{key:"getTracks",value:function(e){var t=this;if(!e||D!=e)return VizbeeTV.logger.verbose("ChromecastCAFAudio::getTracks - INVALID trackType"),[];var n=[],i=[];try{if(this._isAudioTracksManagerAvailable()){var r=this._playerManager.getAudioTracksManager();if(r){var a=r.getTracks();a&&a.length>0&&a.forEach(function(e){if(!t._isDuplicateTrack(i,e)){var r=e.name;r&&r!==e.language||(t._setTrackLanguageCodeToNameMap(e.language),r=t.trackLanguageCodeToNameMap[e.language]);var a=new Oe;a.fromJSON({id:e.trackId,lang:e.language,label:r||e.language}),n.push(a),i.push({language:e.language,name:e.name})}})}}}catch(e){VizbeeTV.logger.debug("ChromecastCAFSubtitle::getTracks - error",e)}return n}},{key:"getEnabledTracks",value:function(e){if(!e||D!=e)return VizbeeTV.logger.verbose("ChromecastCAFAudio::getEnabledTracks - INVALID trackType"),[];var t;try{if(this._isAudioTracksManagerAvailable()){var n=this._playerManager.getAudioTracksManager();if(n){var i=n.getActiveTrack();if(!i){var r=n.getTracks();r&&r.length>0&&(i=r[0])}if(i){var a=i.name;a&&a!==i.language||(this._setTrackLanguageCodeToNameMap(i.language),a=this.trackLanguageCodeToNameMap[i.language]),(t=new Oe).fromJSON({id:i.trackId,lang:i.language,label:a||i.language})}}}}catch(e){VizbeeTV.logger.debug("ChromecastCAFSubtitle::getEnabledTracks - error",e)}return[t]}},{key:"setActiveTrack",value:function(e){if(isNaN(e))VizbeeTV.logger.debug("ChromecastCAFAudio::setActiveTrack - enable audio command ignored due to invalid input");else try{if(this._isAudioTracksManagerAvailable()){var t=this._playerManager.getAudioTracksManager();t&&t.setActiveById(e)}}catch(e){VizbeeTV.logger.debug("ChromecastCAFSubtitle::setActiveTrack - error",e)}}},{key:"_isAudioTracksManagerAvailable",value:function(){var e=this.getPlayer();return!(!e||!e.playerState)&&[e.playerState.STARTED,e.playerState.BUFFERING,e.playerState.PLAYING,e.playerState.PAUSED].indexOf(e.getCurrentState())>=0}},{key:"_isDuplicateTrack",value:function(e,t){var n=t.language,i=t.name;return!!$.find(e,function(e){return e.name==i&&e.language==n})}}])}(),Le=function(){return s(function e(){a(this,e)},null,[{key:"getInstance",value:function(e){return O==e?(VizbeeTV.logger.debug("AudioFactory::getInstance - creating Bitmovin Audio"),new xe):z==e?(VizbeeTV.logger.debug("AudioFactory::getInstance - creating THEO Audio"),new ze):w==e?(VizbeeTV.logger.debug("AudioFactory::getInstance - creating Chromecast CAF Audio"),new ze):void 0}}])}(),Re=function(){function e(){var t;return a(this,e),(t=r(this,e)).init(),t}return h(e,Ne),s(e,[{key:"init",value:function(){this.audioInstance=void 0,this.playerType=void 0,this.videoPlayer=void 0}},{key:"setPlayerWithType",value:function(e,t){VizbeeTV.logger.debug("VirtualAudio::setPlayerWithType - playerType = ",e,", playerInstance = ",t),e?t?(this.playerType=e,this.playerType==O?this.videoPlayer=t.bitmovinPlayer:this.playerType==x?this.videoPlayer=t.playerElement:this.playerType==L?this.videoPlayer=t.shakaPlayer:this.videoPlayer=t,this._setAudioInstance()):VizbeeTV.logger.warn("VirtualAudio::setPlayerWithType - invalid parameter 'videoPlayer'"):VizbeeTV.logger.warn("VirtualAudio::setPlayerWithType - invalid parameter 'playerType'")}},{key:"getPlayer",value:function(){return this.videoPlayer}},{key:"_setAudioInstance",value:function(){this.playerType&&this.videoPlayer&&(VizbeeTV.logger.debug("VirtualAudio::_setAudioInstance - playerType = ",this.playerType),VizbeeTV.logger.debug("VirtualAudio::_setAudioInstance - videoPlayer = ",this.videoPlayer),this.audioInstance=Le.getInstance(this.playerType),this.audioInstance&&(VizbeeTV.logger.debug("VirtualAudio::_setAudioInstance - setting audio instance"),this.audioInstance.init(),this.audioInstance.setPlayer(this.videoPlayer)))}},{key:"isReady",value:function(){return!!this.audioInstance}},{key:"getTracks",value:function(e){return VizbeeTV.logger.verbose("VirtualAudio::getTracks - trackType = ",e),this.audioInstance?this.audioInstance.getTracks(e):(VizbeeTV.logger.verbose("VirtualAudio::getTracks - sending empty data as there is no valid audio instance"),[])}},{key:"getEnabledTracks",value:function(e){return VizbeeTV.logger.verbose("VirtualAudio::getEnabledTracks - trackType = ",e),this.audioInstance?this.audioInstance.getEnabledTracks(e):(VizbeeTV.logger.verbose("VirtualAudio::getEnabledTracks - sending empty data as there is no valid audio instance"),[])}},{key:"setActiveTrack",value:function(e){this.audioInstance&&this.audioInstance.setActiveTrack(e)}}])}(),Ke=function(){return s(function e(){a(this,e),this.adPodStartedTimeInMs=0,this.adPodEndedTimeInMs=0,this.loadReceivedByAppTimeInMs=0,this.loadReceivedByPlayerTimeInMs=0,this.metadataLoadedTimeInMs=0,this.playerReadyToPlayTimeInMs=0,this.playbackStartedTimeInMs=0},[{key:"toJSON",value:function(){return{adPodStartedTimeInMs:this._adPodStartedTimeInMs,adPodEndedTimeInMs:this._adPodEndedTimeInMs,loadReceivedByAppTimeInMs:this._loadReceivedByAppTimeInMs,loadReceivedByPlayerTimeInMs:this._loadReceivedByPlayerTimeInMs,metadataLoadedTimeInMs:this._metadataLoadedTimeInMs,playerReadyToPlayTimeInMs:this._playerReadyToPlayTimeInMs,playbackStartedTimeInMs:this._playbackStartedTimeInMs}}},{key:"fromJSON",value:function(e){e&&(e.adPodStartedTimeInMs&&(this.adPodStartedTimeInMs=e.adPodStartedTimeInMs),e.adPodEndedTimeInMs&&(this.adPodEndedTimeInMs=e.adPodEndedTimeInMs),e.loadReceivedByAppTimeInMs&&(this.loadReceivedByAppTimeInMs=e.loadReceivedByAppTimeInMs),e.loadReceivedByPlayerTimeInMs&&(this.loadReceivedByPlayerTimeInMs=e.loadReceivedByPlayerTimeInMs),e.metadataLoadedTimeInMs&&(this.metadataLoadedTimeInMs=e.metadataLoadedTimeInMs),e.playerReadyToPlayTimeInMs&&(this.playerReadyToPlayTimeInMs=e.playerReadyToPlayTimeInMs),e.playbackStartedTimeInMs&&(this.playbackStartedTimeInMs=e.playbackStartedTimeInMs))}},{key:"reset",value:function(){this.adPodStartedTimeInMs=0,this.adPodEndedTimeInMs=0,this.loadReceivedByAppTimeInMs=0,this.loadReceivedByPlayerTimeInMs=0,this.metadataLoadedTimeInMs=0,this.playerReadyToPlayTimeInMs=0,this.playbackStartedTimeInMs=0}},{key:"adPodStartedTimeInMs",get:function(){return this._adPodStartedTimeInMs},set:function(e){this._adPodStartedTimeInMs=e}},{key:"adPodEndedTimeInMs",get:function(){return this._adPodEndedTimeInMs},set:function(e){this._adPodEndedTimeInMs=e}},{key:"loadReceivedByAppTimeInMs",get:function(){return this._loadReceivedByAppTimeInMs},set:function(e){this._loadReceivedByAppTimeInMs=e}},{key:"loadReceivedByPlayerTimeInMs",get:function(){return this._loadReceivedByPlayerTimeInMs},set:function(e){this._loadReceivedByPlayerTimeInMs=e}},{key:"metadataLoadedTimeInMs",get:function(){return this._metadataLoadedTimeInMs},set:function(e){this._metadataLoadedTimeInMs=e}},{key:"playerReadyToPlayTimeInMs",get:function(){return this._playerReadyToPlayTimeInMs},set:function(e){this._playerReadyToPlayTimeInMs=e}},{key:"playbackStartedTimeInMs",get:function(){return this._playbackStartedTimeInMs},set:function(e){this._playbackStartedTimeInMs=e}}])}(),Fe=function(){return s(function e(t){if(a(this,e),VizbeeTV.logger.debug("BasePlayer::constructor() platform =",t),"BasePlayer"===this.constructor.name)throw new TypeError("BasePlayer::constructor() -- Abstract class.");if(!(t&&t instanceof K))throw new Error("BasePlayer::constructor() -- platform cannot be empty or invalid.");this.playerState={IDLE:"idle",PREPARING:"preparing",LOADING:"loading",STARTED:"started",PLAYING:"playing",PAUSED:"paused",BUFFERING:"buffering",INTERRUPTED:"interrupted",ENDED:"ended",ERROR:"error"},this.currentState=this.playerState.IDLE,this.platform=t,this.platformConfig=t.config,this.videoInfo={},this.hlsxchange=!0,this.currentSrc="",this.startVideoTimestampInMS=0,this.onStartedTimestampInMS=0,this.resetListeners(),this.subtitlesDelegate=new we,this.audioDelegate=new Re,this.streamQualityInfo=new Ke},[{key:"reconstruct",value:function(e){}},{key:"enableHLSExchange",set:function(e){this.hlsxchange=e}},{key:"onLoading",set:function(e){"function"==typeof e&&this._loadingListeners.push(e)}},{key:"dispatchOnLoading",value:function(){this.currentState=this.playerState.LOADING;for(var e=this._loadingListeners.length-1;e>-1;e--)if(this._loadingListeners[e]())return}},{key:"onStarted",set:function(e){"function"==typeof e&&this._startedListeners.push(e)}},{key:"dispatchOnStarted",value:function(){this.onStartedTimestampInMS=(new Date).getTime(),this.currentState=this.playerState.STARTED;for(var e=this._startedListeners.length-1;e>-1;e--)if(this._startedListeners[e]())return}},{key:"onPlaying",set:function(e){"function"==typeof e&&this._playingListeners.push(e)}},{key:"dispatchOnPlaying",value:function(){this.currentState=this.playerState.PLAYING;for(var e=this._playingListeners.length-1;e>-1;e--)if(this._playingListeners[e]())return}},{key:"onPaused",set:function(e){"function"==typeof e&&this._pausedListeners.push(e)}},{key:"dispatchOnPaused",value:function(){this.currentState=this.playerState.PAUSED;for(var e=this._pausedListeners.length-1;e>-1;e--)if(this._pausedListeners[e]())return}},{key:"onTimeUpdate",set:function(e){"function"==typeof e&&this._timeupdateListeners.push(e)}},{key:"dispatchOnTimeUpdate",value:function(e){this.currentState=this.playerState.PLAYING;for(var t=this._timeupdateListeners.length-1;t>-1;t--)if(this._timeupdateListeners[t](e))return}},{key:"onBuffering",set:function(e){"function"==typeof e&&this._bufferingListeners.push(e)}},{key:"dispatchOnBuffering",value:function(e){this.currentState=this.playerState.BUFFERING;for(var t=this._bufferingListeners.length-1;t>-1;t--)if(this._bufferingListeners[t](e))return}},{key:"onBufferingComplete",set:function(e){"function"==typeof e&&this._bufferingCompleteListeners.push(e)}},{key:"dispatchOnBufferingComplete",value:function(e){for(var t=this._bufferingCompleteListeners.length-1;t>-1;t--)if(this._bufferingCompleteListeners[t](e))return}},{key:"onEnded",set:function(e){"function"==typeof e&&this._endedListeners.push(e)}},{key:"dispatchOnEnded",value:function(){VizbeeTV.logger.info(this.constructor.name+"::dispatchOnEnded ["+this.currentState+"] sending ended"),this.currentState=this.playerState.ENDED;for(var e=this._endedListeners.length-1;e>-1;e--)if(this._endedListeners[e]())return;this.currentState=this.playerState.IDLE}},{key:"onInterrupted",set:function(e){"function"==typeof e&&this._interruptedListeners.push(e)}},{key:"dispatchOnInterrupted",value:function(e){if(!this._canBeInterrupted())return VizbeeTV.logger.warn(this.constructor.name+"::dispatchOnInterrupted ["+this.currentState+"] tried to send interrupted in wrong state ",e),!1;VizbeeTV.logger.info(this.constructor.name+"::dispatchOnInterrupted ["+this.currentState+"] sending interrupted ",e),this.currentState=this.playerState.INTERRUPTED;for(var t=this._interruptedListeners.length-1;t>-1;t--)if(this._interruptedListeners[t](e))return;return this.currentState=this.playerState.IDLE,!0}},{key:"_canBeInterrupted",value:function(){return this.currentState==this.playerState.STARTED||this.currentState==this.playerState.PLAYING||this.currentState==this.playerState.PAUSED||this.currentState==this.playerState.BUFFERING}},{key:"onError",set:function(e){"function"==typeof e&&this._errorListeners.push(e)}},{key:"dispatchOnError",value:function(e){if(!this._canBeErrored())return VizbeeTV.logger.warn(this.constructor.name+"::dispatchOnError ["+this.currentState+"] tried to send error in wrong state ",e),!1;VizbeeTV.logger.info(this.constructor.name+"::dispatchOnError ["+this.currentState+"] sending error ",e),this.currentState=this.playerState.ERROR;for(var t=this._errorListeners.length-1;t>-1;t--)if(this._errorListeners[t](e))return;return this.currentState=this.playerState.IDLE,!0}},{key:"_canBeErrored",value:function(){return this.currentState!=this.playerState.IDLE}},{key:"onEvent",set:function(e){"function"==typeof e&&this._eventListeners.push(e)}},{key:"dispatchOnEvent",value:function(e){for(var t=this._eventListeners.length-1;t>-1;t--)if(this._eventListeners[t](e))return}},{key:"resetListeners",value:function(){this._startedListeners=[],this._loadingListeners=[],this._playingListeners=[],this._pausedListeners=[],this._timeupdateListeners=[],this._bufferingListeners=[],this._bufferingCompleteListeners=[],this._endedListeners=[],this._interruptedListeners=[],this._errorListeners=[],this._eventListeners=[]}},{key:"start",value:function(e){VizbeeTV.logger.debug(this.constructor.name+"::Start() BEGINNING - CURRENT_PLAYER_STATE -- ",this.currentState),this.videoInfo=e,this.currentState=this.playerState.PREPARING,this.startVideoTimestampInMS=(new Date).getTime(),this.subtitlesDelegate.init();var t=this.getPlayerType();this.subtitlesDelegate.setPlayerWithType(t,this);var n=this.getSubtitleTypeFromVideoInfo(e);this.subtitlesDelegate.setSubtitleType(n),this.audioDelegate.init(),this.audioDelegate.setPlayerWithType(t,this),VizbeeTV.logger.debug(this.constructor.name+"::Start() ENDING - CURRENT_PLAYER_STATE -- ",this.currentState)}},{key:"play",value:function(){throw new TypeError(this.constructor.name+"::play() - Abstract method.")}},{key:"pause",value:function(){throw new TypeError(this.constructor.name+"::pause() - Abstract method.")}},{key:"togglePlayPause",value:function(){throw new TypeError(this.constructor.name+"::togglePlayPause() - Abstract method.")}},{key:"seek",value:function(e){throw new TypeError(this.constructor.name+"::seek() - Abstract method.")}},{key:"stop",value:function(e){throw new TypeError(this.constructor.name+"::stop() - Abstract method.")}},{key:"currentTime",value:function(){throw new TypeError(this.constructor.name+"::currentTime() - Abstract method.")}},{key:"getDuration",value:function(){throw new TypeError(this.constructor.name+"::getDuration() - Abstract method.")}},{key:"getStartTime",value:function(){return this.startVideoTimestampInMS>0&&this.onStartedTimestampInMS>this.startVideoTimestampInMS?this.onStartedTimestampInMS-this.startVideoTimestampInMS:0}},{key:"getBufferLevel",value:function(){return{current:0,target:0}}},{key:"getAudioBufferLevel",value:function(){return{current:0,target:0,didDetectSeparateAudio:!1}}},{key:"getCurrentState",value:function(){return this.currentState}},{key:"getName",value:function(){return this.constructor.name}},{key:"getPlayerType",value:function(){var e=void 0,t=this.getName().toLowerCase();return-1!=t.indexOf("bitmovin")?e=O:-1!=t.indexOf("videojs")?e=x:-1!=t.indexOf("theo")?e=z:-1!=t.indexOf("shaka")?e=L:-1!=t.indexOf("avplayer")?e=N:-1!=t.indexOf("caf")?e=w:-1!=t.indexOf("chromecast")&&(e=M),e}},{key:"getCurrentVersion",value:function(){return""}},{key:"getHlsxchangeUrl",value:function(){return this.hlsxchange&&(this.videoInfo.src.lastIndexOf(".m3u8")>=0||this.videoInfo.src.lastIndexOf("m3u")>=0)?ae.xchangeHLSUrl(this.videoInfo.src,this.videoInfo.appID,this.platform.cloudPlatformName,this.videoInfo.minBitrate,this.videoInfo.maxBitrate,1):this.videoInfo.src}},{key:"getAppVideoStartErrorInfo",value:function(e,t){var n,i;if(this.videoInfo&&this.videoInfo.videourl&&-1!=this.videoInfo.videourl.indexOf("start_video_failure")){var r=ae.getUrlVars(this.videoInfo.videourl);n=r.errorCode,i=r.errorReason}return n&&i?{errorCode:n,errorReason:i}:{errorCode:e,errorReason:t}}},{key:"buildErrorEvent",value:function(e,t,n){return{player:this.constructor.name,code:e,reason:t,data:n}}},{key:"doAction",value:function(e){}},{key:"reset",value:function(){this.resetListeners()}},{key:"destroy",value:function(){this.resetListeners()}},{key:"getTracks",value:function(e){return e==C?this.subtitlesDelegate&&this.subtitlesDelegate.isReady()?this.subtitlesDelegate.getTracks(e):[]:e==D&&this.audioDelegate&&this.audioDelegate.isReady()?this.audioDelegate.getTracks(e):[]}},{key:"getEnabledTracks",value:function(e){return e==C?this.subtitlesDelegate&&this.subtitlesDelegate.isReady()?this.subtitlesDelegate.getEnabledTracks(e):[]:e==D&&this.audioDelegate&&this.audioDelegate.isReady()?this.audioDelegate.getEnabledTracks(e):[]}},{key:"getSubtitleTypeFromVideoInfo",value:function(e){return"any"}},{key:"enableTracks",value:function(e){this.subtitlesDelegate.isReady()&&this.subtitlesDelegate.enableTracks(e)}},{key:"disableTracks",value:function(e){this.subtitlesDelegate.isReady()&&this.subtitlesDelegate.disableTracks(e)}},{key:"changeAudioTrack",value:function(e){this.audioDelegate.isReady()?this.audioDelegate.setActiveTrack(e):VizbeeTV.logger.warn(this.constructor.name+"::changeAudioTrack - audio delegate is not ready")}},{key:"getStreamQualityInfo",value:function(){return this.streamQualityInfo&&this.streamQualityInfo.toJSON()}},{key:"setStreamQualityInfo",value:function(e){this.streamQualityInfo&&this.streamQualityInfo.fromJSON(e)}},{key:"resetStreamQualityInfo",value:function(){this.streamQualityInfo&&this.streamQualityInfo.reset()}},{key:"setTracks",value:function(e){}},{key:"getCurrentTrack",value:function(){var e,t=this;return this.videoInfo.tracks&&this.videoInfo.tracks.length>0&&isFinite(this.videoInfo.activeTrackId)&&(e=this.videoInfo.tracks.find(function(e){return t.videoInfo.activeTrackId==e.trackId})),e}}])}(),Ue=function(){function e(){return a(this,e),r(this,e,arguments)}return h(e,Fe),s(e,[{key:"extend",value:function(){throw new TypeError("BasePlayerExtensible::extend() - Abstract method.")}},{key:"beforeStart",value:function(){throw new TypeError("BasePlayerExtensible::beforeStart() - Abstract method.")}}])}(),Be=function(){function e(t){var n;return a(this,e),(n=r(this,e,[t])).playerElement=n.platformConfig.videoElement,n.currentSrc="",n.eventListenersSet=!1,n.bypassCanPlay=!1,n.hlsxchange=!1,n.invokedWithStartVideo=!1,n.startedPlaying=!1,n.finishedStartSeek=!1,n.isVideoStopped=!1,n.isVideoEnded=!1,n.logEvents=["abort","error","canplay","canplaythrough","durationchange","emptied","ended","loadeddata","loadedmetadata","loadstart","pause","play","playing","ratechange","seeked","seeking","stalled","volumechange","waiting"],n.playbackEvents=["canplay","canplaythrough","durationchange","loadeddata","loadedmetadata","pause","play","playing","seeked","seeking"],n.loadingEvents=["loadeddata","loadedmetadata"],n.startedEvents=["loadedmetadata"],n.platformConfig.standalone?n.registerEventHandlers():n.configurePlayerElement(),n}return h(e,Ue),s(e,[{key:"configurePlayerElement",value:function(){var e=this.playerElement;e.removeAttribute("style"),e.style.position="absolute",e.style.width="100%",e.style.height="100%",e.style.top="0px",e.style.left="0px",e.style.backgroundColor="black",e.style.display="block"}},{key:"baseStart",value:function(t){m(e,"start",this)([t])}},{key:"start",value:function(e){this.baseStart(e),this.platformConfig.standalone||this.configurePlayerElement(),this.invokedWithStartVideo=!0,VizbeeTV.logger.debug("HtmlPlayer::Start() -- ",this.currentSrc,this.videoInfo.src),this.startedPlaying=!1,this.finishedStartSeek=!1,VizbeeTV.logger.debug("HtmlPlayer::start() -- Playing video"),this.videoInfo.src=this.getHlsxchangeUrl(),VizbeeTV.logger.info("HtmlPlayer::start() - video url ",this.videoInfo.src),""!=this.playerElement.src&&(VizbeeTV.logger.debug("HtmlPlayer::start - setting src to empty"),this.playerElement.src=""),this.playerElement.removeAttribute("src"),this.playerElement.removeAttribute("type"),this.playerElement.setAttribute("src",this.videoInfo.src),this.videoInfo.src.lastIndexOf(".m3u8")>=0||this.videoInfo.src.lastIndexOf("m3u")>=0?this.playerElement.setAttribute("type","application/vnd.apple.mpegurl"):this.videoInfo.src.lastIndexOf(".ism")>=0?this.playerElement.setAttribute("type","application/vnd.ms-sstr+xml"):this.videoInfo.src.lastIndexOf(".mpd")>=0?this.playerElement.setAttribute("type","application/dash+xml"):this.playerElement.setAttribute("type","video/mp4"),this.registerEventHandlers(),this.bypassCanPlay=!1,this.playerElement.load(),this.currentSrc=this.videoInfo.src}},{key:"play",value:function(){VizbeeTV.logger.debug("HtmlPlayer::play() called."),this.playerElement.play(),this.bypassCanPlay=!1}},{key:"pause",value:function(){VizbeeTV.logger.debug("HtmlPlayer::pause() called."),this.playerElement.pause(),void 0===this.playerElement.paused&&(this.bypassCanPlay=!0)}},{key:"seek",value:function(e){VizbeeTV.logger.debug("HtmlPlayer::seek() called with time ",e);var t=e/1e3;0==t&&(t=1),this.playerElement.currentTime=t}},{key:"togglePlayPause",value:function(){this.playerElement.paused?this.playerElement.play():this.playerElement.pause()}},{key:"stop",value:function(e){this.isVideoStopped=!0,this.playerElement.src&&this.playerElement.src!=location.origin+location.pathname&&(this.playerElement.src=""),this.videoInfo&&(this.videoInfo.src=""),this.currentSrc=""}},{key:"currentTime",value:function(){return this.playerElement.currentTime}},{key:"getDuration",value:function(){return this.playerElement.duration}},{key:"destroy",value:function(){var t=this;return new Promise(function(n,i){t.unregisterEventHandlers(),m(e,"destroy",t)([]),n()})}},{key:"registerEventHandlers",value:function(){var e=this;VizbeeTV.logger.debug("HtmlPlayer::registerEventHandlers called",this,this.playerElement),this.playerElement&&(this.eventListenersSet||(this._eventCallbackHandles={logEvent:function(t){return e.defaultLogHandler(t)},loadingEvent:function(t){return e.loadingHandler(t)},startedEvent:function(t){return e.startedEventHandler(t)},canplayEvent:function(t){return e.videoCanPlayHandler(t)},playEvent:function(t){return e.videoPlayHandler(t)},playingEvent:function(t){return e.videoPlayingHandler(t)},seekedEvent:function(t){return e.videoSeekedHandler(t)},pauseEvent:function(t){return e.videoPausedHandler(t)},bufferingEvent:function(t){return e.bufferingHandler(t)},timeupdateEvent:function(t){return e.timeUpdateHandler(t)},endedEvent:function(){return e.endedHandler()},errorEvent:function(t){return e.errorHandler(t)},abortEvent:function(t){return e.abortHandler(t)}},this.logEvents.forEach(function(t){e.playerElement.addEventListener(t,e._eventCallbackHandles.logEvent,!1)}),this.playbackEvents.forEach(function(t){e.playerElement.addEventListener(t,e._eventCallbackHandles.playbackEvent,!1)}),this.loadingEvents.forEach(function(t){e.playerElement.addEventListener(t,e._eventCallbackHandles.loadingEvent,!1)}),this.startedEvents.forEach(function(t){e.playerElement.addEventListener(t,e._eventCallbackHandles.startedEvent,!1)}),this.playerElement.addEventListener("canplay",this._eventCallbackHandles.canplayEvent,!1),this.playerElement.addEventListener("play",this._eventCallbackHandles.playEvent,!1),this.playerElement.addEventListener("playing",this._eventCallbackHandles.playingEvent,!1),this.playerElement.addEventListener("seeked",this._eventCallbackHandles.seekedEvent,!1),this.playerElement.addEventListener("pause",this._eventCallbackHandles.pauseEvent,!1),this.playerElement.addEventListener("seeking",this._eventCallbackHandles.bufferingEvent,!1),this.playerElement.addEventListener("timeupdate",this._eventCallbackHandles.timeupdateEvent,!1),this.playerElement.addEventListener("ended",this._eventCallbackHandles.endedEvent,!1),this.playerElement.addEventListener("error",this._eventCallbackHandles.errorEvent,!1),this.playerElement.addEventListener("abort",this._eventCallbackHandles.abortEvent,!1),this.eventListenersSet=!0))}},{key:"unregisterEventHandlers",value:function(){var e=this;VizbeeTV.logger.debug("HtmlPlayer::unregisterEventHandlers called"),this.playerElement&&this.eventListenersSet&&this._eventCallbackHandles&&(this.logEvents.forEach(function(t){e.playerElement.removeEventListener(t,e._eventCallbackHandles.logEvent)}),this.playbackEvents.forEach(function(t){e.playerElement.removeEventListener(t,e._eventCallbackHandles.playbackEvent)}),this.loadingEvents.forEach(function(t){e.playerElement.removeEventListener(t,e._eventCallbackHandles.loadingEvent)}),this.startedEvents.forEach(function(t){e.playerElement.removeEventListener(t,e._eventCallbackHandles.startedEvent)}),this.playerElement.removeEventListener("canplay",this._eventCallbackHandles.canplayEvent),this.playerElement.removeEventListener("play",this._eventCallbackHandles.playEvent),this.playerElement.removeEventListener("playing",this._eventCallbackHandles.playingEvent),this.playerElement.removeEventListener("seeked",this._eventCallbackHandles.seekedEvent),this.playerElement.removeEventListener("pause",this._eventCallbackHandles.pauseEvent),this.playerElement.removeEventListener("seeking",this._eventCallbackHandles.bufferingEvent),this.playerElement.removeEventListener("timeupdate",this._eventCallbackHandles.timeupdateEvent),this.playerElement.removeEventListener("ended",this._eventCallbackHandles.endedEvent),this.playerElement.removeEventListener("error",this._eventCallbackHandles.errorEvent),this.playerElement.removeEventListener("abort",this._eventCallbackHandles.abortEvent),this.eventListenersSet=!1)}},{key:"defaultLogHandler",value:function(e){VizbeeTV.logger.debug("HtmlPlayer::defaultLogHandler ["+this.getCurrentState()+"] "+e.type+" -- ",e,this.currentSrc,this.getDuration(),this.currentTime(),this),VizbeeTV.logger.debug("---------------------"),VizbeeTV.logger.debug("readyState",this.playerElement.readyState),VizbeeTV.logger.debug("---------------------")}},{key:"loadingHandler",value:function(e){this.isVideoEnded=!1,this.dispatchOnLoading()}},{key:"startedEventHandler",value:function(e){this.dispatchOnStarted()}},{key:"videoCanPlayHandler",value:function(e){if(this.invokedWithStartVideo&&(VizbeeTV.logger.debug("HtmlPlayer::videoCanPlayHandler::canplay - checking and playing video",this,this.playerElement.duration,this.startedPlaying),this.isVideoEnded=!1,!this.startedPlaying)){this.videoInfo&&this.videoInfo.startTime||(this.videoInfo=this.videoInfo||{},this.videoInfo.startTime=0);var t=this.videoInfo.startTime/1e3;if(VizbeeTV.logger.debug("HtmlPlayer::videoCanPlayHandler::canplay - starttime = "+t),!this.finishedStartSeek&&0!=t)try{VizbeeTV.logger.debug("HtmlPlayer::videoCanPlayHandler::canplay - seeking to start time = ",t),this.finishedStartSeek=!0,this.playerElement.currentTime=t||0}catch(e){VizbeeTV.logger.error("HtmlPlayer::videoCanPlayHandler::canplay - Error setting start time for video",e)}this.bypassCanPlay||(VizbeeTV.tv.player.play(!0),this.startedPlaying=!0)}}},{key:"videoPlayHandler",value:function(e){this.isVideoEnded=!1,this.dispatchOnPlaying()}},{key:"videoPlayingHandler",value:function(e){this.isVideoEnded=!1,this.dispatchOnPlaying()}},{key:"videoPausedHandler",value:function(e){this.dispatchOnPaused()}},{key:"videoSeekedHandler",value:function(e){this.dispatchOnBufferingComplete(),this.playerElement.paused?this.dispatchOnPaused():this.dispatchOnPlaying()}},{key:"bufferingHandler",value:function(e){this.isVideoEnded=!1,this.dispatchOnBuffering()}},{key:"timeUpdateHandler",value:function(e){this.playerElement.paused||this.dispatchOnTimeUpdate(e)}},{key:"endedHandler",value:function(){this.isVideoEnded=!0,this.dispatchOnEnded()}},{key:"abortHandler",value:function(e){var t=this.buildErrorEvent(0,"UNKNOWN",{});t.data=e;var n=void 0;e&&e.currentTarget&&e.currentTarget.error?n=e.currentTarget.error:e&&e.target&&e.target.error&&(n=e.target.error),n&&void 0!==n.code&&null!=n.code&&(t.code=n.code),t.reason="STOP_BY_USER",this.dispatchOnInterrupted(t)||this.errorHandler(e),this.isVideoStopped=!1}},{key:"errorHandler",value:function(e){var t=this.buildErrorEvent(0,"UNKNOWN",{});t.data=e;var n=void 0;if(e&&e.currentTarget&&e.currentTarget.error?n=e.currentTarget.error:e&&e.target&&e.target.error&&(n=e.target.error),this.isVideoStopped)return this.isVideoStopped=!1,t.reason="STOP_BY_USER",void this.dispatchOnError(t);if(n&&void 0!==n.code&&null!=n.code)switch(t.code=n.code,n.code){case n.MEDIA_ERR_ABORTED:t.reason="MEDIA_ERR_ABORTED",VizbeeTV.logger.error("HtmlPlayer::ERROR ** You aborted the video playback.");break;case n.MEDIA_ERR_NETWORK:t.reason="MEDIA_ERR_NETWORK",VizbeeTV.logger.error("HtmlPlayer::ERROR ** A network error caused the video download to fail part-way.");break;case n.MEDIA_ERR_DECODE:t.reason="MEDIA_ERR_DECODE",VizbeeTV.logger.error("HtmlPlayer::ERROR ** The video playback was aborted due to a corruption problem or because the video used features your browser did not support.");break;case n.MEDIA_ERR_SRC_NOT_SUPPORTED:t.reason="MEDIA_ERR_SRC_NOT_SUPPORTED",VizbeeTV.logger.error("HtmlPlayer::ERROR ** The video could not be loaded, either because the server or network failed or because the format is not supported.");break;default:VizbeeTV.logger.error("HtmlPlayer::ERROR ** An unknown error occurred.",n)}var i=this.getAppVideoStartErrorInfo(t.code,t.reason);t.code=i.errorCode,t.reason=i.errorReason,VizbeeTV.logger.error("HtmlPlayer::ErrorHandler ["+this.currentState+"]",t.reason,t.code),this.dispatchOnError(t)}}])}(),He=function(){function e(t){return a(this,e),r(this,e,[t])}return h(e,Be),s(e,[{key:"stop",value:function(e){this.isVideoStopped=!0,VizbeeTV.logger.debug("VizioPlayer::videoPlayHandler - Stopping by setting src to empty"),this.playerElement.src&&this.playerElement.src!=location.origin+location.pathname&&(this.playerElement.src="")}},{key:"endedHandler",value:function(){VizbeeTV.logger.debug("VizioPlayer::endedHandler - isVideoEnded",this.isVideoEnded,this),this.isVideoEnded||(this.isVideoEnded=!0,VizbeeTV.logger.debug("VizioPlayer::endedHandler - set isVideoEnded",this.isVideoEnded,this),this.playerElement.src="",this.dispatchOnEnded())}},{key:"errorHandler",value:function(t){if(VizbeeTV.logger.error("VizioPlayer::ErrorHandler",t),t&&t.target&&t.target.error&&void 0!==t.target.error.code)switch(t.target.error.code){case t.target.error.MEDIA_ERR_ABORTED:VizbeeTV.logger.error("VizioPlayer::ERROR ** You aborted the video playback.");break;case t.target.error.MEDIA_ERR_NETWORK:VizbeeTV.logger.error("VizioPlayer::ERROR ** A network error caused the video download to fail part-way.");break;case t.target.error.MEDIA_ERR_DECODE:VizbeeTV.logger.error("VizioPlayer::ERROR ** The video playback was aborted due to a corruption problem or because the video used features your browser did not support.");break;case t.target.error.MEDIA_ERR_SRC_NOT_SUPPORTED:VizbeeTV.logger.error("VizioPlayer::ERROR ** The video could not be loaded, either because the server or network failed or because the format is not supported.");break;default:VizbeeTV.logger.error("VizioPlayer::ERROR ** An unknown error occurred.",t.target.error)}VizbeeTV.logger.error("VizioPlayer::errorHandler - isVideoEnded",this.isVideoEnded),this.isVideoEnded||m(e,"errorHandler",this)([t])}}])}(),Ge=null,We=null,qe=null,je=null,Ye=null,Qe=function(){function e(t,n){var i;if(a(this,e),i=r(this,e,[t]),!n)throw ReferenceError("DynamicPlayerSelector::constructor | DefaultPlatformPlayer is not passed.");i.nativePlayerClass=n.nativePlayer,i.htmlPlayerClass=n.htmlPlayer,i.bitmovinPlayerClass=n.bitmovinPlayer,i.modularBitmovinPlayerClass=n.modularBitmovinPlayer,i.videoJSPlayerClass=n.videoJSPlayer,i.theoPlayerPlayerClass=n.theoPlayer,i.shakaPlayerClass=n.shakaPlayer,i.topPlayerClass=n.topPlayer,i.currentPlayer=void 0,i.nativePlayer=void 0,i.htmlPlayer=void 0,i.bitmovinPlayer=void 0,i.modularBitmovinPlayer=void 0,i.videoJSPlayer=void 0,i.theoPlayer=void 0,i.shakaPlayer=void 0,i.topPlayer=void 0,VizbeeTV.logger.info("DynamicPlayerSelector::constructor - creating and selecting player");var o=t.config.vtvPlayerListConfig||[{type:"native"}];return o.forEach(function(e){i._createPlayer(e)}),i._selectPlayer(o[0]),i}return h(e,Ue),s(e,[{key:"reconstruct",value:function(e){var t=this;VizbeeTV.logger.info("DynamicPlayerSelector::reconstruct - newPlatformConfig",e),this.platform.config=e,e.standalone&&this._destroyAllPlayers();var n=[{type:"native"}];n=!e.vtvPlayerListConfig||$.isArray(e.vtvPlayerListConfig)&&0==e.vtvPlayerListConfig.length?[{type:"native"}]:e.vtvPlayerListConfig,VizbeeTV.logger.info("DynamicPlayerSelector::reconstruct - updated vtvPlayerListConfig",n),VizbeeTV.logger.info("DynamicPlayerSelector::reconstruct - creating and selecting player"),n.forEach(function(e){t._createPlayer(e)}),this._selectPlayer(n[0])}},{key:"_destroyAllPlayers",value:function(){VizbeeTV.logger.info("DynamicPlayerSelector::_destroyAllPlayers - destroying all players"),this.nativePlayer&&(this.nativePlayer.destroy(),this.nativePlayer=void 0),this.htmlPlayer&&(this.htmlPlayer.destroy(),this.htmlPlayer=void 0),this.bitmovinPlayer&&(this.bitmovinPlayer.destroy(),this.bitmovinPlayer=void 0),this.modularBitmovinPlayer&&(this.modularBitmovinPlayer.destroy(),this.modularBitmovinPlayer=void 0),this.videoJSPlayer&&(this.videoJSPlayer.destroy(),this.videoJSPlayer=void 0),this.theoPlayer&&(this.theoPlayer.destroy(),this.theoPlayer=void 0),this.shakaPlayer&&(this.shakaPlayer.destroy(),this.shakaPlayer=void 0),this.topPlayer&&(this.topPlayer.destroy(),this.topPlayer=void 0),this.currentPlayer=void 0}},{key:"_createPlayer",value:function(e){switch(e&&e.type){case"top":null==this.topPlayer?(VizbeeTV.logger.info("DynamicPlayerSelector::_createPlayer - CREATING Top Player"),this.topPlayer=new this.topPlayerClass(this.platform)):VizbeeTV.logger.info("DynamicPlayerSelector::_createPlayer - ALREADY CREATED Top Player");break;case"bitmovin":"modular"==e.subtype&&this.modularBitmovinPlayerClass?null==this.modularBitmovinPlayer?(VizbeeTV.logger.info("DynamicPlayerSelector::_createPlayer - CREATING Modular Bitmovin Player"),this.modularBitmovinPlayer=new this.modularBitmovinPlayerClass(this.platform)):VizbeeTV.logger.info("DynamicPlayerSelector::_createPlayer - ALREADY CREATED Modular Bitmovin Player"):null==this.bitmovinPlayer?(VizbeeTV.logger.info("DynamicPlayerSelector::_createPlayer - CREATING Static Bitmovin Player"),this.bitmovinPlayer=new this.bitmovinPlayerClass(this.platform)):VizbeeTV.logger.info("DynamicPlayerSelector::_createPlayer - ALREADY CREATED Static Bitmovin Player");break;case"videojs":null==this.videoJSPlayer?(VizbeeTV.logger.info("DynamicPlayerSelector::_createPlayer - CREATING VideoJS Player"),this.videoJSPlayer=new this.videoJSPlayerClass(this.platform)):VizbeeTV.logger.info("DynamicPlayerSelector::_createPlayer - ALREADY CREATED VideoJS Player");break;case"theo":null==this.theoPlayer?(VizbeeTV.logger.info("DynamicPlayerSelector::_createPlayer - CREATING THEO Player"),this.theoPlayer=new this.theoPlayerPlayerClass(this.platform)):VizbeeTV.logger.info("DynamicPlayerSelector::_createPlayer - ALREADY CREATED THEO Player");break;case"shaka":null==this.shakaPlayer?(VizbeeTV.logger.info("DynamicPlayerSelector::_createPlayer - CREATING Shaka Player"),this.shakaPlayer=new this.shakaPlayerClass(this.platform)):VizbeeTV.logger.info("DynamicPlayerSelector::_createPlayer - ALREADY CREATED Shaka Player");break;case"html":null==this.htmlPlayer?(VizbeeTV.logger.info("DynamicPlayerSelector::_createPlayer - CREATING HTML Player"),this.htmlPlayer=new this.htmlPlayerClass(this.platform)):VizbeeTV.logger.info("DynamicPlayerSelector::_createPlayer - ALREADY CREATED HTML Player");break;default:null==this.nativePlayer?(VizbeeTV.logger.info("DynamicPlayerSelector::_createPlayer - CREATING Native Player"),this.nativePlayer=new this.nativePlayerClass(this.platform)):VizbeeTV.logger.info("DynamicPlayerSelector::_createPlayer - ALREADY CREATED Native Player")}}},{key:"_selectPlayer",value:function(e){if(e&&e.type)switch(e.type){case"top":VizbeeTV.logger.info("DynamicPlayerSelector::_selectPlayer - SELECTING Top Player"),this._preparePlayer(this.topPlayer);break;case"bitmovin":VizbeeTV.logger.info("DynamicPlayerSelector::_selectPlayer - SELECTING Bitmovin Player"),"modular"==e.subtype?this._preparePlayer(this.modularBitmovinPlayer):this._preparePlayer(this.bitmovinPlayer);break;case"videojs":VizbeeTV.logger.info("DynamicPlayerSelector::_selectPlayer - SELECTING VideoJS Player"),this._preparePlayer(this.videoJSPlayer);break;case"theo":VizbeeTV.logger.info("DynamicPlayerSelector::_selectPlayer - SELECTING THEO Player"),this._preparePlayer(this.theoPlayer);break;case"shaka":VizbeeTV.logger.info("DynamicPlayerSelector::_selectPlayer - SELECTING Shaka Player"),this._preparePlayer(this.shakaPlayer);break;case"html":VizbeeTV.logger.info("DynamicPlayerSelector::_selectPlayer - SELECTING HTML Player"),this._preparePlayer(this.htmlPlayer);break;default:VizbeeTV.logger.info("DynamicPlayerSelector::_selectPlayer - SELECTING Native Player"),this._preparePlayer(this.nativePlayer)}else null==this.currentPlayer?(VizbeeTV.logger.info("DynamicPlayerSelector::_selectPlayer - DEFAULTING to native player"),this._preparePlayer(this.nativePlayer)):VizbeeTV.logger.info("DynamicPlayerSelector::_selectPlayer - REUSING current player")}},{key:"_preparePlayer",value:function(e){e?this.currentPlayer&&this.currentPlayer.constructor.name==e.constructor.name?VizbeeTV.logger.info("DynamicPlayerSelector::_preparePlayer - NO CHANGE to already prepared player"):(VizbeeTV.logger.info("DynamicPlayerSelector::_preparePlayer - CHANGING player listeners"),this.currentPlayer&&this.currentPlayer.constructor.name!=e.constructor.name&&this._removePlayerListeners(this.currentPlayer),this.currentPlayer=e,this._addPlayerListeners(this.currentPlayer)):VizbeeTV.logger.info("DynamicPlayerSelector::_preparePlayer - INVALID player argument")}},{key:"beforeStart",value:function(t){m(e,"start",this)([t])}},{key:"start",value:function(e){this.beforeStart(e),VizbeeTV.logger.info("START TIME TRACKING [DynamicPlayerSelector Start Video] - player="+this.currentPlayer.constructor.name,e),VizbeeTV.logger.info("DynamicPlayerSelector::_start - current player="+this.currentPlayer.constructor.name),e.vtvPlayerConfig&&(VizbeeTV.logger.info("DynamicPlayerSelector::_start - playerType="+e.vtvPlayerConfig.type),this._createPlayer(e.vtvPlayerConfig),this._selectPlayer(e.vtvPlayerConfig)),this.currentPlayer.enableHLSExchange=e.useHLSExchange,this.currentPlayer.start(e)}},{key:"play",value:function(){this.currentPlayer&&this.currentPlayer.play()}},{key:"pause",value:function(){this.currentPlayer&&this.currentPlayer.pause()}},{key:"togglePlayPause",value:function(){this.currentPlayer&&this.currentPlayer.togglePlayPause()}},{key:"stop",value:function(e){this.currentPlayer&&this.currentPlayer.stop(e)}},{key:"seek",value:function(e){this.currentPlayer&&this.currentPlayer.seek(e)}},{key:"currentTime",value:function(){return this.currentPlayer?this.currentPlayer.currentTime():-1}},{key:"getDuration",value:function(){return this.currentPlayer?this.currentPlayer.getDuration():-1}},{key:"getStartTime",value:function(){return this.currentPlayer?this.currentPlayer.getStartTime():-1}},{key:"getBufferLevel",value:function(){return this.currentPlayer?this.currentPlayer.getBufferLevel():{current:0,target:0}}},{key:"getAudioBufferLevel",value:function(){return this.currentPlayer?this.currentPlayer.getAudioBufferLevel():{current:0,target:0,didDetectSeparateAudio:!1}}},{key:"getCurrentState",value:function(){return this.currentPlayer?this.currentPlayer.getCurrentState():"IDLE"}},{key:"setTracks",value:function(e){if(this.currentPlayer)return this.currentPlayer.setTracks(e)}},{key:"getTracks",value:function(e){return this.currentPlayer?this.currentPlayer.getTracks(e):[]}},{key:"getEnabledTracks",value:function(e){return this.currentPlayer?this.currentPlayer.getEnabledTracks(e):[]}},{key:"enableTracks",value:function(e){this.currentPlayer&&this.currentPlayer.enableTracks(e)}},{key:"disableTracks",value:function(e){this.currentPlayer&&this.currentPlayer.disableTracks(e)}},{key:"changeAudioTrack",value:function(e){this.currentPlayer&&this.currentPlayer.changeAudioTrack(e)}},{key:"getStreamQualityInfo",value:function(){return this.currentPlayer?this.currentPlayer.getStreamQualityInfo():{}}},{key:"setStreamQualityInfo",value:function(e){this.currentPlayer&&this.currentPlayer.setStreamQualityInfo(e)}},{key:"resetStreamQualityInfo",value:function(){this.currentPlayer&&this.currentPlayer.resetStreamQualityInfo()}},{key:"getName",value:function(){return this.currentPlayer.getName()}},{key:"getCurrentVersion",value:function(){return this.currentPlayer.getCurrentVersion()}},{key:"doAction",value:function(e){return this.currentPlayer.doAction(e)}},{key:"wrapAVPlayerListener",value:function(e){return this.currentPlayer.wrapAVPlayerListener(e)}},{key:"destroy",value:function(){m(e,"destroy",this)([]),this._destroyAllPlayers()}},{key:"_addPlayerListeners",value:function(e){var t=this;e.onLoading=function(e){t.dispatchOnLoading.call(t,e)},e.onStarted=function(e){t.dispatchOnStarted.call(t,e)},e.onPlaying=function(e){t.dispatchOnPlaying.call(t,e)},e.onPaused=function(e){t.dispatchOnPaused.call(t,e)},e.onBuffering=function(e){t.dispatchOnBuffering.call(t,e)},e.onBufferingComplete=function(e){t.dispatchOnBufferingComplete.call(t,e)},e.onTimeUpdate=function(e){t.dispatchOnTimeUpdate.call(t,e)},e.onInterrupted=function(e){t.dispatchOnInterrupted.call(t,e)},e.onEnded=function(e){t.dispatchOnEnded.call(t,e)},e.onError=function(e){t.dispatchOnError.call(t,e)},e.onEvent=function(e){t.dispatchOnEvent.call(t,e)}}},{key:"_removePlayerListeners",value:function(e){e.resetListeners()}}])}(),Je=function(){function e(t){var n;return a(this,e),(n=r(this,e,[t])).deviceId=new ce,n.launchParams=new de,n._deviceInfo=new he,n._networkInfo=new ge,n}return h(e,K),s(e,[{key:"createPlayer",value:function(){var e={nativePlayer:He,htmlPlayer:He,bitmovinPlayer:Ge,modularBitmovinPlayer:Ge,videoJSPlayer:We,theoPlayer:qe,shakaPlayer:je,topPlayer:Ye};return this.player=new Qe(this,e),this.player}},{key:"createInputDevice",value:function(){var e=new se(this);return this.inputDevice=e,e}},{key:"exit",value:function(){window.close()}},{key:"cloudPlatformName",get:function(){return"vizio"}},{key:"defaultAppletAppId",get:function(){return"vzb0000001"}},{key:"launchParamsDeferral",get:function(){return this.launchParams}},{key:"deviceInfo",get:function(){return this._deviceInfo}},{key:"networkInfo",get:function(){return this._networkInfo}}])}(),Ze=function(){function e(){return a(this,e),r(this,e,arguments)}return h(e,oe),s(e,[{key:"keyCodeMap",get:function(){return{203:oe.keys.up,204:oe.keys.down,205:oe.keys.left,206:oe.keys.right,195:oe.keys.select,197:oe.keys.play_pause,196:oe.keys.back,202:oe.keys.ffw,201:oe.keys.rw,211:oe.keys.alt_up,212:oe.keys.alt_down,213:oe.keys.alt_right,214:oe.keys.alt_left}}},{key:"sendPlay",value:function(){this.sendKeyEvent(oe.keys.play_pause)}},{key:"sendPause",value:function(){this.sendKeyEvent(oe.keys.play_pause)}},{key:"sendStop",value:function(){this.sendKeyEvent(oe.keys.back)}}])}(),Xe=function(){function e(){var t;return a(this,e),(t=r(this,e)).deviceIdAlgorithm="VTV_INTERNAL_IP",t}return h(e,ue),s(e)}(),$e=function(){function e(){return a(this,e),r(this,e)}return h(e,Xe),s(e,[{key:"uniqueDeviceID",value:function(e,t){var n="UNKNOWN_DEVICE_ID";try{var i=window.vizbeeXboxHost;i&&i.deviceId?n=i.deviceId:VizbeeTV.logger.w("XboxWebView2DeviceID","uniqueDeviceID","vizbeeXboxHost.deviceId missing, using fallback"),e(n)}catch(t){VizbeeTV.logger.e("XboxWebView2DeviceID","uniqueDeviceID","error reading host bridge",t),e(n)}}}])}(),et=function(){function e(){var t;a(this,e),(t=r(this,e))._params=void 0,t.asyncFunction=void 0;var n="undefined"!=typeof window&&window.vizbeeXboxHost||{};return t._parseAndSet(n.launchParams),t._listenForLaunchParamsChanges(),t}return h(e,le),s(e,[{key:"_listenForLaunchParamsChanges",value:function(){var e=this;"undefined"!=typeof window&&window.chrome&&window.chrome.webview&&"function"==typeof window.chrome.webview.addEventListener&&window.chrome.webview.addEventListener("message",function(t){var n=t&&t.data;n&&"vizbeeXboxHost"===n.source&&"launchParamsChanged"===n.event&&(VizbeeTV.logger.i("XboxWebView2LaunchParams","_listenForLaunchParamsChanges","received launchParamsChanged",n.launchParams),e.setLaunchParams(n.launchParams))})}},{key:"isLaunchedbyVizbee",value:function(){var e=this.getLaunchParams();return e?(VizbeeTV.logger.d("XboxWebView2LaunchParams","isLaunchedbyVizbee","params present",e),!0):(VizbeeTV.logger.d("XboxWebView2LaunchParams","isLaunchedbyVizbee","params not present"),!1)}},{key:"getLaunchParams",value:function(){return this._params}},{key:"getLaunchParamsAsync",value:function(e){if("function"!=typeof e)throw new TypeError("XboxWebView2LaunchParams::getLaunchParamsAsync : Argument supplied is not of type function");this.asyncFunction=e,this._params&&this.asyncFunction(this._params)}},{key:"setLaunchParams",value:function(e){VizbeeTV.logger.i("XboxWebView2LaunchParams","setLaunchParams","rawParamData = ",e),this._params=void 0,this._parseAndSet(e),this.asyncFunction&&this._params&&this.asyncFunction(this._params)}},{key:"_parseAndSet",value:function(e){if(e&&"string"==typeof e){var t=e,n=e.indexOf("?");if(n>=0&&(t=e.substring(n+1)),t){var i=t.split("&").reduce(function(e,t){var n,i,r=(n=t.split("="),i=2,function(e){if(Array.isArray(e))return e}(n)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var i,r,a,o,s=[],u=!0,c=!1;try{if(a=(n=n.call(e)).next,0===t);else for(;!(u=(i=a.call(n)).done)&&(s.push(i.value),s.length!==t);u=!0);}catch(e){c=!0,r=e}finally{try{if(!u&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(c)throw r}}return s}}(n,i)||_(n,i)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),a=r[0],o=r[1];return a&&(e[a]=null!=o?decodeURIComponent(o):""),e},{});Object.keys(i).length>0&&(this._params=i)}}}}])}(),tt=function(){return s(function e(){if(a(this,e),"BaseAdID"===this.constructor.name)throw new TypeError("BaseAdID::constructor() - Abstract class.")},[{key:"adId",value:function(){return"UNKNOWN"}},{key:"isAdTrackingDisabled",value:function(){return!0}}])}(),nt=function(){function e(){return a(this,e),r(this,e)}return h(e,tt),s(e,[{key:"adId",value:function(){return("undefined"!=typeof window&&window.vizbeeXboxHost||{}).advertisingId||""}},{key:"isAdTrackingDisabled",value:function(){var e="undefined"!=typeof window&&window.vizbeeXboxHost||{};return"boolean"==typeof e.isAdTrackingDisabled?e.isAdTrackingDisabled:this.adId().length<=0}}])}(),it=function(){function e(){var t;return a(this,e),(t=r(this,e))._host="undefined"!=typeof window&&window.vizbeeXboxHost||{},t}return h(e,fe),s(e,[{key:"deviceId",get:function(){return this._host.internalDeviceId||A}},{key:"make",get:function(){return this._host.make||A}},{key:"model",get:function(){return this._host.model||A}},{key:"friendlyName",get:function(){return this._host.friendlyName||A}}])}(),rt=function(){function e(){return a(this,e),r(this,e)}return h(e,pe),s(e,[{key:"internalIP",get:function(){return("undefined"!=typeof window&&window.vizbeeXboxHost||{}).internalIP||A}}])}(),at=function(){return s(function e(){a(this,e),this.eventMap={}},[{key:"addHandler",value:function(e,t){this.eventMap[e]||(this.eventMap[e]=[]),this.eventMap[e].push(t)}},{key:"removeHandler",value:function(e,t){var n=this;if(this.eventMap&&this.eventMap[e]){var i,r=this.eventMap[e];if(r&&r.length&&(i=r.reduce(function(e,i,r){return n._isFunction(i)&&i==t?e=r:e},-1))>-1)return r.splice(i,1),this.eventMap[e]=r,!0}return!1}},{key:"emit",value:function(e,t){e&&(VizbeeTV.logger.i("BaseAppLifeCycleManager","emit","eventName=",e,"; eventData=",t),this.eventMap&&this.eventMap[e]&&this.eventMap[e].forEach(function(n){VizbeeTV.logger.i("BaseAppLifeCycleManager","emit","calling handler for event=",e),n.apply({},t)}))}},{key:"reset",value:function(){this.eventMap={}}},{key:"_isFunction",value:function(e){return"function"==typeof e||!1}}])}(),ot=function(){function e(){var t;return a(this,e),(t=r(this,e))._eventVsHandlerMap={activated:"onStart",suspending:"onBackground",resuming:"onForeground"},t}return h(e,at),s(e,[{key:"init",value:function(){"undefined"!=typeof window&&window.chrome&&window.chrome.webview&&"function"==typeof window.chrome.webview.addEventListener?this._listen():VizbeeTV.logger.w("XboxWebView2AppLifeCycleManager","init","window.chrome.webview not available, lifecycle events will not fire")}},{key:"_listen",value:function(){var e=this;window.chrome.webview.addEventListener("message",function(t){var n=t&&t.data;if(n&&"vizbeeXboxHost"===n.source&&n.event){var i=n.event,r=e._eventVsHandlerMap[i];VizbeeTV.logger.d("XboxWebView2AppLifeCycleManager","_listen","got event = "+i),r&&e.eventMap[r]&&e.eventMap[r].length&&e.eventMap[r].forEach(function(e){e.apply({},[n])})}})}}])}(),st=function(){function e(t){var n;return a(this,e),(n=r(this,e,[t])).deviceId=new $e,n.launchParams=new et,n.xboxAdId=new nt,n._xboxInfo=new it,n._xboxNetworkInfo=new rt,n.xboxAppLifeCycleManager=new ot,n.xboxAppLifeCycleManager.init(),n}return h(e,K),s(e,[{key:"createPlayer",value:function(){var e={nativePlayer:null,htmlPlayer:null,bitmovinPlayer:Ge,modularBitmovinPlayer:Ge,videoJSPlayer:We,theoPlayer:qe,shakaPlayer:je,topPlayer:Ye};return this.player=new Qe(this,e),VizbeeTV.logger.d("XboxWebView2","createPlayer","created html player instance"),this.player}},{key:"createInputDevice",value:function(){return this.inputDevice=new Ze(this),this.inputDevice}},{key:"exit",value:function(){m(e,"exit",this)([]),setTimeout(function(){VizbeeTV.logger.i("XboxWebView2","exit","exiting the app");try{if(window.chrome&&window.chrome.webview&&"function"==typeof window.chrome.webview.postMessage)return void window.chrome.webview.postMessage("EXIT_APP")}catch(e){VizbeeTV.logger.e("XboxWebView2","exit","error posting EXIT_APP",e)}window.close()},1e3)}},{key:"defaultAppletAppId",get:function(){return"vzb0000000"}},{key:"cloudPlatformName",get:function(){return"xbox_one"}},{key:"adId",get:function(){return this.xboxAdId.adId()}},{key:"isAdTrackingDisabled",get:function(){return this.xboxAdId.isAdTrackingDisabled()}},{key:"appLifeCycleManager",get:function(){return this.xboxAppLifeCycleManager}},{key:"deviceInfo",get:function(){return this._xboxInfo}},{key:"networkInfo",get:function(){return this._xboxNetworkInfo}}])}(),ut=function(){function e(t){var n;a(this,e),n=r(this,e,[t]);var i=e.getPlatformType().toLowerCase();return n.__platform="xboxwebview2"==i?new st(t):new null(t),VizbeeTV.logger.i("XboxVirtualPlatform","constructor","selected variant = "+i),n}return h(e,K),s(e,[{key:"cloudPlatformName",get:function(){return this.__platform.cloudPlatformName}},{key:"uniqueDeviceID",value:function(e,t){this.__platform.uniqueDeviceID(e,t)}},{key:"deviceIDAlgorithm",get:function(){return this.__platform.deviceIDAlgorithm},set:function(e){return this.__platform.deviceIDAlgorithm=e}},{key:"platformModel",get:function(){return this.__platform.platformModel}},{key:"deviceInfo",get:function(){return this.__platform.deviceInfo}},{key:"platformVersion",get:function(){return this.__platform.platformVersion}},{key:"networkInfo",get:function(){return this.__platform.networkInfo}},{key:"adId",get:function(){return this.__platform.adId}},{key:"isAdTrackingDisabled",get:function(){return this.__platform.isAdTrackingDisabled}},{key:"createInputDevice",value:function(){return this.__platform.createInputDevice()}},{key:"inputDevice",get:function(){return this.__platform.inputDevice}},{key:"screenSaverEnabled",set:function(e){e=e||!1,void 0!==this.__platform&&this.__platform.enableScreenSaver&&(VizbeeTV.logger.d("XboxVirtualPlatform","screenSaverEnabled","enabled = "+e),this.__platform.enableScreenSaver(e))}},{key:"defaultAppletAppId",get:function(){return this.__platform.defaultAppletAppId}},{key:"launchParamsDeferral",get:function(){return this.__platform.launchParamsDeferral}},{key:"appLifeCycleManager",get:function(){return this.__platform.appLifeCycleManager}},{key:"exit",value:function(){VizbeeTV.logger.d("XboxVirtualPlatform","exit","exiting the application"),void 0!==this.__platform&&this.__platform.exit&&this.__platform.exit()}},{key:"isAppExiting",get:function(){return this.__platform.isAppExiting},set:function(e){this.__platform.isAppExiting=e}},{key:"reset",value:function(){this.__platform&&this.__platform.reset&&this.__platform.reset()}},{key:"createPlayer",value:function(){return this.__platform.createPlayer()}},{key:"player",get:function(){return this.__platform.player},set:function(e){e&&(this.__platform.player=e)}},{key:"destroyPlayer",value:function(){this.__platform.destroyPlayer()}},{key:"enableHLSExchange",set:function(e){this.__platform.enableHLSExchange=e}}],[{key:"getPlatformType",value:function(){return"undefined"!=typeof window&&window.vizbeeXboxHost&&window.chrome&&window.chrome.webview?"XboxWebView2":"Xbox"}}])}(),ct=function(){function e(){return a(this,e),r(this,e,arguments)}return h(e,oe),s(e,[{key:"keyCodeMap",get:function(){return c(c(c(c(c({38:oe.keys.up,40:oe.keys.down,37:oe.keys.left,39:oe.keys.right,13:oe.keys.select,415:oe.keys.play,19:oe.keys.pause,413:oe.keys.stop,417:oe.keys.ffw},"417",oe.keys.ffw),418,oe.keys.skip_next),419,oe.keys.skip_prev),8,oe.keys.back),27,oe.keys.exit)}}])}(),lt=function(){function e(){return a(this,e),r(this,e)}return h(e,Xe),s(e,[{key:"uniqueDeviceID",value:function(e,t){var n,i,r=this,a=function(){if(void 0!==i&&(clearTimeout(i),i=void 0),n){try{n.close()}catch(e){}n=void 0}};try{var o=new Promise(function(e,t){i=setTimeout(function(){t(new Error("WebRTC IP detection timed out after 5 seconds"))},5e3)}),s=new Promise(function(e,t){n=r._getInternalIPWithWebRTC(function(n){if(n&&n.length>0){for(var i="",r=0;r<n.length;r++)if(ae.isValidIPv4Address(n[r])){i=n[r];break}if(!i)return void t(new Error("No valid IPv4 address found in WebRTC candidates"));e(i)}else t(new Error("No IP addresses found"))})});Promise.race([s,o]).then(function(t){a(),e(t)}).catch(function(e){a(),VizbeeTV.logger.error("IPWithWebRTCDeviceID::uniqueDeviceID - error fetching IPAddress:",e.message),t()})}catch(e){a(),VizbeeTV.logger.error("IPWithWebRTCDeviceID::uniqueDeviceID - error fetching network info",e),t()}}},{key:"_getInternalIPWithWebRTC",value:function(e){var t=[],n=new(window.RTCPeerConnection||window.webkitRTCPeerConnection||window.mozRTCPeerConnection)({iceServers:[]});return n.createDataChannel(""),n.onicecandidate=function(i){if(i.candidate){var r=/^candidate:.+ (\S+) \d+ typ/.exec(i.candidate.candidate)[1];-1==t.indexOf(r)&&t.push(r)}else{try{n.close()}catch(e){}e(t)}},n.createOffer(function(e){n.setLocalDescription(e)},function(){}),n}}])}(),dt=function(){function e(){var t;return a(this,e),(t=r(this,e)).ipWithWebRTCDeviceId=new lt,t}return h(e,Xe),s(e,[{key:"uniqueDeviceID",value:function(e,t){var n=this;try{this.ipWithWebRTCDeviceId?this.ipWithWebRTCDeviceId.uniqueDeviceID(e,function(){VizbeeTV.logger.warn("VizioSmartcastDeviceID::uniqueDeviceID - error fetching IPWithWebRTCDeviceId"),n._uniqueDeviceID(e,t)}):this._uniqueDeviceID(e,t)}catch(e){VizbeeTV.logger.error("VizioSmartcastDeviceID::uniqueDeviceID - error fetching network info",e),t()}}},{key:"_uniqueDeviceID",value:function(e,t){try{window.VIZIO&&"function"==typeof window.VIZIO.getIPAddress?window.VIZIO.getIPAddress().then(function(n){n?e(n):(VizbeeTV.logger.error("VizioSmartcastDeviceID::_uniqueDeviceID - error fetching IPAddress"),t())}).catch(function(e){VizbeeTV.logger.error("VizioSmartcastDeviceID::_uniqueDeviceID - error getting IP address:",e),t()}):(VizbeeTV.logger.error("VizioSmartcastDeviceID::_uniqueDeviceID - getIPAddress function not available"),t())}catch(e){VizbeeTV.logger.error("VizioSmartcastDeviceID::_uniqueDeviceID - error fetching IPAddress",e),t()}}}])}(),ft=function(){function e(){var t;a(this,e),(t=r(this,e))._deviceInfo={};try{window.VIZIO&&("function"==typeof window.VIZIO.getDeviceInformation&&window.VIZIO.getDeviceInformation().then(function(e){t._deviceInfo=$.extend(t._deviceInfo,e)}).catch(function(e){VizbeeTV.logger.warn("Error getting device information:",e)}),"function"==typeof window.VIZIO.getDeviceId&&window.VIZIO.getDeviceId(function(e){t._deviceInfo=$.extend(t._deviceInfo,{id:e})}),"function"==typeof window.VIZIO.getModelYear&&window.VIZIO.getModelYear(function(e){t._deviceInfo=$.extend(t._deviceInfo,{MODEL_YEAR:e})}),"function"==typeof window.VIZIO.getMACAddress&&window.VIZIO.getMACAddress().then(function(e){t._deviceInfo=$.extend(t._deviceInfo,{MAC_ADDRESS:e})}).catch(function(e){VizbeeTV.logger.warn("Error getting MAC address:",e)}))}catch(e){VizbeeTV.logger.warn("VizioSmartcastDeviceInfo::constructor - error fetching device info",e)}return t}return h(e,fe),s(e,[{key:"deviceId",get:function(){return this._deviceInfo.id||A}},{key:"model",get:function(){return this._deviceInfo.MODEL_NAME||A}},{key:"modelYear",get:function(){return this._deviceInfo.MODEL_YEAR||A}},{key:"friendlyName",get:function(){return this._deviceInfo.CAST_NAME||A}},{key:"macAddress",get:function(){return this._deviceInfo.MAC_ADDRESS||A}},{key:"serialNumber",get:function(){return $.get(this._deviceInfo,["SYSTEM_INFO","SERIAL_NUMBER"],A)}}])}(),ht=function(){function e(){var t;a(this,e),(t=r(this,e))._networkInfo={};try{window.VIZIO&&("function"==typeof window.VIZIO.getNetworkInformation&&window.VIZIO.getNetworkInformation().then(function(e){var n=$.get(e,["value"],[]);t._networkInfo=$.extend(t._networkInfo,$.reduce(n,function(e,t){return e[t.CNAME]={TYPE:t.TYPE,NAME:t.NAME,VALUE:t.VALUE,READONLY:t.READONLY,HASHVAL:t.HASHVAL},e},{}))}).catch(function(e){VizbeeTV.logger.warn("Error getting network information:",e)}),"function"==typeof window.VIZIO.getWifiSSID&&window.VIZIO.getWifiSSID().then(function(e){t._networkInfo=$.extend(t._networkInfo,{wifi_ssid:e})}).catch(function(e){VizbeeTV.logger.warn("Error getting WiFi SSID:",e)}))}catch(e){VizbeeTV.logger.warn("VizioSmartcastNetworkInfo::constructor - error fetching network info",e)}return t}return h(e,pe),s(e,[{key:"internalIP",get:function(){return $.get(this._networkInfo,["ip_address","VALUE"],A)}},{key:"isWifiConnected",get:function(){return $.get(this._networkInfo,["connection_type","VALUE"],A).toLowerCase().includes("wi-fi")}},{key:"ssid",get:function(){return $.get(this._networkInfo,["wifi_ssid"],A)}},{key:"connectionType",get:function(){return this.isWifiConnected?"WIFI":"WIRED"}}])}(),pt=function(){function e(){var t;a(this,e),(t=r(this,e))._adInfo={};try{window.VIZIO&&"function"==typeof window.VIZIO.getDeviceInformation&&window.VIZIO.getDeviceInformation().then(function(e){t._adInfo=$.extend({},$.get(e,["SYSTEM_INFO","TVAD_ID"],{}))}).catch(function(e){VizbeeTV.logger.warn("Error getting device information for ad ID:",e)})}catch(e){VizbeeTV.logger.warn("VizioSmartcastAdID::constructor - error fetching ad info",e)}return t}return h(e,tt),s(e,[{key:"adId",value:function(){return"vida"==this._adInfo.IFA_TYPE?this._adInfo.IFA:A}},{key:"isAdTrackingDisabled",value:function(){return null==this._adInfo.LMT?A:1===this._adInfo.LMT?"true":"false"}}])}(),gt=function(){function e(t){var n;return a(this,e),(n=r(this,e,[t])).deviceId=new dt,n.launchParams=new de,n._deviceInfo=new ft,n._networkInfo=new ht,n._adId=new pt,n}return h(e,K),s(e,[{key:"cloudPlatformName",get:function(){return"vizio_smartcast"}},{key:"defaultAppletAppId",get:function(){return"vzb0000001"}},{key:"launchParamsDeferral",get:function(){return this.launchParams}},{key:"deviceInfo",get:function(){return this._deviceInfo}},{key:"networkInfo",get:function(){return this._networkInfo}},{key:"adId",get:function(){return this._adId.adId()}},{key:"isAdTrackingDisabled",get:function(){return this._adId.isAdTrackingDisabled()}},{key:"createInputDevice",value:function(){var e=new ct(this);return this.inputDevice=e,e}},{key:"exit",value:function(){window.VIZIO?window.VIZIO.exitApplication():window.close()}},{key:"createPlayer",value:function(){var e={nativePlayer:Be,htmlPlayer:Be,bitmovinPlayer:Ge,modularBitmovinPlayer:Ge,videoJSPlayer:We,theoPlayer:qe,shakaPlayer:je,topPlayer:Ye};return this.player=new Qe(this,e),this.player}}])}(),vt=void 0,yt=void 0,mt={chromecast:null,desktop:null,lgnetcast:null,lgwebos:null,samsung:null,tizen:null,operabdp:null,opera:null,vizio:Je,viziosmartcast:gt,panasonic:null,sony:null,sonybdp:null,xbox:ut},bt=function(){function e(t,n){var i;if(a(this,e),i=r(this,e,[n]),t=t.toLowerCase(),!mt[t])throw new TypeError("VirtualPlatform::constructor() - platform "+t+" doesnot exist.");return i.__platform=new mt[t](n),i.player,i.inputDevice,i}return h(e,K),s(e,[{key:"reset",value:function(){vt&&(vt.stop(),VizbeeTV.logger.debug("player reset",vt)),yt&&(yt.reset(),yt=void 0)}},{key:"uniqueDeviceID",value:function(e,t){this.__platform.uniqueDeviceID(e,t)}},{key:"enableHLSExchange",set:function(e){vt.enableHLSExchange=e}},{key:"deviceIDAlgorithm",get:function(){return this.__platform.deviceIDAlgorithm},set:function(e){return this.__platform.deviceIDAlgorithm=e}},{key:"player",get:function(){return void 0===vt&&(vt=this.__platform.createPlayer()),vt},set:function(e){e&&(vt=e)}},{key:"destroyPlayer",value:function(){vt.destroy().then(function(){vt=void 0})}},{key:"inputDevice",get:function(){return void 0===yt&&(yt=this.__platform.createInputDevice()),yt}},{key:"screenSaverEnabled",set:function(e){e=e||!1,void 0!==this.__platform&&this.__platform.enableScreenSaver&&(VizbeeTV.logger.debug("VirtualPlatform::screenSaverEnabled = "+e),this.__platform.enableScreenSaver(e))}},{key:"exit",value:function(){void 0!==this.__platform&&this.__platform.exit&&this.__platform.exit()}},{key:"isAppExiting",get:function(){return this.__platform.isAppExiting},set:function(e){this.__platform.isAppExiting=e}},{key:"defaultAppletAppId",get:function(){return this.__platform.defaultAppletAppId}},{key:"cloudPlatformName",get:function(){return this.__platform.cloudPlatformName}},{key:"platformModel",get:function(){return this.__platform.platformModel}},{key:"platformVersion",get:function(){return this.__platform.platformVersion}},{key:"adId",get:function(){return this.__platform.adId}},{key:"isAdTrackingDisabled",get:function(){return this.__platform.isAdTrackingDisabled}},{key:"appLifeCycleManager",get:function(){return this.__platform.appLifeCycleManager}},{key:"launchParamsDeferral",get:function(){return this.__platform.launchParamsDeferral}},{key:"deviceInfo",get:function(){return this.__platform.deviceInfo}},{key:"networkInfo",get:function(){return this.__platform.networkInfo}}],[{key:"getPlatformType",value:function(){return window.cast?"Chromecast":"undefined"!=typeof Windows&&Windows.System&&Windows.System.Profile&&Windows.System.Profile.AnalyticsInfo&&Windows.System.Profile.AnalyticsInfo.versionInfo&&Windows.System.Profile.AnalyticsInfo.versionInfo.deviceFamily&&-1!=Windows.System.Profile.AnalyticsInfo.versionInfo.deviceFamily.toLowerCase().indexOf("xbox")||"undefined"!=typeof window&&window.vizbeeXboxHost&&window.chrome&&window.chrome.webview?"Xbox":window.webapis?"Tizen":window.VIZIO?"VizioSmartCast":window.navigator.userAgent.toLowerCase().indexOf("webos.tv")>-1||window.PalmServiceBridge?"LGWebOS":void 0}},{key:"detectPlatformWhenReady",value:function(t){var n=e.getPlatformType();n?t(n):(window.navigator&&window.navigator.userAgent||"").toLowerCase().indexOf("vizio smartcast")>-1?e._awaitVizioSmartCast(t):t(void 0)}},{key:"_awaitVizioSmartCast",value:function(t){var n,i=!1,r=function(e){i||(i=!0,clearTimeout(n),document.removeEventListener("VIZIO_LIBRARY_DID_LOAD",a),e||VizbeeTV.logger.error("VirtualPlatform::_awaitVizioSmartCast - Vizio companion library is mandatory for Vizbee initialization; not available within 5s"),t(e))},a=function(){return r(e.getPlatformType())};VizbeeTV.logger.info("VirtualPlatform::_awaitVizioSmartCast - waiting up to 5s for VIZIO_LIBRARY_DID_LOAD"),document.addEventListener("VIZIO_LIBRARY_DID_LOAD",a),n=setTimeout(function(){return r(void 0)},5e3)}}])}(),St=function(){function e(t,n){var i;return a(this,e),(i=r(this,e,[t,n])).setUIStyleConfig("transparent","white","black"),i}return h(e,bt),s(e,[{key:"extendPlayer",value:function(e,t){VizbeeTV.logger.debug("ExtendPlayer - ",this.player.constructor.name),this.player=new e(this.player,t)}},{key:"unextendPlayer",value:function(){try{if(this.player.extendedPlayer){var e=this.player.extendedPlayer;this.player.reset(),this.player=e}}catch(e){VizbeeTV.logger.error("Error while unextending Player",e,this.player,this.player.extendedPlayer)}}},{key:"wrapExtension",value:function(e,t){this.extendPlayer(e,t)}},{key:"unwrapExtensionToBasePlayer",value:function(){for(;this.player.extendedPlayer;)this.unextendPlayer();this.player.reset()}},{key:"unwrapExtensionToStandardPlayerControls",value:function(){for(;!(this.player instanceof StandardPlayerControls);)this.unextendPlayer()}},{key:"setUIStyleConfig",value:function(e,t,n){this.config.primaryColor=e||this.config.primaryColor,this.config.secondaryColor=t||this.config.secondaryColor,this.config.tertiaryColor=n||this.config.tertiaryColor}}])}(),_t=function(){return s(function e(){a(this,e),this.currentLevel=this.LEVEL.CRITICAL,this.enableLogging=!0,this.logPrefix=""},[{key:"LEVEL",get:function(){return{CRITICAL:0,ERROR:1,WARN:2,INFO:3,DEBUG:4,VERBOSE:5}}},{key:"setLevel",value:function(e){this.currentLevel=e}},{key:"setPrefix",value:function(e){this.logPrefix=e}},{key:"enable",value:function(){this.enableLogging=!0}},{key:"disable",value:function(){this.enableLogging=!1}},{key:"c",value:function(){var e=this._getLogArguments.apply(this,arguments);e&&this.critical.apply(this,e)}},{key:"critical",value:function(){if(this.shouldLog(this.LEVEL.CRITICAL)){var e=Array.prototype.slice.call(arguments);e=ae.convertObjectsToString(e);var t=[this.getCurrentTimeString()+" "+this.logPrefix+" [CRITICAL]:"];Array.prototype.push.apply(t,e),console.error.apply(console,t)}}},{key:"e",value:function(){var e=this._getLogArguments.apply(this,arguments);e&&this.error.apply(this,e)}},{key:"error",value:function(){if(this.shouldLog(this.LEVEL.ERROR)){var e=Array.prototype.slice.call(arguments);e=ae.convertObjectsToString(e);var t=[this.getCurrentTimeString()+" "+this.logPrefix+" [ERROR]:"];Array.prototype.push.apply(t,e),console.error.apply(console,t)}}},{key:"w",value:function(){var e=this._getLogArguments.apply(this,arguments);e&&this.warn.apply(this,e)}},{key:"warn",value:function(){if(this.shouldLog(this.LEVEL.WARN)){var e=Array.prototype.slice.call(arguments);e=ae.convertObjectsToString(e);var t=[this.getCurrentTimeString()+" "+this.logPrefix+" [WARN]:"];Array.prototype.push.apply(t,e),console.warn.apply(console,t)}}},{key:"i",value:function(){var e=this._getLogArguments.apply(this,arguments);e&&this.info.apply(this,e)}},{key:"info",value:function(){if(this.shouldLog(this.LEVEL.INFO)){var e=Array.prototype.slice.call(arguments);e=ae.convertObjectsToString(e);var t=[this.getCurrentTimeString()+" "+this.logPrefix+" [INFO]:"];Array.prototype.push.apply(t,e),console.info.apply(console,t)}}},{key:"d",value:function(){var e=this._getLogArguments.apply(this,arguments);e&&this.debug.apply(this,e)}},{key:"debug",value:function(){if(this.shouldLog(this.LEVEL.DEBUG)){var e=Array.prototype.slice.call(arguments);e=ae.convertObjectsToString(e);var t=[this.getCurrentTimeString()+" "+this.logPrefix+" [DEBUG]:"];Array.prototype.push.apply(t,e),console.log.apply(console,t)}}},{key:"v",value:function(){var e=this._getLogArguments.apply(this,arguments);e&&this.verbose.apply(this,e)}},{key:"verbose",value:function(){if(this.shouldLog(this.LEVEL.VERBOSE)){var e=Array.prototype.slice.call(arguments);e=ae.convertObjectsToString(e);var t=[this.getCurrentTimeString()+" "+this.logPrefix+" [VERBOSE]:"];Array.prototype.push.apply(t,e),console.log.apply(console,t)}}},{key:"shouldLog",value:function(e){return!!this.enableLogging&&e<=this.currentLevel}},{key:"_getLogArguments",value:function(){var e=Array.prototype.slice.call(arguments);if(e&&e.length>=2){var t=[this._getClassAndMethodNamePrefix(e[0],e[1])],n=Array.prototype.slice.call(arguments,2);return Array.prototype.push.apply(t,n),t}}},{key:"_getClassAndMethodNamePrefix",value:function(e,t){return e&&t?ae.padEnd(e+"::",40," ")+ae.padEnd(t,30," ")+" - ":""}},{key:"getCurrentTimeString",value:function(){return"["+(new Date).toISOString()+"]"}}],[{key:"enableRemoteLogging",value:function(e,t){window.console.log=window.console.info=window.console.error=window.console.warn=window.console.debug=function(){var n=new XMLHttpRequest;try{var i=Array.prototype.slice.call(arguments);i=ae.convertObjectsToString(i);var r=[t];Array.prototype.push.apply(r,i);var a=encodeURIComponent(JSON.stringify({data:r.join(" ")}));n.open("GET",e+a,!0),n.send(null)}catch(e){}}}}])}(),kt=function(){function e(){return a(this,e),r(this,e)}return h(e,_t),s(e,[{key:"critical",value:function(){try{m(e,"critical",this)(arguments);var t=Array.prototype.slice.call(arguments);if(t.length>0){var n=t[t.length-1],i=window.Raven||window.Sentry;this._shouldLogException()&&i&&($.isObject(n)||$.isString(n))&&i.captureException(n)}}catch(e){}}},{key:"_shouldLogException",value:function(){return!0}}])}();function Tt(){if(J)return Q;J=1;var e,t={getItem:function(e){return e&&decodeURIComponent(document.cookie.replace(new RegExp("(?:(?:^|.*;)\\s*"+encodeURIComponent(e).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*([^;]*).*$)|^.*$"),"$1"))||null},setItem:function(e,t,n,i,r,a){if(!e||/^(?:expires|max\-age|path|domain|secure)$/i.test(e))return!1;var o="";if(n)switch(n.constructor){case Number:o=n===1/0?"; expires=Fri, 31 Dec 9999 23:59:59 GMT":"; max-age="+n;break;case String:o="; expires="+n;break;case Date:o="; expires="+n.toUTCString()}return document.cookie=encodeURIComponent(e)+"="+encodeURIComponent(t)+o+(r?"; domain="+r:"")+(i?"; path="+i:"")+(a?"; secure":""),!0},removeItem:function(e,t,n){return!!this.hasItem(e)&&(document.cookie=encodeURIComponent(e)+"=; expires=Thu, 01 Jan 1970 00:00:00 GMT"+(n?"; domain="+n:"")+(t?"; path="+t:""),!0)},hasItem:function(e){return!!e&&new RegExp("(?:^|;\\s*)"+encodeURIComponent(e).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=").test(document.cookie)},keys:function(){for(var e=document.cookie.replace(/((?:^|\s*;)[^\=]+)(?=;|$)|^\s*|\s*(?:\=[^;]*)?(?:\1|$)/g,"").split(/\s*(?:\=[^;]*)?;\s*/),t=e.length,n=0;n<t;n++)e[n]=decodeURIComponent(e[n]);return e},eraseCookieFromAllPaths:function(e){var t=location.pathname.split("/"),n=" path=";document.cookie=encodeURIComponent(e)+"=; expires=Thu, 01-Jan-1970 00:00:01 GMT;";for(var i=0;i<t.length;i++)n+=("/"!=n.substr(-1)?"/":"")+t[i],document.cookie=encodeURIComponent(e)+"=; expires=Thu, 01-Jan-1970 00:00:01 GMT;"+n+";"}},n=(e=function(){for(var e,t={},n=decodeURIComponent(window.location.href),i=n.slice(n.indexOf("?")+1).split("&"),r=0;r<i.length;r++)t[(e=i[r].split("="))[0]]=e[1];return t}()||{},{getQueryParamForKey:function(t){return e[t]||!1},getQueryParams:function(){return e}});return Q={chain:function(e,t){return e?function(){e.call(this,arguments),t.call(this,arguments)}:t},xhr:function(e){return new Promise(function(t,n){var i=e.retries||2;!function r(){var a=new XMLHttpRequest;e.url=e.url.replace(/^http:\/\//i,"https://"),a.open(e.method||"GET",e.url,!0),Object.keys(e.headers||{}).forEach(function(t){a.setRequestHeader(t,e.headers[t])}),a.onreadystatechange=function(o){if(4===a.readyState)if(-1===[200,304].indexOf(a.status))VizbeeSDK.logger.error("xhr error",o),i>0?(i--,r()):n(new Error("Server responded with a status of "+a.status));else try{e.format=e.format||"json";var s=o.target;"json"===e.format?s=JSON.parse(s.response):"xml"===e.format&&(s=s.responseXML),VizbeeSDK.logger.debug("Util::xhr() -- response object --",s),t(s)}catch(o){i>0?(i--,r()):n("JSON parse error with Server response")}},e.timeout&&(a.timeout=e.timeout,a.ontimeout=function(t){i>0?(i--,r()):n(new Error("Server timeout "+e.timeout+"ms"))}),a.send(e.data)}()})},log:function(){var e=Array.prototype.slice.call(arguments);e.unshift("VIZBEE [LOG]"),console.log.apply(console,e)},docCookies:t,urlParser:n},Q}window.VizbeeTV={init:function(e,t,n){this.logger=new kt,this.logger.setPrefix("[VTVLIB]"),this.Util=ae,n?this.tv instanceof St?this.tv.config=$.extend(this.tv.config,t):this.tv=new St(e,t):this.tv instanceof bt?this.tv.config=$.extend(this.tv.config,t):this.tv=new bt(e,t)}};var It,Vt,Et,Pt,At={getIpv6Address:function(e){ae.xhr({url:"https://ip.claspws.tv",timeout:5e3,retries:3}).then(function(t){var n=t&&t.headers&&t.headers["x-vzb-client-ip"];n?(VizbeeSDK.logger.debug("Ipv6::getIpv6Address - ipv6Address=",n),e(n)):(VizbeeSDK.logger.warn("Ipv6::getIpv6Address - ipv6Address=empty"),e())}).catch(function(t){VizbeeSDK.logger.warn("Ipv6::getIpv6Address - failed",t),e()})}};function Ct(){if(Vt)return It;function e(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function t(e){return"function"==typeof e}function n(e){return"object"===S(e)&&null!==e}function i(e){return void 0===e}return Vt=1,It=e,e.EventEmitter=e,e.prototype._events=void 0,e.prototype._maxListeners=void 0,e.defaultMaxListeners=10,e.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||isNaN(e))throw TypeError("n must be a positive number");return this._maxListeners=e,this},e.prototype.emit=function(e){var r,a,o,s,u,c;if(this._events||(this._events={}),"error"===e&&(!this._events.error||n(this._events.error)&&!this._events.error.length)){if((r=arguments[1])instanceof Error)throw r;var l=new Error('Uncaught, unspecified "error" event. ('+r+")");throw l.context=r,l}if(i(a=this._events[e]))return!1;if(t(a))switch(arguments.length){case 1:a.call(this);break;case 2:a.call(this,arguments[1]);break;case 3:a.call(this,arguments[1],arguments[2]);break;default:s=Array.prototype.slice.call(arguments,1),a.apply(this,s)}else if(n(a))for(s=Array.prototype.slice.call(arguments,1),o=(c=a.slice()).length,u=0;u<o;u++)c[u].apply(this,s);return!0},e.prototype.addListener=function(r,a){var o;if(!t(a))throw TypeError("listener must be a function");return this._events||(this._events={}),this._events.newListener&&this.emit("newListener",r,t(a.listener)?a.listener:a),this._events[r]?n(this._events[r])?this._events[r].push(a):this._events[r]=[this._events[r],a]:this._events[r]=a,n(this._events[r])&&!this._events[r].warned&&(o=i(this._maxListeners)?e.defaultMaxListeners:this._maxListeners)&&o>0&&this._events[r].length>o&&(this._events[r].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[r].length),"function"==typeof console.trace&&console.trace()),this},e.prototype.on=e.prototype.addListener,e.prototype.once=function(e,n){if(!t(n))throw TypeError("listener must be a function");var i=!1;function r(){this.removeListener(e,r),i||(i=!0,n.apply(this,arguments))}return r.listener=n,this.on(e,r),this},e.prototype.removeListener=function(e,i){var r,a,o,s;if(!t(i))throw TypeError("listener must be a function");if(!this._events||!this._events[e])return this;if(o=(r=this._events[e]).length,a=-1,r===i||t(r.listener)&&r.listener===i)delete this._events[e],this._events.removeListener&&this.emit("removeListener",e,i);else if(n(r)){for(s=o;s-- >0;)if(r[s]===i||r[s].listener&&r[s].listener===i){a=s;break}if(a<0)return this;1===r.length?(r.length=0,delete this._events[e]):r.splice(a,1),this._events.removeListener&&this.emit("removeListener",e,i)}return this},e.prototype.removeAllListeners=function(e){var n,i;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[e]&&delete this._events[e],this;if(0===arguments.length){for(n in this._events)"removeListener"!==n&&this.removeAllListeners(n);return this.removeAllListeners("removeListener"),this._events={},this}if(t(i=this._events[e]))this.removeListener(e,i);else if(i)for(;i.length;)this.removeListener(e,i[i.length-1]);return delete this._events[e],this},e.prototype.listeners=function(e){return this._events&&this._events[e]?t(this._events[e])?[this._events[e]]:this._events[e].slice():[]},e.prototype.listenerCount=function(e){if(this._events){var n=this._events[e];if(t(n))return 1;if(n)return n.length}return 0},e.listenerCount=function(e,t){return e.listenerCount(t)},It}function Dt(){if(Pt)return Et;Pt=1;var e,t=new(0,Ct().EventEmitter);return Et={reset:function(){e=void 0},getApp:function(){return e},setApp:function(n){n&&(e=n,VizbeeSDK.logger.debug("AppAdapter::setApp in setApp"),t.emit("app",{type:"app",obj:n}))},isAppSet:function(){return!!e},preInit:function(){VizbeeSDK.logger.debug("AppAdapter::preInit() called"),e&&e.preInit?e.preInit():VizbeeSDK.logger.error("AppAdapter::preInit() - app.preInit() callback not provided by host app")},willStartVideo:function(t,n){e&&e.willStartVideo?e.willStartVideo(t,n):VizbeeSDK.logger.info("AppAdapter::willStartVideo() - app.willStartVideo() callback not provided by host app")},startVideo:function(t){e&&e.startVideo?e.startVideo(t):VizbeeSDK.logger.info("AppAdapter::StartVideo() - app.startVideo() callback not provided by host app")},playVideo:function(){return VizbeeSDK.logger.info("AppAdapter::PlayVideo() called"),e&&e.playVideo?e.playVideo():(VizbeeSDK.logger.info("AppAdapter::PlayVideo() - app.playVideo() callback not provided by host app"),!1)},pauseVideo:function(){return VizbeeSDK.logger.info("AppAdapter::PauseVideo() called"),e&&e.pauseVideo?e.pauseVideo():(VizbeeSDK.logger.info("AppAdapter::PauseVideo() - app.pauseVideo() callback not provided by host app"),!1)},stopVideo:function(t){return VizbeeSDK.logger.info("AppAdapter::StopVideo() called",t,e),VizbeeSDK.logger.debug("AppAdapter::StopVideo() called"),e&&e.stopVideo?(VizbeeSDK.logger.info("AppAdapter::StopVideo() called",t),e.stopVideo(t)):(VizbeeSDK.logger.info("AppAdapter::StopVideo() - app.stopVideo() callback not provided by host app"),!1)},seekVideo:function(t){return VizbeeSDK.logger.info("AppAdapter::SeekVideo() called",t),e&&e.seekVideo?e.seekVideo(t):(VizbeeSDK.logger.info("AppAdapter::SeekVideo() - app.seekVideo() callback not provided by host app"),!1)},getVideoInfo:function(){if(e&&e.getVideoInfo)return e.getVideoInfo()},getTracks:function(){return e&&e.getTracks?e.getTracks():(VizbeeSDK.logger.verbose("AppAdapter::getTracks() - app.getTracks() callback not provided by host app"),!1)},getEnabledTracks:function(){return e&&e.getEnabledTracks?e.getEnabledTracks():(VizbeeSDK.logger.verbose("AppAdapter::getEnabledTracks() - app.getEnabledTracks() callback not provided by host app"),!1)},enableTracks:function(t){return VizbeeSDK.logger.verbose("AppAdapter::enableTracks() called"),e&&e.enableTracks?e.enableTracks(t):(VizbeeSDK.logger.verbose("AppAdapter::enableTracks() - app.enableTracks() callback not provided by host app"),!1)},disableTracks:function(t){return VizbeeSDK.logger.verbose("AppAdapter::disableTracks() called"),e&&e.disableTracks?e.disableTracks(t):(VizbeeSDK.logger.verbose("AppAdapter::disableTracks() - app.disableTracks() callback not provided by host app"),!1)},getAudioTracks:function(){return e&&e.getAudioTracks?e.getAudioTracks():(VizbeeSDK.logger.verbose("AppAdapter::getAudioTracks() - app.getAudioTracks() callback not provided by host app"),!1)},getActiveAudioTrack:function(){return e&&e.getActiveAudioTrack?e.getActiveAudioTrack():(VizbeeSDK.logger.verbose("AppAdapter::getActiveAudioTrack() - app.getActiveAudioTrack() callback not provided by host app"),!1)},changeAudioTrack:function(t){return VizbeeSDK.logger.info("AppAdapter::changeAudioTrack() called"),e&&e.changeAudioTrack?e.changeAudioTrack(t):(VizbeeSDK.logger.info("AppAdapter::changeAudioTrack() - app.changeAudioTrack() callback not provided by host app"),!1)},onEvent:function(t){VizbeeSDK.logger.debug("AppAdapter::onEvent() called"),e&&e.onEvent?e.onEvent(t):VizbeeSDK.logger.info("AppAdapter::onEvent() - callback not provided by host app")},updatePresence:function(t){VizbeeSDK.logger.debug("AppAdapter::updatePresence() called"),e&&e.updatePresence?e.updatePresence(t):VizbeeSDK.logger.info("AppAdapter::updatePresence() - callback not provided by host app")},addListener:function(e){t.addListener("app",e)}},Et}var wt,Mt,Nt=Y(),Ot=new(0,Ct().EventEmitter),xt=Dt(),zt=void 0,Lt={isInProgress:!1},Rt=!1,Kt="videoadapter_video",Ft="videoadapter_ad";function Ut(e){var t,n,i=!Nt.contains(["timeupdate"],e.type);Lt.isInProgress||(zt&&"app"!==zt.app.state?(t=new Ht,e.type,"loading"===e.type&&(n="BUFFERING"),"playing"===e.type&&(n="PLAYING"),"paused"===e.type&&(n="PAUSED_BY_USER"),"ended"==e.type&&(n="FINISHED"),"interrupted"==e.type&&(n="INTERRUPTED"),"error"===e.type&&(n="INTERRUPTED",e.data&&e.data.reason&&"stop_by_user"!=e.data.reason.toLowerCase()&&(n="FAILED",t.error=e.data,t.error.data={})),n&&(t.state=n),Ot.emit(Kt,t,i)):VizbeeSDK.logger.verbose('VideoAdapter::videoEventHandler - app.state = "app"'))}function Bt(e,t){var n=e.playing||e.preparing;(n||!n&&Lt.isInProgress)&&Ot.emit(Ft,e,t),Lt.isInProgress=n||!1,Lt.isInProgress||(Rt=!1),"FINISHED"==e.state||e.state}function Ht(e){var t={type:"video",position:-1,duration:-1,cc:{},tr:{}};return Mt?(t.position=1e3*Mt.currentTime(),t.duration=1e3*Mt.getDuration(),t.startTime=Mt.getStartTime(),t.videoBufferLevel=Mt.getBufferLevel(),t.audioBufferLevel=Mt.getAudioBufferLevel(),t.qos=Mt.getStreamQualityInfo(),t.volume=100,t.muted=!1):(t.position=-1,t.duration=-1,t.startTime=0,t.videoBufferLevel=0,t.audioBufferLevel=0,t.volume=1,t.muted=!1),t.qos||(t.qos={adPodStartedTimeInMs:0,adPodEndedTimeInMs:0,loadReceivedByAppTimeInMs:0,loadReceivedByPlayerTimeInMs:0,metadataLoadedTimeInMs:0,playerReadyToPlayTimeInMs:0,playbackStartedTimeInMs:0}),Nt.extend(t,e)}function Gt(){Lt.isInProgress&&wt.reset()}var Wt,qt,jt,Yt,Qt,Jt,Zt,Xt,$t,en,tn,nn,rn={setVideo:function(e){var t;(t=e).onLoading=function(e){Lt.isInProgress||(Ut({type:"loading"}),Rt=!1)},t.onPlaying=function(e){Lt.isInProgress||(Ut({type:"playing"}),Rt=!0)},t.onPaused=function(e){Lt.isInProgress||(Ut({type:"paused"}),Rt=!1)},t.onBuffering=function(e){Lt.isInProgress||(Ut({type:"loading"}),Rt=!1)},t.onError=function(e){Lt.isInProgress||(Ut({type:"error",data:e}),Rt=!1)},t.onInterrupted=function(e){Lt.isInProgress||(Ut({type:"interrupted",data:e}),Rt=!1)},t.onEnded=function(){Lt.isInProgress||(Ut({type:"ended"}),Rt=!1)},t.onTimeUpdate=function(e){Lt.isInProgress||(Rt?Ut({type:"timeupdate"}):(Rt=!0,Ut({type:"playing"})))},Mt=e},setVideoInfo:function(e){e&&zt&&zt.setCurrentVideoInfo(e)},setId:function(e,t){if(zt){if(zt.video&&zt.video.id&&e&&zt.video.id!=e){VizbeeSDK.logger.debug("VideoAdapter::setId - SENDING INTERRUPTED");var n=new Ht({id:zt.video.id,state:"INTERRUPTED"});Ot.emit(Kt,n,!0)}var i=new Ht({id:e});i.position=i.duration=-1,i.state="UNKNOWN",Ot.emit(Kt,i,!0),VizbeeSDK.logger.debug("VideoAdapter::setId - setting currentGUID = "+e),zt.setCurrentVideoInfo(Nt.extend(zt.getCurrentVideoInfo()||{},{id:e,islive:t}))}},setVideoStop:function(){Lt&&Lt.isInProgress&&wt&&(Lt.isInProgress=!1,wt.reset()),Ut({type:"error"})},willStart:function(e,t){xt.willStartVideo(e,t)},start:function(e){Ut({type:"loadedmetadata"}),Gt(),xt.startVideo(e)},play:function(){xt.playVideo()||VizbeeTV.tv.inputDevice.sendPlay()},pause:function(){xt.pauseVideo()||VizbeeTV.tv.inputDevice.sendPause()},seek:function(e){xt.seekVideo(e)||Nt.isNumber(e)&&Mt.seek(e)},stop:function(e){if(!xt.stopVideo(e)){VizbeeTV.tv.inputDevice.sendStop(),VizbeeSDK.logger.debug("VideoAdapter::stop - sending INTERRUPTED state");var t=new Ht({state:"INTERRUPTED"});Ot.emit(Kt,t,!0),Gt()}},exit:function(){var e=new Ht({state:"INTERRUPTED"});Ot.emit(Kt,e,!0)},setTracks:function(e){Mt.setTracks(e)},getTracks:function(e){e=e||C;var t=xt.getTracks();return!1!==t?t:Mt.getTracks(e)},getEnabledTracks:function(e){e=e||C;var t=xt.getEnabledTracks();return!1!==t?t:Mt.getEnabledTracks(e)},enableTracks:function(e){xt.enableTracks(e)||Mt.enableTracks(e)},disableTracks:function(e){xt.disableTracks(e)||Mt.disableTracks(e)},getAudioTracks:function(e){e=e||D;var t=xt.getAudioTracks();return!1!==t?t:Mt.getTracks(e)},getActiveAudioTrack:function(e){e=e||D;var t=xt.getActiveAudioTrack();return!1!==t?t:(Mt.getEnabledTracks(e)||[])[0]},changeAudioTrack:function(e){xt.changeAudioTrack(e)||Mt.changeAudioTrack(e)},mute:function(e){},volumeUp:function(){Ot.emit(Kt,new Ht,!0)},volumeDown:function(){Ot.emit(Kt,new Ht,!0)},onEvent:function(e){xt.onEvent(e)},setAdAdapter:function(e){wt&&wt.removeListener(Bt),(wt=e)&&wt.addListener(Bt)},setAppStateManager:function(e){zt=e},reset:function(){Mt=void 0,Lt={playing:!1}},addListener:function(e){Ot.addListener(Kt,e),Ot.addListener(Ft,e)},removeListener:function(e){Ot.removeListener(Kt,e),Ot.removeListener(Ft,e)}};function an(){if(qt)return Wt;qt=1;var e,t=Y();return Wt={reset:function(){e=void 0},setVideoAdapter:function(t){e=t},isAdapterSet:function(){return!!e},getCurrentTime:function(){var n=0;return e&&t.isFunction(e.getCurrentTime)&&(n=e.getCurrentTime()),n},getDuration:function(){var n=0;return e&&t.isFunction(e.getDuration)&&(n=e.getDuration()),n}}}function on(){if(Yt)return jt;Yt=1;var e=new(0,Ct().EventEmitter),t=rn,n=an(),i=void 0;function r(t,r){"video"==t.type&&(t=function(e,t){return t||e.position<=-1||e.duration<=-1||e.position>e.duration||n.isAdapterSet()&&(e.position=n.getCurrentTime(),e.duration=n.getDuration(),VizbeeSDK.logger.debug("ssaivideoadapater::modifyStatus",e.position,e.duration)),e}(t,i&&i.getSyncVideoInfo().islive)),function(t,n){e.emit("ssaivideoadapter_video",t,n)}(t,r)}return jt={init:function(){t.addListener(r)},setVideo:t.setVideo,setVideoInfo:t.setVideoInfo,setId:t.setId,setVideoStop:t.setVideoStop,willStart:t.willStart,start:t.start,play:t.play,pause:t.pause,seek:t.seek,stop:t.stop,exit:t.exit,setTracks:t.setTracks,getTracks:t.getTracks,getEnabledTracks:t.getEnabledTracks,enableTracks:t.enableTracks,disableTracks:t.disableTracks,getAudioTracks:t.getAudioTracks,getActiveAudioTrack:t.getActiveAudioTrack,changeAudioTrack:t.changeAudioTrack,mute:t.mute,volumeUp:t.volumeUp,volumeDown:t.volumeDown,onEvent:t.onEvent,setAppStateManager:function(e){i=e,t.setAppStateManager(e)},setAdAdapter:t.setAdAdapter,reset:function(){i=void 0,t.removeListener(r),t.reset()},addListener:function(t){e.addListener("ssaivideoadapter_video",t)},removeListener:function(t){e.removeListener("ssaivideoadapter_video",t)}}}function sn(){if(Jt)return Qt;Jt=1;var e=Y(),t=new(0,Ct().EventEmitter),n=on(),i=Dt(),r={state:"app"},a={},o={},s="default",u={},c={};function l(e){u=e}function d(t,n){"app"===t.type&&f(),"video"===t.type&&function(t,n){e.extend(a,t),["FINISHED","INTERRUPTED","FAILED"].indexOf(a.state)>-1?(VizbeeSDK.logger.debug("AppStateManager::videoEventHanlder() -- setting app.state to 'app'."),h(),r.state="app",p()):(r.state="video",n&&h())}(t,n),"ad"===t.type&&function(t,n){var i=n;t.playing||t.preparing?(r.state="ad",a.state="PAUSED_BY_AD",e.extend(o,t)):(o.preparing=!1,o.playing=!1,"INTERRUPTED"==t.state?(r.state="app",a.state="INTERRUPTED",i=!0):"PAUSED_BY_AD"==a.state&&(a.state="UNKNOWN"),a.duration<=a.position&&a.duration>0&&(r.state="app",a.state="FINISHED",i=!0)),i&&h()}(t,n)}function f(){VizbeeSDK.logger.debug("AppStateManager:appEventHandler appIsSet is TRUE"),t.emit("state",{type:"appIsSet"})}function h(){t.emit("state",{})}function p(){VizbeeSDK.logger.debug("AppStateManager:reset() previous video and ad objects = ",a,o,u),a.id="",a.state="UNKNOWN",a.position=-1,a.duration=-1,a.elapsedTime=0,a.tr={},a.error={},o.id="",o.state="UNKNOWN",o.position=-1,o.duration=-1,s={},VizbeeSDK.logger.debug("AppStateManager:reset() complete : current video and ad objects = ",a,o,u)}return p(),n.addListener(d),i.addListener(d),i.isAppSet()&&f(),Qt={type:"AppStateManager",app:r,video:a,ad:o,reset:p,syncStartVideoSource:s,syncVideoInfo:u,setSyncVideoInfo:l,getSyncVideoInfo:function(){return u},currentVideoInfo:c,setCurrentVideoInfo:function(e){c=e,u&&e&&u.id!=e.id&&l({})},getCurrentVideoInfo:function(){return c},wasVideoStartedByVizbee:function(){return!!(c&&c.senderInfo&&c.senderInfo.st)||!(!u||!c||u.id!=c.id)},addListener:function(e){t.addListener("state",e)},removeListener:function(e){t.removeListener("state",e)}}}function un(){return en?$t:(en=1,$t={setVGA:function(t){t&&(e=t,VizbeeSDK.logger.debug("VGAAdapter::setVGA in setVGA"))},onSubscribedToSync:function(){VizbeeSDK.logger.debug("VGAAdapter::subscribedToSync in subscribedToSync"),e&&e.onSubscribedToSync&&e.onSubscribedToSync()},reset:function(){e=void 0}});var e}function cn(){if(nn)return tn;nn=1;var e=new(0,Ct().EventEmitter),t="sync_proxy_video_cmds";return tn={send:function(n){e.emit(t,n)},reset:function(){e.removeAllListeners(t)},addListener:function(n){e.addListener(t,n)}}}var ln,dn,fn,hn,pn,gn,vn=function(){return s(function e(t){a(this,e),this.appConfig=t||{},this._eventListeners=[]},[{key:"connect",value:function(e){throw new TypeError("BaseSync::connect() - Abstract method.")}},{key:"disconnect",value:function(){this._eventListeners=[]}},{key:"send",value:function(e){}},{key:"onReceive",set:function(e){"function"==typeof e&&this._eventListeners.push(e)}},{key:"dispatchReceive",value:function(e){for(var t=this._eventListeners.length-1;t>-1;t--)this._eventListeners[t](e)}}])}(),yn=s(function e(t,n){a(this,e),this.type=t,this.data=n}),mn=function(){return s(function e(){a(this,e)},null,[{key:"SYNC_CONNECT",get:function(){return"sync-connect"}},{key:"SYNC_MESSAGE",get:function(){return"sync-message"}},{key:"SYNC_PRESENCE",get:function(){return"sync-presence"}}])}(),bn=t(function(){if(dn)return ln;dn=1;var e=Tt().docCookies,t="screen_device_id",n="should_verify_screen_device_id",i="screen_device_id_verified_intermediate",r="screen_device_id_verified",a=e.getItem(r),o=e.getItem(t);return ln={getDeviceId:function(){return o},getDeviceIdFromStorage:function(){return e.getItem(t)},isDeviceIdVerified:function(){return a},isDeviceIdVerifiedFlagStored:function(){return e.getItem(r)},isIntermediateVerifcationCookieSet:function(){return e.getItem(i)},isShouldVerifyDeviceIdFlagSet:function(){return e.getItem(n)},setDeviceId:function(r){a||(o!==r&&this.isIntermediateVerifcationCookieSet()&&e.eraseCookieFromAllPaths(i),o=r,e.setItem(t,o,1/0,"/"),e.setItem(n,"yes",1/0,"/"))},verifyDeviceId:function(){e.getItem(n)&&(e.getItem(r)||(e.getItem(i)?(a="yes",e.setItem(r,a,1/0,"/"),VizbeeSDK.logger.debug("SETTING VERIFIED COOKIE *** ",e.getItem(r))):(e.setItem(i,"yes",1/0,"/"),VizbeeSDK.logger.debug("SETTING INTERMEDIATE COOKIE *** ",e.getItem(i)))),e.eraseCookieFromAllPaths(n))},reset:function(){for(var s=[t,r,n,i],u=0;u<s.length;u++)e.eraseCookieFromAllPaths(s[u]);a=null,o=null}}}()),Sn={exports:{}},_n={exports:{}};function kn(){return fn||(fn=1,e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",t={rotl:function(e,t){return e<<t|e>>>32-t},rotr:function(e,t){return e<<32-t|e>>>t},endian:function(e){if(e.constructor==Number)return 16711935&t.rotl(e,8)|4278255360&t.rotl(e,24);for(var n=0;n<e.length;n++)e[n]=t.endian(e[n]);return e},randomBytes:function(e){for(var t=[];e>0;e--)t.push(Math.floor(256*Math.random()));return t},bytesToWords:function(e){for(var t=[],n=0,i=0;n<e.length;n++,i+=8)t[i>>>5]|=e[n]<<24-i%32;return t},wordsToBytes:function(e){for(var t=[],n=0;n<32*e.length;n+=8)t.push(e[n>>>5]>>>24-n%32&255);return t},bytesToHex:function(e){for(var t=[],n=0;n<e.length;n++)t.push((e[n]>>>4).toString(16)),t.push((15&e[n]).toString(16));return t.join("")},hexToBytes:function(e){for(var t=[],n=0;n<e.length;n+=2)t.push(parseInt(e.substr(n,2),16));return t},bytesToBase64:function(t){for(var n=[],i=0;i<t.length;i+=3)for(var r=t[i]<<16|t[i+1]<<8|t[i+2],a=0;a<4;a++)8*i+6*a<=8*t.length?n.push(e.charAt(r>>>6*(3-a)&63)):n.push("=");return n.join("")},base64ToBytes:function(t){t=t.replace(/[^A-Z0-9+\/]/gi,"");for(var n=[],i=0,r=0;i<t.length;r=++i%4)0!=r&&n.push((e.indexOf(t.charAt(i-1))&Math.pow(2,-2*r+8)-1)<<2*r|e.indexOf(t.charAt(i))>>>6-2*r);return n}},_n.exports=t),_n.exports;var e,t}function Tn(){if(pn)return hn;pn=1;var e={utf8:{stringToBytes:function(t){return e.bin.stringToBytes(unescape(encodeURIComponent(t)))},bytesToString:function(t){return decodeURIComponent(escape(e.bin.bytesToString(t)))}},bin:{stringToBytes:function(e){for(var t=[],n=0;n<e.length;n++)t.push(255&e.charCodeAt(n));return t},bytesToString:function(e){for(var t=[],n=0;n<e.length;n++)t.push(String.fromCharCode(e[n]));return t.join("")}}};return hn=e}var In,Vn,En,Pn=(gn||(gn=1,function(){var e=kn(),t=Tn().utf8,n=Tn().bin,i=function(r,a){r.constructor==String?r=a&&"binary"===a.encoding?n.stringToBytes(r):t.stringToBytes(r):"undefined"!=typeof Buffer&&"function"==typeof Buffer.isBuffer&&Buffer.isBuffer(r)?r=Array.prototype.slice.call(r,0):Array.isArray(r)||(r=r.toString());for(var o=e.bytesToWords(r),s=8*r.length,u=1732584193,c=-271733879,l=-1732584194,d=271733878,f=0;f<o.length;f++)o[f]=16711935&(o[f]<<8|o[f]>>>24)|4278255360&(o[f]<<24|o[f]>>>8);o[s>>>5]|=128<<s%32,o[14+(s+64>>>9<<4)]=s;var h=i._ff,p=i._gg,g=i._hh,v=i._ii;for(f=0;f<o.length;f+=16){var y=u,m=c,b=l,S=d;u=h(u,c,l,d,o[f+0],7,-680876936),d=h(d,u,c,l,o[f+1],12,-389564586),l=h(l,d,u,c,o[f+2],17,606105819),c=h(c,l,d,u,o[f+3],22,-1044525330),u=h(u,c,l,d,o[f+4],7,-176418897),d=h(d,u,c,l,o[f+5],12,1200080426),l=h(l,d,u,c,o[f+6],17,-1473231341),c=h(c,l,d,u,o[f+7],22,-45705983),u=h(u,c,l,d,o[f+8],7,1770035416),d=h(d,u,c,l,o[f+9],12,-1958414417),l=h(l,d,u,c,o[f+10],17,-42063),c=h(c,l,d,u,o[f+11],22,-1990404162),u=h(u,c,l,d,o[f+12],7,1804603682),d=h(d,u,c,l,o[f+13],12,-40341101),l=h(l,d,u,c,o[f+14],17,-1502002290),u=p(u,c=h(c,l,d,u,o[f+15],22,1236535329),l,d,o[f+1],5,-165796510),d=p(d,u,c,l,o[f+6],9,-1069501632),l=p(l,d,u,c,o[f+11],14,643717713),c=p(c,l,d,u,o[f+0],20,-373897302),u=p(u,c,l,d,o[f+5],5,-701558691),d=p(d,u,c,l,o[f+10],9,38016083),l=p(l,d,u,c,o[f+15],14,-660478335),c=p(c,l,d,u,o[f+4],20,-405537848),u=p(u,c,l,d,o[f+9],5,568446438),d=p(d,u,c,l,o[f+14],9,-1019803690),l=p(l,d,u,c,o[f+3],14,-187363961),c=p(c,l,d,u,o[f+8],20,1163531501),u=p(u,c,l,d,o[f+13],5,-1444681467),d=p(d,u,c,l,o[f+2],9,-51403784),l=p(l,d,u,c,o[f+7],14,1735328473),u=g(u,c=p(c,l,d,u,o[f+12],20,-1926607734),l,d,o[f+5],4,-378558),d=g(d,u,c,l,o[f+8],11,-2022574463),l=g(l,d,u,c,o[f+11],16,1839030562),c=g(c,l,d,u,o[f+14],23,-35309556),u=g(u,c,l,d,o[f+1],4,-1530992060),d=g(d,u,c,l,o[f+4],11,1272893353),l=g(l,d,u,c,o[f+7],16,-155497632),c=g(c,l,d,u,o[f+10],23,-1094730640),u=g(u,c,l,d,o[f+13],4,681279174),d=g(d,u,c,l,o[f+0],11,-358537222),l=g(l,d,u,c,o[f+3],16,-722521979),c=g(c,l,d,u,o[f+6],23,76029189),u=g(u,c,l,d,o[f+9],4,-640364487),d=g(d,u,c,l,o[f+12],11,-421815835),l=g(l,d,u,c,o[f+15],16,530742520),u=v(u,c=g(c,l,d,u,o[f+2],23,-995338651),l,d,o[f+0],6,-198630844),d=v(d,u,c,l,o[f+7],10,1126891415),l=v(l,d,u,c,o[f+14],15,-1416354905),c=v(c,l,d,u,o[f+5],21,-57434055),u=v(u,c,l,d,o[f+12],6,1700485571),d=v(d,u,c,l,o[f+3],10,-1894986606),l=v(l,d,u,c,o[f+10],15,-1051523),c=v(c,l,d,u,o[f+1],21,-2054922799),u=v(u,c,l,d,o[f+8],6,1873313359),d=v(d,u,c,l,o[f+15],10,-30611744),l=v(l,d,u,c,o[f+6],15,-1560198380),c=v(c,l,d,u,o[f+13],21,1309151649),u=v(u,c,l,d,o[f+4],6,-145523070),d=v(d,u,c,l,o[f+11],10,-1120210379),l=v(l,d,u,c,o[f+2],15,718787259),c=v(c,l,d,u,o[f+9],21,-343485551),u=u+y>>>0,c=c+m>>>0,l=l+b>>>0,d=d+S>>>0}return e.endian([u,c,l,d])};i._ff=function(e,t,n,i,r,a,o){var s=e+(t&n|~t&i)+(r>>>0)+o;return(s<<a|s>>>32-a)+t},i._gg=function(e,t,n,i,r,a,o){var s=e+(t&i|n&~i)+(r>>>0)+o;return(s<<a|s>>>32-a)+t},i._hh=function(e,t,n,i,r,a,o){var s=e+(t^n^i)+(r>>>0)+o;return(s<<a|s>>>32-a)+t},i._ii=function(e,t,n,i,r,a,o){var s=e+(n^(t|~i))+(r>>>0)+o;return(s<<a|s>>>32-a)+t},i._blocksize=16,i._digestsize=16,Sn.exports=function(t,r){if(void 0!==t){var a=e.wordsToBytes(i(t,r));return r&&r.asBytes?a:r&&r.asString?n.bytesToString(a):e.bytesToHex(a)}}}()),Sn.exports),An=t(Pn),Cn={exports:{}},Dn={exports:{}},wn={exports:{}},Mn={exports:{}},Nn={exports:{}};function On(){return Vn||(Vn=1,function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var n,i=(In||(In=1,function(e,t){!function(e){var t={3:/^[0-9A-F]{8}-[0-9A-F]{4}-3[0-9A-F]{3}-[0-9A-F]{4}-[0-9A-F]{12}$/i,4:/^[0-9A-F]{8}-[0-9A-F]{4}-4[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i,5:/^[0-9A-F]{8}-[0-9A-F]{4}-5[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i,all:/^[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12}$/i};function n(){var e,t,n="";for(e=0;e<32;e++)t=16*Math.random()|0,8!==e&&12!==e&&16!==e&&20!==e||(n+="-"),n+=(12===e?4:16===e?3&t|8:t).toString(16);return n}function i(e,n){var i=t[n||"all"];return i&&i.test(e)||!1}n.isUUID=i,n.VERSION="0.1.0",e.uuid=n,e.isUUID=i}(t),null!==e&&(e.exports=t.uuid)}(Nn,Nn.exports)),Nn.exports),r=(n=i)&&n.__esModule?n:{default:n};t.default={createUUID:function(){return r.default.uuid?r.default.uuid():(0,r.default)()}},e.exports=t.default}(Mn,Mn.exports)),Mn.exports}function xn(){return En||(En=1,function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var n,i=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),r=(n=On())&&n.__esModule?n:{default:n},a=function(){function e(t){var n=t.setup,i=t.db;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this._db=i,this.instanceId="pn-"+r.default.createUUID(),this.secretKey=n.secretKey||n.secret_key,this.subscribeKey=n.subscribeKey||n.subscribe_key,this.publishKey=n.publishKey||n.publish_key,this.sdkName=n.sdkName,this.sdkFamily=n.sdkFamily,this.partnerId=n.partnerId,this.setAuthKey(n.authKey),this.setCipherKey(n.cipherKey),this.setFilterExpression(n.filterExpression),this.origin=n.origin||"pubsub.pndsn.com",this.secure=n.ssl||!1,this.restore=n.restore||!1,this.proxy=n.proxy,this.keepAlive=n.keepAlive,this.keepAliveSettings=n.keepAliveSettings,this.autoNetworkDetection=n.autoNetworkDetection||!1,this.dedupeOnSubscribe=n.dedupeOnSubscribe||!1,this.maximumCacheSize=n.maximumCacheSize||100,this.customEncrypt=n.customEncrypt,this.customDecrypt=n.customDecrypt,"undefined"!=typeof location&&"https:"===location.protocol&&(this.secure=!0),this.logVerbosity=n.logVerbosity||!1,this.suppressLeaveEvents=n.suppressLeaveEvents||!1,this.announceFailedHeartbeats=n.announceFailedHeartbeats||!0,this.announceSuccessfulHeartbeats=n.announceSuccessfulHeartbeats||!1,this.useInstanceId=n.useInstanceId||!1,this.useRequestId=n.useRequestId||!1,this.requestMessageCountThreshold=n.requestMessageCountThreshold,this.setTransactionTimeout(n.transactionalRequestTimeout||15e3),this.setSubscribeTimeout(n.subscribeRequestTimeout||31e4),this.setSendBeaconConfig(n.useSendBeacon||!0),this.setPresenceTimeout(n.presenceTimeout||300),null!=n.heartbeatInterval&&this.setHeartbeatInterval(n.heartbeatInterval),this.setUUID(this._decideUUID(n.uuid))}return i(e,[{key:"getAuthKey",value:function(){return this.authKey}},{key:"setAuthKey",value:function(e){return this.authKey=e,this}},{key:"setCipherKey",value:function(e){return this.cipherKey=e,this}},{key:"getUUID",value:function(){return this.UUID}},{key:"setUUID",value:function(e){return this._db&&this._db.set&&this._db.set(this.subscribeKey+"uuid",e),this.UUID=e,this}},{key:"getFilterExpression",value:function(){return this.filterExpression}},{key:"setFilterExpression",value:function(e){return this.filterExpression=e,this}},{key:"getPresenceTimeout",value:function(){return this._presenceTimeout}},{key:"setPresenceTimeout",value:function(e){return this._presenceTimeout=e,this.setHeartbeatInterval(this._presenceTimeout/2-1),this}},{key:"setProxy",value:function(e){this.proxy=e}},{key:"getHeartbeatInterval",value:function(){return this._heartbeatInterval}},{key:"setHeartbeatInterval",value:function(e){return this._heartbeatInterval=e,this}},{key:"getSubscribeTimeout",value:function(){return this._subscribeRequestTimeout}},{key:"setSubscribeTimeout",value:function(e){return this._subscribeRequestTimeout=e,this}},{key:"getTransactionTimeout",value:function(){return this._transactionalRequestTimeout}},{key:"setTransactionTimeout",value:function(e){return this._transactionalRequestTimeout=e,this}},{key:"isSendBeaconEnabled",value:function(){return this._useSendBeacon}},{key:"setSendBeaconConfig",value:function(e){return this._useSendBeacon=e,this}},{key:"getVersion",value:function(){return"4.20.3"}},{key:"_decideUUID",value:function(e){return e||(this._db&&this._db.get&&this._db.get(this.subscribeKey+"uuid")?this._db.get(this.subscribeKey+"uuid"):"pn-"+r.default.createUUID())}}]),e}();t.default=a,e.exports=t.default}(wn,wn.exports)),wn.exports}var zn,Ln,Rn,Kn={exports:{}};function Fn(){return Rn||(Rn=1,function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}();a(xn());var i=function(){if(Ln)return zn;Ln=1;var e,t,n,i,r,a=a||function(e){var t={},n=t.lib={},i=function(){},r=n.Base={extend:function(e){i.prototype=this;var t=new i;return e&&t.mixIn(e),t.hasOwnProperty("init")||(t.init=function(){t.$super.init.apply(this,arguments)}),t.init.prototype=t,t.$super=this,t},create:function(){var e=this.extend();return e.init.apply(e,arguments),e},init:function(){},mixIn:function(e){for(var t in e)e.hasOwnProperty(t)&&(this[t]=e[t]);e.hasOwnProperty("toString")&&(this.toString=e.toString)},clone:function(){return this.init.prototype.extend(this)}},a=n.WordArray=r.extend({init:function(e,t){e=this.words=e||[],this.sigBytes=null!=t?t:4*e.length},toString:function(e){return(e||s).stringify(this)},concat:function(e){var t=this.words,n=e.words,i=this.sigBytes;if(e=e.sigBytes,this.clamp(),i%4)for(var r=0;r<e;r++)t[i+r>>>2]|=(n[r>>>2]>>>24-r%4*8&255)<<24-(i+r)%4*8;else if(65535<n.length)for(r=0;r<e;r+=4)t[i+r>>>2]=n[r>>>2];else t.push.apply(t,n);return this.sigBytes+=e,this},clamp:function(){var t=this.words,n=this.sigBytes;t[n>>>2]&=4294967295<<32-n%4*8,t.length=e.ceil(n/4)},clone:function(){var e=r.clone.call(this);return e.words=this.words.slice(0),e},random:function(t){for(var n=[],i=0;i<t;i+=4)n.push(4294967296*e.random()|0);return new a.init(n,t)}}),o=t.enc={},s=o.Hex={stringify:function(e){var t=e.words;e=e.sigBytes;for(var n=[],i=0;i<e;i++){var r=t[i>>>2]>>>24-i%4*8&255;n.push((r>>>4).toString(16)),n.push((15&r).toString(16))}return n.join("")},parse:function(e){for(var t=e.length,n=[],i=0;i<t;i+=2)n[i>>>3]|=parseInt(e.substr(i,2),16)<<24-i%8*4;return new a.init(n,t/2)}},u=o.Latin1={stringify:function(e){var t=e.words;e=e.sigBytes;for(var n=[],i=0;i<e;i++)n.push(String.fromCharCode(t[i>>>2]>>>24-i%4*8&255));return n.join("")},parse:function(e){for(var t=e.length,n=[],i=0;i<t;i++)n[i>>>2]|=(255&e.charCodeAt(i))<<24-i%4*8;return new a.init(n,t)}},c=o.Utf8={stringify:function(e){try{return decodeURIComponent(escape(u.stringify(e)))}catch(e){throw Error("Malformed UTF-8 data")}},parse:function(e){return u.parse(unescape(encodeURIComponent(e)))}},l=n.BufferedBlockAlgorithm=r.extend({reset:function(){this._data=new a.init,this._nDataBytes=0},_append:function(e){"string"==typeof e&&(e=c.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(t){var n=this._data,i=n.words,r=n.sigBytes,o=this.blockSize,s=r/(4*o);if(t=(s=t?e.ceil(s):e.max((0|s)-this._minBufferSize,0))*o,r=e.min(4*t,r),t){for(var u=0;u<t;u+=o)this._doProcessBlock(i,u);u=i.splice(0,t),n.sigBytes-=r}return new a.init(u,r)},clone:function(){var e=r.clone.call(this);return e._data=this._data.clone(),e},_minBufferSize:0});n.Hasher=l.extend({cfg:r.extend(),init:function(e){this.cfg=this.cfg.extend(e),this.reset()},reset:function(){l.reset.call(this),this._doReset()},update:function(e){return this._append(e),this._process(),this},finalize:function(e){return e&&this._append(e),this._doFinalize()},blockSize:16,_createHelper:function(e){return function(t,n){return new e.init(n).finalize(t)}},_createHmacHelper:function(e){return function(t,n){return new d.HMAC.init(e,n).finalize(t)}}});var d=t.algo={};return t}(Math);return function(e){for(var t=a,n=(r=t.lib).WordArray,i=r.Hasher,r=t.algo,o=[],s=[],u=function(e){return 4294967296*(e-(0|e))|0},c=2,l=0;64>l;){var d;e:{d=c;for(var f=e.sqrt(d),h=2;h<=f;h++)if(!(d%h)){d=!1;break e}d=!0}d&&(8>l&&(o[l]=u(e.pow(c,.5))),s[l]=u(e.pow(c,1/3)),l++),c++}var p=[];r=r.SHA256=i.extend({_doReset:function(){this._hash=new n.init(o.slice(0))},_doProcessBlock:function(e,t){for(var n=this._hash.words,i=n[0],r=n[1],a=n[2],o=n[3],u=n[4],c=n[5],l=n[6],d=n[7],f=0;64>f;f++){if(16>f)p[f]=0|e[t+f];else{var h=p[f-15],g=p[f-2];p[f]=((h<<25|h>>>7)^(h<<14|h>>>18)^h>>>3)+p[f-7]+((g<<15|g>>>17)^(g<<13|g>>>19)^g>>>10)+p[f-16]}h=d+((u<<26|u>>>6)^(u<<21|u>>>11)^(u<<7|u>>>25))+(u&c^~u&l)+s[f]+p[f],g=((i<<30|i>>>2)^(i<<19|i>>>13)^(i<<10|i>>>22))+(i&r^i&a^r&a),d=l,l=c,c=u,u=o+h|0,o=a,a=r,r=i,i=h+g|0}n[0]=n[0]+i|0,n[1]=n[1]+r|0,n[2]=n[2]+a|0,n[3]=n[3]+o|0,n[4]=n[4]+u|0,n[5]=n[5]+c|0,n[6]=n[6]+l|0,n[7]=n[7]+d|0},_doFinalize:function(){var t=this._data,n=t.words,i=8*this._nDataBytes,r=8*t.sigBytes;return n[r>>>5]|=128<<24-r%32,n[14+(r+64>>>9<<4)]=e.floor(i/4294967296),n[15+(r+64>>>9<<4)]=i,t.sigBytes=4*n.length,this._process(),this._hash},clone:function(){var e=i.clone.call(this);return e._hash=this._hash.clone(),e}}),t.SHA256=i._createHelper(r),t.HmacSHA256=i._createHmacHelper(r)}(Math),t=(e=a).enc.Utf8,e.algo.HMAC=e.lib.Base.extend({init:function(e,n){e=this._hasher=new e.init,"string"==typeof n&&(n=t.parse(n));var i=e.blockSize,r=4*i;n.sigBytes>r&&(n=e.finalize(n)),n.clamp();for(var a=this._oKey=n.clone(),o=this._iKey=n.clone(),s=a.words,u=o.words,c=0;c<i;c++)s[c]^=1549556828,u[c]^=909522486;a.sigBytes=o.sigBytes=r,this.reset()},reset:function(){var e=this._hasher;e.reset(),e.update(this._iKey)},update:function(e){return this._hasher.update(e),this},finalize:function(e){var t=this._hasher;return e=t.finalize(e),t.reset(),t.finalize(this._oKey.clone().concat(e))}}),i=(n=a).lib.WordArray,n.enc.Base64={stringify:function(e){var t=e.words,n=e.sigBytes,i=this._map;e.clamp(),e=[];for(var r=0;r<n;r+=3)for(var a=(t[r>>>2]>>>24-r%4*8&255)<<16|(t[r+1>>>2]>>>24-(r+1)%4*8&255)<<8|t[r+2>>>2]>>>24-(r+2)%4*8&255,o=0;4>o&&r+.75*o<n;o++)e.push(i.charAt(a>>>6*(3-o)&63));if(t=i.charAt(64))for(;e.length%4;)e.push(t);return e.join("")},parse:function(e){var t=e.length,n=this._map;(r=n.charAt(64))&&-1!=(r=e.indexOf(r))&&(t=r);for(var r=[],a=0,o=0;o<t;o++)if(o%4){var s=n.indexOf(e.charAt(o-1))<<o%4*2,u=n.indexOf(e.charAt(o))>>>6-o%4*2;r[a>>>2]|=(s|u)<<24-a%4*8,a++}return i.create(r,a)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="},function(e){function t(e,t,n,i,r,a,o){return((e=e+(t&n|~t&i)+r+o)<<a|e>>>32-a)+t}function n(e,t,n,i,r,a,o){return((e=e+(t&i|n&~i)+r+o)<<a|e>>>32-a)+t}function i(e,t,n,i,r,a,o){return((e=e+(t^n^i)+r+o)<<a|e>>>32-a)+t}function r(e,t,n,i,r,a,o){return((e=e+(n^(t|~i))+r+o)<<a|e>>>32-a)+t}for(var o=a,s=(c=o.lib).WordArray,u=c.Hasher,c=o.algo,l=[],d=0;64>d;d++)l[d]=4294967296*e.abs(e.sin(d+1))|0;c=c.MD5=u.extend({_doReset:function(){this._hash=new s.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(e,a){for(var o=0;16>o;o++){var s=e[u=a+o];e[u]=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8)}o=this._hash.words;var u=e[a+0],c=(s=e[a+1],e[a+2]),d=e[a+3],f=e[a+4],h=e[a+5],p=e[a+6],g=e[a+7],v=e[a+8],y=e[a+9],m=e[a+10],b=e[a+11],S=e[a+12],_=e[a+13],k=e[a+14],T=e[a+15],I=t(I=o[0],P=o[1],E=o[2],V=o[3],u,7,l[0]),V=t(V,I,P,E,s,12,l[1]),E=t(E,V,I,P,c,17,l[2]),P=t(P,E,V,I,d,22,l[3]);I=t(I,P,E,V,f,7,l[4]),V=t(V,I,P,E,h,12,l[5]),E=t(E,V,I,P,p,17,l[6]),P=t(P,E,V,I,g,22,l[7]),I=t(I,P,E,V,v,7,l[8]),V=t(V,I,P,E,y,12,l[9]),E=t(E,V,I,P,m,17,l[10]),P=t(P,E,V,I,b,22,l[11]),I=t(I,P,E,V,S,7,l[12]),V=t(V,I,P,E,_,12,l[13]),E=t(E,V,I,P,k,17,l[14]),I=n(I,P=t(P,E,V,I,T,22,l[15]),E,V,s,5,l[16]),V=n(V,I,P,E,p,9,l[17]),E=n(E,V,I,P,b,14,l[18]),P=n(P,E,V,I,u,20,l[19]),I=n(I,P,E,V,h,5,l[20]),V=n(V,I,P,E,m,9,l[21]),E=n(E,V,I,P,T,14,l[22]),P=n(P,E,V,I,f,20,l[23]),I=n(I,P,E,V,y,5,l[24]),V=n(V,I,P,E,k,9,l[25]),E=n(E,V,I,P,d,14,l[26]),P=n(P,E,V,I,v,20,l[27]),I=n(I,P,E,V,_,5,l[28]),V=n(V,I,P,E,c,9,l[29]),E=n(E,V,I,P,g,14,l[30]),I=i(I,P=n(P,E,V,I,S,20,l[31]),E,V,h,4,l[32]),V=i(V,I,P,E,v,11,l[33]),E=i(E,V,I,P,b,16,l[34]),P=i(P,E,V,I,k,23,l[35]),I=i(I,P,E,V,s,4,l[36]),V=i(V,I,P,E,f,11,l[37]),E=i(E,V,I,P,g,16,l[38]),P=i(P,E,V,I,m,23,l[39]),I=i(I,P,E,V,_,4,l[40]),V=i(V,I,P,E,u,11,l[41]),E=i(E,V,I,P,d,16,l[42]),P=i(P,E,V,I,p,23,l[43]),I=i(I,P,E,V,y,4,l[44]),V=i(V,I,P,E,S,11,l[45]),E=i(E,V,I,P,T,16,l[46]),I=r(I,P=i(P,E,V,I,c,23,l[47]),E,V,u,6,l[48]),V=r(V,I,P,E,g,10,l[49]),E=r(E,V,I,P,k,15,l[50]),P=r(P,E,V,I,h,21,l[51]),I=r(I,P,E,V,S,6,l[52]),V=r(V,I,P,E,d,10,l[53]),E=r(E,V,I,P,m,15,l[54]),P=r(P,E,V,I,s,21,l[55]),I=r(I,P,E,V,v,6,l[56]),V=r(V,I,P,E,T,10,l[57]),E=r(E,V,I,P,p,15,l[58]),P=r(P,E,V,I,_,21,l[59]),I=r(I,P,E,V,f,6,l[60]),V=r(V,I,P,E,b,10,l[61]),E=r(E,V,I,P,c,15,l[62]),P=r(P,E,V,I,y,21,l[63]),o[0]=o[0]+I|0,o[1]=o[1]+P|0,o[2]=o[2]+E|0,o[3]=o[3]+V|0},_doFinalize:function(){var t=this._data,n=t.words,i=8*this._nDataBytes,r=8*t.sigBytes;n[r>>>5]|=128<<24-r%32;var a=e.floor(i/4294967296);for(n[15+(r+64>>>9<<4)]=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),n[14+(r+64>>>9<<4)]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8),t.sigBytes=4*(n.length+1),this._process(),n=(t=this._hash).words,i=0;4>i;i++)r=n[i],n[i]=16711935&(r<<8|r>>>24)|4278255360&(r<<24|r>>>8);return t},clone:function(){var e=u.clone.call(this);return e._hash=this._hash.clone(),e}}),o.MD5=u._createHelper(c),o.HmacMD5=u._createHmacHelper(c)}(Math),function(){var e,t=a,n=(e=t.lib).Base,i=e.WordArray,r=(e=t.algo).EvpKDF=n.extend({cfg:n.extend({keySize:4,hasher:e.MD5,iterations:1}),init:function(e){this.cfg=this.cfg.extend(e)},compute:function(e,t){for(var n=(s=this.cfg).hasher.create(),r=i.create(),a=r.words,o=s.keySize,s=s.iterations;a.length<o;){u&&n.update(u);var u=n.update(e).finalize(t);n.reset();for(var c=1;c<s;c++)u=n.finalize(u),n.reset();r.concat(u)}return r.sigBytes=4*o,r}});t.EvpKDF=function(e,t,n){return r.create(n).compute(e,t)}}(),a.lib.Cipher||function(){var e=(h=a).lib,t=e.Base,n=e.WordArray,i=e.BufferedBlockAlgorithm,r=h.enc.Base64,o=h.algo.EvpKDF,s=e.Cipher=i.extend({cfg:t.extend(),createEncryptor:function(e,t){return this.create(this._ENC_XFORM_MODE,e,t)},createDecryptor:function(e,t){return this.create(this._DEC_XFORM_MODE,e,t)},init:function(e,t,n){this.cfg=this.cfg.extend(n),this._xformMode=e,this._key=t,this.reset()},reset:function(){i.reset.call(this),this._doReset()},process:function(e){return this._append(e),this._process()},finalize:function(e){return e&&this._append(e),this._doFinalize()},keySize:4,ivSize:4,_ENC_XFORM_MODE:1,_DEC_XFORM_MODE:2,_createHelper:function(e){return{encrypt:function(t,n,i){return("string"==typeof n?p:f).encrypt(e,t,n,i)},decrypt:function(t,n,i){return("string"==typeof n?p:f).decrypt(e,t,n,i)}}}});e.StreamCipher=s.extend({_doFinalize:function(){return this._process(!0)},blockSize:1});var u=h.mode={},c=function(e,t,n){var i=this._iv;i?this._iv=void 0:i=this._prevBlock;for(var r=0;r<n;r++)e[t+r]^=i[r]},l=(e.BlockCipherMode=t.extend({createEncryptor:function(e,t){return this.Encryptor.create(e,t)},createDecryptor:function(e,t){return this.Decryptor.create(e,t)},init:function(e,t){this._cipher=e,this._iv=t}})).extend();l.Encryptor=l.extend({processBlock:function(e,t){var n=this._cipher,i=n.blockSize;c.call(this,e,t,i),n.encryptBlock(e,t),this._prevBlock=e.slice(t,t+i)}}),l.Decryptor=l.extend({processBlock:function(e,t){var n=this._cipher,i=n.blockSize,r=e.slice(t,t+i);n.decryptBlock(e,t),c.call(this,e,t,i),this._prevBlock=r}}),u=u.CBC=l,l=(h.pad={}).Pkcs7={pad:function(e,t){for(var i,r=(i=(i=4*t)-e.sigBytes%i)<<24|i<<16|i<<8|i,a=[],o=0;o<i;o+=4)a.push(r);i=n.create(a,i),e.concat(i)},unpad:function(e){e.sigBytes-=255&e.words[e.sigBytes-1>>>2]}},e.BlockCipher=s.extend({cfg:s.cfg.extend({mode:u,padding:l}),reset:function(){s.reset.call(this);var e=(t=this.cfg).iv,t=t.mode;if(this._xformMode==this._ENC_XFORM_MODE)var n=t.createEncryptor;else n=t.createDecryptor,this._minBufferSize=1;this._mode=n.call(t,this,e&&e.words)},_doProcessBlock:function(e,t){this._mode.processBlock(e,t)},_doFinalize:function(){var e=this.cfg.padding;if(this._xformMode==this._ENC_XFORM_MODE){e.pad(this._data,this.blockSize);var t=this._process(!0)}else t=this._process(!0),e.unpad(t);return t},blockSize:4});var d=e.CipherParams=t.extend({init:function(e){this.mixIn(e)},toString:function(e){return(e||this.formatter).stringify(this)}}),f=(u=(h.format={}).OpenSSL={stringify:function(e){var t=e.ciphertext;return((e=e.salt)?n.create([1398893684,1701076831]).concat(e).concat(t):t).toString(r)},parse:function(e){var t=(e=r.parse(e)).words;if(1398893684==t[0]&&1701076831==t[1]){var i=n.create(t.slice(2,4));t.splice(0,4),e.sigBytes-=16}return d.create({ciphertext:e,salt:i})}},e.SerializableCipher=t.extend({cfg:t.extend({format:u}),encrypt:function(e,t,n,i){i=this.cfg.extend(i);var r=e.createEncryptor(n,i);return t=r.finalize(t),r=r.cfg,d.create({ciphertext:t,key:n,iv:r.iv,algorithm:e,mode:r.mode,padding:r.padding,blockSize:e.blockSize,formatter:i.format})},decrypt:function(e,t,n,i){return i=this.cfg.extend(i),t=this._parse(t,i.format),e.createDecryptor(n,i).finalize(t.ciphertext)},_parse:function(e,t){return"string"==typeof e?t.parse(e,this):e}})),h=(h.kdf={}).OpenSSL={execute:function(e,t,i,r){return r||(r=n.random(8)),e=o.create({keySize:t+i}).compute(e,r),i=n.create(e.words.slice(t),4*i),e.sigBytes=4*t,d.create({key:e,iv:i,salt:r})}},p=e.PasswordBasedCipher=f.extend({cfg:f.cfg.extend({kdf:h}),encrypt:function(e,t,n,i){return n=(i=this.cfg.extend(i)).kdf.execute(n,e.keySize,e.ivSize),i.iv=n.iv,(e=f.encrypt.call(this,e,t,n.key,i)).mixIn(n),e},decrypt:function(e,t,n,i){return i=this.cfg.extend(i),t=this._parse(t,i.format),n=i.kdf.execute(n,e.keySize,e.ivSize,t.salt),i.iv=n.iv,f.decrypt.call(this,e,t,n.key,i)}})}(),function(){for(var e=a,t=e.lib.BlockCipher,n=e.algo,i=[],r=[],o=[],s=[],u=[],c=[],l=[],d=[],f=[],h=[],p=[],g=0;256>g;g++)p[g]=128>g?g<<1:g<<1^283;var v=0,y=0;for(g=0;256>g;g++){var m=(m=y^y<<1^y<<2^y<<3^y<<4)>>>8^255&m^99;i[v]=m,r[m]=v;var b=p[v],S=p[b],_=p[S],k=257*p[m]^16843008*m;o[v]=k<<24|k>>>8,s[v]=k<<16|k>>>16,u[v]=k<<8|k>>>24,c[v]=k,k=16843009*_^65537*S^257*b^16843008*v,l[m]=k<<24|k>>>8,d[m]=k<<16|k>>>16,f[m]=k<<8|k>>>24,h[m]=k,v?(v=b^p[p[p[_^b]]],y^=p[p[y]]):v=y=1}var T=[0,1,2,4,8,16,32,64,128,27,54];n=n.AES=t.extend({_doReset:function(){for(var e=(n=this._key).words,t=n.sigBytes/4,n=4*((this._nRounds=t+6)+1),r=this._keySchedule=[],a=0;a<n;a++)if(a<t)r[a]=e[a];else{var o=r[a-1];a%t?6<t&&4==a%t&&(o=i[o>>>24]<<24|i[o>>>16&255]<<16|i[o>>>8&255]<<8|i[255&o]):(o=i[(o=o<<8|o>>>24)>>>24]<<24|i[o>>>16&255]<<16|i[o>>>8&255]<<8|i[255&o],o^=T[a/t|0]<<24),r[a]=r[a-t]^o}for(e=this._invKeySchedule=[],t=0;t<n;t++)a=n-t,o=t%4?r[a]:r[a-4],e[t]=4>t||4>=a?o:l[i[o>>>24]]^d[i[o>>>16&255]]^f[i[o>>>8&255]]^h[i[255&o]]},encryptBlock:function(e,t){this._doCryptBlock(e,t,this._keySchedule,o,s,u,c,i)},decryptBlock:function(e,t){var n=e[t+1];e[t+1]=e[t+3],e[t+3]=n,this._doCryptBlock(e,t,this._invKeySchedule,l,d,f,h,r),n=e[t+1],e[t+1]=e[t+3],e[t+3]=n},_doCryptBlock:function(e,t,n,i,r,a,o,s){for(var u=this._nRounds,c=e[t]^n[0],l=e[t+1]^n[1],d=e[t+2]^n[2],f=e[t+3]^n[3],h=4,p=1;p<u;p++){var g=i[c>>>24]^r[l>>>16&255]^a[d>>>8&255]^o[255&f]^n[h++],v=i[l>>>24]^r[d>>>16&255]^a[f>>>8&255]^o[255&c]^n[h++],y=i[d>>>24]^r[f>>>16&255]^a[c>>>8&255]^o[255&l]^n[h++];f=i[f>>>24]^r[c>>>16&255]^a[l>>>8&255]^o[255&d]^n[h++],c=g,l=v,d=y}g=(s[c>>>24]<<24|s[l>>>16&255]<<16|s[d>>>8&255]<<8|s[255&f])^n[h++],v=(s[l>>>24]<<24|s[d>>>16&255]<<16|s[f>>>8&255]<<8|s[255&c])^n[h++],y=(s[d>>>24]<<24|s[f>>>16&255]<<16|s[c>>>8&255]<<8|s[255&l])^n[h++],f=(s[f>>>24]<<24|s[c>>>16&255]<<16|s[l>>>8&255]<<8|s[255&d])^n[h++],e[t]=g,e[t+1]=v,e[t+2]=y,e[t+3]=f},keySize:8}),e.AES=t._createHelper(n)}(),a.mode.ECB=((r=a.lib.BlockCipherMode.extend()).Encryptor=r.extend({processBlock:function(e,t){this._cipher.encryptBlock(e,t)}}),r.Decryptor=r.extend({processBlock:function(e,t){this._cipher.decryptBlock(e,t)}}),r),zn=a}(),r=a(i);function a(e){return e&&e.__esModule?e:{default:e}}var o=function(){function e(t){var n=t.config;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this._config=n,this._iv="0123456789012345",this._allowedKeyEncodings=["hex","utf8","base64","binary"],this._allowedKeyLengths=[128,256],this._allowedModes=["ecb","cbc"],this._defaultOptions={encryptKey:!0,keyEncoding:"utf8",keyLength:256,mode:"cbc"}}return n(e,[{key:"HMACSHA256",value:function(e){return r.default.HmacSHA256(e,this._config.secretKey).toString(r.default.enc.Base64)}},{key:"SHA256",value:function(e){return r.default.SHA256(e).toString(r.default.enc.Hex)}},{key:"_parseOptions",value:function(e){var t=e||{};return t.hasOwnProperty("encryptKey")||(t.encryptKey=this._defaultOptions.encryptKey),t.hasOwnProperty("keyEncoding")||(t.keyEncoding=this._defaultOptions.keyEncoding),t.hasOwnProperty("keyLength")||(t.keyLength=this._defaultOptions.keyLength),t.hasOwnProperty("mode")||(t.mode=this._defaultOptions.mode),-1===this._allowedKeyEncodings.indexOf(t.keyEncoding.toLowerCase())&&(t.keyEncoding=this._defaultOptions.keyEncoding),-1===this._allowedKeyLengths.indexOf(parseInt(t.keyLength,10))&&(t.keyLength=this._defaultOptions.keyLength),-1===this._allowedModes.indexOf(t.mode.toLowerCase())&&(t.mode=this._defaultOptions.mode),t}},{key:"_decodeKey",value:function(e,t){return"base64"===t.keyEncoding?r.default.enc.Base64.parse(e):"hex"===t.keyEncoding?r.default.enc.Hex.parse(e):e}},{key:"_getPaddedKey",value:function(e,t){return e=this._decodeKey(e,t),t.encryptKey?r.default.enc.Utf8.parse(this.SHA256(e).slice(0,32)):e}},{key:"_getMode",value:function(e){return"ecb"===e.mode?r.default.mode.ECB:r.default.mode.CBC}},{key:"_getIV",value:function(e){return"cbc"===e.mode?r.default.enc.Utf8.parse(this._iv):null}},{key:"encrypt",value:function(e,t,n){return this._config.customEncrypt?this._config.customEncrypt(e):this.pnEncrypt(e,t,n)}},{key:"decrypt",value:function(e,t,n){return this._config.customDecrypt?this._config.customDecrypt(e):this.pnDecrypt(e,t,n)}},{key:"pnEncrypt",value:function(e,t,n){if(!t&&!this._config.cipherKey)return e;n=this._parseOptions(n);var i=this._getIV(n),a=this._getMode(n),o=this._getPaddedKey(t||this._config.cipherKey,n);return r.default.AES.encrypt(e,o,{iv:i,mode:a}).ciphertext.toString(r.default.enc.Base64)||e}},{key:"pnDecrypt",value:function(e,t,n){if(!t&&!this._config.cipherKey)return e;n=this._parseOptions(n);var i=this._getIV(n),a=this._getMode(n),o=this._getPaddedKey(t||this._config.cipherKey,n);try{var s=r.default.enc.Base64.parse(e),u=r.default.AES.decrypt({ciphertext:s},o,{iv:i,mode:a}).toString(r.default.enc.Utf8);return JSON.parse(u)}catch(e){return null}}}]),e}();t.default=o,e.exports=t.default}(Kn,Kn.exports)),Kn.exports}var Un,Bn,Hn={exports:{}},Gn={exports:{}},Wn={exports:{}};function qn(){return Un||(Un=1,function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default={PNNetworkUpCategory:"PNNetworkUpCategory",PNNetworkDownCategory:"PNNetworkDownCategory",PNNetworkIssuesCategory:"PNNetworkIssuesCategory",PNTimeoutCategory:"PNTimeoutCategory",PNBadRequestCategory:"PNBadRequestCategory",PNAccessDeniedCategory:"PNAccessDeniedCategory",PNUnknownCategory:"PNUnknownCategory",PNReconnectedCategory:"PNReconnectedCategory",PNConnectedCategory:"PNConnectedCategory",PNRequestMessageCountExceededCategory:"PNRequestMessageCountExceededCategory"},e.exports=t.default}(Wn,Wn.exports)),Wn.exports}function jn(){return Bn||(Bn=1,function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var n,i=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),r=(n=qn())&&n.__esModule?n:{default:n},a=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this._listeners=[]}return i(e,[{key:"addListener",value:function(e){this._listeners.push(e)}},{key:"removeListener",value:function(e){var t=[];this._listeners.forEach(function(n){n!==e&&t.push(n)}),this._listeners=t}},{key:"removeAllListeners",value:function(){this._listeners=[]}},{key:"announcePresence",value:function(e){this._listeners.forEach(function(t){t.presence&&t.presence(e)})}},{key:"announceStatus",value:function(e){this._listeners.forEach(function(t){t.status&&t.status(e)})}},{key:"announceMessage",value:function(e){this._listeners.forEach(function(t){t.message&&t.message(e)})}},{key:"announceNetworkUp",value:function(){var e={};e.category=r.default.PNNetworkUpCategory,this.announceStatus(e)}},{key:"announceNetworkDown",value:function(){var e={};e.category=r.default.PNNetworkDownCategory,this.announceStatus(e)}}]),e}();t.default=a,e.exports=t.default}(Gn,Gn.exports)),Gn.exports}var Yn,Qn,Jn,Zn={exports:{}},Xn={},$n={exports:{}};function ei(){return Yn||(Yn=1,function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default={PNTimeOperation:"PNTimeOperation",PNHistoryOperation:"PNHistoryOperation",PNDeleteMessagesOperation:"PNDeleteMessagesOperation",PNFetchMessagesOperation:"PNFetchMessagesOperation",PNSubscribeOperation:"PNSubscribeOperation",PNUnsubscribeOperation:"PNUnsubscribeOperation",PNPublishOperation:"PNPublishOperation",PNPushNotificationEnabledChannelsOperation:"PNPushNotificationEnabledChannelsOperation",PNRemoveAllPushNotificationsOperation:"PNRemoveAllPushNotificationsOperation",PNWhereNowOperation:"PNWhereNowOperation",PNSetStateOperation:"PNSetStateOperation",PNHereNowOperation:"PNHereNowOperation",PNGetStateOperation:"PNGetStateOperation",PNHeartbeatOperation:"PNHeartbeatOperation",PNChannelGroupsOperation:"PNChannelGroupsOperation",PNRemoveGroupOperation:"PNRemoveGroupOperation",PNChannelsForGroupOperation:"PNChannelsForGroupOperation",PNAddChannelsToGroupOperation:"PNAddChannelsToGroupOperation",PNRemoveChannelsFromGroupOperation:"PNRemoveChannelsFromGroupOperation",PNAccessManagerGrant:"PNAccessManagerGrant",PNAccessManagerAudit:"PNAccessManagerAudit"},e.exports=t.default}($n,$n.exports)),$n.exports}function ti(){if(Qn)return Xn;Qn=1,Object.defineProperty(Xn,"__esModule",{value:!0}),Xn.getOperation=function(){return t.default.PNTimeOperation},Xn.getURL=function(){return"/time/0"},Xn.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},Xn.prepareParams=function(){return{}},Xn.isAuthSupported=function(){return!1},Xn.handleResponse=function(e,t){return{timetoken:t[0]}},Xn.validateParams=function(){};var e,t=(e=ei())&&e.__esModule?e:{default:e};return Xn}var ni,ii,ri,ai,oi={exports:{}};function si(){if(ri)return ii;function e(e){return encodeURIComponent(e).replace(/[!~*'()]/g,function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()})}return ri=1,ii={signPamFromParams:function(t){return(n=t,function(e){var t=[];return Object.keys(e).forEach(function(e){return t.push(e)}),t}(n).sort()).map(function(n){return n+"="+e(t[n])}).join("&");var n},endsWith:function(e,t){return-1!==e.indexOf(t,this.length-t.length)},createPromise:function(){var e=void 0,t=void 0;return{promise:new Promise(function(n,i){e=n,t=i}),reject:t,fulfill:e}},encodeString:e}}function ui(){return ai||(ai=1,function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}();s(Fn()),s(xn()),s(jn());var i=s((Jn||(Jn=1,function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var n,i=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}();!(n=ti())||n.__esModule;var r=function(){function e(t){var n=t.timeEndpoint;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this._timeEndpoint=n}return i(e,[{key:"onReconnection",value:function(e){this._reconnectionCallback=e}},{key:"startPolling",value:function(){this._timeTimer=setInterval(this._performTimeLoop.bind(this),3e3)}},{key:"stopPolling",value:function(){clearInterval(this._timeTimer)}},{key:"_performTimeLoop",value:function(){var e=this;this._timeEndpoint(function(t){t.error||(clearInterval(e._timeTimer),e._reconnectionCallback())})}}]),e}();t.default=r,e.exports=t.default}(Zn,Zn.exports)),Zn.exports)),r=s((ni||(ni=1,function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var n,i=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}();!(n=xn())||n.__esModule;var r=function(){function e(t){var n=t.config;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.hashHistory=[],this._config=n}return i(e,[{key:"getKey",value:function(e){var t=function(e){var t=0;if(0===e.length)return t;for(var n=0;n<e.length;n+=1)t=(t<<5)-t+e.charCodeAt(n),t&=t;return t}(JSON.stringify(e.payload)).toString();return e.publishMetaData.publishTimetoken+"-"+t}},{key:"isDuplicate",value:function(e){return this.hashHistory.includes(this.getKey(e))}},{key:"addEntry",value:function(e){this.hashHistory.length>=this._config.maximumCacheSize&&this.hashHistory.shift(),this.hashHistory.push(this.getKey(e))}},{key:"clearHistory",value:function(){this.hashHistory=[]}}]),e}();t.default=r,e.exports=t.default}(oi,oi.exports)),oi.exports)),a=s(si()),o=s(qn());function s(e){return e&&e.__esModule?e:{default:e}}var u=function(){function e(t){var n=t.subscribeEndpoint,a=t.leaveEndpoint,o=t.heartbeatEndpoint,s=t.setStateEndpoint,u=t.timeEndpoint,c=t.config,l=t.crypto,d=t.listenerManager;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this._listenerManager=d,this._config=c,this._leaveEndpoint=a,this._heartbeatEndpoint=o,this._setStateEndpoint=s,this._subscribeEndpoint=n,this._crypto=l,this._channels={},this._presenceChannels={},this._heartbeatChannels={},this._heartbeatChannelGroups={},this._channelGroups={},this._presenceChannelGroups={},this._pendingChannelSubscriptions=[],this._pendingChannelGroupSubscriptions=[],this._currentTimetoken=0,this._lastTimetoken=0,this._storedTimetoken=null,this._subscriptionStatusAnnounced=!1,this._isOnline=!0,this._reconnectionManager=new i.default({timeEndpoint:u}),this._dedupingManager=new r.default({config:c})}return n(e,[{key:"adaptStateChange",value:function(e,t){var n=this,i=e.state,r=e.channels,a=void 0===r?[]:r,o=e.channelGroups,s=void 0===o?[]:o;return a.forEach(function(e){e in n._channels&&(n._channels[e].state=i)}),s.forEach(function(e){e in n._channelGroups&&(n._channelGroups[e].state=i)}),this._setStateEndpoint({state:i,channels:a,channelGroups:s},t)}},{key:"adaptPresenceChange",value:function(e){var t=this,n=e.connected,i=e.channels,r=void 0===i?[]:i,a=e.channelGroups,o=void 0===a?[]:a;n?(r.forEach(function(e){t._heartbeatChannels[e]={state:{}}}),o.forEach(function(e){t._heartbeatChannelGroups[e]={state:{}}})):(r.forEach(function(e){e in t._heartbeatChannels&&delete t._heartbeatChannels[e]}),o.forEach(function(e){e in t._heartbeatChannelGroups&&delete t._heartbeatChannelGroups[e]}),!1===this._config.suppressLeaveEvents&&this._leaveEndpoint({channels:r,channelGroups:o},function(e){t._listenerManager.announceStatus(e)})),this.reconnect()}},{key:"adaptSubscribeChange",value:function(e){var t=this,n=e.timetoken,i=e.channels,r=void 0===i?[]:i,a=e.channelGroups,o=void 0===a?[]:a,s=e.withPresence,u=void 0!==s&&s;this._config.subscribeKey&&""!==this._config.subscribeKey?(n&&(this._lastTimetoken=this._currentTimetoken,this._currentTimetoken=n),"0"!==this._currentTimetoken&&0!==this._currentTimetoken&&(this._storedTimetoken=this._currentTimetoken,this._currentTimetoken=0),r.forEach(function(e){t._channels[e]={state:{}},u&&(t._presenceChannels[e]={}),t._pendingChannelSubscriptions.push(e)}),o.forEach(function(e){t._channelGroups[e]={state:{}},u&&(t._presenceChannelGroups[e]={}),t._pendingChannelGroupSubscriptions.push(e)}),this._subscriptionStatusAnnounced=!1,this.reconnect()):console&&console.log}},{key:"adaptUnsubscribeChange",value:function(e,t){var n=this,i=e.channels,r=void 0===i?[]:i,a=e.channelGroups,o=void 0===a?[]:a,s=[],u=[];r.forEach(function(e){e in n._channels&&(delete n._channels[e],s.push(e)),e in n._presenceChannels&&(delete n._presenceChannels[e],s.push(e))}),o.forEach(function(e){e in n._channelGroups&&(delete n._channelGroups[e],u.push(e)),e in n._presenceChannelGroups&&(delete n._channelGroups[e],u.push(e))}),0===s.length&&0===u.length||(!1!==this._config.suppressLeaveEvents||t||this._leaveEndpoint({channels:s,channelGroups:u},function(e){e.affectedChannels=s,e.affectedChannelGroups=u,e.currentTimetoken=n._currentTimetoken,e.lastTimetoken=n._lastTimetoken,n._listenerManager.announceStatus(e)}),0===Object.keys(this._channels).length&&0===Object.keys(this._presenceChannels).length&&0===Object.keys(this._channelGroups).length&&0===Object.keys(this._presenceChannelGroups).length&&(this._lastTimetoken=0,this._currentTimetoken=0,this._storedTimetoken=null,this._region=null,this._reconnectionManager.stopPolling()),this.reconnect())}},{key:"unsubscribeAll",value:function(e){this.adaptUnsubscribeChange({channels:this.getSubscribedChannels(),channelGroups:this.getSubscribedChannelGroups()},e)}},{key:"getHeartbeatChannels",value:function(){return Object.keys(this._heartbeatChannels)}},{key:"getHeartbeatChannelGroups",value:function(){return Object.keys(this._heartbeatChannelGroups)}},{key:"getSubscribedChannels",value:function(){return Object.keys(this._channels)}},{key:"getSubscribedChannelGroups",value:function(){return Object.keys(this._channelGroups)}},{key:"reconnect",value:function(){this._startSubscribeLoop(),this._registerHeartbeatTimer()}},{key:"disconnect",value:function(){this._stopSubscribeLoop(),this._stopHeartbeatTimer(),this._reconnectionManager.stopPolling()}},{key:"_registerHeartbeatTimer",value:function(){this._stopHeartbeatTimer(),0!==this._config.getHeartbeatInterval()&&(this._performHeartbeatLoop(),this._heartbeatTimer=setInterval(this._performHeartbeatLoop.bind(this),1e3*this._config.getHeartbeatInterval()))}},{key:"_stopHeartbeatTimer",value:function(){this._heartbeatTimer&&(clearInterval(this._heartbeatTimer),this._heartbeatTimer=null)}},{key:"_performHeartbeatLoop",value:function(){var e=this,t=[];t=(t=t.concat(this.getHeartbeatChannels())).concat(this.getSubscribedChannels());var n=[];n=(n=n.concat(this.getHeartbeatChannelGroups())).concat(this.getSubscribedChannelGroups());var i={};0===t.length&&0===n.length||(this.getSubscribedChannels().forEach(function(t){var n=e._channels[t].state;Object.keys(n).length&&(i[t]=n)}),this.getSubscribedChannelGroups().forEach(function(t){var n=e._channelGroups[t].state;Object.keys(n).length&&(i[t]=n)}),this._heartbeatEndpoint({channels:t,channelGroups:n,state:i},function(t){t.error&&e._config.announceFailedHeartbeats&&e._listenerManager.announceStatus(t),t.error&&e._config.autoNetworkDetection&&e._isOnline&&(e._isOnline=!1,e.disconnect(),e._listenerManager.announceNetworkDown(),e.reconnect()),!t.error&&e._config.announceSuccessfulHeartbeats&&e._listenerManager.announceStatus(t)}.bind(this)))}},{key:"_startSubscribeLoop",value:function(){this._stopSubscribeLoop();var e=[],t=[];if(Object.keys(this._channels).forEach(function(t){return e.push(t)}),Object.keys(this._presenceChannels).forEach(function(t){return e.push(t+"-pnpres")}),Object.keys(this._channelGroups).forEach(function(e){return t.push(e)}),Object.keys(this._presenceChannelGroups).forEach(function(e){return t.push(e+"-pnpres")}),0!==e.length||0!==t.length){var n={channels:e,channelGroups:t,timetoken:this._currentTimetoken,filterExpression:this._config.filterExpression,region:this._region};this._subscribeCall=this._subscribeEndpoint(n,this._processSubscribeResponse.bind(this))}}},{key:"_processSubscribeResponse",value:function(e,t){var n=this;if(e.error)e.category===o.default.PNTimeoutCategory?this._startSubscribeLoop():e.category===o.default.PNNetworkIssuesCategory?(this.disconnect(),e.error&&this._config.autoNetworkDetection&&this._isOnline&&(this._isOnline=!1,this._listenerManager.announceNetworkDown()),this._reconnectionManager.onReconnection(function(){n._config.autoNetworkDetection&&!n._isOnline&&(n._isOnline=!0,n._listenerManager.announceNetworkUp()),n.reconnect(),n._subscriptionStatusAnnounced=!0;var t={category:o.default.PNReconnectedCategory,operation:e.operation,lastTimetoken:n._lastTimetoken,currentTimetoken:n._currentTimetoken};n._listenerManager.announceStatus(t)}),this._reconnectionManager.startPolling(),this._listenerManager.announceStatus(e)):e.category===o.default.PNBadRequestCategory?(this._stopHeartbeatTimer(),this._listenerManager.announceStatus(e)):this._listenerManager.announceStatus(e);else{if(this._storedTimetoken?(this._currentTimetoken=this._storedTimetoken,this._storedTimetoken=null):(this._lastTimetoken=this._currentTimetoken,this._currentTimetoken=t.metadata.timetoken),!this._subscriptionStatusAnnounced){var i={};i.category=o.default.PNConnectedCategory,i.operation=e.operation,i.affectedChannels=this._pendingChannelSubscriptions,i.subscribedChannels=this.getSubscribedChannels(),i.affectedChannelGroups=this._pendingChannelGroupSubscriptions,i.lastTimetoken=this._lastTimetoken,i.currentTimetoken=this._currentTimetoken,this._subscriptionStatusAnnounced=!0,this._listenerManager.announceStatus(i),this._pendingChannelSubscriptions=[],this._pendingChannelGroupSubscriptions=[]}var r=t.messages||[],s=this._config,u=s.requestMessageCountThreshold,c=s.dedupeOnSubscribe;if(u&&r.length>=u){var l={};l.category=o.default.PNRequestMessageCountExceededCategory,l.operation=e.operation,this._listenerManager.announceStatus(l)}r.forEach(function(e){var t=e.channel,i=e.subscriptionMatch,r=e.publishMetaData;if(t===i&&(i=null),c){if(n._dedupingManager.isDuplicate(e))return;n._dedupingManager.addEntry(e)}if(a.default.endsWith(e.channel,"-pnpres")){var o={channel:null,subscription:null};o.actualChannel=null!=i?t:null,o.subscribedChannel=null!=i?i:t,t&&(o.channel=t.substring(0,t.lastIndexOf("-pnpres"))),i&&(o.subscription=i.substring(0,i.lastIndexOf("-pnpres"))),o.action=e.payload.action,o.state=e.payload.data,o.timetoken=r.publishTimetoken,o.occupancy=e.payload.occupancy,o.uuid=e.payload.uuid,o.timestamp=e.payload.timestamp,e.payload.join&&(o.join=e.payload.join),e.payload.leave&&(o.leave=e.payload.leave),e.payload.timeout&&(o.timeout=e.payload.timeout),n._listenerManager.announcePresence(o)}else{var s={channel:null,subscription:null};s.actualChannel=null!=i?t:null,s.subscribedChannel=null!=i?i:t,s.channel=t,s.subscription=i,s.timetoken=r.publishTimetoken,s.publisher=e.issuingClientId,e.userMetadata&&(s.userMetadata=e.userMetadata),n._config.cipherKey?s.message=n._crypto.decrypt(e.payload):s.message=e.payload,n._listenerManager.announceMessage(s)}}),this._region=t.metadata.region,this._startSubscribeLoop()}}},{key:"_stopSubscribeLoop",value:function(){this._subscribeCall&&("function"==typeof this._subscribeCall.abort&&this._subscribeCall.abort(),this._subscribeCall=null)}}]),e}();t.default=u,e.exports=t.default}(Hn,Hn.exports)),Hn.exports}var ci,li={exports:{}};var di,fi,hi,pi,gi,vi,yi,mi,bi,Si,_i,ki,Ti,Ii,Vi,Ei,Pi,Ai,Ci,Di,wi,Mi,Ni,Oi={},xi={},zi={},Li={},Ri={},Ki={},Fi={},Ui={},Bi={},Hi={},Gi={},Wi={},qi={},ji={},Yi={},Qi={},Ji={},Zi={},Xi={},$i={},er={},tr={};function nr(){return Ni||(Ni=1,function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),i=re(xn()),r=re(Fn()),a=re(ui()),o=re(jn()),s=re((ci||(ci=1,function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){var a=e.networking,u=e.config,c=null,l=null,d={};t.getOperation()===r.default.PNTimeOperation||t.getOperation()===r.default.PNChannelGroupsOperation?c=arguments.length<=2?void 0:arguments[2]:(d=arguments.length<=2?void 0:arguments[2],c=arguments.length<=3?void 0:arguments[3]),"undefined"==typeof Promise||c||(l=i.default.createPromise());var f=t.validateParams(e,d);if(f)return c?c(s(f)):l?(l.reject(new o("Validation failed, check status for details",s(f))),l.promise):void 0;var h=t.prepareParams(e,d),p=function(e,t,n){return e.usePost&&e.usePost(t,n)?e.postURL(t,n):e.getURL(t,n)}(t,e,d),g=void 0,v={url:p,operation:t.getOperation(),timeout:t.getRequestTimeout(e)};h.uuid=u.UUID,h.pnsdk=function(e){if(e.sdkName)return e.sdkName;var t="PubNub-JS-"+e.sdkFamily;return e.partnerId&&(t+="-"+e.partnerId),t+"/"+e.getVersion()}(u),u.useInstanceId&&(h.instanceid=u.instanceId),u.useRequestId&&(h.requestid=n.default.createUUID()),t.isAuthSupported()&&u.getAuthKey()&&(h.auth=u.getAuthKey()),u.secretKey&&function(e,t,n){var r=e.config,a=e.crypto;n.timestamp=Math.floor((new Date).getTime()/1e3);var o=r.subscribeKey+"\n"+r.publishKey+"\n"+t+"\n";o+=i.default.signPamFromParams(n);var s=a.HMACSHA256(o);s=(s=s.replace(/\+/g,"-")).replace(/\//g,"_"),n.signature=s}(e,p,h);var y=function(n,i){if(n.error)c?c(n):l&&l.reject(new o("PubNub call failed, check status for details",n));else{var r=t.handleResponse(e,i,d);c?c(n,r):l&&l.fulfill(r)}};if(t.usePost&&t.usePost(e,d)){var m=t.postPayload(e,d);g=a.POST(h,m,v,y)}else g=t.useDelete&&t.useDelete()?a.DELETE(h,v,y):a.GET(h,v,y);return t.getOperation()===r.default.PNSubscribeOperation?g:l?l.promise:void 0};var n=a(On()),i=a(si());a(xn());var r=a(ei());function a(e){return e&&e.__esModule?e:{default:e}}var o=function(){function e(t,n){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e);var i=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==S(t)&&"function"!=typeof t?e:t}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return i.name=i.constructor.name,i.status=n,i.message=t,i}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+S(t));e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(e,Error),e}();function s(e){return(t={message:e}).type="validationError",t.error=!0,t;var t}e.exports=t.default}(li,li.exports)),li.exports)),u=function(){if(di)return Oi;di=1,Object.defineProperty(Oi,"__esModule",{value:!0}),Oi.getOperation=function(){return e.default.PNAddChannelsToGroupOperation},Oi.validateParams=function(e,t){var n=t.channels,i=t.channelGroup,r=e.config;return i?n&&0!==n.length?r.subscribeKey?void 0:"Missing Subscribe Key":"Missing Channels":"Missing Channel Group"},Oi.getURL=function(e,n){var i=n.channelGroup;return"/v1/channel-registration/sub-key/"+e.config.subscribeKey+"/channel-group/"+t.default.encodeString(i)},Oi.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},Oi.isAuthSupported=function(){return!0},Oi.prepareParams=function(e,t){var n=t.channels;return{add:(void 0===n?[]:n).join(",")}},Oi.handleResponse=function(){return{}};var e=n(ei()),t=n(si());function n(e){return e&&e.__esModule?e:{default:e}}return Oi}(),c=ie(u),l=function(){if(fi)return xi;fi=1,Object.defineProperty(xi,"__esModule",{value:!0}),xi.getOperation=function(){return e.default.PNRemoveChannelsFromGroupOperation},xi.validateParams=function(e,t){var n=t.channels,i=t.channelGroup,r=e.config;return i?n&&0!==n.length?r.subscribeKey?void 0:"Missing Subscribe Key":"Missing Channels":"Missing Channel Group"},xi.getURL=function(e,n){var i=n.channelGroup;return"/v1/channel-registration/sub-key/"+e.config.subscribeKey+"/channel-group/"+t.default.encodeString(i)},xi.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},xi.isAuthSupported=function(){return!0},xi.prepareParams=function(e,t){var n=t.channels;return{remove:(void 0===n?[]:n).join(",")}},xi.handleResponse=function(){return{}};var e=n(ei()),t=n(si());function n(e){return e&&e.__esModule?e:{default:e}}return xi}(),d=ie(l),f=function(){if(hi)return zi;hi=1,Object.defineProperty(zi,"__esModule",{value:!0}),zi.getOperation=function(){return e.default.PNRemoveGroupOperation},zi.validateParams=function(e,t){var n=t.channelGroup,i=e.config;return n?i.subscribeKey?void 0:"Missing Subscribe Key":"Missing Channel Group"},zi.getURL=function(e,n){var i=n.channelGroup;return"/v1/channel-registration/sub-key/"+e.config.subscribeKey+"/channel-group/"+t.default.encodeString(i)+"/remove"},zi.isAuthSupported=function(){return!0},zi.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},zi.prepareParams=function(){return{}},zi.handleResponse=function(){return{}};var e=n(ei()),t=n(si());function n(e){return e&&e.__esModule?e:{default:e}}return zi}(),h=ie(f),p=function(){if(pi)return Li;pi=1,Object.defineProperty(Li,"__esModule",{value:!0}),Li.getOperation=function(){return t.default.PNChannelGroupsOperation},Li.validateParams=function(e){if(!e.config.subscribeKey)return"Missing Subscribe Key"},Li.getURL=function(e){return"/v1/channel-registration/sub-key/"+e.config.subscribeKey+"/channel-group"},Li.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},Li.isAuthSupported=function(){return!0},Li.prepareParams=function(){return{}},Li.handleResponse=function(e,t){return{groups:t.payload.groups}};var e,t=(e=ei())&&e.__esModule?e:{default:e};return Li}(),g=ie(p),v=function(){if(gi)return Ri;gi=1,Object.defineProperty(Ri,"__esModule",{value:!0}),Ri.getOperation=function(){return e.default.PNChannelsForGroupOperation},Ri.validateParams=function(e,t){var n=t.channelGroup,i=e.config;return n?i.subscribeKey?void 0:"Missing Subscribe Key":"Missing Channel Group"},Ri.getURL=function(e,n){var i=n.channelGroup;return"/v1/channel-registration/sub-key/"+e.config.subscribeKey+"/channel-group/"+t.default.encodeString(i)},Ri.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},Ri.isAuthSupported=function(){return!0},Ri.prepareParams=function(){return{}},Ri.handleResponse=function(e,t){return{channels:t.payload.channels}};var e=n(ei()),t=n(si());function n(e){return e&&e.__esModule?e:{default:e}}return Ri}(),y=ie(v),m=function(){if(vi)return Ki;vi=1,Object.defineProperty(Ki,"__esModule",{value:!0}),Ki.getOperation=function(){return t.default.PNPushNotificationEnabledChannelsOperation},Ki.validateParams=function(e,t){var n=t.device,i=t.pushGateway,r=t.channels,a=e.config;return n?i?r&&0!==r.length?a.subscribeKey?void 0:"Missing Subscribe Key":"Missing Channels":"Missing GW Type (pushGateway: gcm or apns)":"Missing Device ID (device)"},Ki.getURL=function(e,t){var n=t.device;return"/v1/push/sub-key/"+e.config.subscribeKey+"/devices/"+n},Ki.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},Ki.isAuthSupported=function(){return!0},Ki.prepareParams=function(e,t){var n=t.pushGateway,i=t.channels;return{type:n,add:(void 0===i?[]:i).join(",")}},Ki.handleResponse=function(){return{}};var e,t=(e=ei())&&e.__esModule?e:{default:e};return Ki}(),b=ie(m),_=function(){if(yi)return Fi;yi=1,Object.defineProperty(Fi,"__esModule",{value:!0}),Fi.getOperation=function(){return t.default.PNPushNotificationEnabledChannelsOperation},Fi.validateParams=function(e,t){var n=t.device,i=t.pushGateway,r=t.channels,a=e.config;return n?i?r&&0!==r.length?a.subscribeKey?void 0:"Missing Subscribe Key":"Missing Channels":"Missing GW Type (pushGateway: gcm or apns)":"Missing Device ID (device)"},Fi.getURL=function(e,t){var n=t.device;return"/v1/push/sub-key/"+e.config.subscribeKey+"/devices/"+n},Fi.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},Fi.isAuthSupported=function(){return!0},Fi.prepareParams=function(e,t){var n=t.pushGateway,i=t.channels;return{type:n,remove:(void 0===i?[]:i).join(",")}},Fi.handleResponse=function(){return{}};var e,t=(e=ei())&&e.__esModule?e:{default:e};return Fi}(),k=ie(_),T=function(){if(mi)return Ui;mi=1,Object.defineProperty(Ui,"__esModule",{value:!0}),Ui.getOperation=function(){return t.default.PNPushNotificationEnabledChannelsOperation},Ui.validateParams=function(e,t){var n=t.device,i=t.pushGateway,r=e.config;return n?i?r.subscribeKey?void 0:"Missing Subscribe Key":"Missing GW Type (pushGateway: gcm or apns)":"Missing Device ID (device)"},Ui.getURL=function(e,t){var n=t.device;return"/v1/push/sub-key/"+e.config.subscribeKey+"/devices/"+n},Ui.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},Ui.isAuthSupported=function(){return!0},Ui.prepareParams=function(e,t){return{type:t.pushGateway}},Ui.handleResponse=function(e,t){return{channels:t}};var e,t=(e=ei())&&e.__esModule?e:{default:e};return Ui}(),I=ie(T),V=function(){if(bi)return Bi;bi=1,Object.defineProperty(Bi,"__esModule",{value:!0}),Bi.getOperation=function(){return t.default.PNRemoveAllPushNotificationsOperation},Bi.validateParams=function(e,t){var n=t.device,i=t.pushGateway,r=e.config;return n?i?r.subscribeKey?void 0:"Missing Subscribe Key":"Missing GW Type (pushGateway: gcm or apns)":"Missing Device ID (device)"},Bi.getURL=function(e,t){var n=t.device;return"/v1/push/sub-key/"+e.config.subscribeKey+"/devices/"+n+"/remove"},Bi.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},Bi.isAuthSupported=function(){return!0},Bi.prepareParams=function(e,t){return{type:t.pushGateway}},Bi.handleResponse=function(){return{}};var e,t=(e=ei())&&e.__esModule?e:{default:e};return Bi}(),E=ie(V),P=function(){if(Si)return Hi;Si=1,Object.defineProperty(Hi,"__esModule",{value:!0}),Hi.getOperation=function(){return e.default.PNUnsubscribeOperation},Hi.validateParams=function(e){if(!e.config.subscribeKey)return"Missing Subscribe Key"},Hi.getURL=function(e,n){var i=e.config,r=n.channels,a=void 0===r?[]:r,o=a.length>0?a.join(","):",";return"/v2/presence/sub-key/"+i.subscribeKey+"/channel/"+t.default.encodeString(o)+"/leave"},Hi.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},Hi.isAuthSupported=function(){return!0},Hi.prepareParams=function(e,t){var n=t.channelGroups,i=void 0===n?[]:n,r={};return i.length>0&&(r["channel-group"]=i.join(",")),r},Hi.handleResponse=function(){return{}};var e=n(ei()),t=n(si());function n(e){return e&&e.__esModule?e:{default:e}}return Hi}(),A=ie(P),C=function(){if(_i)return Gi;_i=1,Object.defineProperty(Gi,"__esModule",{value:!0}),Gi.getOperation=function(){return t.default.PNWhereNowOperation},Gi.validateParams=function(e){if(!e.config.subscribeKey)return"Missing Subscribe Key"},Gi.getURL=function(e,t){var n=e.config,i=t.uuid,r=void 0===i?n.UUID:i;return"/v2/presence/sub-key/"+n.subscribeKey+"/uuid/"+r},Gi.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},Gi.isAuthSupported=function(){return!0},Gi.prepareParams=function(){return{}},Gi.handleResponse=function(e,t){return t.payload?{channels:t.payload.channels}:{channels:[]}};var e,t=(e=ei())&&e.__esModule?e:{default:e};return Gi}(),D=ie(C),w=function(){if(ki)return Wi;ki=1,Object.defineProperty(Wi,"__esModule",{value:!0}),Wi.getOperation=function(){return e.default.PNHeartbeatOperation},Wi.validateParams=function(e){if(!e.config.subscribeKey)return"Missing Subscribe Key"},Wi.getURL=function(e,n){var i=e.config,r=n.channels,a=void 0===r?[]:r,o=a.length>0?a.join(","):",";return"/v2/presence/sub-key/"+i.subscribeKey+"/channel/"+t.default.encodeString(o)+"/heartbeat"},Wi.isAuthSupported=function(){return!0},Wi.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},Wi.prepareParams=function(e,t){var n=t.channelGroups,i=void 0===n?[]:n,r=t.state,a=void 0===r?{}:r,o=e.config,s={};return i.length>0&&(s["channel-group"]=i.join(",")),s.state=JSON.stringify(a),s.heartbeat=o.getPresenceTimeout(),s},Wi.handleResponse=function(){return{}};var e=n(ei()),t=n(si());function n(e){return e&&e.__esModule?e:{default:e}}return Wi}(),M=ie(w),N=function(){if(Ti)return qi;Ti=1,Object.defineProperty(qi,"__esModule",{value:!0}),qi.getOperation=function(){return e.default.PNGetStateOperation},qi.validateParams=function(e){if(!e.config.subscribeKey)return"Missing Subscribe Key"},qi.getURL=function(e,n){var i=e.config,r=n.uuid,a=void 0===r?i.UUID:r,o=n.channels,s=void 0===o?[]:o,u=s.length>0?s.join(","):",";return"/v2/presence/sub-key/"+i.subscribeKey+"/channel/"+t.default.encodeString(u)+"/uuid/"+a},qi.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},qi.isAuthSupported=function(){return!0},qi.prepareParams=function(e,t){var n=t.channelGroups,i=void 0===n?[]:n,r={};return i.length>0&&(r["channel-group"]=i.join(",")),r},qi.handleResponse=function(e,t,n){var i=n.channels,r=void 0===i?[]:i,a=n.channelGroups,o=void 0===a?[]:a,s={};return 1===r.length&&0===o.length?s[r[0]]=t.payload:s=t.payload,{channels:s}};var e=n(ei()),t=n(si());function n(e){return e&&e.__esModule?e:{default:e}}return qi}(),O=ie(N),x=function(){if(Ii)return ji;Ii=1,Object.defineProperty(ji,"__esModule",{value:!0}),ji.getOperation=function(){return e.default.PNSetStateOperation},ji.validateParams=function(e,t){var n=e.config,i=t.state,r=t.channels,a=void 0===r?[]:r,o=t.channelGroups,s=void 0===o?[]:o;return i?n.subscribeKey?0===a.length&&0===s.length?"Please provide a list of channels and/or channel-groups":void 0:"Missing Subscribe Key":"Missing State"},ji.getURL=function(e,n){var i=e.config,r=n.channels,a=void 0===r?[]:r,o=a.length>0?a.join(","):",";return"/v2/presence/sub-key/"+i.subscribeKey+"/channel/"+t.default.encodeString(o)+"/uuid/"+i.UUID+"/data"},ji.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},ji.isAuthSupported=function(){return!0},ji.prepareParams=function(e,t){var n=t.state,i=t.channelGroups,r=void 0===i?[]:i,a={};return a.state=JSON.stringify(n),r.length>0&&(a["channel-group"]=r.join(",")),a},ji.handleResponse=function(e,t){return{state:t.payload}};var e=n(ei()),t=n(si());function n(e){return e&&e.__esModule?e:{default:e}}return ji}(),z=ie(x),L=function(){if(Vi)return Yi;Vi=1,Object.defineProperty(Yi,"__esModule",{value:!0}),Yi.getOperation=function(){return e.default.PNHereNowOperation},Yi.validateParams=function(e){if(!e.config.subscribeKey)return"Missing Subscribe Key"},Yi.getURL=function(e,n){var i=e.config,r=n.channels,a=void 0===r?[]:r,o=n.channelGroups,s=void 0===o?[]:o,u="/v2/presence/sub-key/"+i.subscribeKey;if(a.length>0||s.length>0){var c=a.length>0?a.join(","):",";u+="/channel/"+t.default.encodeString(c)}return u},Yi.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},Yi.isAuthSupported=function(){return!0},Yi.prepareParams=function(e,t){var n=t.channelGroups,i=void 0===n?[]:n,r=t.includeUUIDs,a=void 0===r||r,o=t.includeState,s=void 0!==o&&o,u={};return a||(u.disable_uuids=1),s&&(u.state=1),i.length>0&&(u["channel-group"]=i.join(",")),u},Yi.handleResponse=function(e,t,n){var i,r=n.channels,a=void 0===r?[]:r,o=n.channelGroups,s=void 0===o?[]:o,u=n.includeUUIDs,c=void 0===u||u,l=n.includeState,d=void 0!==l&&l;return a.length>1||s.length>0||0===s.length&&0===a.length?((i={}).totalChannels=t.payload.total_channels,i.totalOccupancy=t.payload.total_occupancy,i.channels={},Object.keys(t.payload.channels).forEach(function(e){var n=t.payload.channels[e],r=[];return i.channels[e]={occupants:r,name:e,occupancy:n.occupancy},c&&n.uuids.forEach(function(e){d?r.push({state:e.state,uuid:e.uuid}):r.push({state:null,uuid:e})}),i}),i):function(){var e={},n=[];return e.totalChannels=1,e.totalOccupancy=t.occupancy,e.channels={},e.channels[a[0]]={occupants:n,name:a[0],occupancy:t.occupancy},c&&t.uuids&&t.uuids.forEach(function(e){d?n.push({state:e.state,uuid:e.uuid}):n.push({state:null,uuid:e})}),e}()};var e=n(ei()),t=n(si());function n(e){return e&&e.__esModule?e:{default:e}}return Yi}(),R=ie(L),K=function(){if(Ei)return Qi;Ei=1,Object.defineProperty(Qi,"__esModule",{value:!0}),Qi.getOperation=function(){return t.default.PNAccessManagerAudit},Qi.validateParams=function(e){if(!e.config.subscribeKey)return"Missing Subscribe Key"},Qi.getURL=function(e){return"/v2/auth/audit/sub-key/"+e.config.subscribeKey},Qi.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},Qi.isAuthSupported=function(){return!1},Qi.prepareParams=function(e,t){var n=t.channel,i=t.channelGroup,r=t.authKeys,a=void 0===r?[]:r,o={};return n&&(o.channel=n),i&&(o["channel-group"]=i),a.length>0&&(o.auth=a.join(",")),o},Qi.handleResponse=function(e,t){return t.payload};var e,t=(e=ei())&&e.__esModule?e:{default:e};return Qi}(),F=ie(K),U=function(){if(Pi)return Ji;Pi=1,Object.defineProperty(Ji,"__esModule",{value:!0}),Ji.getOperation=function(){return t.default.PNAccessManagerGrant},Ji.validateParams=function(e){var t=e.config;return t.subscribeKey?t.publishKey?t.secretKey?void 0:"Missing Secret Key":"Missing Publish Key":"Missing Subscribe Key"},Ji.getURL=function(e){return"/v2/auth/grant/sub-key/"+e.config.subscribeKey},Ji.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},Ji.isAuthSupported=function(){return!1},Ji.prepareParams=function(e,t){var n=t.channels,i=void 0===n?[]:n,r=t.channelGroups,a=void 0===r?[]:r,o=t.ttl,s=t.read,u=void 0!==s&&s,c=t.write,l=void 0!==c&&c,d=t.manage,f=void 0!==d&&d,h=t.authKeys,p=void 0===h?[]:h,g={};return g.r=u?"1":"0",g.w=l?"1":"0",g.m=f?"1":"0",i.length>0&&(g.channel=i.join(",")),a.length>0&&(g["channel-group"]=a.join(",")),p.length>0&&(g.auth=p.join(",")),(o||0===o)&&(g.ttl=o),g},Ji.handleResponse=function(){return{}};var e,t=(e=ei())&&e.__esModule?e:{default:e};return Ji}(),B=ie(U),H=function(){if(Ai)return Zi;Ai=1,Object.defineProperty(Zi,"__esModule",{value:!0});var e="function"==typeof Symbol&&"symbol"===S(Symbol.iterator)?function(e){return S(e)}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":S(e)};Zi.getOperation=function(){return t.default.PNPublishOperation},Zi.validateParams=function(e,t){var n=e.config,i=t.message;return t.channel?i?n.subscribeKey?void 0:"Missing Subscribe Key":"Missing Message":"Missing Channel"},Zi.usePost=function(e,t){var n=t.sendByPost;return void 0!==n&&n},Zi.getURL=function(e,t){var i=e.config,a=t.channel,o=r(e,t.message);return"/publish/"+i.publishKey+"/"+i.subscribeKey+"/0/"+n.default.encodeString(a)+"/0/"+n.default.encodeString(o)},Zi.postURL=function(e,t){var i=e.config,r=t.channel;return"/publish/"+i.publishKey+"/"+i.subscribeKey+"/0/"+n.default.encodeString(r)+"/0"},Zi.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},Zi.isAuthSupported=function(){return!0},Zi.postPayload=function(e,t){return r(e,t.message)},Zi.prepareParams=function(t,n){var i=n.meta,r=n.replicate,a=void 0===r||r,o=n.storeInHistory,s=n.ttl,u={};return null!=o&&(u.store=o?"1":"0"),s&&(u.ttl=s),!1===a&&(u.norep="true"),i&&"object"===(void 0===i?"undefined":e(i))&&(u.meta=JSON.stringify(i)),u},Zi.handleResponse=function(e,t){return{timetoken:t[2]}};var t=i(ei()),n=i(si());function i(e){return e&&e.__esModule?e:{default:e}}function r(e,t){var n=e.crypto,i=e.config,r=JSON.stringify(t);return i.cipherKey&&(r=n.encrypt(r),r=JSON.stringify(r)),r}return Zi}(),G=ie(H),W=function(){if(Ci)return Xi;Ci=1,Object.defineProperty(Xi,"__esModule",{value:!0}),Xi.getOperation=function(){return e.default.PNHistoryOperation},Xi.validateParams=function(e,t){var n=t.channel,i=e.config;return n?i.subscribeKey?void 0:"Missing Subscribe Key":"Missing channel"},Xi.getURL=function(e,n){var i=n.channel;return"/v2/history/sub-key/"+e.config.subscribeKey+"/channel/"+t.default.encodeString(i)},Xi.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},Xi.isAuthSupported=function(){return!0},Xi.prepareParams=function(e,t){var n=t.start,i=t.end,r=t.reverse,a=t.count,o=void 0===a?100:a,s=t.stringifiedTimeToken,u=void 0!==s&&s,c={include_token:"true"};return c.count=o,n&&(c.start=n),i&&(c.end=i),u&&(c.string_message_token="true"),null!=r&&(c.reverse=r.toString()),c},Xi.handleResponse=function(e,t){var n={messages:[],startTimeToken:t[1],endTimeToken:t[2]};return t[0].forEach(function(t){var r={timetoken:t.timetoken,entry:i(e,t.message)};n.messages.push(r)}),n};var e=n(ei()),t=n(si());function n(e){return e&&e.__esModule?e:{default:e}}function i(e,t){var n=e.config,i=e.crypto;if(!n.cipherKey)return t;try{return i.decrypt(t)}catch(e){return t}}return Xi}(),q=ie(W),j=function(){if(Di)return $i;Di=1,Object.defineProperty($i,"__esModule",{value:!0}),$i.getOperation=function(){return e.default.PNDeleteMessagesOperation},$i.validateParams=function(e,t){var n=t.channel,i=e.config;return n?i.subscribeKey?void 0:"Missing Subscribe Key":"Missing channel"},$i.useDelete=function(){return!0},$i.getURL=function(e,n){var i=n.channel;return"/v3/history/sub-key/"+e.config.subscribeKey+"/channel/"+t.default.encodeString(i)},$i.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},$i.isAuthSupported=function(){return!0},$i.prepareParams=function(e,t){var n=t.start,i=t.end,r={};return n&&(r.start=n),i&&(r.end=i),r},$i.handleResponse=function(e,t){return t.payload};var e=n(ei()),t=n(si());function n(e){return e&&e.__esModule?e:{default:e}}return $i}(),Y=ie(j),Q=function(){if(wi)return er;wi=1,Object.defineProperty(er,"__esModule",{value:!0}),er.getOperation=function(){return e.default.PNFetchMessagesOperation},er.validateParams=function(e,t){var n=t.channels,i=e.config;return n&&0!==n.length?i.subscribeKey?void 0:"Missing Subscribe Key":"Missing channels"},er.getURL=function(e,n){var i=n.channels,r=void 0===i?[]:i,a=e.config,o=r.length>0?r.join(","):",";return"/v3/history/sub-key/"+a.subscribeKey+"/channel/"+t.default.encodeString(o)},er.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},er.isAuthSupported=function(){return!0},er.prepareParams=function(e,t){var n=t.start,i=t.end,r=t.count,a={};return r&&(a.max=r),n&&(a.start=n),i&&(a.end=i),a},er.handleResponse=function(e,t){var n={channels:{}};return Object.keys(t.channels||{}).forEach(function(i){n.channels[i]=[],(t.channels[i]||[]).forEach(function(t){var r={};r.channel=i,r.subscription=null,r.timetoken=t.timetoken,r.message=function(e,t){var n=e.config,i=e.crypto;if(!n.cipherKey)return t;try{return i.decrypt(t)}catch(e){return t}}(e,t.message),n.channels[i].push(r)})}),n};var e=n(ei()),t=n(si());function n(e){return e&&e.__esModule?e:{default:e}}return er}(),J=ie(Q),Z=ie(ti()),X=function(){if(Mi)return tr;Mi=1,Object.defineProperty(tr,"__esModule",{value:!0}),tr.getOperation=function(){return e.default.PNSubscribeOperation},tr.validateParams=function(e){if(!e.config.subscribeKey)return"Missing Subscribe Key"},tr.getURL=function(e,n){var i=e.config,r=n.channels,a=void 0===r?[]:r,o=a.length>0?a.join(","):",";return"/v2/subscribe/"+i.subscribeKey+"/"+t.default.encodeString(o)+"/0"},tr.getRequestTimeout=function(e){return e.config.getSubscribeTimeout()},tr.isAuthSupported=function(){return!0},tr.prepareParams=function(e,t){var n=e.config,i=t.channelGroups,r=void 0===i?[]:i,a=t.timetoken,o=t.filterExpression,s=t.region,u={heartbeat:n.getPresenceTimeout()};return r.length>0&&(u["channel-group"]=r.join(",")),o&&o.length>0&&(u["filter-expr"]=o),a&&(u.tt=a),s&&(u.tr=s),u},tr.handleResponse=function(e,t){var n=[];t.m.forEach(function(e){var t={publishTimetoken:e.p.t,region:e.p.r},i={shard:parseInt(e.a,10),subscriptionMatch:e.b,channel:e.c,payload:e.d,flags:e.f,issuingClientId:e.i,subscribeKey:e.k,originationTimetoken:e.o,userMetadata:e.u,publishMetaData:t};n.push(i)});var i={timetoken:t.t.t,region:t.t.r};return{messages:n,metadata:i}};var e=n(ei()),t=n(si());function n(e){return e&&e.__esModule?e:{default:e}}return tr}(),$=ie(X),ee=re(ei()),te=re(qn()),ne=re(On());function ie(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function re(e){return e&&e.__esModule?e:{default:e}}var ae=function(){function e(t){var n=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e);var u=t.db,l=t.networking,f=this._config=new i.default({setup:t,db:u}),p=new r.default({config:f});l.init(f);var v={config:f,networking:l,crypto:p},m=s.default.bind(this,v,Z),S=s.default.bind(this,v,A),_=s.default.bind(this,v,M),T=s.default.bind(this,v,z),V=s.default.bind(this,v,$),P=this._listenerManager=new o.default,C=new a.default({timeEndpoint:m,leaveEndpoint:S,heartbeatEndpoint:_,setStateEndpoint:T,subscribeEndpoint:V,crypto:v.crypto,config:v.config,listenerManager:P});this.addListener=P.addListener.bind(P),this.removeListener=P.removeListener.bind(P),this.removeAllListeners=P.removeAllListeners.bind(P),this.channelGroups={listGroups:s.default.bind(this,v,g),listChannels:s.default.bind(this,v,y),addChannels:s.default.bind(this,v,c),removeChannels:s.default.bind(this,v,d),deleteGroup:s.default.bind(this,v,h)},this.push={addChannels:s.default.bind(this,v,b),removeChannels:s.default.bind(this,v,k),deleteDevice:s.default.bind(this,v,E),listChannels:s.default.bind(this,v,I)},this.hereNow=s.default.bind(this,v,R),this.whereNow=s.default.bind(this,v,D),this.getState=s.default.bind(this,v,O),this.setState=C.adaptStateChange.bind(C),this.grant=s.default.bind(this,v,B),this.audit=s.default.bind(this,v,F),this.publish=s.default.bind(this,v,G),this.fire=function(e,t){return e.replicate=!1,e.storeInHistory=!1,n.publish(e,t)},this.history=s.default.bind(this,v,q),this.deleteMessages=s.default.bind(this,v,Y),this.fetchMessages=s.default.bind(this,v,J),this.time=m,this.subscribe=C.adaptSubscribeChange.bind(C),this.presence=C.adaptPresenceChange.bind(C),this.unsubscribe=C.adaptUnsubscribeChange.bind(C),this.disconnect=C.disconnect.bind(C),this.reconnect=C.reconnect.bind(C),this.destroy=function(e){C.unsubscribeAll(e),C.disconnect()},this.stop=this.destroy,this.unsubscribeAll=C.unsubscribeAll.bind(C),this.getSubscribedChannels=C.getSubscribedChannels.bind(C),this.getSubscribedChannelGroups=C.getSubscribedChannelGroups.bind(C),this.encrypt=p.encrypt.bind(p),this.decrypt=p.decrypt.bind(p),this.getAuthKey=v.config.getAuthKey.bind(v.config),this.setAuthKey=v.config.setAuthKey.bind(v.config),this.setCipherKey=v.config.setCipherKey.bind(v.config),this.getUUID=v.config.getUUID.bind(v.config),this.setUUID=v.config.setUUID.bind(v.config),this.getFilterExpression=v.config.getFilterExpression.bind(v.config),this.setFilterExpression=v.config.setFilterExpression.bind(v.config),this.setHeartbeatInterval=v.config.setHeartbeatInterval.bind(v.config),l.hasModule("proxy")&&(this.setProxy=function(e){v.config.setProxy(e),n.reconnect()})}return n(e,[{key:"getVersion",value:function(){return this._config.getVersion()}},{key:"networkDownDetected",value:function(){this._listenerManager.announceNetworkDown(),this._config.restore?this.disconnect():this.destroy(!0)}},{key:"networkUpDetected",value:function(){this._listenerManager.announceNetworkUp(),this.reconnect()}}],[{key:"generateUUID",value:function(){return ne.default.createUUID()}}]),e}();ae.OPERATIONS=ee.default,ae.CATEGORIES=te.default,t.default=ae,e.exports=t.default}(Dn,Dn.exports)),Dn.exports}var ir,rr={exports:{}};var ar,or,sr,ur,cr,lr,dr={exports:{}},fr={},hr={exports:{}},pr={exports:{}};function gr(){return ur?sr:(ur=1,sr=function(e){return null!==e&&"object"===S(e)})}var vr,yr,mr,br,Sr,_r={};function kr(){return vr||(vr=1,_r.type=function(e){return e.split(/ *; */).shift()},_r.params=function(e){return e.split(/ *; */).reduce(function(e,t){var n=t.split(/ *= */),i=n.shift(),r=n.shift();return i&&r&&(e[i]=r),e},{})},_r.parseLinks=function(e){return e.split(/ *, */).reduce(function(e,t){var n=t.split(/ *; */),i=n[0].slice(1,-1);return e[n[1].split(/ *= */)[1].slice(1,-1)]=i,e},{})},_r.cleanHeader=function(e,t){return delete e["content-type"],delete e["content-length"],delete e["transfer-encoding"],delete e.host,t&&(delete e.authorization,delete e.cookie),e}),_r}var Tr,Ir,Vr,Er=hr.exports;function Pr(){return Tr||(Tr=1,function(e,t){var n;n="undefined"!=typeof window?window:"undefined"!=typeof self?self:Er;var i=(or||(or=1,function(){function e(t){if(t)return function(t){for(var n in e.prototype)t[n]=e.prototype[n];return t}(t)}pr.exports=e,e.prototype.on=e.prototype.addEventListener=function(e,t){return this._callbacks=this._callbacks||{},(this._callbacks["$"+e]=this._callbacks["$"+e]||[]).push(t),this},e.prototype.once=function(e,t){function n(){this.off(e,n),t.apply(this,arguments)}return n.fn=t,this.on(e,n),this},e.prototype.off=e.prototype.removeListener=e.prototype.removeAllListeners=e.prototype.removeEventListener=function(e,t){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var n,i=this._callbacks["$"+e];if(!i)return this;if(1==arguments.length)return delete this._callbacks["$"+e],this;for(var r=0;r<i.length;r++)if((n=i[r])===t||n.fn===t){i.splice(r,1);break}return 0===i.length&&delete this._callbacks["$"+e],this},e.prototype.emit=function(e){this._callbacks=this._callbacks||{};for(var t=new Array(arguments.length-1),n=this._callbacks["$"+e],i=1;i<arguments.length;i++)t[i-1]=arguments[i];if(n){i=0;for(var r=(n=n.slice(0)).length;i<r;++i)n[i].apply(this,t)}return this},e.prototype.listeners=function(e){return this._callbacks=this._callbacks||{},this._callbacks["$"+e]||[]},e.prototype.hasListeners=function(e){return!!this.listeners(e).length}}()),pr.exports),r=function(){if(lr)return cr;lr=1;var e=gr();function t(e){if(e)return function(e){for(var n in t.prototype)e[n]=t.prototype[n];return e}(e)}cr=t,t.prototype.clearTimeout=function(){return clearTimeout(this._timer),clearTimeout(this._responseTimeoutTimer),delete this._timer,delete this._responseTimeoutTimer,this},t.prototype.parse=function(e){return this._parser=e,this},t.prototype.responseType=function(e){return this._responseType=e,this},t.prototype.serialize=function(e){return this._serializer=e,this},t.prototype.timeout=function(e){if(!e||"object"!==S(e))return this._timeout=e,this._responseTimeout=0,this;for(var t in e)switch(t){case"deadline":this._timeout=e.deadline;break;case"response":this._responseTimeout=e.response}return this},t.prototype.retry=function(e,t){return 0!==arguments.length&&!0!==e||(e=1),e<=0&&(e=0),this._maxRetries=e,this._retries=0,this._retryCallback=t,this};var n=["ECONNRESET","ETIMEDOUT","EADDRINFO","ESOCKETTIMEDOUT"];return t.prototype._shouldRetry=function(e,t){if(!this._maxRetries||this._retries++>=this._maxRetries)return!1;if(this._retryCallback)try{var i=this._retryCallback(e,t);if(!0===i)return!0;if(!1===i)return!1}catch(e){console.error(e)}if(t&&t.status&&t.status>=500&&501!=t.status)return!0;if(e){if(e.code&&~n.indexOf(e.code))return!0;if(e.timeout&&"ECONNABORTED"==e.code)return!0;if(e.crossDomain)return!0}return!1},t.prototype._retry=function(){return this.clearTimeout(),this.req&&(this.req=null,this.req=this.request()),this._aborted=!1,this.timedout=!1,this._end()},t.prototype.then=function(e,t){if(!this._fullfilledPromise){var n=this;this._endCalled,this._fullfilledPromise=new Promise(function(e,t){n.end(function(n,i){n?t(n):e(i)})})}return this._fullfilledPromise.then(e,t)},t.prototype.catch=function(e){return this.then(void 0,e)},t.prototype.use=function(e){return e(this),this},t.prototype.ok=function(e){if("function"!=typeof e)throw Error("Callback required");return this._okCallback=e,this},t.prototype._isResponseOK=function(e){return!!e&&(this._okCallback?this._okCallback(e):e.status>=200&&e.status<300)},t.prototype.get=function(e){return this._header[e.toLowerCase()]},t.prototype.getHeader=t.prototype.get,t.prototype.set=function(t,n){if(e(t)){for(var i in t)this.set(i,t[i]);return this}return this._header[t.toLowerCase()]=n,this.header[t]=n,this},t.prototype.unset=function(e){return delete this._header[e.toLowerCase()],delete this.header[e],this},t.prototype.field=function(t,n){if(null==t)throw new Error(".field(name, val) name can not be empty");if(this._data&&console.error(".field() can't be used if .send() is used. Please use only .send() or only .field() & .attach()"),e(t)){for(var i in t)this.field(i,t[i]);return this}if(Array.isArray(n)){for(var r in n)this.field(t,n[r]);return this}if(null==n)throw new Error(".field(name, val) val can not be empty");return"boolean"==typeof n&&(n=""+n),this._getFormData().append(t,n),this},t.prototype.abort=function(){return this._aborted||(this._aborted=!0,this.xhr&&this.xhr.abort(),this.req&&this.req.abort(),this.clearTimeout(),this.emit("abort")),this},t.prototype._auth=function(e,t,n,i){switch(n.type){case"basic":this.set("Authorization","Basic "+i(e+":"+t));break;case"auto":this.username=e,this.password=t;break;case"bearer":this.set("Authorization","Bearer "+e)}return this},t.prototype.withCredentials=function(e){return null==e&&(e=!0),this._withCredentials=e,this},t.prototype.redirects=function(e){return this._maxRedirects=e,this},t.prototype.maxResponseSize=function(e){if("number"!=typeof e)throw TypeError("Invalid argument");return this._maxResponseSize=e,this},t.prototype.toJSON=function(){return{method:this.method,url:this.url,data:this._data,headers:this._header}},t.prototype.send=function(t){var n=e(t),i=this._header["content-type"];if(this._formData&&console.error(".send() can't be used if .attach() or .field() is used. Please use only .send() or only .field() & .attach()"),n&&!this._data)Array.isArray(t)?this._data=[]:this._isHost(t)||(this._data={});else if(t&&this._data&&this._isHost(this._data))throw Error("Can't merge these send calls");if(n&&e(this._data))for(var r in t)this._data[r]=t[r];else"string"==typeof t?(i||this.type("form"),i=this._header["content-type"],this._data="application/x-www-form-urlencoded"==i?this._data?this._data+"&"+t:t:(this._data||"")+t):this._data=t;return!n||this._isHost(t)||i||this.type("json"),this},t.prototype.sortQuery=function(e){return this._sort=void 0===e||e,this},t.prototype._finalizeQueryString=function(){var e=this._query.join("&");if(e&&(this.url+=(this.url.indexOf("?")>=0?"&":"?")+e),this._query.length=0,this._sort){var t=this.url.indexOf("?");if(t>=0){var n=this.url.substring(t+1).split("&");"function"==typeof this._sort?n.sort(this._sort):n.sort(),this.url=this.url.substring(0,t)+"?"+n.join("&")}}},t.prototype._appendQueryString=function(){console.trace("Unsupported")},t.prototype._timeoutError=function(e,t,n){if(!this._aborted){var i=new Error(e+t+"ms exceeded");i.timeout=t,i.code="ECONNABORTED",i.errno=n,this.timedout=!0,this.abort(),this.callback(i)}},t.prototype._setTimeouts=function(){var e=this;this._timeout&&!this._timer&&(this._timer=setTimeout(function(){e._timeoutError("Timeout of ",e._timeout,"ETIME")},this._timeout)),this._responseTimeout&&!this._responseTimeoutTimer&&(this._responseTimeoutTimer=setTimeout(function(){e._timeoutError("Response timeout of ",e._responseTimeout,"ETIMEDOUT")},this._responseTimeout))},cr}(),a=gr(),o=function(){if(mr)return yr;mr=1;var e=kr();function t(e){if(e)return function(e){for(var n in t.prototype)e[n]=t.prototype[n];return e}(e)}return yr=t,t.prototype.get=function(e){return this.header[e.toLowerCase()]},t.prototype._setHeaderProperties=function(t){var n=t["content-type"]||"";this.type=e.type(n);var i=e.params(n);for(var r in i)this[r]=i[r];this.links={};try{t.link&&(this.links=e.parseLinks(t.link))}catch(e){}},t.prototype._setStatusProperties=function(e){var t=e/100|0;this.status=this.statusCode=e,this.statusType=t,this.info=1==t,this.ok=2==t,this.redirect=3==t,this.clientError=4==t,this.serverError=5==t,this.error=(4==t||5==t)&&this.toError(),this.created=201==e,this.accepted=202==e,this.noContent=204==e,this.badRequest=400==e,this.unauthorized=401==e,this.notAcceptable=406==e,this.forbidden=403==e,this.notFound=404==e,this.unprocessableEntity=422==e},yr}(),s=function(){if(Sr)return br;function e(){this._defaults=[]}return Sr=1,["use","on","once","set","query","type","accept","auth","withCredentials","sortQuery","retry","ok","redirects","timeout","buffer","serialize","parse","ca","key","pfx","cert"].forEach(function(t){e.prototype[t]=function(){return this._defaults.push({fn:t,arguments:arguments}),this}}),e.prototype._setDefaults=function(e){this._defaults.forEach(function(t){e[t.fn].apply(e,t.arguments)})},br=e}();function u(){}var c=t=e.exports=function(e,n){return"function"==typeof n?new t.Request("GET",e).end(n):1==arguments.length?new t.Request("GET",e):new t.Request(e,n)};t.Request=v,c.getXHR=function(){if(!(!n.XMLHttpRequest||n.location&&"file:"==n.location.protocol&&n.ActiveXObject))return new XMLHttpRequest;try{return new ActiveXObject("Microsoft.XMLHTTP")}catch(e){}try{return new ActiveXObject("Msxml2.XMLHTTP.6.0")}catch(e){}try{return new ActiveXObject("Msxml2.XMLHTTP.3.0")}catch(e){}try{return new ActiveXObject("Msxml2.XMLHTTP")}catch(e){}throw Error("Browser-only version of superagent could not find XHR")};var l="".trim?function(e){return e.trim()}:function(e){return e.replace(/(^\s*|\s*$)/g,"")};function d(e){if(!a(e))return e;var t=[];for(var n in e)f(t,n,e[n]);return t.join("&")}function f(e,t,n){if(null!=n)if(Array.isArray(n))n.forEach(function(n){f(e,t,n)});else if(a(n))for(var i in n)f(e,t+"["+i+"]",n[i]);else e.push(encodeURIComponent(t)+"="+encodeURIComponent(n));else null===n&&e.push(encodeURIComponent(t))}function h(e){for(var t,n,i={},r=e.split("&"),a=0,o=r.length;a<o;++a)-1==(n=(t=r[a]).indexOf("="))?i[decodeURIComponent(t)]="":i[decodeURIComponent(t.slice(0,n))]=decodeURIComponent(t.slice(n+1));return i}function p(e){return/[\/+]json($|[^-\w])/.test(e)}function g(e){this.req=e,this.xhr=this.req.xhr,this.text="HEAD"!=this.req.method&&(""===this.xhr.responseType||"text"===this.xhr.responseType)||void 0===this.xhr.responseType?this.xhr.responseText:null,this.statusText=this.req.xhr.statusText;var t=this.xhr.status;1223===t&&(t=204),this._setStatusProperties(t),this.header=this.headers=function(e){for(var t,n,i,r,a=e.split(/\r?\n/),o={},s=0,u=a.length;s<u;++s)-1!==(t=(n=a[s]).indexOf(":"))&&(i=n.slice(0,t).toLowerCase(),r=l(n.slice(t+1)),o[i]=r);return o}(this.xhr.getAllResponseHeaders()),this.header["content-type"]=this.xhr.getResponseHeader("content-type"),this._setHeaderProperties(this.header),null===this.text&&e._responseType?this.body=this.xhr.response:this.body="HEAD"!=this.req.method?this._parseBody(this.text?this.text:this.xhr.response):null}function v(e,t){var n=this;this._query=this._query||[],this.method=e,this.url=t,this.header={},this._header={},this.on("end",function(){var e,t=null,i=null;try{i=new g(n)}catch(e){return(t=new Error("Parser is unable to parse the response")).parse=!0,t.original=e,n.xhr?(t.rawResponse=void 0===n.xhr.responseType?n.xhr.responseText:n.xhr.response,t.status=n.xhr.status?n.xhr.status:null,t.statusCode=t.status):(t.rawResponse=null,t.status=null),n.callback(t)}n.emit("response",i);try{n._isResponseOK(i)||(e=new Error(i.statusText||"Unsuccessful HTTP response"))}catch(t){e=t}e?(e.original=t,e.response=i,e.status=i.status,n.callback(e,i)):n.callback(null,i)})}function y(e,t,n){var i=c("DELETE",e);return"function"==typeof t&&(n=t,t=null),t&&i.send(t),n&&i.end(n),i}c.serializeObject=d,c.parseString=h,c.types={html:"text/html",json:"application/json",xml:"text/xml",urlencoded:"application/x-www-form-urlencoded",form:"application/x-www-form-urlencoded","form-data":"application/x-www-form-urlencoded"},c.serialize={"application/x-www-form-urlencoded":d,"application/json":JSON.stringify},c.parse={"application/x-www-form-urlencoded":h,"application/json":JSON.parse},o(g.prototype),g.prototype._parseBody=function(e){var t=c.parse[this.type];return this.req._parser?this.req._parser(this,e):(!t&&p(this.type)&&(t=c.parse["application/json"]),t&&e&&(e.length||e instanceof Object)?t(e):null)},g.prototype.toError=function(){var e=this.req,t=e.method,n=e.url,i="cannot "+t+" "+n+" ("+this.status+")",r=new Error(i);return r.status=this.status,r.method=t,r.url=n,r},c.Response=g,i(v.prototype),r(v.prototype),v.prototype.type=function(e){return this.set("Content-Type",c.types[e]||e),this},v.prototype.accept=function(e){return this.set("Accept",c.types[e]||e),this},v.prototype.auth=function(e,t,n){return 1===arguments.length&&(t=""),"object"===S(t)&&null!==t&&(n=t,t=""),n||(n={type:"function"==typeof btoa?"basic":"auto"}),this._auth(e,t,n,function(e){if("function"==typeof btoa)return btoa(e);throw new Error("Cannot use basic auth, btoa is not a function")})},v.prototype.query=function(e){return"string"!=typeof e&&(e=d(e)),e&&this._query.push(e),this},v.prototype.attach=function(e,t,n){if(t){if(this._data)throw Error("superagent can't mix .send() and .attach()");this._getFormData().append(e,t,n||t.name)}return this},v.prototype._getFormData=function(){return this._formData||(this._formData=new n.FormData),this._formData},v.prototype.callback=function(e,t){if(this._shouldRetry(e,t))return this._retry();var n=this._callback;this.clearTimeout(),e&&(this._maxRetries&&(e.retries=this._retries-1),this.emit("error",e)),n(e,t)},v.prototype.crossDomainError=function(){var e=new Error("Request has been terminated\nPossible causes: the network is offline, Origin is not allowed by Access-Control-Allow-Origin, the page is being unloaded, etc.");e.crossDomain=!0,e.status=this.status,e.method=this.method,e.url=this.url,this.callback(e)},v.prototype.buffer=v.prototype.ca=v.prototype.agent=function(){return this},v.prototype.pipe=v.prototype.write=function(){throw Error("Streaming is not supported in browser version of superagent")},v.prototype._isHost=function(e){return e&&"object"===S(e)&&!Array.isArray(e)&&"[object Object]"!==Object.prototype.toString.call(e)},v.prototype.end=function(e){return this._endCalled,this._endCalled=!0,this._callback=e||u,this._finalizeQueryString(),this._end()},v.prototype._end=function(){var e=this,t=this.xhr=c.getXHR(),n=this._formData||this._data;this._setTimeouts(),t.onreadystatechange=function(){var n=t.readyState;if(n>=2&&e._responseTimeoutTimer&&clearTimeout(e._responseTimeoutTimer),4==n){var i;try{i=t.status}catch(e){i=0}if(!i){if(e.timedout||e._aborted)return;return e.crossDomainError()}e.emit("end")}};var i=function(t,n){n.total>0&&(n.percent=n.loaded/n.total*100),n.direction=t,e.emit("progress",n)};if(this.hasListeners("progress"))try{t.onprogress=i.bind(null,"download"),t.upload&&(t.upload.onprogress=i.bind(null,"upload"))}catch(e){}try{this.username&&this.password?t.open(this.method,this.url,!0,this.username,this.password):t.open(this.method,this.url,!0)}catch(e){return this.callback(e)}if(this._withCredentials&&(t.withCredentials=!0),!this._formData&&"GET"!=this.method&&"HEAD"!=this.method&&"string"!=typeof n&&!this._isHost(n)){var r=this._header["content-type"],a=this._serializer||c.serialize[r?r.split(";")[0]:""];!a&&p(r)&&(a=c.serialize["application/json"]),a&&(n=a(n))}for(var o in this.header)null!=this.header[o]&&this.header.hasOwnProperty(o)&&t.setRequestHeader(o,this.header[o]);return this._responseType&&(t.responseType=this._responseType),this.emit("request",this),t.send(void 0!==n?n:null),this},c.agent=function(){return new s},["GET","POST","OPTIONS","PATCH","PUT","DELETE"].forEach(function(e){s.prototype[e.toLowerCase()]=function(t,n){var i=new c.Request(e,t);return this._setDefaults(i),n&&i.end(n),i}}),s.prototype.del=s.prototype.delete,c.get=function(e,t,n){var i=c("GET",e);return"function"==typeof t&&(n=t,t=null),t&&i.query(t),n&&i.end(n),i},c.head=function(e,t,n){var i=c("HEAD",e);return"function"==typeof t&&(n=t,t=null),t&&i.query(t),n&&i.end(n),i},c.options=function(e,t,n){var i=c("OPTIONS",e);return"function"==typeof t&&(n=t,t=null),t&&i.send(t),n&&i.end(n),i},c.del=y,c.delete=y,c.patch=function(e,t,n){var i=c("PATCH",e);return"function"==typeof t&&(n=t,t=null),t&&i.send(t),n&&i.end(n),i},c.post=function(e,t,n){var i=c("POST",e);return"function"==typeof t&&(n=t,t=null),t&&i.send(t),n&&i.end(n),i},c.put=function(e,t,n){var i=c("PUT",e);return"function"==typeof t&&(n=t,t=null),t&&i.send(t),n&&i.end(n),i}}(hr,hr.exports)),hr.exports}var Ar,Cr,Dr,wr,Mr,Nr,Or,xr,zr,Lr,Rr,Kr,Fr,Ur=(Vr||(Vr=1,function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var n=s(nr()),i=s((ir||(ir=1,function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}();r(xn());var i=r(qn());function r(e){return e&&e.__esModule?e:{default:e}}var a=function(){function e(t){var n=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this._modules={},Object.keys(t).forEach(function(e){n._modules[e]=t[e].bind(n)})}return n(e,[{key:"init",value:function(e){this._config=e,this._maxSubDomain=20,this._currentSubDomain=Math.floor(Math.random()*this._maxSubDomain),this._providedFQDN=(this._config.secure?"https://":"http://")+this._config.origin,this._coreParams={},this.shiftStandardOrigin()}},{key:"nextOrigin",value:function(){return-1===this._providedFQDN.indexOf("pubsub.")?this._providedFQDN:(this._currentSubDomain=this._currentSubDomain+1,this._currentSubDomain>=this._maxSubDomain&&(this._currentSubDomain=1),e=this._currentSubDomain.toString(),this._providedFQDN.replace("pubsub","ps"+e));var e}},{key:"hasModule",value:function(e){return e in this._modules}},{key:"shiftStandardOrigin",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return this._standardOrigin=this.nextOrigin(e),this._standardOrigin}},{key:"getStandardOrigin",value:function(){return this._standardOrigin}},{key:"POST",value:function(e,t,n,i){return this._modules.post(e,t,n,i)}},{key:"GET",value:function(e,t,n){return this._modules.get(e,t,n)}},{key:"DELETE",value:function(e,t,n){return this._modules.del(e,t,n)}},{key:"_detectErrorCategory",value:function(e){if("ENOTFOUND"===e.code)return i.default.PNNetworkIssuesCategory;if("ECONNREFUSED"===e.code)return i.default.PNNetworkIssuesCategory;if("ECONNRESET"===e.code)return i.default.PNNetworkIssuesCategory;if("EAI_AGAIN"===e.code)return i.default.PNNetworkIssuesCategory;if(0===e.status||e.hasOwnProperty("status")&&void 0===e.status)return i.default.PNNetworkIssuesCategory;if(e.timeout)return i.default.PNTimeoutCategory;if("ETIMEDOUT"===e.code)return i.default.PNNetworkIssuesCategory;if(e.response){if(e.response.badRequest)return i.default.PNBadRequestCategory;if(e.response.forbidden)return i.default.PNAccessDeniedCategory}return i.default.PNUnknownCategory}}]),e}();t.default=a,e.exports=t.default}(rr,rr.exports)),rr.exports)),r=(ar||(ar=1,function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default={get:function(e){try{return localStorage.getItem(e)}catch(e){return null}},set:function(e,t){try{return localStorage.setItem(e,t)}catch(e){return null}}},e.exports=t.default}(dr,dr.exports)),dr.exports),a=s(r),o=function(){if(Ir)return fr;Ir=1,Object.defineProperty(fr,"__esModule",{value:!0}),fr.get=function(e,n,r){var a=t.default.get(this.getStandardOrigin()+n.url).query(e);return i.call(this,a,n,r)},fr.post=function(e,n,r,a){var o=t.default.post(this.getStandardOrigin()+r.url).query(e).send(n);return i.call(this,o,r,a)},fr.del=function(e,n,r){var a=t.default.delete(this.getStandardOrigin()+n.url).query(e);return i.call(this,a,n,r)};var e,t=(e=Pr())&&e.__esModule?e:{default:e};function n(e){var t=(new Date).getTime(),n=(new Date).toISOString(),i=console&&console.log?console:window&&window.console&&window.console.log?window.console:console;i.log("<<<<<"),i.log("["+n+"]","\n",e.url,"\n",e.qs),i.log("-----"),e.on("response",function(n){var r=(new Date).getTime()-t,a=(new Date).toISOString();i.log(">>>>>>"),i.log("["+a+" / "+r+"]","\n",e.url,"\n",e.qs,"\n",n.text),i.log("-----")})}function i(e,t,i){var r=this;return this._config.logVerbosity&&(e=e.use(n)),this._config.proxy&&this._modules.proxy&&(e=this._modules.proxy.call(this,e)),this._config.keepAlive&&this._modules.keepAlive&&(e=this._modules.keepAlive(e)),e.timeout(t.timeout).end(function(e,n){var a={};if(a.error=null!==e,a.operation=t.operation,n&&n.status&&(a.statusCode=n.status),e)return a.errorData=e,a.category=r._detectErrorCategory(e),i(a,null);var o=JSON.parse(n.text);return o.error&&1===o.error&&o.status&&o.message&&o.service?(a.errorData=o,a.statusCode=o.status,a.error=!0,a.category=r._detectErrorCategory(a),i(a,null)):i(a,o)})}return fr}();function s(e){return e&&e.__esModule?e:{default:e}}function u(e){if(!navigator||!navigator.sendBeacon)return!1;navigator.sendBeacon(e)}var c=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=e.listenToBrowserNetworkEvents,r=void 0===n||n;e.db=a.default,e.sdkFamily="Web",e.networking=new i.default({del:o.del,get:o.get,post:o.post,sendBeacon:u});var s=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==S(t)&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return r&&(window.addEventListener("offline",function(){s.networkDownDetected()}),window.addEventListener("online",function(){s.networkUpDetected()})),s}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+S(t));e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),t}(n.default);t.default=c,e.exports=t.default}(Cn,Cn.exports)),Cn.exports),Br=t(Ur),Hr=["PNAccessDeniedCategory","PNTimeoutCategory","PNNetworkIssuesCategory","PNBadRequestCategory","PNMalformedResponseCategory","PNDecryptionErrorCategory","PNTLSConnectionFailedCategory","PNTLSUntrustedCertificateCategory","PNUnexpectedDisconnectCategory","PNNetworkDownCategory","PNNetworkUpCategory"],Gr=function(){function e(t){var n;return a(this,e),(n=r(this,e,[t])).pubnub=void 0,n.channelId=void 0,n._synchronousPublish=!1,n.generateChannel(),n}return h(e,vn),s(e,[{key:"connect",value:function(e){var t=this;VizbeeSDK.logger.debug("PubnubSync::appId - "+this.appConfig.appId+" , deviceId - "+this.appConfig.deviceId),void 0===this.pubnub&&(VizbeeSDK.logger.debug("PubnubSync::connect - initializing pubnub ..."),this.pubnub=new Br({publishKey:this.appConfig.pub_key,subscribeKey:this.appConfig.sub_key,ssl:!0}),this.filterOwnMessages());var n=5;this.pubnub.addListener({status:function(i){"PNConnectedCategory"!==i.category&&"PNReconnectedCategory"!==i.category&&"PNNetworkUpCategory"!==i.category||(n=5),"PNConnectedCategory"===i.category?(t.dispatchReceive(new yn(mn.SYNC_CONNECT,{})),e(!0)):Hr.indexOf(i.category)>=0&&(VizbeeSDK.logger.error("PubnubSync.Connect - PUBNUB.subscribe() error = ",i," with retries = ",n),n>0&&(n--,t.subscribePubnub()))},message:this.messageHandler.bind(this),presence:function(e){}}),this.subscribePubnub()}},{key:"disconnect",value:function(){this.pubnub&&this.channelId&&(VizbeeSDK.logger.debug("PubnubSync::disconnect - invoking disconnect"),this.pubnub.unsubscribe({channels:[this.channelId]}),this.pubnub=void 0,m(e,"disconnect",this)([]))}},{key:"send",value:function(e){if(this.pubnub&&this.channelId){if(this._synchronousPublish)return void this.sendSynchronously(e);this.pubnub.publish({message:e,channel:this.channelId,sendByPost:!1,storeInHistory:!1,meta:{uuid:this.pubnub.getUUID()}},function(e,t){e.error&&VizbeeSDK.logger.error("CommManager:CommManager - PUBNUB.publish() error")})}}},{key:"enableSynchronousPublish",value:function(){this._synchronousPublish=!0}},{key:"sendSynchronously",value:function(e){if(this.pubnub&&this.channelId)try{var t=this.appConfig.pub_key,n=this.appConfig.sub_key,i=this.pubnub.getUUID(),r="?uuid="+encodeURIComponent(i)+"&store=0&meta="+encodeURIComponent(JSON.stringify({uuid:i})),a="https://ps.pndsn.com/publish/"+t+"/"+n+"/0/"+this.channelId+"/0",o=JSON.stringify(e),s=a+"/"+encodeURIComponent(o)+r;if("function"==typeof fetch)return fetch(s,{method:"GET",keepalive:!0,mode:"no-cors"}).catch(function(){}),void VizbeeSDK.logger.debug("PubnubSync::sendSynchronously - sent via keepalive fetch");if("undefined"!=typeof navigator&&"function"==typeof navigator.sendBeacon&&navigator.sendBeacon(a+r,o))return void VizbeeSDK.logger.debug("PubnubSync::sendSynchronously - sent via sendBeacon");var u=new XMLHttpRequest;u.open("GET",s,!1),u.send(),VizbeeSDK.logger.debug("PubnubSync::sendSynchronously - sent via synchronous XHR")}catch(e){VizbeeSDK.logger.error("PubnubSync::sendSynchronously - error publishing on teardown",e)}}},{key:"generateChannel",value:function(){this.appConfig&&(this.channelId=(""+An(this.appConfig.appId+":"+this.appConfig.deviceId)).toLowerCase()),VizbeeSDK.logger.info("PubnubSync::generateChannel",this.channelId)}},{key:"subscribePubnub",value:function(){VizbeeSDK.logger.debug("PubnubSync::subscribePubnub - invoking pubnub subscribe"),this.pubnub&&this.channelId&&(VizbeeSDK.logger.debug("PubnubSync::subscribePubnub - subscribing..."),this.pubnub.subscribe({channels:[this.channelId]}))}},{key:"filterOwnMessages",value:function(){if(this.pubnub){var e="uuid != '";e=e.concat(this.pubnub.getUUID()).concat("'"),this.pubnub.setFilterExpression(e)}}},{key:"messageHandler",value:function(e,t,n){VizbeeSDK.logger.verbose("PubnubSync::messageHandler",e);var i=e?e.message:{};bn.verifyDeviceId(),this.dispatchReceive(new yn(mn.SYNC_MESSAGE,i))}}])}(),Wr="MSF_LIBRARY_NOT_LOADED",qr="MSF_LOCAL_SERVICE_ERROR",jr=function(){function e(t){var n;return a(this,e),(n=r(this,e,[t])).isMSFLibraryLoaded=!1,window.addEventListener(R,function(){window.msf&&(n.isMSFLibraryLoaded=!0)}),window.msf&&(n.isMSFLibraryLoaded=!0),n.msfLocalChannel=void 0,n.channelConnectionRetryCount=15,n.channelId=void 0,n._generateChannelId(),n}return h(e,vn),s(e,[{key:"connect",value:function(){var e=this;VizbeeSDK.logger.debug("SamsungMSFSync::connect - appId= "+this.appConfig.appId+", deviceId= "+this.appConfig.deviceId),void 0===this.msfLocalChannel?void 0!==this.channelId?(VizbeeSDK.logger.debug("SamsungMSFSync::connect - creating channel"),this._createChannel(function(){e.channelConnectionRetryCount=15},function(t){if(VizbeeSDK.logger.warn("SamsungMSFSync::connect - failed to create channel with error= ",t),e.channelConnectionRetryCount>0){VizbeeSDK.logger.info("SamsungMSFSync::connect - retrying to connect, attempts left= ",e.channelConnectionRetryCount),e.channelConnectionRetryCount--;var n;n=t.message===Wr?1500:0,VizbeeSDK.logger.info("SamsungMSFSync::connect - retrying to connect after timeout= ",n),setTimeout(function(){e.connect()},n)}else VizbeeSDK.logger.critical("SamsungMSFSync::connect - failed to connect after all 15 retries with error: ",t)})):VizbeeSDK.logger.error("SamsungMSFSync::connect - channelId is invalid"):VizbeeSDK.logger.debug("SamsungMSFSync::connect - msfLocalChannel is already connected")}},{key:"disconnect",value:function(){if(this.msfLocalChannel){VizbeeSDK.logger.debug("SamsungMSFSync::disconnect - invoking disconnect"),this.msfLocalChannel.off("say",this._messageHandler.bind(this)),this.msfLocalChannel.off("connect",this._connectHandler.bind(this)),this.msfLocalChannel.off("disconnect",this._disconnectHandler.bind(this));try{this.msfLocalChannel.isConnected?this.msfLocalChannel.disconnect(function(e,t){e?VizbeeSDK.logger.warn("SamsungMSFSync::disconnect - failed to disconnect with error - ",e.code,e.message):VizbeeSDK.logger.info("SamsungMSFSync::disconnect - disconnected client - ",t)}):VizbeeSDK.logger.info("SamsungMSFSync::disconnect - already disconnected")}catch(e){VizbeeSDK.logger.warn("SamsungMSFSync::disconnect - failed to disconnect with exception - ",e)}this.msfLocalChannel=void 0,m(e,"disconnect",this)([])}}},{key:"send",value:function(e){this.msfLocalChannel&&this.msfLocalChannel.publish("say",e)}},{key:"_generateChannelId",value:function(){this.appConfig&&(this.channelId=(""+An(this.appConfig.appId+":"+this.appConfig.deviceId)).toLowerCase()),VizbeeSDK.logger.info("SamsungMSFSync::_generateChannelId",this.channelId)}},{key:"_createChannel",value:function(e,t){var n=this;if(!this.isMSFLibraryLoaded)return VizbeeSDK.logger.warn("SamsungMSFSync::_createChannel - msf library is not loaded"),void t({message:Wr});window.msf.local(function(i,r){return i?(VizbeeSDK.logger.error("SamsungMSFSync::_createChannel - msf.local service error= ",i),void t({message:qr,cause:i})):r?(n.msfLocalChannel=r.channel(n.channelId),n.msfLocalChannel.on("connect",n._connectHandler.bind(n)),n.msfLocalChannel.on("disconnect",n._disconnectHandler.bind(n)),n.msfLocalChannel.on("say",n._messageHandler.bind(n)),n.msfLocalChannel.on("clientConnect",function(e){VizbeeSDK.logger.debug("SamsungMSFSync::clientConnect - client= ",e)}),n.msfLocalChannel.on("clientDisconnect",function(e){VizbeeSDK.logger.debug("SamsungMSFSync::clientDisconnect - client= ",e)}),void n.msfLocalChannel.connect({name:"Samsung TV"},function(n,i){n?(VizbeeSDK.logger.error("SamsungMSFSync::_createChannel - msfLocalChannel.connect error= ",n),t({message:"MSF_CHANNEL_CONNECTION_ERROR",cause:n})):(VizbeeSDK.logger.debug("SamsungMSFSync::_createChannel - msfLocalChannel.connect success"),e())})):(VizbeeSDK.logger.error("SamsungMSFSync::_createChannel - msf.local returned invalid service"),void t({message:qr,cause:"msf.local returned invalid service"}))})}},{key:"_connectHandler",value:function(e){VizbeeSDK.logger.debug("SamsungMSFSync::_connectHandler - client= ",e),this.dispatchReceive(new yn(mn.SYNC_CONNECT,{}))}},{key:"_disconnectHandler",value:function(t){VizbeeSDK.logger.debug("SamsungMSFSync::_disconnectHandler - client= ",t),this.msfLocalChannel=void 0,m(e,"disconnect",this)([])}},{key:"_messageHandler",value:function(e,t){VizbeeSDK.logger.debug("SamsungMSFSync::_messageHandler",e),this.dispatchReceive(new yn(mn.SYNC_MESSAGE,e))}}])}(),Yr=function(){function e(t){var n;return a(this,e),(n=r(this,e,[t])).messageBus=void 0,n}return h(e,vn),s(e,[{key:"connect",value:function(e){var t=this;VizbeeTV.tv.config.vizbeeCustomChannel&&(this.messageBus=VizbeeTV.tv.config.vizbeeCustomChannel,this.messageBus.onMessage=function(e){e&&e.data&&(VizbeeSDK.logger.debug("GoogleCastSync::connect",e.senderId,e.data),t.dispatchReceive(new yn(mn.SYNC_MESSAGE,JSON.parse(e.data))))},this.dispatchReceive(new yn(mn.SYNC_CONNECT,{})),e(!0))}},{key:"disconnect",value:function(){this.messageBus=void 0}},{key:"send",value:function(e){try{this.messageBus&&e&&(VizbeeSDK.logger.debug("GoogleCastSync::send",e),this.messageBus.broadcast(JSON.stringify(e)))}catch(e){VizbeeSDK.logger.error("GoogleCastSync::send - Error while sending message",e)}}}])}(),Qr=function(){function e(t){var n;return a(this,e),(n=r(this,e,[t])).vizbeeCustomChannel=VizbeeTV.tv.config.vizbeeCustomChannel,n.castReceiverContext=cast.framework.CastReceiverContext.getInstance(),n}return h(e,vn),s(e,[{key:"connect",value:function(e){var t=this;this.vizbeeCustomChannel&&(this.castReceiverContext.addCustomMessageListener(this.vizbeeCustomChannel,function(e){e&&e.data&&(VizbeeSDK.logger.debug("GoogleCastCAFSync::connect",e.senderId,e.data),t.dispatchReceive(new yn(mn.SYNC_MESSAGE,JSON.parse(e.data))))}),this.dispatchReceive(new yn(mn.SYNC_CONNECT,{})),e(!0))}},{key:"send",value:function(e){try{this.vizbeeCustomChannel&&(VizbeeSDK.logger.debug("GoogleCastCAFSync::send() sending to custom channel",e),this.castReceiverContext.sendCustomMessage(this.vizbeeCustomChannel,void 0,JSON.stringify(e)))}catch(e){VizbeeSDK.logger.error("GoogleCastCAFSync::send - Error while sending message",e)}}}])}(),Jr=function(){function e(t){var n;return a(this,e),(n=r(this,e,[t])).syncInstances=[],n}return h(e,vn),s(e,[{key:"connect",value:function(e){var t,n=u(this.syncInstances);try{for(n.s();!(t=n.n()).done;)t.value.connect(e)}catch(e){n.e(e)}finally{n.f()}}},{key:"disconnect",value:function(){var e,t=u(this.syncInstances);try{for(t.s();!(e=t.n()).done;)e.value.disconnect()}catch(e){t.e(e)}finally{t.f()}}},{key:"send",value:function(e){var t,n=u(this.syncInstances);try{for(n.s();!(t=n.n()).done;)t.value.send(e)}catch(e){n.e(e)}finally{n.f()}}},{key:"addSyncInstance",value:function(e){this.syncInstances.push(e),this.setReceiveListener(e)}},{key:"setReceiveListener",value:function(e){var t=this;e.onReceive=function(e){t.dispatchReceive.call(t,e)}}}])}(),Zr=function(){function e(t,n){var i;if(a(this,e),!(t instanceof vn))throw new TypeError("BaseSyncExtension::constructor() - classToExtend must be instance of BaseSync.");return(i=r(this,e,[n])).extendedClass=t,i.extendedClass.onReceive=function(e){i.onReceiveHandler.call(i,e)},i}return h(e,vn),s(e,[{key:"connect",value:function(e){this.extendedClass.connect(e)}},{key:"disconnect",value:function(){this.extendedClass.disconnect()}},{key:"send",value:function(e){VizbeeSDK.logger.verbose(this._getLogPrefix("send")+" - FORWARDING OUT send message",e),this.extendedClass.send(e)}},{key:"baseSync",get:function(){return this.extendedClass instanceof e?this.extendedClass.baseSync:this.extendedClass}},{key:"onReceiveHandler",value:function(e){if(e&&e.data){var t=void 0;e.type===mn.SYNC_MESSAGE?(t=this.handleSyncReceiveEvent(e))?(VizbeeSDK.logger.verbose(this._getLogPrefix("onReceive")+" - FORWARDING IN sync receive event",t),this.dispatchReceive.call(this,t)):VizbeeSDK.logger.warn(this._getLogPrefix("onReceive")+" - DROPPING receive event",e):(t=this.handleNonSyncReceiveEvent(e))?(VizbeeSDK.logger.verbose(this._getLogPrefix("onReceive")+" - FORWARDING IN non-sync receive event",t),this.dispatchReceive.call(this,t)):VizbeeSDK.logger.warn(this._getLogPrefix("onReceive")+" - DROPPING non-sync receive event",e)}else VizbeeSDK.logger.warn(this._getLogPrefix("onReceive")+" - NULL receive event",e)}},{key:"handleSyncReceiveEvent",value:function(e){return e}},{key:"handleNonSyncReceiveEvent",value:function(e){return e}},{key:"getClassName",value:function(){return this.constructor.name}},{key:"_getLogPrefix",value:function(e){return(this.getClassName()+"::"+e+" ").slice(0,40)}}])}(),Xr=function(){function e(t,n){var i;return a(this,e),(i=r(this,e,[t,n])).txIdMap={},i}return h(e,Zr),s(e,[{key:"handleSyncReceiveEvent",value:function(e){if(this.isValidMessage(e.data))return e}},{key:"isValidMessage",value:function(e){var t,n,i,r,a=!1;if(!e)return VizbeeSDK.logger.warn("SanitizeHeaderRecvExtension:isValidMessage - invalid message",e),a;if(!$.isObject(e.h))return VizbeeSDK.logger.warn("SanitizeHeaderRecvExtension:isValidMessage - invalid message head",e),a;if(t=e.h.id,n=e.h.tx,i=e.h.ss,!$.isString(t))return VizbeeSDK.logger.error("SanitizeHeaderRecvExtension:isValidMessage - invalid message id",t,e),a;if(!$.isNumber(n))return VizbeeSDK.logger.error("SanitizeHeaderRecvExtension:isValidMessage - invalid message tx",n,e),a;if(r=t,i&&(r=i+r),0===n)this.txIdMap[r]=n;else{if(this.txIdMap[r]>=n)return VizbeeSDK.logger.warn("SanitizeHeaderRecvExtension:isValidMessage - duplicate message",n,this.txIdMap[r]),a;this.txIdMap[r]=n}return!0}}])}(),$r=function(){function e(t,n){return a(this,e),r(this,e,[t,n])}return h(e,Zr),s(e,[{key:"handleSyncReceiveEvent",value:function(e){if(this.isValidMessage(e.data))return this.sanitize(e)}},{key:"isValidMessage",value:function(e){var t=!1,n=e.b;if(!$.isObject(n))return t;if(!$.isObject(n.cmd))return t;if(!$.isString(n.cmd.name)||!$.isString(n.cmd.ns))return t;if("start_video"==n.cmd.name){var i=n.vinfo;if(!$.isObject(i))return t;if(!$.isString(i.id)&&!$.isString(i.url))return t}return!0}},{key:"sanitize",value:function(e){var t=e.data,n=t.b.cmd;return n.name=n.name.toLowerCase(),n.ns=n.ns.toLowerCase(),n.type=n.type?n.type.toLowerCase():null,"exit"==n.name&&(n.param=n.param.toLowerCase()),t.b.cmd=n,e.data=t,e}}])}(),ea=function(){function e(t,n){return a(this,e),r(this,e,[t,n])}return h(e,Zr),s(e,[{key:"getActiveSenders",value:function(){throw new TypeError("BaseSyncWithPresence::getSenders() - Abstract method.")}},{key:"getActiveSendersCount",value:function(){throw new TypeError("BaseSyncWithPresence::getActiveSendersCount() - Abstract method.")}}])}(),ta=function(){function e(t,n){if(a(this,e),!(t instanceof ea))throw new TypeError("BaseSyncWithPresenceExtension::constructor() - classToExtend must be instance of BaseSyncWithPresence.");return r(this,e,[t,n])}return h(e,ea),s(e,[{key:"getActiveSenders",value:function(){return this.extendedClass.getActiveSenders()}},{key:"getActiveSendersCount",value:function(){return this.extendedClass.getActiveSendersCount()}}])}(),na=function(){function e(){a(this,e)}return s(e,null,[{key:"decodeVideoInfo",value:function(e){if(e&&e.vinfo){var t={islive:!1,starttime:0,isContinuedVideo:!1};if(t.id=e.vinfo.id,t.videourl=e.vinfo.url,e.vinfo.islive&&(t.islive=e.vinfo.islive),e.vinfo.deeplink&&(t.deeplink=e.vinfo.deeplink),!$.isUndefined(e.cmd)){var n=0;$.isUndefined(e.cmd.param)||(n=parseInt(e.cmd.param,10),isNaN(n)&&(n=0),n<0&&(n=0)),t.starttime=n}if(e.vinfoext){if(e.vinfoext.cuepoints&&(t.cuepoints=e.vinfoext.cuepoints),e.vinfoext.title&&(t.title=e.vinfoext.title),e.vinfoext.subtitle&&(t.subtitle=e.vinfoext.subtitle),e.vinfoext.tracks){var i=$.get(e,["vinfoext","tracks","currentAudioTrack"]);i&&(t.preferredTracks={},t.preferredTracks.currentAudioTrack={label:i.displayName,lang:i.languageCode,id:i.screenTrackId})}e.vinfoext.imgurl&&(t.imgurl=e.vinfoext.imgurl),e.vinfoext.desc&&(t.desc=e.vinfoext.desc),e.vinfoext.customstreaminfo&&(t.customstreaminfo=e.vinfoext.customstreaminfo),e.vinfoext.custommetadata&&(t.custommetadata=e.vinfoext.custommetadata),e.vinfoext.drmtype&&(t.drmtype=e.vinfoext.drmtype),e.vinfoext.protocoltype&&(t.protocoltype=e.vinfoext.protocoltype),e.vinfoext.drmlicenseurl&&(t.drmlicenseurl=e.vinfoext.drmlicenseurl),e.vinfoext.drmcustomdata&&(t.drmcustomdata=e.vinfoext.drmcustomdata)}return t}}},{key:"encodeVideoInfo",value:function(e){if(e){var t={};return t.vinfo={id:e.id,islive:e.islive,url:e.videourl},t.vinfoext={videostarttime:e.starttime||0,imgurl:e.imgurl?e.imgurl:"",title:e.title?e.title:"",subtitle:e.subtitle?e.subtitle:"",desc:e.desc?e.desc:"",isContinuedVideo:null!=e.isContinuedVideo&&e.isContinuedVideo,customstreaminfo:e.customstreaminfo?e.customstreaminfo:{},custommetadata:e.custommetadata?e.custommetadata:{},drmtype:e.drmtype?e.drmtype:"NONE",drmlicenseurl:e.drmlicenseurl?e.drmlicenseurl:"",drmcustomdata:e.drmcustomdata?e.drmcustomdata:{},cuepoints:e.cuepoints?e.cuepoints:[]},t}}},{key:"addInfoFromHeader",value:function(e,t){if(!e||!t)return e;var n=$.clone(t);return e.senderInfo=$.omit(n,["tx","ss"]),e}},{key:"encodeEventCmd",value:function(e){if(e){var t={cmd:{ns:"video",type:"req",name:"event",param:""},einfo:{type:e.type,data:e.data}};return{type:mn.SYNC_MESSAGE,data:{h:{},b:t}}}}},{key:"encodeStartVideoCmd",value:function(e){if(e){e.starttime=e.starttime||0;var t={cmd:{ns:"video",type:"req",name:"start_video",param:e.starttime},internal:{videoInfo:e,startVideoSource:"queue_manager"}};return{type:mn.SYNC_MESSAGE,data:{h:{},b:t}}}}},{key:"encodeVideoStatus",value:function(t){if(t){var n={cmd:{name:"status",ns:"video",type:"upd"},vstatus:{du:0,id:t.id,po:-1,st:"BUFFERING",vol:100,cc:0,tr:{},er:{}}};return $.extend(n,e.encodeVideoInfo(t))}}}])}(),ia=function(){function e(t,n){return a(this,e),r(this,e,[t,n])}return h(e,ta),s(e,[{key:"handleSyncReceiveEvent",value:function(e){if("start_video"==e.data.b.cmd.name){var t=na.decodeVideoInfo(e.data.b);t&&(t=na.addInfoFromHeader(t,e.data.h)),e.data.b.internal={videoInfo:t,startVideoSource:"default",queueInfo:this._createQueueInfo(e.data)}}return e}},{key:"_createQueueInfo",value:function(e){var t={id:"default",name:"default",description:"default",startIndex:0,items:[]},n=na.decodeVideoInfo(e.b);return n&&(n=na.addInfoFromHeader(n,e.h)),t.items.push(n),t}}])}(),ra=function(){function e(t,n){var i;return a(this,e),VizbeeSDK.logger.d("UpdatePresenceRecvExtension","constructor"),(i=r(this,e,[t,n])).currentAppId=n.appId,i._sentFirstHelloCheck=!1,i._sentSecondHelloCheck=!1,i._senderMap={},i._presenceIntervalTimer=void 0,i._previousSenderMapCount=0,i._startPresenceTimer(),i}return h(e,ea),s(e,[{key:"getActiveSenders",value:function(){return this._senderMap}},{key:"getActiveSendersCount",value:function(){return Object.keys(this._senderMap||{}).length}},{key:"disconnect",value:function(){VizbeeSDK.logger.d("UpdatePresenceRecvExtension","disconnect"),this._senderMap={},this._previousSenderMapCount=0,this._stopPresenceTimer(),m(e,"disconnect",this)([])}},{key:"handleSyncReceiveEvent",value:function(e){var t=e.data;return"exit"===t.b.cmd.name?this._senderMap=$.omit(this._senderMap,$.keys(this._senderMap).filter(function(e){return e===t.h.id})):(this._sentFirstHelloCheck=!1,this._sentSecondHelloCheck=!1,this._senderMap[t.h.id]=t.h,this._senderMap[t.h.id].appId=this.currentAppId,this._senderMap[t.h.id].lastMsgReceivedTimeInMs=Date.now(),this._startPresenceTimer()),e}},{key:"_startPresenceTimer",value:function(){var e=this;this._stopPresenceTimer(),this._presenceIntervalTimer=window.setInterval(function(){e._updatePresence()},1e3)}},{key:"_stopPresenceTimer",value:function(){window.clearInterval(this._presenceIntervalTimer),this._presenceIntervalTimer=void 0}},{key:"_checkForSenders",value:function(){!this._sentFirstHelloCheck&&this._shouldSendHelloCheckMessage(15e3)?(this._sendHelloCheckMessage(),this._sentFirstHelloCheck=!0):!this._sentSecondHelloCheck&&this._shouldSendHelloCheckMessage(25e3)&&(this._sendHelloCheckMessage(),this._sentSecondHelloCheck=!0)}},{key:"_shouldSendHelloCheckMessage",value:function(e){var t=this;if(0==Object.keys(this._senderMap||{}).length)return!1;var n=Date.now(),i=$.keys(this._senderMap).filter(function(i){return t._senderMap[i]&&null!=t._senderMap[i].lastMsgReceivedTimeInMs&&n-t._senderMap[i].lastMsgReceivedTimeInMs>e});return Object.keys(i).length>0}},{key:"_sendHelloCheckMessage",value:function(){this.dispatchReceive(new yn(mn.SYNC_MESSAGE,{b:{cmd:{ns:"video",name:"hello",type:"int"},hstatus:{id:this.appConfig.deviceId,type:"SCREEN",vip:"false"}}}))}},{key:"_updatePresence",value:function(){var e=this;this._checkForSenders();var t=Date.now();if(this._senderMap=$.omit(this._senderMap,$.keys(this._senderMap).filter(function(n){return e._senderMap[n]&&null!=e._senderMap[n].lastMsgReceivedTimeInMs&&t-e._senderMap[n].lastMsgReceivedTimeInMs>3e4})),0==Object.keys(this._senderMap||{}).length)return VizbeeSDK.logger.d("UpdatePresenceRecvExtension","_updatePresence","there are no senders now"),this._stopPresenceTimer(),this.dispatchReceive(new yn(mn.SYNC_PRESENCE,this._senderMap)),void(this._previousSenderMapCount=0);var n=Object.keys(this._senderMap).length;n!=this._previousSenderMapCount&&(VizbeeSDK.logger.d("UpdatePresenceRecvExtension","_updatePresence","there is a change in the senders connected"),this._previousSenderMapCount=n,this.dispatchReceive(new yn(mn.SYNC_PRESENCE,this._senderMap)))}}])}(),aa=function(){function e(t,n){return a(this,e),VizbeeSDK.logger.debug("ExitOnLastMessageRecvExtension::constructor()"),r(this,e,[t,n])}return h(e,ta),s(e,[{key:"handleSyncReceiveEvent",value:function(e){var t=e.data;if(VizbeeSDK.logger.verbose("ExitOnLastMessageRecvExtension::onReceiveHandler() ".concat(this.appConfig.appId),t),VizbeeSDK.logger.verbose("ExitOnLastMessageRecvExtension::onReceiveHandler getActiveSendersCount - cmd ",this.getActiveSendersCount(),t.b?t.b.cmd.name:""),!t.b||"exit"!==t.b.cmd.name)return e;"user_invoked_disconnect"===t.b.cmd.param&&0==this.getActiveSendersCount()&&this.appConfig.features&&this.appConfig.features.shouldExitOnLastSender&&(VizbeeSDK.logger.debug("ExitOnLastMessageRecvExtension::onReceiveHandler getActiveSendersCount is zero - going to exit the receiver app"),VizbeeTV.tv.exit())}}])}(),oa=function(){function e(t,n){var i;return a(this,e),(i=r(this,e,[t,n])).tx=0,i.sessionId=i.createTimestamp(),i}return h(e,ta),s(e,[{key:"send",value:function(t){m(e,"send",this)([this.createMessage(null,t)])}},{key:"createMessage",value:function(e,t){return(t=t||{}).vers=1,{h:e=$.extend(this.createHeader(),e),b:t}}},{key:"createHeader",value:function(){return this.tx++,{tx:this.tx,id:this.appConfig.senderId||this.appConfig.deviceId,ss:this.sessionId,app:this.appConfig.appId,ssinfo:this.getSenderSessionInfo()}}},{key:"createTimestamp",value:function(){var e=new Date;return e.getFullYear()+":"+("0"+(e.getMonth()+1)).slice(-2)+":"+("0"+e.getDate()).slice(-2)+":"+("0"+e.getHours()).slice(-2)+":"+("0"+e.getMinutes()).slice(-2)+":"+("0"+e.getSeconds()).slice(-2)+":"+("0"+e.getMilliseconds()).slice(-3)}},{key:"getSenderSessionInfo",value:function(){return{SCREEN_IDFA:this.appConfig.screenIdfa,SCREEN_IDFV:this.appConfig.screenIdfv,SCREEN_DEVICE_TYPE:this.appConfig.screenDeviceType,SCREEN_DEVICE_ID:this.appConfig.screenDeviceId,SCREEN_DEVICE_FRIENDLYNAME:this.appConfig.screenFriendlyName}}}])}(),sa=function(){function e(t,n){var i;return a(this,e),VizbeeSDK.logger.debug("FilterMessageSendExtension::constructor()"),(i=r(this,e,[t,n])).shouldFilterAllMessagesOnLastSenderExit=n&&n.features&&n.features.shouldFilterAllMessagesOnLastSenderExit,i}return h(e,ta),s(e,[{key:"send",value:function(t){if(t&&t.cmd){var n=this.getActiveSendersCount();if(this.shouldFilterAllMessagesOnLastSenderExit&&n<=0)VizbeeSDK.logger.verbose("FilterMessageSendExtension::send filtering all messages as senders are not available and shouldFilterAllMessagesOnLastSenderExit is set");else{if("status"==t.cmd.name)return t.vstatus&&-1!=["FINISHED","INTERRUPTED","FAILED"].indexOf(t.vstatus.st)?(VizbeeSDK.logger.debug("FilterMessageSendExtension::send message.vstatus.st: ".concat(t.vstatus.st)),void m(e,"send",this)([t])):void(0!==n?m(e,"send",this)([t]):VizbeeSDK.logger.verbose("FilterMessageSendExtension::send senders not available: MESSAGE NOT SENT",this.getActiveSendersCount(),t));m(e,"send",this)([t])}}else m(e,"send",this)([t])}}])}(),ua=["BUFFERING","PLAYING","PAUSED_BY_USER","INTERRUPTED","FINISHED","FAILED"],ca=function(){function e(t,n){var i;return a(this,e),(i=r(this,e,[t,n])).appConfig=n,i.shouldSupportLiveDVR=$.get(n,["features","shouldSupportLiveDVR"],!1),i.liveDVRMinBufferInMs=$.get(n,["features","liveDVRMinBufferInMs"],3e5),i}return h(e,ta),s(e,[{key:"send",value:function(t){if(t&&t.cmd){var n=t;"status"==t.cmd.name&&(n=this.interceptVideoStatus(t)),m(e,"send",this)([n])}else m(e,"send",this)([t])}},{key:"interceptVideoStatus",value:function(e){return ua.includes(e.vstatus.st)&&e.vinfo.islive&&(e.vinfoext||(e.vinfoext={}),!0===e.vinfoext.isdvrsupported||(!this.shouldSupportLiveDVR||e.vstatus.du<this.liveDVRMinBufferInMs?(e.vinfoext.isdvrsupported=!1,e.vstatus.po=-1,e.vstatus.du=0):e.vinfoext.isdvrsupported=!0)),e}}])}(),la=function(){return s(function e(){a(this,e)},null,[{key:"setItem",value:function(e,t,n,i,r,a,o){if(e)if("undefined"!=typeof Storage)vizbee.logger.debug("StorageUtil::setItem - Storage supported!"),"session"==n?(vizbee.logger.debug("StorageUtil::setItem - storing in session!"),sessionStorage.setItem(e,t)):(vizbee.logger.debug("StorageUtil::setItem - storing in local!"),localStorage.setItem(e,t));else{if(vizbee.logger.debug("StorageUtil::setItem - Storage NOT supported!"),"session"==n)return;vizbee.logger.debug("StorageUtil::setItem - storing in cookies!"),ae.docCookies.setItem(e,t,i,r,a,o)}}},{key:"getItem",value:function(e,t){if(e){if("undefined"!=typeof Storage)return vizbee.logger.debug("StorageUtil::getItem - Storage supported!"),"session"==t?(vizbee.logger.debug("StorageUtil::getItem - getting from session!"),sessionStorage.getItem(e)):(vizbee.logger.debug("StorageUtil::getItem - getting from local!"),localStorage.getItem(e)?sessionStorage.getItem(e):localStorage.getItem(e));if(vizbee.logger.debug("StorageUtil::getItem - Storage NOT supported!"),"session"!=t)return vizbee.logger.debug("StorageUtil::getItem - getting from cookies!"),ae.docCookies.getItem(e)}}},{key:"removeItem",value:function(e,t,n,i){if(e)if("undefined"!=typeof Storage)"session"==t?sessionStorage.removeItem(e):localStorage.removeItem(e)||sessionStorage.removeItem(e);else{if("session"==t)return;ae.docCookies.removeItem(e,n,i)}}}])}(),da=function(){return s(function e(t){a(this,e),this.senderConfig=t},[{key:"track",value:function(e,t){var n=this;if(e&&t&&this.senderConfig.url&&(VizbeeSDK.logger.d("".concat(this.constructor.name),"track() - tracking event ".concat(e,", ").concat(JSON.stringify(t))),this.shouldTrack(e)&&(t=this.filterProperties(t),0!=Object.keys(t).length))){var i={event:e,properties:t},r=this._getBase64String(i),a=this._getURIEncodedString(r),o=void 0,s=void 0,u="GET";this._needPostRequest(a)?(o=this.senderConfig.url,u="POST",s=JSON.stringify({data:a})):(o=this.senderConfig.url+"?data="+a,u="GET",s=void 0),VizbeeSDK.logger.d("".concat(this.constructor.name),"track() - sending metrics request: URL ".concat(o,", Method ").concat(u,", Data ").concat(s)),ae.xhr({url:o,method:u,data:s,timeout:1e4,retries:this.senderConfig.networkRetries}).then(function(e){e.error?VizbeeSDK.logger.e("".concat(n.constructor.name),"track - ERROR"):VizbeeSDK.logger.d("".concat(n.constructor.name),"track - SUCCESS: ".concat(e))}).catch(function(e){VizbeeSDK.logger.d("".concat(n.constructor.name),"track - ERROR=".concat(e))})}}},{key:"shouldTrack",value:function(e){return VizbeeSDK.logger.d("".concat(this.constructor.name),"shouldTrack - Filtering events with regex = ".concat(this.senderConfig.eventFilter)),!this.senderConfig.eventFilter||new RegExp(this.senderConfig.eventFilter,"i").test(e)}},{key:"filterProperties",value:function(e){if(VizbeeSDK.logger.d("".concat(this.constructor.name),"filterProperties - Filtering properties with regex = ".concat(this.senderConfig.attributeFilter)),!this.senderConfig.attributeFilter)return e;e=e||{},e=JSON.parse(JSON.stringify(e));for(var t=new RegExp(this.senderConfig.attributeFilter,"i"),n=Object.keys(e),i=0;i<n.length;i++){var r=n[i];t.test(r)||delete e[r]}return e}},{key:"_getBase64String",value:function(e){return btoa(unescape(encodeURIComponent(JSON.stringify(e))))}},{key:"_getURIEncodedString",value:function(e){return window.encodeURIComponent(e)}},{key:"_needPostRequest",value:function(e){return!!(e&&e.length>1e4)}}])}(),fa=function(){function e(t){a(this,e);var n={};return t.mixpanel_url&&(n={eventFilter:t.mixpanel_filter,token:t.mixpanel_token,attributeFilter:t.attribute_filter,url:t.mixpanel_url,networkRetries:0}),r(this,e,[n])}return h(e,da),s(e,[{key:"track",value:function(t,n){(n=n||{}).token=this.senderConfig.token,m(e,"track",this)([t,n])}}])}(),ha=function(){function e(t){a(this,e);var n={};return t.vizbee_url&&(n={url:t.vizbee_url,attributeFilter:t.attribute_filter,eventFilter:t.vizbee_filter,networkRetries:0}),r(this,e,[n])}return h(e,da),s(e)}(),pa=function(){return s(function e(t){a(this,e),this.senders=[],t&&t.vizbee_url&&this.senders.push(new ha(t)),t&&t.mixpanel_url&&t.mixpanel_token&&this.senders.push(new fa(t))},[{key:"track",value:function(e,t){VizbeeSDK.logger.d("".concat(this.constructor.name),"track",e,t),$.each(this.senders,function(n){n.track(e,$.clone(t))})}}])}(),ga="UNKNOWN",va="NOT_FOUND",ya=function(){return s(function e(){a(this,e),this.config={},this.commonProperties={},this.attributesProvidersList=[],this.isInitialized=!1,this.needToSetDistinctIdForVideoEvents=!0},[{key:"init",value:function(e){if(e&&this.commonProperties)if(VizbeeSDK.logger.d("MetricsManager","init",e.appId,this.commonProperties.APP_ID),this.isInitialized&&this.commonProperties.APP_ID==e.appId)VizbeeSDK.logger.d("MetricsManager","init","already initialized");else{this.config=e,this.metricsRouter=new pa(e.metricsParams),this.appSessionId=Math.floor(1e10*Math.random()).toString()+"_"+Date.now(),this.screenSdkId=la.getItem("SCREEN_SDK_ID"),this.screenSdkId?VizbeeSDK.logger.d("MetricsManager::init","SCREEN_SDK_ID -> AVAILABLE -> REUSING IT"):(VizbeeSDK.logger.d("MetricsManager::init","SCREEN_SDK_ID -> NOT_AVAILABLE"),this.screenSdkId=Math.floor(1e10*Math.random()).toString()+"_"+Date.now(),la.setItem("SCREEN_SDK_ID",this.screenSdkId,"local",31536e3,"/"));var t=this.prepareCommonProperties(e);this.setCommonProperties(t),e.customAttributesForMetrics&&this.setCustomProperties(e.customAttributesForMetrics),this.isInitialized=!0}else VizbeeSDK.logger.e("MetricsManager","init","called with empty config!")}},{key:"refreshLaunchParamProperties",value:function(){if(VizbeeTV.tv.launchParamsDeferral){var e=VizbeeTV.tv.launchParamsDeferral.isLaunchedbyVizbee()||!1;this.commonProperties.SCREEN_LAUNCHED_WITH_VIZBEE=e,this.commonProperties.SCREEN_VZB_LAUNCH_PARAM=e?"y":va}}},{key:"prepareCommonProperties",value:function(e){var t,n,i,r={appId:e.appId,deviceId:e.deviceId,deviceType:VizbeeTV.tv.cloudPlatformName,distinctId:e.deviceId,externalIp:e.externalIp,ipv6Address:e.ipv6Address,sdkVersion:window.VZB?window.VZB.VERSION:"",appSessionId:this.appSessionId,screenSdkId:this.screenSdkId,timestamp:Date.now(),timezoneOffset:(t=-(new Date).getTimezoneOffset(),n=t>=0?"+":"-",i=Math.abs(t),"GMT"+n+("0"+Math.floor(i/60)).slice(-2)+":"+("0"+i%60).slice(-2))};return VizbeeTV.tv.deviceInfo&&(VizbeeTV.tv.deviceInfo.deviceId&&VizbeeTV.tv.deviceInfo.deviceId!=ga&&(r.deviceId=VizbeeTV.tv.deviceInfo.deviceId,r.distinctId=VizbeeTV.tv.deviceInfo.deviceId),r.macAddress=VizbeeTV.tv.deviceInfo.macAddress,r.deviceMake=VizbeeTV.tv.deviceInfo.make,r.deviceModel=VizbeeTV.tv.deviceInfo.model,r.deviceSerialNumber=VizbeeTV.tv.deviceInfo.serialNumber,r.friendlyName=VizbeeTV.tv.deviceInfo.friendlyName,r.osVersion=$.get(VizbeeTV.tv.deviceInfo,["os","version"],ga),r.osNativeVersion=$.get(VizbeeTV.tv.deviceInfo,["os","sdkVersion"],ga)),VizbeeTV.tv.adId&&(r.adId=VizbeeTV.tv.adId),null!=VizbeeTV.tv.isAdTrackingDisabled&&(r.isAdTrackingDisabled=VizbeeTV.tv.isAdTrackingDisabled),VizbeeTV.tv.networkInfo&&(r.internalIp=VizbeeTV.tv.networkInfo.internalIP,r.bssid=VizbeeTV.tv.networkInfo.bssid,r.ssid=VizbeeTV.tv.networkInfo.ssid,r.isWifiConnected=VizbeeTV.tv.networkInfo.isWifiConnected,r.connectionType=VizbeeTV.tv.networkInfo.connectionType),VizbeeTV.tv.launchParamsDeferral&&(r.isLaunchedWithVizbee=VizbeeTV.tv.launchParamsDeferral.isLaunchedbyVizbee()||!1),r}},{key:"setCommonProperties",value:function(e){VizbeeSDK.logger.d("MetricsManager","setCommonProperties"),this.commonProperties.SCREEN_DEVICE_USERAGENT=ga,this.commonProperties.SCREEN_IDFV=ga,this.commonProperties.SCREEN_HOMESSO_USER_INFO={user_login:ga,user_login_type:ga,user_name:ga,user_subscription_renewal_type:ga,user_subscription_type:ga,user_subscription_value:ga},e.appId&&(this.commonProperties.APP_ID=e.appId),e.externalIp&&(this.commonProperties.EXTERNAL_IP_ADDRESS=e.externalIp),e.ipv6Address&&(this.commonProperties.IPV6_ADDRESS=e.ipv6Address),e.distinctId&&(this.commonProperties.distinct_id=e.distinctId),e.deviceId&&(this.commonProperties.SCREEN_DEVICE_ID=e.deviceId),e.appSessionId&&(this.commonProperties.SCREEN_APP_SESSION_ID=e.appSessionId),e.screenSdkId&&(this.commonProperties.SCREEN_SDK_ID=e.screenSdkId),e.internalIp&&(this.commonProperties.INTERNAL_IP_ADDRESS=e.internalIp,this.commonProperties.SCREEN_INTERNAL_IP=e.internalIp),"isWifiConnected"in e&&(this.commonProperties.WIFI_CONNECTED=e.isWifiConnected),e.connectionType&&(this.commonProperties.CONNECTION_TYPE=e.connectionType),e.bssid&&(this.commonProperties.WIFI_BSSID=e.bssid),e.ssid&&(this.commonProperties.WIFI_SSID=e.ssid),e.adId&&(this.commonProperties.SCREEN_IDFA=e.adId),null!=e.isAdTrackingDisabled&&(this.commonProperties.SCREEN_LIMIT_AD_TRACKING=e.isAdTrackingDisabled),e.macAddress&&(this.commonProperties.SCREEN_MAC_ADDRESS=e.macAddress),navigator&&navigator.userAgent&&(this.commonProperties.SCREEN_DEVICE_USERAGENT=navigator.userAgent),e.deviceType&&(this.commonProperties.SCREEN_DEVICE_TYPE=e.deviceType),e.deviceMake&&(this.commonProperties.SCREEN_DEVICE_MAKE=e.deviceMake),e.deviceModel&&(this.commonProperties.SCREEN_DEVICE_MODEL=e.deviceModel),e.deviceSerialNumber&&(this.commonProperties.SCREEN_SERIAL_NUMBER=e.deviceSerialNumber),e.friendlyName&&(this.commonProperties.SCREEN_FRIENDLY_NAME=e.friendlyName),e.osNativeVersion&&(this.commonProperties.SCREEN_NATIVE_OS_VERSION=e.osNativeVersion),e.osVersion&&(this.commonProperties.SCREEN_OS_VERSION=e.osVersion),null!=e.isLaunchedWithVizbee&&(this.commonProperties.SCREEN_LAUNCHED_WITH_VIZBEE=e.isLaunchedWithVizbee),this.commonProperties.SCREEN_LAUNCHED_WITH_VIZBEE?this.commonProperties.SCREEN_VZB_LAUNCH_PARAM="y":this.commonProperties.SCREEN_VZB_LAUNCH_PARAM=va,e.sdkVersion&&(this.commonProperties.SCREEN_SDK_VERSION=e.sdkVersion),e.timestamp&&(this.commonProperties.VZB_TIMESTAMP=e.timestamp),e.timezoneOffset&&(this.commonProperties.TIMEZONE=e.timezoneOffset),e.SCREEN_HOMESSO_USER_INFO&&(this.commonProperties.SCREEN_HOMESSO_USER_INFO=e.SCREEN_HOMESSO_USER_INFO)}},{key:"setAttributesProviderProperties",value:function(e,t){if(0!=this.attributesProvidersList.length){var n=this.attributesProvidersList.map(function(e){return e.provider.getAttributes()});Promise.all(n).then(function(n){n.forEach(function(t){t&&(e=$.extend(e,t))}),t(e)}).catch(function(n){console.error("Error getting attributes:",n),t(e)})}else t(e)}},{key:"setCustomProperties",value:function(e){var t=this;VizbeeSDK.logger.d("MetricsManager","setCustomProperties"),$.each(e,function(e,n){t.commonProperties["CUSTOM_"+n]=e})}},{key:"addProvider",value:function(e,t){VizbeeSDK.logger.d("MetricsManager","addProvider"),this.attributesProvidersList.push({provider:e,filterRegEx:t})}},{key:"removeProvider",value:function(e){VizbeeSDK.logger.d("MetricsManager","removeProvider"),this.attributesProvidersList=$.reject(this.attributesProvidersList,function(t){return t.provider==e})}},{key:"trackEvent",value:function(e,t){var n=this;this.shouldTrack(e,t)&&this._setUpdatedCommonProperties(function(){VizbeeSDK.logger.d("MetricsManager","trackEvent",e);var i=$.extend({},n.commonProperties,t);n.track(e,i)})}},{key:"trackScreenLaunched",value:function(){var e=this;this.shouldTrack("SCREEN_LAUNCHED",this.commonProperties)&&this._setUpdatedCommonProperties(function(){VizbeeSDK.logger.d("MetricsManager","trackScreenLaunched");var t=$.extend({},e.commonProperties,e.buildPlayerProperties());e.track("SCREEN_LAUNCHED",t)})}},{key:"trackScreenTVViewLoad",value:function(e){var t=this;this.shouldTrack("SCREEN_TV_VIEW_LOAD",e)&&this._setUpdatedCommonProperties(function(){VizbeeSDK.logger.d("MetricsManager","trackScreenTVViewLoad"),t.commonProperties.distinct_id=t.commonProperties.APP_ID+":"+t.commonProperties.SCREEN_DEVICE_TYPE+":"+ae.uuidv4()+":"+Date.now(),t.needToSetDistinctIdForVideoEvents=!1;var n=$.extend({},t.commonProperties,t.buildPlayerProperties(),t.buildNewScreenTVViewProperties(e),t.buildScreenTVViewQualityProperties(e),t.buildStreamInfoAndMetadataProperties(e));t.track("SCREEN_TV_VIEW_LOAD",n)})}},{key:"trackScreenTVViewStart",value:function(e){var t=this;this.shouldTrack("SCREEN_TV_VIEW_START",e)&&this._setUpdatedCommonProperties(function(){VizbeeSDK.logger.d("MetricsManager","trackScreenTVViewStart"),t.needToSetDistinctIdForVideoEvents&&(t.commonProperties.distinct_id&&-1==t.commonProperties.distinct_id.indexOf(t.commonProperties.SCREEN_DEVICE_TYPE)&&(t.commonProperties.APP_ID,t.commonProperties.SCREEN_DEVICE_TYPE,ae.uuidv4(),Date.now()),t.needToSetDistinctIdForVideoEvents=!0);var n=$.extend({},t.commonProperties,t.buildPlayerProperties(),t.buildScreenTVViewStartProperties(e),t.buildScreenTVViewQualityProperties(e),t.buildScreenTVViewStartTimeQualityProperties(e),t.buildStreamInfoAndMetadataProperties(e));t.track("SCREEN_TV_VIEW_START",n)})}},{key:"trackScreenTVViewPause",value:function(e){var t=this;this.shouldTrack("SCREEN_TV_VIEW_PAUSE",e)&&this._setUpdatedCommonProperties(function(){VizbeeSDK.logger.d("MetricsManager","trackScreenTVViewPause");var n=$.extend({},t.commonProperties,t.buildPlayerProperties(),t.buildScreenTVViewDurationProperties(e),t.buildScreenTVViewQualityProperties(e),t.buildStreamInfoAndMetadataProperties(e));t.track("SCREEN_TV_VIEW_PAUSE",n)})}},{key:"trackScreenTVViewResume",value:function(e){var t=this;this.shouldTrack("SCREEN_TV_VIEW_RESUME",e)&&this._setUpdatedCommonProperties(function(){VizbeeSDK.logger.d("MetricsManager","trackScreenTVViewResume");var n=$.extend({},t.commonProperties,t.buildPlayerProperties(),t.buildScreenTVViewResumeProperties(e),t.buildScreenTVViewQualityProperties(e),t.buildStreamInfoAndMetadataProperties(e));t.track("SCREEN_TV_VIEW_RESUME",n)})}},{key:"trackScreenTVViewDuration",value:function(e){var t=this;this.shouldTrack("SCREEN_TV_VIEW_DURATION",e)&&this._setUpdatedCommonProperties(function(){VizbeeSDK.logger.d("MetricsManager","trackScreenTVViewDuration");var n=$.extend({},t.commonProperties,t.buildPlayerProperties(),t.buildScreenTVViewDurationProperties(e),t.buildScreenTVViewQualityProperties(e),t.buildStreamInfoAndMetadataProperties(e));n.SCREEN_HOMESSO_USER_INFO=void 0,t.track("SCREEN_TV_VIEW_DURATION",n)})}},{key:"trackScreenTVViewError",value:function(e){var t=this,n="SCREEN_TV_VIEW_ERROR";this.shouldTrack(n,e)&&this._setUpdatedCommonProperties(function(){VizbeeSDK.logger.d("MetricsManager","trackScreenTVViewError");var i=$.extend({},t.commonProperties,t.buildPlayerProperties(),t.buildScreenTVViewErrorProperties(e),t.buildScreenTVViewDurationProperties(e),t.buildScreenTVViewQualityProperties(e),t.buildStreamInfoAndMetadataProperties(e));t.track(n,i)})}},{key:"trackScreenAdView",value:function(e){var t=this;this.shouldTrack("SCREEN_AD_VIEW",e)&&this._setUpdatedCommonProperties(function(){VizbeeSDK.logger.d("MetricsManager","trackScreenAdView","tracking SCREEN_AD_VIEW");var n=$.extend({},t.commonProperties,t.buildPlayerProperties(),t.buildScreenAdViewProperties(e));t.track("SCREEN_AD_VIEW",n)})}},{key:"trackScreenRemoteConnected",value:function(e){var t=this;e&&this.shouldTrack("SCREEN_REMOTE_CONNECTED")&&this._setUpdatedCommonProperties(function(){VizbeeSDK.logger.d("MetricsManager","trackScreenRemoteConnected");var n=$.extend({},t.commonProperties,t.buildPlayerProperties(),t._buildSenderProperties(e));t.track("SCREEN_REMOTE_CONNECTED",n)})}},{key:"trackScreenTVSignin",value:function(e){var t=this;e&&this.shouldTrack("SCREEN_TV_SIGNIN")&&this._setUpdatedCommonProperties(function(){VizbeeSDK.logger.d("MetricsManager","trackScreenTVSignin");var n=$.extend({},t.commonProperties,t.buildScreenTVSigninProperties(e));t.track("SCREEN_TV_SIGNIN",n)})}},{key:"_buildSenderProperties",value:function(e){return e&&e.ssinfo?{CONNECTED_REMOTE:e.ssinfo}:{}}},{key:"metricsConfig",value:function(){return this.config.metricsParams}},{key:"isVideoEvent",value:function(e){return-1!=["SCREEN_TV_VIEW_LOAD","SCREEN_TV_VIEW_START","SCREEN_TV_VIEW_PAUSE","SCREEN_TV_VIEW_RESUME","SCREEN_TV_VIEW_DURATION","SCREEN_AD_VIEW"].indexOf(e)}},{key:"isValidContinuityEvent",value:function(e){return-1!=["SCREEN_LAUNCHED","SCREEN_REMOTE_CONNECTED","SCREEN_TV_SIGNIN","SCREEN_TV_VIEW_LOAD","SCREEN_TV_VIEW_START","SCREEN_TV_VIEW_PAUSE","SCREEN_TV_VIEW_RESUME","SCREEN_TV_VIEW_DURATION","SCREEN_TV_VIEW_ERROR","SCREEN_AD_VIEW"].indexOf(e)}},{key:"isValidHomeSSOEvent",value:function(e){return-1!=["SCREEN_HOMESSO_SIGNIN_RECEIVED","SCREEN_HOMESSO_SIGNIN_STATUS"].indexOf(e)}},{key:"shouldTrack",value:function(e,t){if(0!=Object.keys(this.config).length){var n=!0;return this.isValidContinuityEvent(e)?this.isVideoEvent(e)&&this.metricsConfig()&&this.metricsConfig().shouldSendViewEventsOnlyOnCast&&t&&!t.isVideoLaunchedFromPhone&&(n=!1):this.isValidHomeSSOEvent(e)||(n=!1),n}VizbeeSDK.logger.e("MetricsManager","shouldTrack","called with empty config!")}},{key:"track",value:function(e,t){this.metricsRouter.track(e,t)}},{key:"buildPlayerProperties",value:function(){var e={PLAYER_NAME:"UNKNOWN"};return VizbeeTV.tv.player&&(e.PLAYER_NAME=VizbeeTV.tv.player.getName()),e}},{key:"buildVideoProperties",value:function(e){return{VIDEO_ID:e.videoId,VIDEO_TITLE:e.videoTitle,VIDEO_START_TIME:e.videoStartTime,VIDEO_DURATION_MS:Math.round(e.videoDuration),IS_LIVE:e.isLive,IS_CONTINUED_VIEW:e.isContinuedView,IS_VIDEO_LAUNCHED_FROM_PHONE:e.isVideoLaunchedFromPhone}}},{key:"buildNewScreenTVViewProperties",value:function(e){return this.buildVideoProperties(e)}},{key:"buildScreenTVViewStartProperties",value:function(e){return this.buildVideoProperties(e)}},{key:"buildScreenTVViewResumeProperties",value:function(e){return $.extend({VIDEO_PAUSED_TIME_MS:Math.round(e.videoPausedTimeInMs)},this.buildScreenTVViewDurationProperties(e))}},{key:"buildScreenTVViewDurationProperties",value:function(e){return $.extend({VIDEO_POSITION_MS:Math.round(e.videoPosition),VIDEO_POSITION_MIN:e.videoPostitionMin,VIDEO_ELAPSED_TIME_MS:Math.round(e.videoElapsedTime),VIDEO_ELAPSED_TIME_MIN:e.videoElapsedTimeMin},this.buildVideoProperties(e))}},{key:"buildStreamInfoAndMetadataProperties",value:function(e){var t={};try{if(e.customStreamInfo&&e.customMetadata){var n={customStreamInfo:e.customStreamInfo,customMetadata:e.customMetadata};t=$.extend({},ae.flatten(n))}}catch(e){}return t}},{key:"buildScreenTVViewQualityProperties",value:function(e){(!e.startTime||e.startTime<0)&&(e.startTime=0);var t=e.startTime/1e3,n=e.videoBufferLevel?e.videoBufferLevel.current:0,i=e.audioBufferLevel?e.audioBufferLevel.current:0,r=e.audioBufferLevel?e.audioBufferLevel.didDetectSeparateAudio:"UNKNOWN",a=2*Math.ceil(t/2),o=2*Math.ceil(n/2),s=2*Math.ceil(i/2);return $.extend({START_TIME_SEC:t||0,VIDEO_BUFFER_SEC:n||0,AUDIO_BUFFER_SEC:i||0,AUDIO_STREAM_DETECTED:r,START_TIME_2SEC_BIN:a||0,VIDEO_BUFFER_2SEC_BIN:o||0,AUDIO_BUFFER_2SEC_BIN:s||0},this.buildVideoProperties(e))}},{key:"buildScreenTVViewStartTimeQualityProperties",value:function(e){return e&&$.get(this.config,["features","sendStartTimeQualityInfo"])?{PRE_ROLL_AD_POD_START_TIME_MS:e.adPodStartedTimeInMs?e.adPodStartedTimeInMs:0,PRE_ROLL_AD_POD_END_TIME_MS:e.adPodEndedTimeInMs?e.adPodEndedTimeInMs:0,VIDEO_LOAD_RECEIVED_BY_APP_TIME_MS:e.loadReceivedByAppTimeInMs?e.loadReceivedByAppTimeInMs:0,VIDEO_LOAD_RECEIVED_BY_PLAYER_TIME_MS:e.loadReceivedByPlayerTimeInMs?e.loadReceivedByPlayerTimeInMs:0,VIDEO_METADATA_LOADED_TIME_MS:e.metadataLoadedTimeInMs?e.metadataLoadedTimeInMs:0,VIDEO_PLAYER_READY_TIME_MS:e.playerReadyToPlayTimeInMs?e.playerReadyToPlayTimeInMs:0,VIDEO_PLAYBACK_STARTED_TIME_MS:e.playbackStartedTimeInMs?e.playbackStartedTimeInMs:0}:{}}},{key:"buildScreenTVViewErrorProperties",value:function(e){return $.extend({VIDEO_POSITION_MS:Math.round(e.videoPosition),FAILURE_VALUE:e.failureValue,FAILURE_CODE:e.failureCode},this.buildVideoProperties(e))}},{key:"buildScreenAdViewProperties",value:function(e){return{SCREEN_AD_ID:e.adId,AD_DURATION:e.adDuration,VIDEO_ID:e.videoId,VIDEO_TITLE:e.videoTitle,VIDEO_DURATION_MS:Math.round(e.videoDuration),VIDEO_POSITION_MS:Math.round(e.videoPosition),IS_LIVE:e.isLive,IS_VIDEO_LAUNCHED_FROM_PHONE:e.isVideoLaunchedFromPhone}}},{key:"buildScreenTVSigninProperties",value:function(e){return{USER_ID:e.userId,USER_LOGIN:e.userLogin,USER_LOGIN_TYPE:e.userLoginType}}},{key:"_setUpdatedCommonProperties",value:function(e){var t=this,n={};this.commonProperties.adId&&this.commonProperties.adId!=ga||(n.adId=VizbeeTV.tv.adId||ga),this.commonProperties.isAdTrackingDisabled&&this.commonProperties.isAdTrackingDisabled!=ga||(n.isAdTrackingDisabled=VizbeeTV.tv.isAdTrackingDisabled||ga),VizbeeTV.tv.deviceInfo&&(VizbeeTV.tv.deviceInfo.deviceId&&VizbeeTV.tv.deviceInfo.deviceId!=ga&&(n.deviceId=VizbeeTV.tv.deviceInfo.deviceId),VizbeeTV.tv.deviceInfo.model&&VizbeeTV.tv.deviceInfo.model!=ga&&(n.deviceModel=VizbeeTV.tv.deviceInfo.model)),this.setAttributesProviderProperties(n,function(n){t.setCommonProperties(n),e()})}}])}(),ma=new ya,ba="receiver_with_applets",Sa=function(){function e(t,n){var i;return a(this,e),(i=r(this,e,[t,n])).appConfig=n,i.currentVideoId=void 0,i.didLogStartVideo=!1,i.lastLoggedVideoPostition2XMin=-1,i.elapsedLastPlayingTimestamp=void 0,i.elapsedPlayingTime=0,i.targetAppType=i.appConfig&&i.appConfig.features&&i.appConfig.features.targetAppType,i.senderMap={},i}return h(e,ta),s(e,[{key:"connect",value:function(t){ma.init(this.appConfig);var n=VizbeeTV.tv.launchParamsDeferral;n&&"function"==typeof n.waitUntilReady?n.waitUntilReady().then(function(){ma.refreshLaunchParamProperties(),ma.trackScreenLaunched()}):ma.trackScreenLaunched(),m(e,"connect",this)([t])}},{key:"send",value:function(t){if(t&&t.cmd){var n=t;"status"==t.cmd.name&&(n=this.interceptVideoStatus(t)),m(e,"send",this)([n])}else m(e,"send",this)([t])}},{key:"interceptVideoStatus",value:function(e){if(this.currentVideoId!=e.vstatus.id&&(this.currentVideoId=e.vstatus.id,this.didLogStartVideo=!1,this.lastLoggedVideoPostition2XMin=-1,this.elapsedLastPlayingTimestamp=Date.now(),this.elapsedPlayingTime=0,VizbeeSDK.logger.d("MetricsExtension","interceptVideoStatus","logging new video"),ma.trackScreenTVViewLoad({videoId:e.vstatus.id,videoTitle:e.vinfoext.title||e.vinfo.url,videoStartTime:e.vinfoext.videostarttime,videoDuration:e.vstatus.du||-1,isLive:e.vinfo.islive,customStreamInfo:e.vinfoext.customstreaminfo,customMetadata:e.vinfoext.custommetadata,isContinuedView:!(!e.qstatus||!e.qstatus.prev),isVideoLaunchedFromPhone:e.vinfoext.wasVideoStartedByVizbee})),"PLAYING"==e.vstatus.st&&(e.vinfo.islive||!e.vinfo.islive&&e.vstatus.po>0)){if(!this.didLogStartVideo){VizbeeSDK.logger.d("MetricsExtension","interceptVideoStatus","logging start video");var t=e.vinfoext.qos||{};ma.trackScreenTVViewStart({videoId:e.vstatus.id,videoTitle:e.vinfoext.title||e.vinfo.url,videoStartTime:e.vinfoext.videostarttime,videoDuration:e.vstatus.du,isLive:e.vinfo.islive,customStreamInfo:e.vinfoext.customstreaminfo,customMetadata:e.vinfoext.custommetadata,isContinuedView:!(!e.qstatus||!e.qstatus.prev),isVideoLaunchedFromPhone:e.vinfoext.wasVideoStartedByVizbee,startTime:t.starttime||0,audioBufferLevel:t.audiobufferlevel||{},videoBufferLevel:t.videobufferlevel||{},adPodStartedTimeInMs:t.adPodStartedTimeInMs||0,adPodEndedTimeInMs:t.adPodEndedTimeInMs||0,loadReceivedByAppTimeInMs:t.loadReceivedByAppTimeInMs||0,loadReceivedByPlayerTimeInMs:t.loadReceivedByPlayerTimeInMs||0,metadataLoadedTimeInMs:t.metadataLoadedTimeInMs||0,playerReadyToPlayTimeInMs:t.playerReadyToPlayTimeInMs||0,playbackStartedTimeInMs:t.playbackStartedTimeInMs||0}),this.didLogStartVideo=!0}this.elapsedPlayingTime=this.elapsedPlayingTime+(Date.now()-this.elapsedLastPlayingTimestamp),this.elapsedLastPlayingTimestamp=Date.now();var n=2*Math.floor(e.vstatus.po/12e4);n>this.lastLoggedVideoPostition2XMin&&(this.lastLoggedVideoPostition2XMin=n,ma.trackScreenTVViewDuration({videoId:e.vstatus.id,videoTitle:e.vinfoext.title||e.vinfo.url,videoStartTime:e.vinfoext.videostarttime,videoDuration:e.vstatus.du,videoPosition:e.vstatus.po,videoPostitionMin:this.lastLoggedVideoPostition2XMin,videoElapsedTime:this.elapsedPlayingTime,videoElapsedTimeMin:2*Math.floor(this.elapsedPlayingTime/12e4),isLive:e.vinfo.islive,customStreamInfo:e.vinfoext.customstreaminfo,customMetadata:e.vinfoext.custommetadata,isContinuedView:!(!e.qstatus||!e.qstatus.prev),isVideoLaunchedFromPhone:e.vinfoext.wasVideoStartedByVizbee,startTime:e.vinfoext.qos.starttime,audioBufferLevel:e.vinfoext.qos.audiobufferlevel,videoBufferLevel:e.vinfoext.qos.videobufferlevel}))}return"FAILED"==e.vstatus.st&&ma.trackScreenTVViewError({videoId:e.vstatus.id,videoTitle:e.vinfoext.title||e.vinfo.url,isLive:e.vinfo.islive,videoStartTime:e.vinfoext.videostarttime,videoDuration:e.vstatus.du,videoPosition:e.vstatus.po,videoPostitionMin:this.lastLoggedVideoPostition2XMin,videoElapsedTime:this.elapsedPlayingTime,videoElapsedTimeMin:2*Math.floor(this.elapsedPlayingTime/12e4),customStreamInfo:e.vinfoext.customstreaminfo,customMetadata:e.vinfoext.custommetadata,isContinuedView:!(!e.qstatus||!e.qstatus.prev),isVideoLaunchedFromPhone:e.vinfoext.wasVideoStartedByVizbee,failureValue:e.vstatus.er.reason,failureCode:e.vstatus.er.code,startTime:e.vinfoext.qos.starttime,audioBufferLevel:e.vinfoext.qos.audiobufferlevel,videoBufferLevel:e.vinfoext.qos.videobufferlevel}),["INTERRUPTED","FINISHED","FAILED"].indexOf(e.vstatus.st)>-1&&(this.currentVideoId=void 0),e}},{key:"handleSyncReceiveEvent",value:function(e){var t=e.data;if(t&&t.b&&t.b.cmd&&"video"===t.b.cmd.ns&&"event"===t.b.cmd.name&&t.b.einfo&&"tv.vizbee.homesign.signin"==t.b.einfo.type){var n=t.b.einfo.data&&t.b.einfo.data.authInfo;n&&ma.trackScreenTVSignin(n)}return e}},{key:"handleNonSyncReceiveEvent",value:function(e){var t=this;if(e&&e.type==mn.SYNC_PRESENCE){var n=e.data;if(n&&this.senderMap){var i=Object.keys(this.senderMap),r=Object.keys(n);r.length>i.length?r.forEach(function(e){t.senderMap[e]||(!n[e]||"vzb0000000"===n[e].appId&&t.targetAppType===ba||(VizbeeSDK.logger.d("MetricsExtension","handleNonSyncReceiveEvent","new sender connected, id = "+e),ma.trackScreenRemoteConnected(n[e])),t.senderMap[e]=n[e])}):r.length<i.length&&i.forEach(function(e){-1==r.indexOf(e)&&(VizbeeSDK.logger.d("MetricsExtension","handleNonSyncReceiveEvent","sender disconnected, id = "+e),delete t.senderMap[e])})}}return e}}])}(),_a=function(){function e(t,n){var i;return a(this,e),(i=r(this,e,[t,n])).appConfig=n,i.currentVideoId=void 0,i.elapsedLastPlayingTimestamp=void 0,i.elapsedPlayingTime=0,i.videoPausedTimestamp=-1,i.didLogPauseVideo=!1,i}return h(e,ta),s(e,[{key:"connect",value:function(t){ma.init(this.appConfig),m(e,"connect",this)([t])}},{key:"send",value:function(t){if(t&&t.cmd){var n=t;"status"==t.cmd.name&&(n=this.interceptVideoStatus(t)),m(e,"send",this)([n])}else m(e,"send",this)([t])}},{key:"interceptVideoStatus",value:function(e){return this.currentVideoId!=e.vstatus.id&&(this.currentVideoId=e.vstatus.id,this.elapsedLastPlayingTimestamp=Date.now(),this.elapsedPlayingTime=0,this.videoPausedTimestamp=-1,this.didLogPauseVideo=!1),"PLAYING"==e.vstatus.st&&(e.vinfo.islive||!e.vinfo.islive&&e.vstatus.po>0)&&(this.elapsedPlayingTime=this.elapsedPlayingTime+(Date.now()-this.elapsedLastPlayingTimestamp),this.elapsedLastPlayingTimestamp=Date.now(),this.didLogPauseVideo&&(VizbeeSDK.logger.debug("FilterPauseResumeEventsExtension::interceptVideoStatus - logging resume video"),ma.trackScreenTVViewResume({videoId:e.vstatus.id,videoTitle:e.vinfoext.title||e.vinfo.url,videoStartTime:e.vinfoext.videostarttime,videoDuration:e.vstatus.du,videoPosition:e.vstatus.po,videoPostitionMin:2*Math.floor(e.vstatus.po/12e4),videoElapsedTime:this.elapsedPlayingTime,videoElapsedTimeMin:2*Math.floor(this.elapsedPlayingTime/12e4),videoPausedTimeInMs:Date.now()-this.videoPausedTimestamp,isLive:e.vinfo.islive,customStreamInfo:e.vinfoext.customstreaminfo,customMetadata:e.vinfoext.custommetadata,isContinuedView:!(!e.qstatus||!e.qstatus.prev),isVideoLaunchedFromPhone:e.vinfoext.wasVideoStartedByVizbee,startTime:e.vinfoext.qos.starttime,audioBufferLevel:e.vinfoext.qos.audiobufferlevel,videoBufferLevel:e.vinfoext.qos.videobufferlevel})),this.videoPausedTimestamp=-1,this.didLogPauseVideo=!1),"PAUSED_BY_USER"==e.vstatus.st&&(-1==this.videoPausedTimestamp&&(this.videoPausedTimestamp=Date.now()),!this.didLogPauseVideo&&Date.now()-this.videoPausedTimestamp>=15e3&&(VizbeeSDK.logger.debug("FilterPauseResumeEventsExtension::interceptVideoStatus - logging pause video"),ma.trackScreenTVViewPause({videoId:e.vstatus.id,videoTitle:e.vinfoext.title||e.vinfo.url,videoStartTime:e.vinfoext.videostarttime,videoDuration:e.vstatus.du,videoPosition:e.vstatus.po,videoPostitionMin:2*Math.floor(e.vstatus.po/12e4),videoElapsedTime:this.elapsedPlayingTime,videoElapsedTimeMin:2*Math.floor(this.elapsedPlayingTime/12e4),isLive:e.vinfo.islive,customStreamInfo:e.vinfoext.customstreaminfo,customMetadata:e.vinfoext.custommetadata,isContinuedView:!(!e.qstatus||!e.qstatus.prev),isVideoLaunchedFromPhone:e.vinfoext.wasVideoStartedByVizbee,startTime:e.vinfoext.qos.starttime,audioBufferLevel:e.vinfoext.qos.audiobufferlevel,videoBufferLevel:e.vinfoext.qos.videobufferlevel}),this.didLogPauseVideo=!0)),["INTERRUPTED","FINISHED","FAILED"].indexOf(e.vstatus.st)>-1&&(this.currentVideoId=void 0),e}}])}(),ka=function(){function e(t,n){var i;return a(this,e),VizbeeSDK.logger.debug("DisconnectSendersInBackgroundExtension::constructor()",t,n.appId),(i=r(this,e,[t,n]))._enable=!1,i._senderAliveTimeoutWithFGFlagInMs=6e4,i._senderAliveTimeoutWithoutFGFlagInMs=72e4,i._senderAliveCheckTimer=void 0,i._senderAliveTimerWithFGFlag=void 0,i._senderAlivetTimerWithoutFGFlag=void 0,i._androidSendersInBackgroundMap={},i._androidSendersWithoutFGFlagMap={},i._getExtensionConfigData(n),i}return h(e,ta),s(e,[{key:"_getExtensionConfigData",value:function(e){if(e&&e.features&&e.features.DisconnectSendersInBackgroundExtension){var t=e.features.DisconnectSendersInBackgroundExtension;1==t.enable&&(this._enable=!0,null!=t.senderAliveTimeoutWithFGFlagInMs&&(this._senderAliveTimeoutWithFGFlagInMs=t.senderAliveTimeoutWithFGFlagInMs),null!=t.senderAliveTimeoutWithoutFGFlagInMs&&(this._senderAliveTimeoutWithoutFGFlagInMs=t.senderAliveTimeoutWithoutFGFlagInMs))}}},{key:"disconnect",value:function(){VizbeeSDK.logger.debug("DisconnectSendersInBackgroundExtension::disconnect()"),this._stopAllTimers(),this._resetToDefault(),m(e,"disconnect",this)([])}},{key:"handleSyncReceiveEvent",value:function(e){if(!this._enable)return e;var t=e.data;if(t&&t.h){var n=t.h.ty&&t.h.ty.toLowerCase(),i=t.h.st&&t.h.st.toLowerCase();n&&"remote"==n&&i&&"android"==i&&(t.h.ssinfo&&null!=t.h.ssinfo.IS_IN_FOREGROUND?0==t.h.ssinfo.IS_IN_FOREGROUND?this._androidSendersInBackgroundMap[t.h.id]||(VizbeeSDK.logger.info("DisconnectSendersInBackgroundExtension::handleSyncReceiveEvent - adding new sender to the map"),this._androidSendersInBackgroundMap[t.h.id]=Date.now()):this._androidSendersInBackgroundMap={}:this._androidSendersWithoutFGFlagMap[t.h.id]||(this._androidSendersWithoutFGFlagMap[t.h.id]=Date.now(),VizbeeSDK.logger.info("DisconnectSendersInBackgroundExtension::handleSyncReceiveEvent - adding new sender to the map")))}return this._startSenderAliveCheckTimer(),e}},{key:"_startSenderAliveCheckTimer",value:function(){var e=this;this._stopSenderAliveCheckTimer(),this._senderAliveCheckTimer=window.setInterval(function(){e._checkSenderStatusAndSendOlleh()},1e3)}},{key:"_checkSenderStatusAndSendOlleh",value:function(){this._handleSendersInBackground(),this._handleSendersWithoutFGFlag()}},{key:"_handleSendersInBackground",value:function(){var e=this,t=Date.now();$.keys(this._androidSendersInBackgroundMap).filter(function(n){return t-e._androidSendersInBackgroundMap[n]>e._senderAliveTimeoutWithFGFlagInMs}).length>0&&(VizbeeSDK.logger.info("DisconnectSendersInBackgroundExtension::_handleSendersInBackground - sending olleh as there are no senders in foreground"),this._sendOllehMessage(),this._resetToDefault())}},{key:"_handleSendersWithoutFGFlag",value:function(){var e=this,t=Date.now(),n=$.keys(this._androidSendersWithoutFGFlagMap),i=$.keys(this._androidSendersWithoutFGFlagMap).filter(function(n){return t-e._androidSendersWithoutFGFlagMap[n]>e._senderAliveTimeoutWithoutFGFlagInMs});i.length>0&&n.length==i.length&&(VizbeeSDK.logger.info("DisconnectSendersInBackgroundExtension::_handleSendersWithoutFGFlag - sending olleh as there are no senders in foreground"),this._sendOllehMessage(),this._resetToDefault())}},{key:"_sendOllehMessage",value:function(){this.dispatchReceive(new yn(mn.SYNC_MESSAGE,{b:{cmd:{ns:"video",name:"olleh",type:"int"},hstatus:{id:this.appConfig.deviceId,type:"SCREEN",vip:"false"}}}))}},{key:"_resetToDefault",value:function(){this._stopAllTimers(),this._androidSendersInBackgroundMap={},this._androidSendersWithoutFGFlagMap={}}},{key:"_stopAllTimers",value:function(){this._stopSenderAliveCheckTimer(),this._stopDisconnetionTimerWithIsInFGFlag(),this._stopDisconnetionTimerWithoutIsInFGFlag()}},{key:"_stopSenderAliveCheckTimer",value:function(){this._senderAliveCheckTimer&&(window.clearInterval(this._senderAliveCheckTimer),this._senderAliveCheckTimer=void 0)}},{key:"_stopDisconnetionTimerWithIsInFGFlag",value:function(){this._senderAliveTimerWithFGFlag&&(window.clearTimeout(this._senderAliveTimerWithFGFlag),this._senderAliveTimerWithFGFlag=void 0)}},{key:"_stopDisconnetionTimerWithoutIsInFGFlag",value:function(){this._senderAliveWithoutFGFlagTimer&&(window.clearTimeout(this._senderAliveWithoutFGFlagTimer),this._senderAliveWithoutFGFlagTimer=void 0)}}])}(),Ta=t(on()),Ia=function(){function e(t,n){var i;if(a(this,e),(i=r(this,e,[t,n])).enable=!0,n&&n.features&&n.features.SubtitlesExtension){var o=n.features.SubtitlesExtension;null!=o.enable&&(i.enable=o.enable)}return i}return h(e,ta),s(e,[{key:"_isEnabled",value:function(){return this.enable}},{key:"handleSyncReceiveEvent",value:function(e){var t=e.data;if(VizbeeSDK.logger.verbose("SubtitlesExtension::handleSyncReceiveEvent - received message data = ".concat(JSON.stringify(t))),!(t&&t.b&&t.b.cmd))return e;var n=t.b.cmd.name;if(!(n&&["enabletrack","disabletrack"].indexOf(n.toLowerCase())>-1))return e;if(this._isEnabled()){var i=Number(t.b.cmd.param);if(!isNaN(i)){var r=[i];"enabletrack"===t.b.cmd.name?Ta.enableTracks(r):Ta.disableTracks(r)}}}},{key:"send",value:function(t){if(t&&t.cmd){var n=t,i="status"==t.cmd.name,r="hello"==t.cmd.name&&"rsp"==t.cmd.type&&t.vstatus;(i||r)&&(n=this._interceptVideoStatus(t)),m(e,"send",this)([n])}else m(e,"send",this)([t])}},{key:"_interceptVideoStatus",value:function(e){return this._addTrackStatus(e)}},{key:"_addTrackStatus",value:function(e){if(!e||!e.vstatus)return e;if(e.vstatus.tr||(e.vstatus.tr={}),!this._isEnabled())return e;var t=this._getTextTrackStatus();return e.vstatus.tr.availableTextTracks=t.availableTextTracks,e.vstatus.tr.currentTextTrack=t.currentTextTrack,e}},{key:"_getTextTrackStatus",value:function(){var e={},t=Ta.getTracks(C),n=Ta.getEnabledTracks(C);if(t&&Array.isArray(t)&&t.length>0&&(t.forEach(function(t){var n=t.toJSON();n&&(e.availableTextTracks||(e={availableTextTracks:[],currentTextTrack:{}}),e.availableTextTracks.push({screenTrackId:n.id,languageCode:n.lang}))}),n&&Array.isArray(n)&&n.length>0)){var i=n[0].toJSON();i&&(e.currentTextTrack={screenTrackId:i.id,languageCode:i.lang})}return e}}])}(),Va=function(){function e(t,n){var i;if(a(this,e),(i=r(this,e,[t,n])).enable=!0,n&&n.features&&n.features.AudioTracksExtension){var o=n.features.AudioTracksExtension;null!=o.enable&&(i.enable=o.enable)}return i}return h(e,ta),s(e,[{key:"_isEnabled",value:function(){return this.enable}},{key:"handleSyncReceiveEvent",value:function(e){if(!this._isEnabled())return e;var t=e.data;if(VizbeeSDK.logger.verbose("AudioTracksExtension::handleSyncReceiveEvent - received message data = ".concat(JSON.stringify(t))),!(t&&t.b&&t.b.cmd))return e;var n=t.b.cmd.name;if(!n||"string"!=typeof n||"changeaudiotrack"!==n.toLowerCase())return e;var i=Number(t.b.cmd.param);isNaN(i)?VizbeeSDK.logger.debug("AudioTracksExtension::handleSyncReceiveEvent - received changeAudioTrack command with invalid trackId = ".concat(i)):(VizbeeSDK.logger.debug("AudioTracksExtension::handleSyncReceiveEvent - received changeAudioTrack command with trackId = ".concat(i)),Ta.changeAudioTrack(i))}},{key:"send",value:function(t){if(t&&t.cmd){var n=t,i="status"==t.cmd.name,r="hello"==t.cmd.name&&"rsp"==t.cmd.type&&t.vstatus;(i||r)&&(n=this._interceptVideoStatus(t)),VizbeeSDK.logger.verbose("AudioTracksExtension::send - forwarding out message",n),m(e,"send",this)([n])}else m(e,"send",this)([t])}},{key:"_interceptVideoStatus",value:function(e){return this._addAudioTrackStatus(e)}},{key:"_addAudioTrackStatus",value:function(e){if(!e||!e.vstatus)return e;if(e.vstatus.tr||(e.vstatus.tr={}),!this._isEnabled())return e;var t=this._getAudioTrackStatus();return e.vstatus.tr.availableAudioTracks=t.availableAudioTracks,e.vstatus.tr.currentAudioTrack=t.currentAudioTrack,e}},{key:"_getAudioTrackStatus",value:function(){var e={},t=Ta.getAudioTracks(D),n=Ta.getActiveAudioTrack(D);return t&&Array.isArray(t)&&t.length>0&&(t.forEach(function(t){var n=t.toJSON();n&&(e.availableAudioTracks||(e={availableAudioTracks:[],currentAudioTrack:{}}),e.availableAudioTracks.push({screenTrackId:n.id,languageCode:n.lang,displayName:n.label}))}),n&&null!=n.id&&(e.currentAudioTrack={screenTrackId:n.id,languageCode:n.lang,displayName:n.label})),e}}])}(),Ea=function(){return s(function e(){a(this,e)},null,[{key:"getVideoInfo",value:function(e){var t=e.data||{},n={};VizbeeSDK.logger.info("ChromecastToSyncConverter::getVideoInfo",JSON.stringify(t)),n.starttime=t.currentTime||0;var i=t.media;if(i){n.islive="LIVE"==i.streamType,n.videourl=i.contentUrl||i.contentId||"",n.contentType=i.contentType||"",n.tracks=i.tracks||[];var r=i.customData||{};n.id=r.guid||n.videourl,n.cuepoints=r.cuepoints||[],n.vzbSenderOS=r.vzbSenderOS,n.vzbVersion=r.vzbVersion,n.senderInfo={st:r.vzbSenderOS,version:r.vzbVersion},n.customstreaminfo=r.customStreamInfo||{},n.custommetadata=r.customMetadata||{},n.drminfo=r.drmInfo||{};var a=i.metadata;a&&(n.title=a.title||"",n.subtitle=a.subtitle||"",n.imgurl="",a.images&&a.images.length>0&&(n.imgurl=a.images[0].url))}return VizbeeSDK.logger.info("ChromecastToSyncConverter::getVideoInfo",e,n),n}}])}(),Pa=function(){function e(t,n){var i;if(a(this,e),(i=r(this,e,[t,n])).queueManager=void 0,i.enable=!1,n&&n.features&&n.features.QueueManagerExtension){var o=n.features.QueueManagerExtension;o.enable&&(i.enable=o.enable)}return i}return h(e,ta),s(e,[{key:"isEnabled",value:function(){return!!this.enable}},{key:"getQueueManager",value:function(){if(!this.queueManager){var e=cast.framework.CastReceiverContext.getInstance();this.queueManager=e.getPlayerManager().getQueueManager()}return this.queueManager}},{key:"send",value:function(t){if(this.isEnabled())if(t&&t.cmd){var n=t;"status"==t.cmd.name&&(n=this.interceptVideoStatus(t)),n&&m(e,"send",this)([n])}else m(e,"send",this)([t]);else m(e,"send",this)([t])}},{key:"interceptVideoStatus",value:function(e){var t;if("FINISHED"!=(t=this._addQStatus(e)).vstatus.st||!t.qstatus||!t.qstatus.next)return t}},{key:"_addQStatus",value:function(e){var t={},n=!1,i=[];if(this.getQueueManager()&&(i=this.getQueueManager().getItems()),0==i.length)return e;var r=this.getQueueManager().getCurrentItem(),a=$.find(i,function(e){return e.orderId==r.orderId-1});if(a){n=!0;var o=Ea.getVideoInfo({data:a});t.prev=na.encodeVideoInfo(o)}var s=$.find(i,function(e){return e.orderId==r.orderId+1});if(s){n=!0;var u=Ea.getVideoInfo({data:s});t.next=na.encodeVideoInfo(u)}return n&&(e.qstatus=t),e}}])}(),Aa=function(){return s(function e(){a(this,e),this.delegate=null},[{key:"setDelegate",value:function(e){this.delegate=e}},{key:"getDelegate",value:function(){return this.delegate}},{key:"playNextVideo",value:function(){}},{key:"playPrevVideo",value:function(){}}])}(),Ca=function(){return s(function e(){a(this,e)},[{key:"initialize",value:function(e){return null}},{key:"fetchNextVideo",value:function(e){return null}},{key:"fetchPrevVideo",value:function(e){return null}}])}(),Da=function(){function e(){return a(this,e),r(this,e,arguments)}return h(e,Ca),s(e,[{key:"initialize",value:function(e){return this.queueInfo=e,e}},{key:"fetchNextVideo",value:function(e){var t=this;return new Promise(function(n,i){var r=void 0;if(null!=t.queueInfo&&null!=t.queueInfo.items){var a=t.queueInfo.items.findIndex(function(t){return t.id===e});a>-1&&a<t.queueInfo.items.length-1&&(r=t.queueInfo.items[a+1])}null!=r?n(r):i()})}},{key:"fetchPrevVideo",value:function(e){var t=this;return new Promise(function(n,i){var r=void 0;if(null!=t.queueInfo&&null!=t.queueInfo.items){var a=t.queueInfo.items.findIndex(function(t){return t.id===e});a>0&&a<t.queueInfo.items.length&&(r=t.queueInfo.items[a-1])}null!=r?n(r):i()})}}])}(),wa=function(){function e(t){var n;return a(this,e),(n=r(this,e)).realQueueDelegate=t,VizbeeSDK.logger.debug("QueueCache::constructor - creating queueCache with new delegate",t),n.queueInfo=void 0,n.currentVideoGUID=void 0,n}return h(e,Ca),s(e,[{key:"_getCurrentVideoIndex",value:function(){var e=this;return null==this.currentVideoGUID||null==this.queueInfo||null==this.queueInfo.items?-1:$.findIndex(this.queueInfo.items,function(t){return t&&t.id===e.currentVideoGUID})}},{key:"_getQueueLength",value:function(){return null==this.queueInfo||null==this.queueInfo.items?0:this.queueInfo.items.length}},{key:"initialize",value:function(e){if(this.realQueueDelegate)return this.queueInfo=this.realQueueDelegate.initialize(e),this.queueInfo}},{key:"fetchNextVideo",value:function(){var e=this;if(null==this.currentVideoGUID)return new Promise(function(e,t){t("currentVideoGUID is undefined")});var t=this.getNextVideo();return new Promise(t?function(e,n){e(t)}:function(t,n){e.realQueueDelegate.fetchNextVideo(e.currentVideoGUID).then(function(n){var i=e._getCurrentVideoIndex(),r=e._getQueueLength();-1==i||0==r?t(void 0):(i>=0&&i<r-1?e.queueInfo.items[i+1]=n:i==r-1&&e.queueInfo.items.push(n),t(n))},function(e){n(e)}).catch(function(e){t(void 0)})})}},{key:"fetchPrevVideo",value:function(){var e=this;if(null==this.currentVideoGUID)return new Promise(function(e,t){t("currentVideoGUID is undefined")});var t=this.getPrevVideo();return new Promise(t?function(e,n){e(t)}:function(t,n){e.realQueueDelegate.fetchPrevVideo(e.currentVideoGUID).then(function(n){var i=e._getCurrentVideoIndex(),r=e._getQueueLength();-1==i||0==r?t(void 0):(i>0&&i<r?e.queueInfo.items[i-1]=n:0==i&&e.queueInfo.items.unshift(n),t(n))},function(e){n(e)}).catch(function(e){t(void 0)})})}},{key:"getNextVideo",value:function(){var e=void 0;if(null!=this.queueInfo&&null!=this.queueInfo.items){var t=this._getCurrentVideoIndex();t>-1&&t<this.queueInfo.items.length-1&&(e=this.queueInfo.items[t+1])}return e}},{key:"getPrevVideo",value:function(){var e=void 0;if(null!=this.queueInfo&&null!=this.queueInfo.items){var t=this._getCurrentVideoIndex();t>0&&t<this.queueInfo.items.length&&(e=this.queueInfo.items[t-1])}return e}},{key:"setCurrentVideo",value:function(e){this.currentVideoGUID=e}}])}(),Ma=null,Na=function(){function e(){return a(this,e),r(this,e,arguments)}return h(e,Aa),s(e,[{key:"setDelegate",value:function(t){VizbeeSDK.logger.debug("QueueService::setDelegate - creating queueCache with new delegate",t),m(e,"setDelegate",this)([t]),this.queueCache=new wa(t)}},{key:"getCache",value:function(){return this.queueCache}},{key:"playNextVideo",value:function(){null!=this.queueManagerExtension&&this.queueManagerExtension.playNextVideo()}},{key:"playPrevVideo",value:function(){null!=this.queueManagerExtension&&this.queueManagerExtension.playPrevVideo()}},{key:"setQueueManagerExtension",value:function(e){this.queueManagerExtension=e}}],[{key:"getInstance",value:function(){if(null==Ma){Ma=new e;var t=new Da;Ma.setDelegate(t)}return Ma}}])}(),Oa=function(){function e(){a(this,e),this.id="",this.name="",this.description="",this.items=[],this.startIndex=-1}return s(e,null,[{key:"fromJSON",value:function(t){var n=new e;return null!=t&&(n.id=t.id,n.name=t.name,n.description=t.description,n.items=t.items,t.startIndex=t.startIndex),n}}])}(),xa=function(){function e(t,n){var i;if(a(this,e),(i=r(this,e,[t,n])).nextOrPrevVideoInfo=void 0,i.enable=!1,n&&n.features&&n.features.QueueManagerExtension){var o=n.features.QueueManagerExtension;o.enable&&(i.enable=o.enable,i.setQueueService(Na.getInstance()))}return i}return h(e,ta),s(e,[{key:"isEnabled",value:function(){return!(!this.enable||null==this.getCache())}},{key:"setQueueService",value:function(e){this.queueService=e,this.queueService.setQueueManagerExtension(this)}},{key:"getCache",value:function(){if(this.queueService)return this.queueService.getCache()}},{key:"handleSyncReceiveEvent",value:function(t){if(!this.isEnabled())return m(e,"handleSyncReceiveEvent",this)([t]);var n=!0,i=t.data;if("start_video"===i.b.cmd.name){this._willStartVideo(t),VizbeeSDK.logger.debug("QueueManagerExtension::handleSyncReceiveEvent - initializing queue"),n=!0;var r=Oa.fromJSON(i.b.internal.queueInfo);this.getCache().initialize(r)}else"queue_next"===i.b.cmd.name?(n=!1,this.playNextVideo()):"queue_prev"===i.b.cmd.name&&(n=!1,this.playPrevVideo());return n?t:void 0}},{key:"playNextVideo",value:function(){var e=this;VizbeeSDK.logger.debug("QueueManagerExtension::playNextVideo"),this.getCache()&&this.getCache().fetchNextVideo().then(function(t){t&&e._sendStartVideo(t)},function(t){VizbeeSDK.logger.debug("QueueManagerExtension::playNextVideo - FAILED to fetch next video"),e.sendEvent(t)}).catch(function(t){return VizbeeSDK.logger.warn(e.constructor.name+"::playNextVideo - error ",t)})}},{key:"playPrevVideo",value:function(){var e=this;VizbeeSDK.logger.debug("QueueManagerExtension::playPrevVideo"),this.getCache()&&this.getCache().fetchPrevVideo().then(function(t){t&&e._sendStartVideo(t)},function(t){VizbeeSDK.logger.debug("QueueManagerExtension::playPrevVideo - FAILED to fetch prev video"),e.sendEvent(t)}).catch(function(t){return VizbeeSDK.logger.warn(e.constructor.name+"::playPrevVideo - error ",t)})}},{key:"_willStartVideo",value:function(e){if(VizbeeSDK.logger.debug("QueueManagerExtension::_willStartVideo"),e){var t=JSON.parse(JSON.stringify(e));t.data.b.cmd.name="will_start_video",t.data.b.internal.videoStartsIn=t.data.b.internal.videoStartsIn||0,this.dispatchReceive(t)}}},{key:"_sendStartVideo",value:function(e){VizbeeSDK.logger.debug("QueueManagerExtension::_sendStartVideo",e);var t=na.encodeStartVideoCmd(e);t&&(this.nextOrPrevVideoInfo=e,this._willStartVideo(t),this.dispatchReceive(t))}},{key:"sendEvent",value:function(e){VizbeeSDK.logger.debug("QueueManagerExtension::sendEvent",e);var t=na.encodeEventCmd(e);t&&this.dispatchReceive(t)}},{key:"send",value:function(t){if(this.isEnabled())if(t&&t.cmd){var n=t;"status"==t.cmd.name&&(n=this.interceptVideoStatus(t)),m(e,"send",this)([n])}else m(e,"send",this)([t]);else m(e,"send",this)([t])}},{key:"interceptVideoStatus",value:function(e){if(this.nextOrPrevVideoInfo){if(e.vstatus.id!=this.nextOrPrevVideoInfo.id)return na.encodeVideoStatus(this.nextOrPrevVideoInfo);this.nextOrPrevVideoInfo=void 0}return this.getCache().setCurrentVideo(e.vstatus.id),this._addQStatus(e)}},{key:"_addQStatus",value:function(e){var t={},n=!1,i=this.getCache().getPrevVideo();i&&(n=!0,t.prev=na.encodeVideoInfo(i));var r=this.getCache().getNextVideo();return r&&(n=!0,t.next=na.encodeVideoInfo(r)),n&&(e.qstatus=t),e}}])}(),za=[Xr,$r,ra,ia,aa,oa,sa,ca,_a,Sa,ka,Ia,Va,function(){function e(t,n){var i;if(a(this,e),(i=r(this,e,[t,n])).currentVideoGUID=void 0,i.didAutoFetchNextVideo=!1,i.didAutoPlayNextVideo=!1,i.nextVideoAutoFetchGapInSecs=20,i.nextVideoAutoPlayGapInSecs=5,n&&n.features&&n.features.QueueManagerAutoplayExtension){var o=n.features.QueueManagerAutoplayExtension;i.nextVideoAutoFetchGapInSecs=isNaN(Number(o.nextVideoAutoFetchGapInSecs))?i.nextVideoAutoFetchGapInSecs:o.nextVideoAutoFetchGapInSecs,i.nextVideoAutoPlayGapInSecs=isNaN(Number(o.nextVideoAutoPlayGapInSecs))?i.nextVideoAutoPlayGapInSecs:o.nextVideoAutoPlayGapInSecs}return i}return h(e,xa),s(e,[{key:"interceptVideoStatus",value:function(t){var n=this;if(VizbeeSDK.logger.debug("QueueManagerAutoplayExtension::interceptVideoStatus - invoked",t),t&&t.vinfo&&t.vinfo.islive)return t;var i=m(e,"interceptVideoStatus",this)([t]);return i&&this.isEnabled()?"PLAYING"!=t.vstatus.st?(["INTERRUPTED","FINISHED","FAILED"].indexOf(t.vstatus.st)>-1&&(this.currentVideoGUID=void 0),i):(this.currentVideoGUID!=t.vstatus.id&&(this.didAutoFetchNextVideo=!1,this.didAutoPlayNextVideo=!1),this.currentVideoGUID=t.vstatus.id,this.currentVideoDuration=t.vstatus.du,this.currentVideoPosition=t.vstatus.po,VizbeeSDK.logger.debug("QueueManagerAutoplayExtension::interceptVideoStatus - check for duration",this.currentVideoDuration,this.currentVideoPosition,this.didAutoFetchNextVideo),this.currentVideoDuration-this.currentVideoPosition<1e3*this.nextVideoAutoFetchGapInSecs&&!this.didAutoFetchNextVideo&&(VizbeeSDK.logger.debug("QueueManagerAutoplayExtension::interceptVideoStatus - autofetching next video",this.currentVideoGUID),this.didAutoFetchNextVideo=!0,this.getCache().fetchNextVideo().then(function(e){if(VizbeeSDK.logger.debug("QueueManagerAutoplayExtension::interceptVideoStatus - fetched next video",e),e){var t=Math.round((n.currentVideoDuration-n.currentVideoPosition)/1e3-n.nextVideoAutoPlayGapInSecs),i=na.encodeStartVideoCmd(e);i&&(i.data.b.internal.videoStartsIn=t,i.data.b.internal.videoInfo.isContinuedVideo=!0,n._willStartVideo(i))}},function(e){VizbeeSDK.logger.debug("QueueManagerAutoplayExtension::interceptVideoStatus - failed to fetch next video",e),n.sendEvent(e)}).catch(function(e){return VizbeeSDK.logger.warn(n.constructor.name+"::fetchNextVideo - error ",e)})),this.currentVideoDuration-this.currentVideoPosition<1e3*this.nextVideoAutoPlayGapInSecs&&!this.didAutoPlayNextVideo&&(VizbeeSDK.logger.debug("QueueManagerAutoplayExtension::interceptVideoStatus - autoplaying next video",this.currentVideoGUID),this.didAutoPlayNextVideo=!0,this.playNextVideo()),i):i}}])}()],La=[Xr,$r,ra,ia,oa,ca,_a,Sa,Ia,Va,Pa],Ra=function(){return s(function e(){a(this,e)},[{key:"createSync",value:function(e){var t=$.get(e,["syncInfo","syncMethod"],"pubnub").toLowerCase();return Ar="googlecustom"==t?this.getGoogleCustomSyncInstanceWitExtensions(e):"googledual"==t?this.getGoogleDualSyncInstanceWitExtensions(e):"samsungmsf"==t?this.getSamsungMsfSyncInstanceWitExtensions(e):"samsungdual"==t?this.getSamsungDualSyncInstanceWitExtensions(e):this.getDefaultSyncInstanceWitExtensions(e)}},{key:"getGoogleCustomSyncInstanceWitExtensions",value:function(e){return this.addExtensions(e,this.getGoogleCastSync(e),La)}},{key:"getGoogleDualSyncInstanceWitExtensions",value:function(e){var t=this.addExtensions(e,new Gr(e),za),n=this.addExtensions(e,this.getGoogleCastSync(e),La),i=new Jr(e);return i.addSyncInstance(t),i.addSyncInstance(n),i}},{key:"getSamsungMsfSyncInstanceWitExtensions",value:function(e){return this.addExtensions(e,new jr(e),za)}},{key:"getSamsungDualSyncInstanceWitExtensions",value:function(e){var t=this.addExtensions(e,new Gr(e),za),n=this.addExtensions(e,new jr(e),za),i=new Jr(e);return i.addSyncInstance(t),i.addSyncInstance(n),i}},{key:"getDefaultSyncInstanceWitExtensions",value:function(e){return this.addExtensions(e,new Gr(e),za)}},{key:"addExtensions",value:function(e,t,n){for(var i=0;i<n.length;i++)t=new(0,n[i])(t,e);return t}},{key:"getGoogleCastSync",value:function(e){return cast.framework?new Qr(e):new Yr(e)}}],[{key:"getSync",value:function(){return Ar}}])}(),Ka=function(e){return e[e.NOT_CONNECTED=1]="NOT_CONNECTED",e[e.CONNECTING=2]="CONNECTING",e[e.CONNECTED=3]="CONNECTED",e}({}),Fa=Y(),Ua=sn(),Ba=function(){if(Xt)return Zt;Xt=1,Y();var e={},t={};function n(){VizbeeSDK.logger.debug("VGAStateManager:reset() previous video and ad objects = ",e,t),e.id="",e.state="UNKNOWN",e.position=-1,e.duration=-1,t.id="",t.state="UNKNOWN",t.position=-1,t.duration=-1}return n(),Zt={type:"VGAStateManager",app:{state:"app"},video:e,ad:t,reset:n,addListener:function(e){},removeListener:function(){}}}(),Ha=Dt(),Ga=un(),Wa=on(),qa=cn(),ja=750;function Ya(){if(Or)return Nr;Or=1;var e=Ct().EventEmitter,t="ad",n=new e,i={type:t,state:"UNKNOWN",id:"UNKNOWN",position:-1,duration:-1,playing:!1,adPodStarted:!1,adPodsPlayedDuration:0,totalAdPodsDuration:0};return Nr={adStatus:i,reset:function(){i.state="UNKNOWN",i.id="UNKNOWN",i.position=-1,i.duration=-1,i.playing=!1,i.adPodStarted=!1},resetTotalAdPodsDuration:function(){i.adPodsPlayedDuration=0,i.totalAdPodsDuration=0},addListener:function(e){n.addListener(t,e)},removeListener:function(e){n.removeListener(t,e)},notify:function(e){n.emit(t,i,e)}}}var Qa,Ja,Za,Xa=function(){function e(t){var n;return a(this,e),(n=r(this,e))._queueService=t,n}return h(e,Aa),s(e,[{key:"setDelegate",value:function(e){return this._queueService.setDelegate(e)}},{key:"getDelegate",value:function(){return this._queueService.getDelegate()}},{key:"playNextVideo",value:function(){return this._queueService.playNextVideo()}},{key:"playPrevVideo",value:function(){return this._queueService.playPrevVideo()}}])}(),$a=void 0,eo=function(){function e(){a(this,e)}return s(e,[{key:"getQueueManager",value:function(){return null==this.queueManager&&(this.queueManager=new Xa(Na.getInstance())),VizbeeSDK.logger.debug("ContinuityContext::getQueueManager - returning queue manager",this.queueManager),this.queueManager}}],[{key:"getInstance",value:function(){return null==$a&&($a=new e),$a}}])}(),to=s(function e(){a(this,e)}),no=window.cast&&window.cast.framework?window.cast.framework.QueueBase:to,io=function(){function e(t){var n;return a(this,e),(n=r(this,e)).queueDelegate=t,n}return h(e,no),s(e,[{key:"initialize",value:function(e){var t=e.queueData;if(!t){var n=new cast.framework.messages.QueueItem;n.media=e.media,(t=new cast.framework.messages.QueueData).startTime=e.currentTime,t.items=[n]}return this.queueDelegate&&this.queueDelegate.initialize(this._createQueueInfo(t)),t}},{key:"nextItems",value:function(e){var t=this;if(!this.queueDelegate)return[];var n=this._getCurrentVideoGUID();return VizbeeSDK.logger.debug("QueueBase::nextItems - Fetching nextItem",n),this.queueDelegate.fetchNextVideo(n).then(function(e){return e?(VizbeeSDK.logger.debug("QueueBase::nextItems - Successfully fetched nextItem",e.id),[t._buildQueueItem(e)]):(VizbeeSDK.logger.debug("QueueBase::nextItems - Invalid nextItem"),[])},function(e){return VizbeeSDK.logger.error("QueueBase::nextItems - Failed to fetch nextItem",e),t._sendQueuingError(e),[]}).catch(function(e){return VizbeeSDK.logger.error("QueueBase::nextItems - Failed to fetch nextItem",e),[]})}},{key:"prevItems",value:function(e){var t=this;if(!this.queueDelegate)return[];var n=this._getCurrentVideoGUID();return VizbeeSDK.logger.debug("QueueBase::prevItems - Fetching prevItem",n),this.queueDelegate.fetchPrevVideo(n).then(function(e){return e?(VizbeeSDK.logger.debug("QueueBase::prevItems - Successfully fetched prevItem",e),[t._buildQueueItem(e)]):(VizbeeSDK.logger.debug("QueueBase::prevItems - Invalid prevItem"),[])},function(e){return VizbeeSDK.logger.error("QueueBase::prevItems - Failed to fetch prevItem",e),t._sendQueuingError(e),[]}).catch(function(e){return VizbeeSDK.logger.error("QueueBase::prevItems - Failed to fetch prevItem",e),[]})}},{key:"_createQueueInfo",value:function(e){var t=this,n={id:"default",name:"default",description:"default"};return n.startIndex=e.startIndex||0,n.items=[],e.items.forEach(function(i,r){var a=t._getVideoInfo(i.media);0==r&&(a.starttime=e.startTime),n.items.push(a)}),n}},{key:"_buildQueueItem",value:function(e){var t=new cast.framework.messages.QueueItem;t.media=new cast.framework.messages.MediaInformation,t.preloadTime=15;var n=Number(e.preloadTime);n>=0&&(t.preloadTime=n),t.startTime=e.starttime||0,t.startTime=t.startTime/1e3,t.media.contentId=e.videourl,t.media.streamType=cast.framework.messages.StreamType.BUFFERED,e.islive&&(t.media.streamType=cast.framework.messages.StreamType.LIVE),t.media.metadata=new cast.framework.messages.MovieMediaMetadata,t.media.metadata.title=e.title||"",t.media.metadata.subtitle=e.subtitle||"",t.media.metadata.images=[new cast.framework.messages.Image(e.imgurl)];var i={};return i.guid=e.id,i.cuepoints=e.cuepoints||[],i.isContinuedVideo=!0,i.customStreamInfo=e.customstreaminfo||{},i.customMetadata=e.custommetadata||{},e.senderInfo=e.senderInfo||{},i.vzbSenderOS=e.senderInfo.st,i.vzbVersion=e.senderInfo.version,e.drminfo=e.drminfo||{},i.drmInfo={drmType:e.drminfo.drmtype,drmLicenseURL:e.drminfo.drmlicenseurl,drmCustomData:e.drminfo.drmcustomdata},t.media.customData=i,VizbeeSDK.logger.debug("QueueBase::_buildQueueItem ",t),t}},{key:"_getVideoInfo",value:function(e){VizbeeSDK.logger.debug("QueueBase::_getVideoInfo ",JSON.stringify(e));var t={starttime:0};t.islive="LIVE"==e.streamType,t.videourl=e.contentId||"",t.contentType=e.contentType||"",t.tracks=e.tracks||[];var n=e.customData||{};t.id=n.guid||"",t.cuepoints=n.cuepoints||[],t.vzbSenderOS=n.vzbSenderOS,t.vzbVersion=n.vzbVersion,t.senderInfo={st:n.vzbSenderOS,version:n.vzbVersion},t.customstreaminfo=n.customStreamInfo||{},t.custommetadata=n.customMetadata||{},t.drminfo=n.drmInfo||{};var i=e.metadata;return i&&(t.title=i.title||"",t.imgurl="",i.images&&i.images.length>0&&(t.imgurl=i.images[0].url)),t}},{key:"_getCurrentVideoGUID",value:function(){return this._getVideoInfo(this._getPlayerManager().getMediaInformation()).id}},{key:"_getPlayerManager",value:function(){return cast.framework.CastReceiverContext.getInstance().getPlayerManager()}},{key:"_sendQueuingError",value:function(e){this._getPlayerManager().sendCustomState(e)}}])}(),ro=function(){function e(t){var n;a(this,e);var i="https://us1-prod.disco-api.com";if((n=r(this,e)).userInfoUrl="".concat(i,"/users/me"),n.nextVideoInfoUrl="".concat(i,"/cms/recommendations/nextVideos?videoId=VIDEO_ID&decorators=viewingHistory,isFavorite&include=images,show,show.images,primaryChannel,primaryChannel.images,genres&page[size]=1&page[number]=1&algorithm=naturalOrder"),n.nextVideoPreloadTime=0,n.videoSourceUrl="".concat(i,"/playback/videoPlaybackInfo/VIDEO_ID?usePreAuth=true"),n.collectionInfoUrl="".concat(i,"/cms/collections/COLLECTION_ID?decorators=viewingHistory,isFavorite&include=default&include=images,show,show.images,primaryChannel,primaryChannel.images,genres&page[items.number]=1&page[items.size]=1"),n.defaultFallbackCollectionId="carousel-new-episodes",t.queueInfo){var o=t.queueInfo;o.userInfoUrl&&(n.userInfoUrl=o.userInfoUrl),o.upNextUrl&&(n.nextVideoInfoUrl=o.upNextUrl),o.upNextPreloadTime&&(n.nextVideoPreloadTime=o.upNextPreloadTime),o.videoSourceUrl&&(n.videoSourceUrl=o.videoSourceUrl),o.collectionInfoUrl&&(n.collectionInfoUrl=o.collectionInfoUrl),o.collectionId&&(n.defaultFallbackCollectionId=o.collectionId)}return n}return h(e,Ca),s(e,[{key:"initialize",value:function(e){return this.queueInfo=e,this.authToken=this._getAuthToken(),this.currentVideoMetadata=this._getMetadataFromQueueItem(),this.isCastedVideoLive=this._isCastedVideoLive(),this.userData=this._getUserDataFromSender(),this.senderData=this._getSenderData(),e}},{key:"_getAuthToken",value:function(){if(this.queueInfo.items[0].customstreaminfo)return this.queueInfo.items[0].customstreaminfo.authToken}},{key:"_getMetadataFromQueueItem",value:function(){return this.queueInfo.items[0].custommetadata||{}}},{key:"_isCastedVideoLive",value:function(){return!!(this.queueInfo&&this.queueInfo.items&&this.queueInfo.items.length>0&&this.queueInfo.items[0])&&!!this.queueInfo.items[0].islive}},{key:"_getUserDataFromSender",value:function(){var e=this.queueInfo.items[0].custommetadata;if(e)return{userId:e.userId,mid:e.mid,userDeviceID:e.userDeviceID,planId:e.planId,subscriptionId:e.subscriptionId,subscriptionPackages:[],authToken:this._getAuthToken(),loginStatus:e.loginStatus,accountStatus:e.accountStatus,continueStatus:e.continueStatus,propertyName:e.propertyName,videoInteractionType:e.videoInteractionType,resumeMediaSession:e.resumeMediaSession,universalCastDevice:e.universalCastDevice}}},{key:"_getSenderData",value:function(){return this.queueInfo.items[0].senderInfo||{}}},{key:"fetchNextVideo",value:function(e){var t=this;return VizbeeSDK.logger.debug("MTQueueDelegate::fetchNextVideo",e),new Promise(function(n,i){return t.isCastedVideoLive?(VizbeeSDK.logger.debug("MTQueueDelegate::fetchNextVideo - returning empty - RECEIVED LIVE VIDEO"),void n()):t.authToken&&t.userData?void t._getUserInfo(function(){if(!t.userData.subscriptionPackages||0==t.userData.subscriptionPackages.length)return VizbeeSDK.logger.debug("MTQueueDelegate::fetchNextVideo - Failed to fetch userInfo or packages not available"),void i(t._buildErrorEvent("Failed to fetch userInfo or packages not available"));t._getNextVideo(e,function(e){if(e){var r=e.data&&e.data[0]&&e.data[0],a=r&&r.id;if(a){var o=r&&r.attributes&&r.attributes.packages;o&&0!=o.length?0!=$.intersection(t.userData.subscriptionPackages,o).length?t._getVideoUrl(a,function(i){var r=void 0;if(i){var a=$.find(e.included,function(e){return"show"==e.type}),o={};a&&(o.id=a.id,o.name=a.attributes?a.attributes.name:""),e.meta&&e.meta.fromCollectionId?t.currentVideoMetadata.collectionId=e.meta.fromCollectionId:t.currentVideoMetadata.collectionId="",r=t._adaptVideoInfo(e,o,i)}n(r)}):i(t._buildErrorEvent("User subscription packages not matching with packages in next videoInfo")):i(t._buildErrorEvent("User subscription packages not available in next videoInfo"))}else n()}else n()})}):(VizbeeSDK.logger.debug("MTQueueDelegate::fetchNextVideo - returning empty - NO AUTH TOKEN"),void n())})}},{key:"_buildErrorEvent",value:function(e){return{type:"tv.vizbee.queuing.error",data:{message:e}}}},{key:"_getUserInfo",value:function(e){var t=this;if(VizbeeSDK.logger.debug("MTQueueDelegate::_getUserInfo"),this.authToken==this.userData.authToken&&this.userData.subscriptionPackages.length>0)return VizbeeSDK.logger.debug("MTQueueDelegate::_getUserInfo - userInfo already available"),void e();var n={Accept:"application/json",Authorization:"Bearer ".concat(this.authToken)};VizbeeSDK.logger.debug("MTQueueDelegate::_getUserInfo - FETCHING userInfo");var i=function(n){n&&n.data&&n&&n.data.attributes&&n.data.attributes.packages&&n.data.attributes.packages.length>0?(VizbeeSDK.logger.debug("MTQueueDelegate::_getUserInfo - SUCCESS"),t.userData.subscriptionPackages=n.data.attributes.packages):VizbeeSDK.logger.error("MTQueueDelegate::_getUserInfo - FAILED"),e()};ae.xhr({url:this.userInfoUrl,headers:n}).then(i,i).catch(i)}},{key:"_getNextVideo",value:function(e,t){var n=this;VizbeeSDK.logger.debug("MTQueueDelegate::_getNextVideo",e);var i=function(i){VizbeeSDK.logger.error("MTQueueDelegate::_getNextVideo - ERROR - failed to fetch next video for ",e,i),n._captureCriticalError("MT QUEUE DELEGATE UPNEXT API FAILED TO FETCH NEXT VIDEO"),n._getVideoFromCollectionInfo(n.defaultFallbackCollectionId).then(function(e){t(e)}).catch(function(e){t()})},r={Accept:"application/json",Authorization:"Bearer ".concat(this.authToken)},a=this.nextVideoInfoUrl.replace("VIDEO_ID",e);this.currentVideoMetadata&&this.currentVideoMetadata.collectionId&&(a=a+"&collectionId="+this.currentVideoMetadata.collectionId),ae.xhr({url:a,headers:r}).then(function(i){i&&i.data&&i.data.length>0?(VizbeeSDK.logger.debug("MTQueueDelegate::_getNextVideo - SUCCESS - got next video for ",e,i),t(i)):(VizbeeSDK.logger.info("MTQueueDelegate::_getNextVideo - NO NEXT VIDEO, fetching next video from "+n.defaultFallbackCollectionId+" collection"),n._getVideoFromCollectionInfo(n.defaultFallbackCollectionId).then(function(e){t(e)}).catch(function(e){t()}))},i).catch(i)}},{key:"_getVideoFromCollectionInfo",value:function(e){var t=this;return new Promise(function(n,i){VizbeeSDK.logger.debug("MTQueueDelegate::_getVideoFromCollectionInfo",e);var r=function(e){VizbeeSDK.logger.error("MTQueueDelegate::_getCollectionInfo - ERROR - failed to fetch collection info: ",e),t._captureCriticalError("MT QUEUE DELEGATE DEFAULT FALLBACK COLLECTION API FAILED TO FETCH NEXT VIDEO"),n()},a={Accept:"application/json",Authorization:"Bearer ".concat(t.authToken)},o=t.collectionInfoUrl.replace("COLLECTION_ID",e);ae.xhr({url:o,headers:a}).then(function(t){if(VizbeeSDK.logger.debug("MTQueueDelegate::_getVideoFromCollectionInfo - SUCCESS - got collection info: ",t),t&&t.included&&t.included.length>0){var i={data:[],included:[],meta:{fromCollectionId:e}},r=$.find(t.included,function(e){return e&&"video"==e.type});i.data.push(r);var a=$.find(t.included,function(e){return e&&"show"==e.type});i.included.push(a),n(i)}else VizbeeSDK.logger.debug("MTQueueDelegate::_getVideoFromCollectionInfo - ERROR - no data from collection info"),n()},r).catch(r)})}},{key:"_getVideoUrl",value:function(e,t){var n=this;VizbeeSDK.logger.debug("MTQueueDelegate::_getVideoUrl",e);var i=function(e){VizbeeSDK.logger.error("MTQueueDelegate::_getVideoUrl - ERROR - failed to fetch metadata: ",e),n._captureCriticalError("MT QUEUE DELEGATE FAILED TO FETCH VIDEO URL"),t()},r={Accept:"application/json",Authorization:"Bearer ".concat(this.authToken)},a=this.videoSourceUrl.replace("VIDEO_ID",e);ae.xhr({url:a,headers:r}).then(function(e){VizbeeSDK.logger.debug("MTQueueDelegate::_getVideoUrl - SUCCESS - got metadata: ",e);var n=e.data&&e.data.attributes&&e.data.attributes.streaming;t(n)},i).catch(i)}},{key:"_adaptVideoInfo",value:function(e,t,n){var i,r,a;if(e&&e.data&&Array.isArray(e.data)&&e.data.length>0){var o=(n=n||{}).hls&&n.hls.url||"",s=[{type:"hls",url:o},{type:"dash",url:n.dash&&n.dash.url||""}],u=e.data[0].attributes||{},c=u.identifiers&&u.identifiers.analyticsId||"",l=null!=u.seasonNumber?u.seasonNumber.toString():"",d=null!=u.episodeNumber?u.episodeNumber.toString():"",f=e.data[0].relationships&&e.data[0].relationships.season&&e.data[0].relationships.season.data&&e.data[0].relationships.season.data.id||"9999",h=u.viewingHistory&&u.viewingHistory.position||0;return{id:e.data[0].id,videourl:o,islive:!1,imgurl:(i=e,r=-1,a=i.included,a&&$.isArray(a)&&a.length>0&&(r=$.findLastIndex(a,function(e){return e.attributes&&e.attributes.src&&"default"==e.attributes.kind})),r>-1?a[r].attributes.src:""),title:t.name||"",subtitle:u.name||"",starttime:h,preloadTime:this.nextVideoPreloadTime,customstreaminfo:{authToken:this._getAuthToken(),streams:s},custommetadata:{nextVideoId:"",collectionId:this.currentVideoMetadata.collectionId,mediaId:c,seasonId:f,seasonNumber:l,season:"Season "+l||"",series:t.name||"",seriesId:t.id,episodeNumber:d,assetName:[(t.name||"").split(" ").join("-"),"s"+ae.padStart(l,2,"0"),"e"+ae.padStart(d,3,"0"),u.name.split(" ").join("-")].join("|").toLowerCase(),showType:function(e){var t,n="3";return e&&e.videoType&&(-1!=(t=e.videoType.toLowerCase()).indexOf("episode")?n="0":-1!=t.indexOf("preview")||-1!=t.indexOf("trailer")?n="1":-1!=t.indexOf("clip")&&(n="2")),n}(u),userId:this.userData.userId,mid:this.userData.mid,userDeviceID:this.userData.userDeviceID,planId:this.userData.planId,subscriptionId:this.userData.subscriptionId,loginStatus:this.userData.loginStatus,accountStatus:this.userData.accountStatus,continueStatus:this.userData.continueStatus,propertyName:this.userData.propertyName,videoInteractionType:this.userData.videoInteractionType,resumeMediaSession:this.userData.resumeMediaSession,universalCastDevice:this.userData.universalCastDevice},senderInfo:this.senderData}}}},{key:"_captureCriticalError",value:function(e){var t=new Error(e);VizbeeSDK.logger.critical("MTQueueDelegate::_captureCriticalError - MT UpNext API FAILED",t)}},{key:"fetchPrevVideo",value:function(e){return new Promise(function(e,t){e()})}}])}(),ao=function(){function e(t){var n;a(this,e),n=r(this,e);var i=t.queueInfo;return n.nextVideoPreloadTime=0,i&&i.upNextPreloadTime&&(n.nextVideoPreloadTime=i.upNextPreloadTime),n.nextVideoIds=[],n.playedVideoIds=[],n}return h(e,Ca),s(e,[{key:"initialize",value:function(e){return this.queueInfo=e,this.isCastedVideoLive=this._isCastedVideoLive(),this.currentVideoMetadata=this._getMetadataFromQueueItem(),this._parseNextVideoIdsFromCustomMetadata(),this.senderData=this._getSenderData(),e}},{key:"_isCastedVideoLive",value:function(){return!!(this.queueInfo&&this.queueInfo.items&&this.queueInfo.items.length>0&&this.queueInfo.items[0])&&!!this.queueInfo.items[0].islive}},{key:"_getMetadataFromQueueItem",value:function(){var e={};if(this.queueInfo&&this.queueInfo.items&&this.queueInfo.items[0]&&this.queueInfo.items[0].custommetadata)try{e=this.queueInfo.items[0].custommetadata,delete(e=JSON.parse(JSON.stringify(e))).refreshToken,delete e.accessToken,delete e.playlistContentIds}catch(t){e={}}return e}},{key:"_parseNextVideoIdsFromCustomMetadata",value:function(){this.nextVideoIds=[],this.playedVideoIds=[];var e=this.queueInfo&&this.queueInfo.items&&this.queueInfo.items[0]&&this.queueInfo.items[0].custommetadata;e&&$.isArray(e.playlistContentIds)&&(this.nextVideoIds=e.playlistContentIds)}},{key:"_getSenderData",value:function(){var e={};return this.queueInfo&&this.queueInfo.items&&this.queueInfo.items[0]&&this.queueInfo.items[0]&&(e=this.queueInfo.items[0].senderInfo||e),e}},{key:"fetchNextVideo",value:function(e){var t=this;return VizbeeSDK.logger.debug("NFLQueueDelegate::fetchNextVideo",e),new Promise(function(n,i){if(t.isCastedVideoLive)return VizbeeSDK.logger.debug("NFLQueueDelegate::fetchNextVideo - returning empty - Received LIVE video"),void n();t.playedVideoIds.push(e),t._getNextVideo(e,function(e){if(!e)return VizbeeSDK.logger.debug("NFLQueueDelegate::fetchNextVideo - Failed to get nextVideoInfo"),void i(t._buildErrorEvent("Failed to get nextVideoInfo"));var r=t._adaptVideoInfo(e);if(!r)return VizbeeSDK.logger.debug("NFLQueueDelegate::fetchNextVideo - Received invalid nextVideoInfo"),void i(t._buildErrorEvent("Received invalid nextVideoInfo"));n(r)})})}},{key:"fetchPrevVideo",value:function(e){return new Promise(function(e,t){e()})}},{key:"_buildErrorEvent",value:function(e){return{type:"tv.vizbee.queuing.error",data:{message:e}}}},{key:"_getNextVideo",value:function(e,t){if(VizbeeSDK.logger.debug("NFLQueueDelegate::_getNextVideo",e),0==this.nextVideoIds.length)return VizbeeSDK.logger.debug("NFLQueueDelegate::_getNextVideo - Empty playlist"),void t();var n=this.nextVideoIds.indexOf(e)+1;n>=this.nextVideoIds.length&&(n=0);var i=this.nextVideoIds[n];if(!i)return VizbeeSDK.logger.debug("NFLQueueDelegate::_getNextVideo - next video is not valid"),void t();this.playedVideoIds&&-1!=this.playedVideoIds.indexOf(i)?t():VZBAdapter&&VZBAdapter._fetchStreamInfo?(VizbeeSDK.logger.debug("NFLQueueDelegate::_getNextVideo - Found VZBAdapter to get video info"),VZBAdapter._fetchStreamInfo({id:i,islive:!1},t)):(VizbeeSDK.logger.debug("NFLQueueDelegate::_getNextVideo - VZBAdapter not found to get video info"),t())}},{key:"_adaptVideoInfo",value:function(e){if(e&&e.metadata&&e.metadata.event){var t=e.metadata.event;t.derived_metadata=t.derived_metadata||{},t.custom_metadata_map=t.custom_metadata_map||{};var n=t.derived_metadata.id||t.custom_metadata_map.id,i=t.derived_metadata.videoname,r=this._getImageURL(e.metadata);return{id:n,videourl:e.accessUrl||"",islive:!1,imgurl:r,title:i||"",subtitle:"",starttime:0,preloadTime:this.nextVideoPreloadTime,customstreaminfo:this.currentVideoMetadata,custommetadata:this.currentVideoMetadata,senderInfo:this.senderData}}}},{key:"_getImageURL",value:function(e){var t="";if(e.thumbnails){var n=$.find(e.thumbnails,function(e){return"thumbnail"==e.role&&"image/jpeg"==e.type});n||(n=$.find(e.thumbnails,function(e){return"poster"==e.role&&"image/jpeg"==e.type})),n&&n.url&&(t=n.url)}return t}}])}(),oo=function(){function e(t){var n;a(this,e),n=r(this,e);var i=$.get(t,["queueInfo"],{});return n._platformId=$.get(i,["platformId"],"35BF4E00-4C3F-4D2D-962A-D34CBEE059DC"),n._baseDomain=$.get(i,["baseDomain"],"https://prod-api.crackle.com/"),n._requestHeaders={"x-crackle-region":"US","x-crackle-brand":"crackle"},n._requestHeaders["x-crackle-platform"]=n._platformId,n._timeout=1e4,n.nextVideoPreloadTime=$.get(i,["upNextPreloadTime"],0),n.nextVideos=[],n.playedVideoIds=[],n}return h(e,Ca),s(e,[{key:"initialize",value:function(e){return this.queueInfo=e,this.isCastedVideoLive=this._isCastedVideoLive(),this.senderData=this._getSenderData(),this.nextVideos=[],this.playedVideoIds=[],e}},{key:"_isCastedVideoLive",value:function(){return!!(this.queueInfo&&this.queueInfo.items&&this.queueInfo.items.length>0&&this.queueInfo.items[0])&&!!this.queueInfo.items[0].islive}},{key:"_getSenderData",value:function(){return this.queueInfo.items[0].senderInfo||{}}},{key:"fetchNextVideo",value:function(e){var t=this;return VizbeeSDK.logger.debug("CrackleQueueDelegate::fetchNextVideo",e),new Promise(function(n,i){return t.isCastedVideoLive?(VizbeeSDK.logger.debug("CrackleQueueDelegate::fetchNextVideo - returning empty - Received LIVE video"),void n()):(e=e&&e.replace("category:vod::media:",""))?void t._fetchContentMetadata(e,function(r){var a=$.get(r,"parentId"),o=$.get(r,"type","");if(!r||!a||!o)return VizbeeSDK.logger.debug("CrackleQueueDelegate::fetchNextVideo - contentMetadata is not valid"),void n();var s=e;t._isContentTypeMovie(o)&&(s=a),t.playedVideoIds.push(s),t._getUpNextVideos(a,o,function(){t._getNextVideo(s,function(e){if(!e)return VizbeeSDK.logger.debug("CrackleQueueDelegate::fetchNextVideo - Failed to get nextVideoInfo"),void i(t._buildErrorEvent("Failed to get nextVideoInfo"));var r=t._adaptVideoInfo(e);if(!r)return VizbeeSDK.logger.debug("CrackleQueueDelegate::fetchNextVideo - Received invalid nextVideoInfo"),void i(t._buildErrorEvent("Received invalid nextVideoInfo"));n(r)})})}):(VizbeeSDK.logger.debug("CrackleQueueDelegate::fetchNextVideo - returning empty since videoGUID is invalid"),void n())})}},{key:"fetchPrevVideo",value:function(e){return new Promise(function(e,t){e()})}},{key:"_buildErrorEvent",value:function(e){return{type:"tv.vizbee.queuing.error",data:{message:e}}}},{key:"_getUpNextVideos",value:function(e,t,n){var i=this;if(VizbeeSDK.logger.debug("CrackleQueueDelegate::_getUpNextVideos",e),this.nextVideos.length>0)return VizbeeSDK.logger.debug("CrackleQueueDelegate::_getUpNextVideos - playlist available"),void n();this._isContentTypeMovie(t)?this._fetchMovieRecommendations(e,function(e){if(!e)return VizbeeSDK.logger.debug("CrackleQueueDelegate::_getUpNextVideos - invalid movies"),void n();i.nextVideos=e,n()}):this._isContentTypeEpisode(t)&&this._fetchEpisodesInSeason(e,function(e){if(!e)return VizbeeSDK.logger.debug("CrackleQueueDelegate::_getUpNextVideos - invalid episodes"),void n();i.nextVideos=e,n()})}},{key:"_getNextVideo",value:function(e,t){if(VizbeeSDK.logger.debug("CrackleQueueDelegate::_getNextVideo",e),0==this.nextVideos.length)return VizbeeSDK.logger.debug("CrackleQueueDelegate::_getNextVideo - Empty playlist"),void t();var n=$.pluck(this.nextVideos,"id"),i=n.indexOf(e)+1;i>=n.length&&(i=0);var r=n[i];if(!r)return VizbeeSDK.logger.debug("CrackleQueueDelegate::_getNextVideo - next video is not valid"),void t();if(this.playedVideoIds&&-1!=this.playedVideoIds.indexOf(r))t();else{var a=$.findWhere(this.nextVideos,{id:r}),o=$.get(a,"type","");this._isContentTypeMovie(o)?this._fetchContentChildren(r,function(e){t($.get(e,0))}):t(a)}}},{key:"_adaptVideoInfo",value:function(e){if(e&&e.id){var t=this._getImageURL(e);return{id:"category:vod::media:"+e.id,videourl:"",islive:!1,imgurl:t||"",title:e.title||"",subtitle:"",starttime:0,preloadTime:this.nextVideoPreloadTime,customstreaminfo:{},custommetadata:{},senderInfo:this.senderData}}}},{key:"_fetchContentMetadata",value:function(e,t){var n=this._baseDomain+"content/"+e;this._fetchURL(n,t)}},{key:"_fetchMovieRecommendations",value:function(e,t){this._fetchContentRecommendations(e,"movies",t)}},{key:"_fetchContentRecommendations",value:function(e,t,n){var i=this._baseDomain+"recommendations/"+t+"/content/"+e;this._fetchURL(i,n)}},{key:"_fetchEpisodesInSeason",value:function(e,t){this._fetchContentChildren(e,t)}},{key:"_fetchContentChildren",value:function(e,t){var n=this._baseDomain+"content/"+e+"/children";this._fetchURL(n,t)}},{key:"_fetchURL",value:function(e,t){ae.xhr({url:e,headers:this._requestHeaders,timeout:this._timeout}).then(function(e){var n=$.get(e,"data");t(n)}).catch(function(n){VizbeeSDK.logger.error("CrackleQueueDelegate::_fetchURL - Failed to fetch "+e),t()})}},{key:"_isContentTypeMovie",value:function(e){return!!e&&(-1!=(e=e.toLowerCase()).indexOf("film")||-1!=e.indexOf("movie"))}},{key:"_isContentTypeEpisode",value:function(e){return!!e&&-1!=(e=e.toLowerCase()).indexOf("episode")}},{key:"_getImageURL",value:function(e){var t=$.get(e,["images"],[]);0==t.length&&(t=$.get(e,["assets","images"],[]));var n=$.find(t,function(e){return e.width>400&&e.height>200&&$.isString(e.url)&&""!=e.url});return $.get(n,"url","")}}])}(),so=function(){function e(t){var n;if(a(this,e),(n=r(this,e)).nextVideoPreloadTime=0,n.nextVideoInfoUrl="https://api.foxnews.com/v3/videos?filter=fn__media_tags:",n.nextVideoFallbackUrl="https://api.foxnews.com/v3/playlists",n.nextVideos=[],t.queueInfo){var i=t.queueInfo;i.nextVideoPreloadTime&&(n.nextVideoPreloadTime=i.nextVideoPreloadTime),i.nextVideoInfoUrl&&(n.nextVideoInfoUrl=i.nextVideoInfoUrl),i.nextVideoFallbackUrl&&(n.nextVideoFallbackUrl=i.nextVideoFallbackUrl)}return n}return h(e,Ca),s(e,[{key:"initialize",value:function(e){return this.queueInfo=e,this.isCastedVideoLive=this._isCastedVideoLive(),this.currentVideoMetadata=this._getMetadataFromQueueItem(),this.nextVideos=[],this.senderData=this._getSenderData(),e}},{key:"_isCastedVideoLive",value:function(){return!!(this.queueInfo&&this.queueInfo.items&&this.queueInfo.items.length>0&&this.queueInfo.items[0])&&!!this.queueInfo.items[0].islive}},{key:"_getMetadataFromQueueItem",value:function(){var e={};if(this.queueInfo.items[0].custommetadata)try{e=this.queueInfo.items[0].custommetadata,e=JSON.parse(JSON.stringify(e))}catch(t){e={}}return e}},{key:"_getSenderData",value:function(){return this.queueInfo.items[0].senderInfo||{}}},{key:"fetchNextVideo",value:function(e){var t=this;return VizbeeSDK.logger.debug("FNFBQueueDelegate::fetchNextVideo",e),new Promise(function(n,i){return t.isCastedVideoLive?(VizbeeSDK.logger.debug("FNFBQueueDelegate::fetchNextVideo - returning empty - Received LIVE video"),void n()):e?void t._getNextVideo(e,function(e){if(!e)return VizbeeSDK.logger.debug("FNFBQueueDelegate::fetchNextVideo - Failed to get nextVideoInfo"),void i(t._buildErrorEvent("Failed to get nextVideoInfo"));var r=t._adaptVideoInfo(e);if(!r)return VizbeeSDK.logger.debug("FNFBQueueDelegate::fetchNextVideo - Received invalid nextVideoInfo"),void i(t._buildErrorEvent("Received invalid nextVideoInfo"));n(r)}):(VizbeeSDK.logger.debug("FNFBQueueDelegate::fetchNextVideo - Invalid videoGUID"),void i(t._buildErrorEvent("Received invalid videoGUID")))})}},{key:"fetchPrevVideo",value:function(e){return new Promise(function(e,t){e()})}},{key:"_buildErrorEvent",value:function(e){return{type:"tv.vizbee.queuing.error",data:{message:e}}}},{key:"_getNextVideo",value:function(e,t){VizbeeSDK.logger.debug("FNFBQueueDelegate::_getNextVideo",e),0==this.nextVideos.length?this._getNextVideoFromRemotePlaylist(e,t):this._getNextVideoFromLocalPlaylist(e,t)}},{key:"_adaptVideoInfo",value:function(e){if(e){var t="category:vod::media:"+e.id,n=$.get(e,["attributes"],{}),i=$.get(n,["streams",0,"url"],""),r=$.get(n,["title"],""),a=$.get(n,["fn__show_title"],""),o=$.get(n,["thumbnail","url"],""),s=$.get(n,["duration"],0),u=$.get(n,["fn__media_tags"],[]),c=$.get(n,["ima__content_source_id"],""),l=$.get(n,["fn__tve_authentication_required"],!1),d={streamURL:i},f={id:e.id,title:r,thumbnail:o,isAuthenticationRequired:l,previewDuration:s,imaContentID:c,imaAssetKey:null,mediaTags:u,isPreview:!1,authToken:this.currentVideoMetadata.authToken};return{id:t,videourl:i,islive:!1,imgurl:o,title:r,subtitle:a,starttime:0,preloadTime:this.nextVideoPreloadTime,customstreaminfo:d,custommetadata:f,senderInfo:this.senderData}}}},{key:"_getNextVideoFromRemotePlaylist",value:function(e,t){var n=this;VizbeeSDK.logger.debug("FNFBQueueDelegate::_getNextVideoFromRemotePlaylist for ",e);var i={Accept:"application/json"},r=function(r){var a=[];r&&r.included&&(a=n._filterByValidUpNextVideos(r.included));var o=$.get(n.currentVideoMetadata,["mediaTags",0],"");if(o=o.split("|")[0]){var s=function(i){i&&i.data&&i.data.length>0&&(n.nextVideos=n._filterByValidUpNextVideos(i.data)),a.length>0&&(n.nextVideos=n.nextVideos.concat(a)),n.nextVideos.length>0?n._getNextVideoFromLocalPlaylist(e,t):t(null)};ae.xhr({url:n.nextVideoInfoUrl+o,headers:i}).then(s,s).catch(s)}else a.length>0?(n.nextVideos=a,t(n.nextVideos[0])):t(null)};ae.xhr({url:this.nextVideoFallbackUrl,headers:i}).then(r,r).catch(r)}},{key:"_getNextVideoFromLocalPlaylist",value:function(e,t){VizbeeSDK.logger.debug("FNFBQueueDelegate::_getNextVideoFromLocalPlaylist for ",e);var n=e.replace("category:vod::media:",""),i=$.pluck(this.nextVideos,"id"),r=i.indexOf(n)+1;r>=i.length?t(null):t($.findWhere(this.nextVideos,{id:i[r]})||null)}},{key:"_filterByValidUpNextVideos",value:function(e){return $.filter(e,function(e){var t=$.get(e,["id"],""),n=$.get(e,["attributes","ima__content_source_id"],"");return t&&n})}}])}(),uo=[{islive:!1,id:"18 Fingers",videourl:"http://content.claspws.tv/videos3.0/action/18Fingers.mp4",imgurl:"https://content.claspws.tv/images3.0/action/18fingersofdeath.jpg",title:"18 Fingers"},{islive:!1,id:"AssassinsCode",videourl:"http://content.claspws.tv/videos3.0/action/AssassinsCode.mp4",imgurl:"https://content.claspws.tv/images3.0/action/22214_AssassinsCode_110x150_CoverArtImage.jpg",title:"AssassinsCode"},{islive:!1,id:"BlackKnightReturns",videourl:"http://content.claspws.tv/videos3.0/action/BlackKnightReturns.mp4",imgurl:"https://content.claspws.tv/images3.0/action/31460_BlackKnight_110x150.jpg",title:"BlackKnightReturns"},{islive:!1,id:"Croczilla",videourl:"http://content.claspws.tv/videos3.0/action/Croczilla.mp4",imgurl:"https://content.claspws.tv/images3.0/action/24504_Croczilla_110x150.jpg",title:"Croczilla"},{islive:!1,id:"Magma",videourl:"http://content.claspws.tv/videos3.0/action/Magma.mp4",imgurl:"https://content.claspws.tv/images3.0/action/43118_Magma_110x150.jpg",title:"Magma"}],co=function(){function e(){return a(this,e),r(this,e,arguments)}return h(e,Ca),s(e,[{key:"initialize",value:function(e){return this.queueInfo=e,e}},{key:"fetchNextVideo",value:function(e){VizbeeSDK.logger.debug("MockQueueDelegate::fetchNextVideo",e);var t=void 0,n=uo.findIndex(function(t){return t.id===e});return n>-1&&n<uo.length-1&&(t=uo[n+1]),null==t&&(t=uo[Math.round(Math.random()*uo.length)]),VizbeeSDK.logger.debug("MockQueueDelegate::fetchNextVideo - returning videoInfo",t),new Promise(function(e,n){e(t)})}},{key:"fetchPrevVideo",value:function(e){return new Promise(function(e,t){e({islive:!1,id:"Black Knight Returns",videourl:"http://content.claspws.tv/videos3.0/action/BlackKnightReturns.mp4"})})}}])}(),lo={MTQueueDelegate:ro,NFLQueueDelegate:ao,CrackleQueueDelegate:oo,FNFBQueueDelegate:so},fo=function(){return s(function e(){a(this,e)},null,[{key:"getInstance",value:function(e){return e.queueInfo?new lo[e.queueInfo.delegate](e):new co(e)}}])}(),ho=Y(),po=function(){if(X)return Z;X=1;var e,t,n=Tt().xhr,i=Y(),r={appId:null,config:null,pub_key:"pub-c-1e4f216f-168e-4fdc-8a2b-a29ffe05cb5b",sub_key:"sub-c-6da25f1b-58d7-4f17-bd10-21a30198a794"};return Z={appConfig:r,getConfig:function(a,o){r.appId=a.appId,r.platform=a.platform,r.platformModel=a.platformModel,r.hostProxy=a.hostProxy,function(){var i="config.claspws.tv";r.hostProxy&&(i=r.hostProxy),e=r.platform,t=r.platformModel;var a="//"+i+"/api/v2/";a+="apps/"+r.appId+"/screen/"+e,t&&(a+="."+t);var o=!1;if(window&&window.navigator&&window.navigator.language){var s=window.navigator.language.split("-");s.length>1&&(a+="?country="+s[1],o=!0)}return a+=(o?"&":"?")+"seed="+Math.round(1e3*Math.random()),VizbeeSDK.logger.debug("Config:getAPIConfig - didn't find any saved config from local storage. Calling config server ..."),a="https:"+a,VizbeeSDK.logger.debug("Config:getAPIConfig - URL = "+a),n({url:a,retries:3,timeout:3e4,headers:{Accept:"application/json"}}).then(function(e){if(e&&e.error&&100==e.error.code)return VizbeeSDK.logger.error("Config:getAPIConfig - received error code and message = ",e.error.code,e.error.message),VizbeeSDK.logger.error("Config:getAPIConfig - screen device may not be allowed or setup. Screen device platform = ",r.platform),VizbeeSDK.logger.error("Config:getAPIConfig - SDK init FAILED!"),Promise.reject(e.error);if(e&&e.data&&e.data.items&&e.data.items[0]){if(e.data.items[0].channelKeys.pub_key&&e.data.items[0].channelKeys.sub_key){var t=e.data.items[0];return t.externalIp=e.externalIpAddress,VizbeeSDK.logger.debug("Config:getAPIConfig - valid config returned by API",t),VizbeeSDK.logger.debug("Config:getAPIConfig - SDK init SUCCESS!"),t}return VizbeeSDK.logger.error("Config:getAPIConfig - got config response but no channel pub keys or sub keys!"),VizbeeSDK.logger.error("Config:getAPIConfig - SDK init FAILED!"),Promise.reject("No pub sub keys for given appId")}return VizbeeSDK.logger.error("Config:getAPIConfig - invalid response (but no error!) returned by server"),VizbeeSDK.logger.error("Config:getAPIConfig - SDK init FAILED!"),Promise.reject("Invalid response")}).catch(function(e){return VizbeeSDK.logger.error("Config:getAPIConfig - XHR request to get config failed"),VizbeeSDK.logger.error("Config:getAPIConfig - SDK init FAILED!"),Promise.reject(e)})}().then(function(e){VizbeeSDK.logger.debug("Config:getConfig - got apiConfig",e),i.extend(r,e),e.channelKeys.pub_key&&e.channelKeys.sub_key&&(r.pub_key=e.channelKeys.pub_key,r.sub_key=e.channelKeys.sub_key),"function"==typeof o&&(VizbeeSDK.logger.debug("Config:getConfig - calling callback with extended config =",r),o(r))}).catch(function(e){var t="SDK CONFIG FETCH FAILED";null!=e&&(t+=" - "+e.message);var n=new Error(t);VizbeeSDK.logger.critical("Config::getConfig - SDK CONFIG FETCH FAILED",n),VizbeeSDK.logger.error("Config::getConfig - NOTE - could be a failure in the callback passed to getConfig!")})}},Z}(),go=At,vo=function(e,t){var n,i=e,r=void 0,a=void 0,o=!1,s=!1,u=!1,c=!1,l=i&&i.features&&i.features.syncSendIntervalInMs;isNaN(l)||(ja=l);var d=[],f=[],h={};return t?(o=!0,n=Ba):(o=!1,n=Ua,Wa.setAppStateManager(Ua),qa.addListener(function(e){VizbeeSDK.logger.debug("synccontroller",e),"sync_proxy_video_cmds"==e.type&&("x"===e.cmd.name||"event"===e.cmd.name?(delete e.type,r.send(e)):v(e))})),{connect:function(e){VizbeeSDK.logger.debug("SyncController::connect - dumping appConfig = ",i);var t=new Ra;(r=t.createSync(i)).onReceive=function(t){if(t)switch(t.type){case mn.SYNC_CONNECT:!function(e){s=!0,o&&(VizbeeSDK.logger.debug("SyncController::syncConnectHandler - setting isAppAdapterAvailable to TRUE (isVGA=true)"),u=!0),p(),e(!0)}(e);break;case mn.SYNC_MESSAGE:var n=t.data.b,i=t.data.h;if(o&&n.cmd&&-1==["launch_applet","hello"].indexOf(n.cmd.name))return;a=i,"video"===(r=n).cmd.ns&&v(r,a),"x"===r.cmd.ns&&m((c=r).b.cmd.ns,y(c));break;case mn.SYNC_PRESENCE:o||function(e){VizbeeSDK.logger.debug("SyncController::presenceHandler() - connected users count",e);var t=Fa.extend({},h);h=Fa.extend({},e),VizbeeSDK.logger.debug("SyncController::syncPresenceHandler - transition","from:",Object.keys(t),"to:",Object.keys(h)),function(e,t){var n=Object.keys(e||{}),i=Object.keys(t||{});VizbeeSDK.logger.debug("SyncController::notifyPresenceListeners - previousIds: ",n," newIds: ",i);var r=i.filter(function(e){return-1===n.indexOf(e)});VizbeeSDK.logger.debug("SyncController::notifyPresenceListeners - joinedIds: ",r);var a=n.filter(function(e){return-1===i.indexOf(e)});VizbeeSDK.logger.debug("SyncController::notifyPresenceListeners - leftIds: ",a),r.forEach(function(e){var n=t[e];if(n){VizbeeSDK.logger.debug("SyncController::notifyPresenceListeners - user joined: ",e);var i={event:"JOIN",member:n};f.forEach(function(e){try{e(i)}catch(e){VizbeeSDK.logger.error("SyncController::notifyPresenceListeners - Error calling listener",e)}})}}),a.forEach(function(t){VizbeeSDK.logger.debug("SyncController::notifyPresenceListeners - user left: ",t);var n=e[t];if(n){VizbeeSDK.logger.debug("SyncController::notifyPresenceListeners - user left: ",t);var i={event:"LEAVE",member:n};f.forEach(function(e){try{e(i)}catch(e){VizbeeSDK.logger.error("SyncController::notifyPresenceListeners - Error calling listener",e)}})}})}(t,h),Ha.updatePresence(e)}(t.data)}var r,a,c},r.connect(e),n.addListener(S),Ha.isAppSet()&&(VizbeeSDK.logger.debug("SyncController::connect appIsSet"),u=!0,p()),d.forEach(function(e){e(Ka.CONNECTED)}),a=window.setInterval(_,ja)},disconnect:function(){VizbeeSDK.logger.debug("SyncController::disconnect() called"),clearInterval(a),n.removeListener(S),d.forEach(function(e){e(Ka.NOT_CONNECTED)}),g(),r.disconnect(),s=!1},isConnected:function(){return s},addSessionStateListener:function(e){d.push(e)},sessionState:function(){return s?Ka.CONNECTED:Ka.NOT_CONNECTED},subscribeToPresence:function(e){"function"==typeof e&&(f.push(e),VizbeeSDK.logger.debug("SyncController::subscribeToPresence - listener added"))},unsubscribeFromPresence:function(e){var t=f.indexOf(e);t>-1&&(f.splice(t,1),VizbeeSDK.logger.debug("SyncController::unsubscribeFromPresence - listener removed"))},getActiveSenders:function(){return r&&"function"==typeof r.getActiveSenders?r.getActiveSenders():{}},enableSynchronousPublish:function(){try{var e=r&&r.baseSync;e&&"function"==typeof e.enableSynchronousPublish&&e.enableSynchronousPublish()}catch(e){VizbeeSDK.logger.error("SyncController::enableSynchronousPublish - error",e)}}};function p(){if(s&&u){o&&!c&&(c=!0,Ga.onSubscribedToSync()),VizbeeSDK.logger.debug("SyncController::sendJoin - sending initial JOIN HELLO UPD message");var e={cmd:{ns:"video",name:"hello",type:"upd"},hstatus:{id:i.deviceId,type:"SCREEN",vip:"false"}};r.send(e)}else VizbeeSDK.logger.debug("SyncController::sendJoin - NOT sending JOIN HELLO yet",s,u)}function g(){if(s&&u){VizbeeSDK.logger.debug("SyncController::sendOlleh - sending OLLEH UPD message");var e={cmd:{ns:"video",name:"olleh",type:"upd"},hstatus:{id:i.deviceId,type:"SCREEN",vip:"false"}};r.send(e)}else VizbeeSDK.logger.debug("SyncController::sendOlleh - NOT sending Olleh",s,u)}function v(e){var t,a,o,s,u=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!("int"!==e.cmd.type&&e.hstatus&&"SCREEN"==e.hstatus.type||"req"!==e.cmd.type&&"int"!==e.cmd.type))switch(e.cmd.name){case"launch_applet":if(Fa.isUndefined(e.cmd.param))return;VizbeeSDK.logger.debug("SyncController::launch_applet - called",e.cmd.param),void 0!==window.VGA&&window.VGA.launch(e.cmd.param);break;case"hello":t={cmd:{ns:"video",name:"hello",type:"rsp"},hstatus:{id:i.deviceId,type:"SCREEN"}};try{"app"!==n.app.state?((s=k()).vstatus&&(t.vstatus=s.vstatus),s.vinfo&&(t.vinfo=s.vinfo),s.vinfoext&&(t.vinfoext=s.vinfoext),t.hstatus.vip="true"):t.hstatus.vip="false","int"==e.cmd.type&&(t.cmd.type="req"),r.send(t)}catch(e){VizbeeSDK.logger.error("SyncController::videoMessgaeHandler -- hello command. error ",e)}break;case"will_start_video":if(VizbeeSDK.logger.debug("SyncController::videoMessageHandler::will_start_video called",e),!(l=e.internal.videoInfo))return;var c=e.internal.videoStartsIn;c=c||0,Wa.willStart(l,c);break;case"start_video":VizbeeSDK.logger.debug("SyncController::videoMessageHandler::start_video called",e);var l=e.internal.videoInfo,d=e.internal.startVideoSource?e.internal.startVideoSource:"default";if(!l)return;"app"!==n.app.state?(VizbeeSDK.logger.debug("SyncController::videoMessageHandler()::start_video -- CALLING VIDEOADAPTER.STOP()"),Wa.stop("stop_reason_before_next_video"),setTimeout(function(){VizbeeSDK.logger.debug("SyncController::videoMessageHandler()::start_video -- CALLING START AFTER STOP"),b(l,d)},3e3)):b(l,d);break;case"pause":if("video"!==n.app.state)return void VizbeeSDK.logger.warn("pause requested when not in 'video' state",n.app.state);Wa.pause();break;case"play":if("video"!==n.app.state)return void VizbeeSDK.logger.warn("play requested when not in 'video' state",n.app.state);Wa.play();break;case"stop":if("app"==n.app.state)return void VizbeeSDK.logger.warn("stop requested when in 'app' state",n.app.state);VizbeeSDK.logger.info("syccontroller:: stop ",e.cmd.param);var f=e.cmd.param||"stop_reason_unknown";Wa.stop(f);break;case"exit":t={cmd:{ns:"video",name:"olleh",type:"upd"},hstatus:{id:i.deviceId,type:"SCREEN",vip:"false"}},r.send(t),Wa.exit();break;case"olleh":"int"==e.cmd.type&&g();break;case"status":_();break;case"seek":if(n.ad.playing)return VizbeeSDK.logger.debug("1",n.ad),void VizbeeSDK.logger.debug(n.video);if(Fa.isUndefined(e.cmd.param))return void VizbeeSDK.logger.debug("2",e);if(a=parseInt(e.cmd.param,10),isNaN(a))return void VizbeeSDK.logger.debug("3",a);if(n.video&&n.video.duration&&(o=n.video.duration,VizbeeSDK.logger.debug("4",a,o),a>o))return;if(a<0)return void VizbeeSDK.logger.debug("5",a);Wa.seek(a);break;case"vol_up":"function"==typeof Wa.volumeUp&&Wa.volumeUp();break;case"vol_down":"function"==typeof Wa.volumeDown&&Wa.volumeDown();break;case"mute":"function"==typeof Wa.mute&&Wa.mute(!0);break;case"unmute":"function"==typeof Wa.mute&&Wa.mute(!1);break;case"set_tracks":"function"==typeof Wa.setTracks&&Wa.setTracks(e.cmd.param||[]);break;case"event":"function"==typeof Wa.onEvent&&e.einfo&&e.einfo.data&&(Wa.onEvent(e.einfo),"tv.vizbee.homesso.signin"===e.einfo.type&&function(e,t){m(e.type,y({h:t,b:{payload:e.data}}))}(e.einfo,u))}}function y(e){var t=e.h.ssinfo,n={deviceId:t.REMOTE_DEVICE_ID,deviceType:t.REMOTE_DEVICE_TYPE,friendlyName:t.REMOTE_FRIENDLY_NAME,networkSessionId:t.REMOTE_NETWORK_SESSION_ID};return{payload:e.b.payload,senderInfo:n}}function m(e,t){if(window.vizbee&&window.vizbee.continuity&&window.vizbee.continuity.xmessages)if(window.vizbee.continuity.xmessages.VizbeeBicastSessionManager){var n=new window.vizbee.continuity.xmessages.VizbeeBicastSessionManager;if(n){var i=n.getSession();if(i){var r=i.getMessagingClient();r?r.onReceive(e,t.payload,t.senderInfo):VizbeeSDK.logger.error("SyncController::sendMessageToMessagingClient - Failed to initialize Vizbee session: messaging client not found")}else VizbeeSDK.logger.error("SyncController::sendMessageToMessagingClient - Failed to initialize Vizbee session: session not found")}else VizbeeSDK.logger.error("SyncController::sendMessageToMessagingClient - Failed to initialize Vizbee session: unable to create session manager instance")}else VizbeeSDK.logger.error("SyncController::sendMessageToMessagingClient - Failed to initialize Vizbee session: session manager not found");else VizbeeSDK.logger.error("SyncController::sendMessageToMessagingClient - Failed to initialize Vizbee session: xmessages not found")}function b(e,t){VizbeeSDK.logger.debug("SyncController::doStartVideo -- called StateManager.reset()",n),n.reset(),VizbeeSDK.logger.debug("SyncController::doStartVideo -- calling setSyncVideoInfo",n,n.getSyncVideoInfo()),n.setSyncVideoInfo(e),n.syncStartVideoSource=t,VizbeeSDK.logger.debug("SyncController::doStartVideo -- calling VideoAdapter.start() with videoInfo",e),Wa.start(e)}function S(e){"appIsSet"===e.type?(VizbeeSDK.logger.debug("SyncController::stateHandler appIsSet"),u=!0,p()):_()}function _(){if("app"!==n.app.state)if("UNKNOWN"!==n.video.state)if("PAUSED_BY_AD"!==n.video.state||"UNKNOWN"!==n.ad.state){var e=k();r&&r.send(e)}else VizbeeSDK.logger.debug("SyncController:sendUpdate - unknown video/ad state, not sending. app/video/ad.state: ",n.app.state,n.video.state,n.ad.state);else VizbeeSDK.logger.verbose("SyncController::sendUpdate - UNKNOWN video state, not sending");else"AppStateManager"==n.type&&VizbeeSDK.logger.verbose("SyncController::sendUpdate - in app state, not sending update",n)}function k(){var e,t=n.video,i=n.ad,r=n.getSyncVideoInfo(),a=n.getCurrentVideoInfo(),o={cmd:{name:"status",ns:"video",type:"upd"}};t&&(e=t.volume,t.muted&&(e=0),o.vinfo={id:t.id,url:""},r.id||(r=a),o.vinfo.islive=!1,o.vinfoext={title:"",subtitle:"",imgurl:"",desc:"",videostarttime:0,custommetadata:{},customstreaminfo:{},qos:{}},VizbeeSDK.logger.verbose("SyncController::createStatusMessage:: - ",r,a),a&&a.id&&r&&r.id&&r.id==a.id?(o.vinfo.url=r.videourl,o.vinfo.islive=r.islive,o.vinfoext={title:r.title||"",subtitle:r.subtitle||"",imgurl:r.imgurl||"",desc:r.desc||"",videostarttime:r.starttime||0,custommetadata:r.customMetadata||r.custommetadata,customstreaminfo:r.customStreamInfo||r.customstreaminfo,qos:T(t)}):a&&a.id&&(o.vinfo.url=a.videourl,o.vinfo.islive=a.islive,o.vinfoext={title:a.title||"",subtitle:a.subtitle||"",imgurl:a.imgurl||"",desc:a.desc||"",videostarttime:a.starttime||0,custommetadata:a.customMetadata||a.custommetadata,customstreaminfo:a.customStreamInfo||a.customstreaminfo,qos:T(t)}),o.vinfoext.wasVideoStartedByVizbee=n.wasVideoStartedByVizbee(),o.vstatus={du:parseInt(t.duration,10)||-1,id:t.id,po:parseInt(t.position,10)||-1,st:t.state,vol:parseInt(e),cc:t.cc,tr:t.tr,er:t.error||{}},"Infinity"!=t.duration&&"0"!=t.duration||(o.vstatus.du=0)),i&&t&&"PAUSED_BY_AD"==t.state&&(o.adstatus={du:parseInt(i.duration,10)||-1,id:i.id,po:parseInt(i.position,10)||-1,st:i.state});var s=Ha.getVideoInfo();return s&&(s.id&&(o.vinfo=o.vinfo||{},o.vinfo.id=s.id,o.vstatus=o.vstatus||{},o.vstatus.id=s.id),void 0!==s.videourl&&(o.vinfo=o.vinfo||{},o.vinfo.url=s.videourl),void 0!==s.islive&&(o.vinfo=o.vinfo||{},o.vinfo.islive=s.islive),void 0!==s.title&&(o.vinfoext=o.vinfoext||{},o.vinfoext.title=s.title),void 0!==s.subtitle&&(o.vinfoext=o.vinfoext||{},o.vinfoext.subtitle=s.subtitle),void 0!==s.imgurl&&(o.vinfoext=o.vinfoext||{},o.vinfoext.imgurl=s.imgurl),void 0!==s.isdvrsupported&&(o.vinfoext=o.vinfoext||{},o.vinfoext.isdvrsupported=s.isdvrsupported),void 0!==s.state&&(o.vstatus=o.vstatus||{},o.vstatus.st=s.state),void 0!==s.position&&(o.vstatus=o.vstatus||{},o.vstatus.po=parseInt(s.position,10)),void 0!==s.duration&&(o.vstatus=o.vstatus||{},o.vstatus.du=parseInt(s.duration,10))),o}function T(e){if(!e)return{};var t=e.qos||{};return{starttime:e.startTime||0,audiobufferlevel:e.audioBufferLevel,videobufferlevel:e.videoBufferLevel,adPodStartedTimeInMs:t.adPodStartedTimeInMs||0,adPodEndedTimeInMs:t.adPodEndedTimeInMs||0,loadReceivedByAppTimeInMs:t.loadReceivedByAppTimeInMs||0,loadReceivedByPlayerTimeInMs:t.loadReceivedByPlayerTimeInMs||0,metadataLoadedTimeInMs:t.metadataLoadedTimeInMs||0,playerReadyToPlayTimeInMs:t.playerReadyToPlayTimeInMs||0,playbackStartedTimeInMs:t.playbackStartedTimeInMs||0}}},yo=sn(),mo=Dt(),bo=un(),So=on(),_o=an(),ko=function(){if(Dr)return Cr;Dr=1;var e,t,n=Y(),i=new(0,Ct().EventEmitter),r={preparing:!1,playing:!1,alladscomplete:!1},a=-1,o=-1,s=!1;function u(e){var i={type:"ad",position:-1,duration:-1,preparing:r.preparing,playing:r.playing,alladscomplete:r.alladscomplete};return r.playing&&(o>0?(i.position=a,i.duration=o,VizbeeSDK.logger.debug("[VZB-DEBUG] AdAdapter::Status using app ad timing — po:",a,"du:",o)):t&&(i.position=1e3*t.currentTime(),i.duration=1e3*t.getDuration(),VizbeeSDK.logger.debug("[VZB-DEBUG] AdAdapter::Status using videoEl — po:",i.position,"du:",i.duration))),n.extend(i,e)}function c(e){var a,o,s=!n.contains(["timeupdate"],e.type);(r.preparing||r.playing)&&(a=new u,"timeupdate"!==e.type&&VizbeeSDK.logger.debug("AdAdapter::handleAdEvent() - not a timeupdate event",e.type),"preparing"===e.type&&(o="LOADING",a.id="UNKNOWN"),"play"===e.type&&(o="LOADING"),"playing"===e.type&&(o="PLAYING",t&&t.basePlayer&&t.basePlayer.videoInfo&&t.basePlayer.videoInfo.src&&(a.id=t.basePlayer.videoInfo.src)),"error"===e.type&&(o="INTERRUPTED",r.playing=!1),"ended"===e.type&&(o="FINISHED",r.playing=!1),a.playing=r.playing,o&&(a.state=o),i.emit("ad",a,s))}function l(e){var t=e.type||"UNKNOWN";VizbeeSDK.logger.debug("[VZB-DEBUG] AdAdapter::adsManagerHandleStateChange state:",t,"data:",e.data),-1!=["ad-pod-start","ad-pod-end","ad-start","ad-playing"].indexOf(t)&&(r.preparing=!1,r.playing=!1,"ad-pod-start"===t?(s=!1,r.preparing=!0,c({type:"preparing"})):"ad-start"===t?(s=!1,c({type:"play"})):"ad-playing"===t?(r.playing=!0,e.data&&(void 0!==e.data.duration&&e.data.duration>0&&(o=e.data.duration),void 0!==e.data.position&&e.data.position>=0&&(a=e.data.position),VizbeeSDK.logger.debug("[VZB-DEBUG] AdAdapter::ad-playing stored timing — po:",a,"du:",o))):("ad-pod-end"===t&&(r.playing=!1,r.alladscomplete=!0,a=-1,o=-1),i.emit("ad",new u({position:-1,duration:-1,state:"UNKNOWN",preparing:r.preparing,playing:r.playing}),!1)))}function d(n){VizbeeSDK.logger.debug("VIZBEE: AdAdapter.setAdVideo()",n),n&&((t=n).onError=function(e){r.playing&&(c({type:"error"}),s=!1)},t.onEnded=function(){r.playing&&(c({type:"ended"}),s=!1)},t.onTimeUpdate=function(e){r.playing&&(s?c({type:"timeupdate"}):(s=!0,c({type:"playing"})))},e||f(t))}function f(t){VizbeeSDK.logger.debug("VIZBEE: AdAdapter.setAdsManager()",t),(e=t).onEvent=l,d(e)}return Cr={setAdVideo:d,setAdsManager:f,reset:function(){r.preparing=!1,r.playing=!1,r.alladscomplete=!1,a=-1,o=-1,i.emit("ad",new u({position:-1,duration:-1,state:"UNKNOWN"}),!1)},addListener:function(e){i.addListener("ad",e)},removeListener:function(e){i.removeListener("ad",e)}}}(),To=function(){if(Mr)return wr;Mr=1;var e,t,n=Y(),i=new(0,Ct().EventEmitter),r={playing:!1,alladscomplete:!1};function a(e){var i={type:"ad",position:-1,duration:-1,playing:r.playing,alladscomplete:r.alladscomplete};return t&&(i.position=1e3*t.currentTime,i.duration=1e3*t.duration),n.extend(i,e)}function o(e){var o,s,u=!n.contains(["timeupdate","progress","suspend"],e.type);r.playing&&(o=new a,"timeupdate"!==e.type&&VizbeeSDK.logger.debug("handleAdEvent",e.type,t.currentTime),"loadedmetadata"===e.type&&(s="LOADING"),"play"===e.type&&(s="LOADING",o.id=t.src),"playing"===e.type&&(s="PLAYING"),"error"===e.type&&(s="FAILED"),"ended"===e.type&&(s="FINISHED"),t.ended&&(s="FINISHED"),s&&(o.state=s),i.emit("ad",o,u))}function s(e){r.playing=e.type===google.ima.AdEvent.Type.CONTENT_PAUSE_REQUESTED,r.alladscomplete=e.type===google.ima.AdEvent.Type.ALL_ADS_COMPLETED,VizbeeSDK.logger.debug("ADADAPTER:adsManagerHandler",e.type,"playing",r.playing,"(currentTime "+t.currentTime+")"),i.emit("ad",new a({position:-1,duration:-1,state:"UNKNOWN"}),!1)}return wr={setAdVideo:function(e){!function(e,t){["error","play","playing","ended","timeupdate","loadedmetadata"].forEach(function(n){e.addEventListener(n,o,!1),t&&t.removeEventListener(n,o,!1)})}(e,t),t=e},setAdsManager:function(t){!function(e,t){google&&google.ima&&[google.ima.AdErrorEvent.Type.AD_ERROR,google.ima.AdEvent.Type.CONTENT_PAUSE_REQUESTED,google.ima.AdEvent.Type.CONTENT_RESUME_REQUESTED,google.ima.AdEvent.Type.ALL_ADS_COMPLETED].forEach(function(n){e&&e.addEventListener(n,s),t&&t.removeEventListener(n,s)})}(t,e),e=t,VizbeeSDK.logger.debug("adsManager cue points,",e.getCuePoints())},reset:function(){r.playing=!1,r.alladscomplete=!1,i.emit("ad",new a({position:-1,duration:-1,state:"UNKNOWN"}),!1)},addListener:function(e){i.addListener("ad",e)},removeListener:function(e){i.removeListener("ad",e)}},wr}(),Io=function(){if(zr)return xr;zr=1,Y();var e,t,n=Ya(),i=["loadedmetadata","play","playing","timeupdate","error","ended"];function r(i){if(n.adStatus.adPodStarted){var r="LOADING";"loadedmetadata"==i.type||"play"==i.type?r="LOADING":"playing"==i.type?(n.adStatus.id=e.src,r="PLAYING"):"timeupdate"==i.type?r="PLAYING":"error"==i.type?r="FAILED":("ended"==i.type||e.ended)&&(r="FINISHED");var a=!1;r!=n.adStatus.state&&(a=!0,n.adStatus.state=r),n.adStatus.playing&&n.adStatus.duration>0&&t>=0?n.adStatus.position=1e3*e.currentTime-t:n.adStatus.position=-1,n.notify(a)}}function a(){n.reset(),t=-1}function o(){a(),n.notify()}return xr={setAdVideo:function(t){!function(e){e&&i.forEach(function(t){e.removeEventListener(t,r,!1)})}(e),function(e){e&&i.forEach(function(t){e.addEventListener(t,r,!1)})}(e=t)},setAdPodStart:function(e,t,i){a(),n.adStatus.adPodStarted=!0},setAdPodEnd:function(){o()},setTotalAdPodsDuration:function(e){n.adStatus.totalAdPodsDuration=e||0,n.notify(!1)},setAdStart:function(e,i){n.adStatus.playing=!0,t=e,n.adStatus.duration=i,n.adStatus.adPodsPlayedDuration+=i},setAdEnd:function(){n.adStatus.state="FINISHED",n.notify(!0),n.adStatus.playing=!1,t=-1,n.adStatus.duration=-1},getAdStatus:function(){return n.adStatus},reset:o,resetTotalAdPodsDuration:function(){n.resetTotalAdPodsDuration()},addListener:function(e){n.addListener(e)},removeListener:function(e){n.removeListener(e)}}}(),Vo=function(){if(Rr)return Lr;Rr=1,Y();var e,t,n=Ya();function i(i){if(n.adStatus.adPodStarted){"PLAYING"==i&&(n.adStatus.id=e.videoInfo.videoID||e.videoInfo.src);var r=!1;i!=n.adStatus.state&&(r=!0,n.adStatus.state=i),n.adStatus.playing&&n.adStatus.duration>0&&t>=0?n.adStatus.position=1e3*e.currentTime()-t:n.adStatus.position=-1,n.notify(r)}}function r(){n.reset(),t=-1}function a(){r(),n.notify()}return Lr={setAdVideo:function(t){t&&t.basePlayer&&function(e){e&&(e.onLoading=function(){i("LOADING")},e.onBuffering=function(){i("BUFFERING")},e.onPlaying=function(){i("PLAYING")},e.onTimeUpdate=function(){i("PLAYING")},e.onEnded=function(){i("FINISHED")},e.onError=function(){i("FAILED")})}(e=t.basePlayer)},setAdPodStart:function(e,t,i){r(),n.adStatus.adPodStarted=!0},setAdPodEnd:function(){a()},setAdStart:function(e,i){n.adStatus.playing=!0,t=e,n.adStatus.duration=i},setAdEnd:function(){n.adStatus.state="FINISHED",n.notify(!0),n.adStatus.playing=!1,t=-1,n.adStatus.duration=-1},reset:a,addListener:function(e){n.addListener(e)},removeListener:function(e){n.removeListener(e)}}}(),Eo=cn(),Po=(Fr||(Fr=1,Kr={getDeviceID:function(e,t,n){if(VizbeeTV&&VizbeeTV.tv)VizbeeTV.tv.uniqueDeviceID(function(n){switch(VizbeeSDK.logger.debug("Device::getDeviceID - DeviceIDAlgorithm = "+VizbeeTV.tv.deviceIDAlgorithm),VizbeeTV.tv.deviceIDAlgorithm){case"VTV_SESSION_ID":case"VTV_DEFAULT":case"VTV_URL_PARAMS":n=e.platform+":"+n;break;case"VTV_INTERNAL_IP":n=e.platform+":"+e.externalIp.toLowerCase()+":"+n}VizbeeSDK.logger.debug("Device::getDeviceID - deviceID = "+n),t(n)},function(e){VizbeeSDK.logger.error("PROD","C:001 failed to fetch deviceId, halting SDK initialization",e),n&&n(e)},e);else{var i="VizbeeTV framework not initialized yet, halting SDK initialization";VizbeeSDK.logger.error("PROD","C:002",i),n&&n(i)}}}),Kr),Ao=void 0,Co=void 0,Do=!1,wo=[],Mo="vzb0000000";function No(){if(Za&&Za.features&&Za.features.shouldSyncDisconnectOnBackground){if(Do)return;Ao?Ao.isConnected()||(VizbeeSDK.logger.i("SDK","onForeground","connecting VGA"),Do=!0,zo(Mo,function(){Do=!1,Co&&!Co.isConnected()&&(VizbeeSDK.logger.i("SDK","onForeground","connecting APPLET after VGA ",Ja.id),Do=!0,zo(Ja.id,function(){Do=!1}))})):Co&&!Co.isConnected()&&(VizbeeSDK.logger.i("SDK","onForeground","connecting APPLET ",Ja.id),Do=!0,zo(Ja.id,function(){Do=!1}))}}function Oo(){return VizbeeSDK.logger.i("SDK","onBackground"),Za&&Za.features&&Za.features.shouldExitOnBackground?(VizbeeSDK.logger.i("SDK","onBackground","exiting the app"),void VizbeeTV.tv.exit()):Za&&Za.features&&Za.features.shouldSyncDisconnectOnBackground?(VizbeeSDK.logger.i("SDK","onBackground","disconnecting from sync"),Ao&&Ao.isConnected()&&(VizbeeSDK.logger.i("SDK","_disconnectFromSync","disconnecting VGA"),Ao.disconnect()),Co&&Co.isConnected()&&(VizbeeSDK.logger.i("SDK","_disconnectFromSync","disconnecting APPLET"),Co.disconnect()),void(Do=!1)):void Uo()}function xo(e){VizbeeSDK.logger.i("SDK","onEnd","sending olleh"),e&&e.isTeardown&&(Ao&&Ao.enableSynchronousPublish(),Co&&Co.enableSynchronousPublish()),Uo()}function zo(e,t){po.getConfig({appId:e||Ja.id,deviceId:"",platform:VizbeeTV.tv.cloudPlatformName,platformModel:VizbeeTV.tv.platformModel,hostProxy:Ja.configServiceProxyHost},function(e){Za=e,VizbeeSDK.logger.d("SDK","getConfig","got config=",Za),Za.customAttributesForMetrics=Ja.customAttributesForMetrics,Za.features&&Za.features.enableIpv6Lookup?go.getIpv6Address(function(e){VizbeeSDK.logger.d("SDK","getIpv6Address","got response=",e),Za.ipv6Address=e,Lo(Za,t)}):(VizbeeSDK.logger.d("SDK","getIpv6Address","skipped - enableIpv6Lookup not set in screen config"),Lo(Za,t))})}function Lo(e,t){Po.getDeviceID(e,function(n){if(VizbeeSDK.logger.d("SDK","onConfigReady","using deviceid="+n),!function(e){if(!e||"string"!=typeof e)return!1;var t=e.split(":"),n=t[t.length-1];if(!n)return!1;var i=n.toLowerCase();return"unknown_device_id"!==i&&"0.0.0.0"!==i&&"127.0.0.1"!==i&&"localhost"!==i&&"undefined"!==i&&"null"!==i}(n))return VizbeeSDK.logger.e("SDK","onConfigReady","PROD - SDK init aborted: deviceId is a default/sentinel value; sync will not be established",n),Do=!1,void(t&&t(void 0));e.deviceId=n,function(e,t){(function(e){if(e&&e.debug&&e.debug.clients&&e.debug.clients.length>0&&e.debug.server)for(var t=0;t<e.debug.clients.length;t++){var n=e.debug.clients[t];if(n.ip&&n.ip==e.externalIp){var i=e.appId+":"+e.platform+":"+e.externalIp,r=n.aka||i;r="["+r+"]",kt.enableRemoteLogging(e.debug.server,r),window.VizbeeSDK&&window.VizbeeSDK.logger.setLevel(window.VizbeeSDK.logger.LEVEL.DEBUG),window.VizbeeTV&&window.VizbeeTV.logger.setLevel(window.VizbeeTV.logger.LEVEL.DEBUG),window.VGA&&window.VGA.logger.setLevel(window.VGA.logger.LEVEL.DEBUG)}}})(e),e.appId==Mo||e.features&&e.features.targetAppType==ba?(Mo=e.appId,Ao||(Ao=new vo(e,!0)),Ao.connect(function(e){e?VizbeeSDK.logger.d("SDK","onConfigAndDeviceIDReady","connected VGA"):VizbeeSDK.logger.e("SDK","onConfigAndDeviceIDReady","failed to connect VGA")})):(Co||(VizbeeSDK.logger.d("SDK","onConfigAndDeviceIDReady","creating appletSyncController"),Co=new vo(e,!1),ho.each(wo,function(e){e()})),VizbeeSDK.logger.d("SDK","onConfigAndDeviceIDReady","connecting appletSyncController"),Co.connect(function(e){e?VizbeeSDK.logger.d("SDK","onConfigAndDeviceIDReady","connected APPLET"):VizbeeSDK.logger.e("SDK","onConfigAndDeviceIDReady","failed to connect APPLET")})),t&&t(e)}(e,t)},function(e){VizbeeSDK.logger.e("SDK","onConfigReady","PROD - SDK init aborted: deviceId fetch failed; sync will not be established",e),Do=!1,t&&t(void 0)})}function Ro(e){VizbeeSDK.logger.d("SDK","setApp"),mo.setApp(e)}function Ko(e){VizbeeSDK.logger.d("SDK","setVideo","video=",e),So.setVideo(e)}function Fo(e){Qa={vzb_ad_ima:To,vzb_ad_ssai:Io,vzb_ad_ssai_avplay:Vo,vzb_ad_default:ko}[e.toLowerCase()],So.setAdAdapter(Qa)}function Uo(){Eo.send({type:"sync_proxy_video_cmds",cmd:{ns:"video",name:"olleh",type:"int"}})}var Bo={ContinuityContext:eo,QueueBase:io,QueueManager:Xa,QueueDelegate:Ca,QueueDelegateFactory:fo},Ho={VERSION:"7.8.44",wasVideoStartedByVizbee:function(){return yo&&yo.wasVideoStartedByVizbee()},init:function(e){VizbeeSDK.logger.i("SDK","init"),VizbeeTV.tv.appLifeCycleManager&&(VizbeeTV.tv.appLifeCycleManager.addHandler("onForeground",No),VizbeeTV.tv.appLifeCycleManager.addHandler("onBackground",Oo),VizbeeTV.tv.appLifeCycleManager.addHandler("onEnd",xo)),Ja=e,VizbeeSDK.logger.i("SDK","onStart"),Ja&&Ja.id&&(function(e){var t;VizbeeSDK.logger.d("SDK","handleInitOptions"),e.video&&Ko(e.video),e.app&&Ro(e.app),e.videoAdapter&&(t=e.videoAdapter,VizbeeSDK.logger.d("SDK","setHostVideoAdapter","video=",t),_o.setVideoAdapter(t)),e.adType&&Fo(e.adType),e.VGA&&e.isVGA&&bo.setVGA(e.VGA)}(Ja),So.init(),zo())},setApp:Ro,setVideo:Ko,setVideoGuid:function(e,t){So.setId(e,t)},setVideoInfo:function(e){VizbeeSDK.logger.d("SDK","setVideoInfo","videoInfo=",e),So.setVideoInfo(e)},setVideoStop:function(){So.setVideoStop()},setAdsVideo:function(e){VizbeeSDK.logger.d("SDK","setAdsVideo","video=",e),Qa?Qa.setAdVideo(e):VizbeeSDK.logger.d("SDK","setAdsVideo","AdAdapter not configured; skipping")},getAdsAdapter:function(){return Qa},setAdType:Fo,sendXMessage:function(e,t,n){if(Co){if(ho.get(Za,["features","useXMessagesFormat"])){var i={type:"sync_proxy_video_cmds",cmd:{type:"req",ns:t,name:"x",param:""},payload:e};return VizbeeSDK.logger.d("XMessages",this.constructor.name,"sendXMessage","sending message: ".concat(JSON.stringify(i)," in new format to sync controller")),void Eo.send(i)}var r={type:"sync_proxy_video_cmds",cmd:{type:"req",ns:"video",name:"event",param:""},einfo:{type:t,data:e}};VizbeeSDK.logger.d("XMessages",this.constructor.name,"sendXMessage","sending message: ".concat(JSON.stringify(r)," in old format to sync controller")),Eo.send(r)}else VizbeeSDK.logger.e("XMessages",this.constructor.name,"sendXMessage","appletSyncController not initialized")},syncProxy:Eo,addSyncReadyListener:function(e){wo.push(e)},removeSyncReadyListener:function(e){wo=ho.without(wo,e)},getSyncController:function(){return Co},getMetricsManager:function(){return ma},wrapVideoCallbacks:So.wrapCallbacks,addVideoEventListener:So.addEventListener,removeVideoEventListener:So.removeEventListener,reset:function(){VizbeeSDK.logger.d("SDK","reset");try{Co&&(Co.disconnect(),Co=void 0)}catch(e){VizbeeSDK.logger.e("SDK","reset","error disconnecting appletSyncController.",e)}try{yo.reset()}catch(e){VizbeeSDK.logger.e("SDK","reset","error resetting AppStateManager",e)}try{mo.reset()}catch(e){VizbeeSDK.logger.e("SDK","reset","error resetting AppAdapter",e)}try{Qa&&Qa.reset()}catch(e){VizbeeSDK.logger.e("SDK","reset","error resetting AdAdapter",e)}try{So.reset()}catch(e){VizbeeSDK.logger.e("SDK","reset"," error resetting VideoAdapter",e)}try{_o.reset()}catch(e){VizbeeSDK.logger.e("SDK","reset","error resetting HostVideoAdapter",e)}try{Eo.reset()}catch(e){VizbeeSDK.logger.e("SDK","reset","error resetting SyncProxy",e)}try{VizbeeTV.tv.appLifeCycleManager&&(VizbeeTV.tv.appLifeCycleManager.removeHandler("onForeground",No),VizbeeTV.tv.appLifeCycleManager.removeHandler("onBackground",Oo),VizbeeTV.tv.appLifeCycleManager.removeHandler("onEnd",xo))}catch(e){VizbeeSDK.logger.e("SDK","reset","error removing app lifecycle handlers",e)}},framework:Bo};window.VizbeeSDK||(window.VizbeeSDK={},VizbeeSDK.logger||(VizbeeSDK.logger=new kt,VizbeeSDK.logger.setPrefix("[Vizbee]")));var Go=window.VZB;Go=Ho,window.VZB=Go;var Wo=function(){return s(function e(){a(this,e),this.platformType="",this.platformConfig={},this.appAdapter=void 0,this.vgaAdapter=void 0,this.videoAdapter=void 0,this.adAdapter=void 0,this.vzbOptions={}},[{key:"setOptions",value:function(e){e||(e={}),this.vzbOptions=e}},{key:"getOptions",value:function(){return this.vzbOptions}},{key:"initAppOnPlatform",value:function(e,t,n,i){this.appAdapter=t.appAdapter||t,this.vgaAdapter=t.vgaAdapter,this.videoAdapter=t.videoAdapter,this.adAdapter=t.adAdapter,this.platformType=n,this.platformConfig=i,this.platformConfig.appId=e,null==this.platformConfig.standalone&&(this.platformConfig.standalone=!0),VizbeeTV.init(this.platformType,this.platformConfig);var r=this.appAdapter.startVideo||function(){},a=this;this.appAdapter.startVideo=function(e,t){t=t||0,a.platformConfig.standalone||a.setVideoGuid(e.id,e.isLive||e.islive),r(e,t)};var o={id:e,app:this.appAdapter,videoAdapter:this.videoAdapter,adAdapter:this.adAdapter,customAttributesForMetrics:{}};this.vgaAdapter?(o.isVGA=!0,o.VGA=this.vgaAdapter):o.video=VizbeeTV.tv.player,o.customAttributesForMetrics=l(o.customAttributesForMetrics,this.platformConfig.customAttributesForMetrics,this.vzbOptions.customAttributesForMetrics),this.vzbOptions.configServiceProxyHost&&(o.configServiceProxyHost=this.vzbOptions.configServiceProxyHost),VZB.init(o)}},{key:"setAdAdapterType",value:function(e){VZB.setAdType(e)}},{key:"getAdsAdapter",value:function(){return VZB.getAdsAdapter()}},{key:"setAdsVideo",value:function(e){VZB.setAdsVideo(e)}},{key:"setVideoElement",value:function(e){if(!e)return"undefined"!=typeof VizbeeSDK&&VizbeeSDK.logger&&VizbeeSDK.logger.warn("BaseAPIWrapper::setVideoElement - INVALID newVideoElement"),!1;if(!this.platformConfig)return"undefined"!=typeof VizbeeSDK&&VizbeeSDK.logger&&VizbeeSDK.logger.warn("BaseAPIWrapper::setVideoElement - SDK not initialized"),!1;if(this.platformConfig.videoElement===e)return!0;this.platformConfig.videoElement=e;var t=l({},this.platformConfig,{standalone:!0});return"undefined"!=typeof VizbeeTV&&VizbeeTV.tv&&VizbeeTV.tv.player&&"function"==typeof VizbeeTV.tv.player.reconstruct&&VizbeeTV.tv.player.reconstruct(t),this.setAdsVideo(e),!0}},{key:"setVideoGuid",value:function(e,t){VZB.setVideoGuid(e,t)}},{key:"setVideoInfo",value:function(e){VZB.setVideoInfo(e),this.setVideoGuid(e.id||e.videourl,e.islive)}},{key:"setVideoStop",value:function(){VZB.setVideoStop()}}])}(),qo=function(){return s(function e(){a(this,e)},[{key:"setup",value:function(e,t){this.chromecastAPI=e,this.mediaManager=t}}])}(),jo=function(){function e(){return a(this,e),r(this,e,arguments)}return h(e,qo),s(e,[{key:"setup",value:function(t,n){m(e,"setup",this)([t,n]),this.setupAppProcessors(),this.setupProcessors()}},{key:"setupAppProcessors",value:function(){this.appProcessOnLoad=this.mediaManager.onLoad.bind(this.mediaManager),this.appProcessOnMetadataLoaded=this.mediaManager.onMetadataLoaded.bind(this.mediaManager),this.appProcessOnPause=this.mediaManager.onPause.bind(this.mediaManager),this.appProcessOnEditTracksInfo=this.mediaManager.onEditTracksInfo.bind(this.mediaManager)}},{key:"setupProcessors",value:function(){this.setupOnLoadProcessor(),this.setupOnMetadataLoadedProcessor(),this.setupOnPauseProcessor(),this.setupOnEditTracksInfo()}},{key:"setupOnLoadProcessor",value:function(){var e=this;e.mediaManager.onLoad=function(t){var n=e.chromecastAPI.platformConfig.captionsType;n&&"cea608"==n.toLowerCase()&&(t.data.media.tracks=[{trackId:99,type:"TEXT",trackContentType:"text/608",name:"English",language:"en-US",subtype:"SUBTITLES"}]);var i=Ea.getVideoInfo(t);i.vzbSenderOS&&i.vzbVersion&&(e.chromecastAPI.setVideoInfo(i),e.chromecastAPI.appAdapter&&e.chromecastAPI.appAdapter.adaptMediaInfo&&(t=e.chromecastAPI.appAdapter.adaptMediaInfo(t))),e.appProcessOnLoad(t)}}},{key:"setupOnMetadataLoadedProcessor",value:function(){var e=this;e.mediaManager.onMetadataLoaded=function(t){var n=e.mediaManager.getMediaInformation(),i=n.customData;i&&i.vzbSenderOS&&i.vzbVersion&&e.chromecastAPI.setVideoGuid(n.customData.guid,"live"==n.streamType.toLowerCase()),e.appProcessOnMetadataLoaded(t)}}},{key:"setupOnPauseProcessor",value:function(){var e=this;e.mediaManager.onPause=function(t){VZB.syncProxy.send({type:"sync_proxy_video_cmds",cmd:{ns:"video",name:"pause",type:"req"}}),e.appProcessOnPause(t)}}},{key:"setupOnEditTracksInfo",value:function(){var e=this;e.mediaManager.onEditTracksInfo=function(t){var n=t.data.activeTrackIds,i=e.chromecastAPI.platformConfig.captionsType,r=e.chromecastAPI.platformConfig.playerType&&e.chromecastAPI.platformConfig.playerType.toLowerCase();if(n.length>0)i&&"cea608"==i.toLowerCase()&&99==n[0]?r&&"bitmovin"===r?(VizbeeSDK.logger.debug("DefaultProcessor::onEditTracksInfo - playerType=bitmovin player, handing off to app"),e.appProcessOnEditTracksInfo(t)):(o=e.chromecastAPI.platformConfig.videoElement)&&o.textTracks&&o.textTracks[0]&&(o.textTracks[0].mode="showing"):e.appProcessOnEditTracksInfo(t);else{VizbeeSDK.logger.debug("DefaultProcessor::onEditTracksInfo - No Active Track IDs");var a=VizbeeTV.tv.player.getEnabledTracks(C);if(a&&a.length>0){var o,s=a[0].toJSON();if(i&&"cea608"==i.toLowerCase()&&99==s.idNum)return void(r&&"bitmovin"===r?(VizbeeSDK.logger.debug("DefaultProcessor::onEditTracksInfo - playerType=bitmovin player, handing off to app"),e.appProcessOnEditTracksInfo(t)):(o=e.chromecastAPI.platformConfig.videoElement)&&o.textTracks&&o.textTracks[0]&&(o.textTracks[0].mode="hidden"))}e.appProcessOnEditTracksInfo(t)}}}}])}(),Yo=function(){function e(){return a(this,e),r(this,e,arguments)}return h(e,qo),s(e,[{key:"setup",value:function(t,n){m(e,"setup",this)([t,n]);var i=this;i.mediaManager.onLoad=(i.mediaManager.onLoad.bind(i.mediaManager),function(e){var t=Ea.getVideoInfo(e);t.islive||(t.starttime=1e3*t.starttime);var n={type:"sync_proxy_video_cmds",cmd:{ns:"video",name:"start_video",type:"req",param:t.starttime},vinfo:{id:t.id,url:t.videourl,islive:t.islive,deeplink:t.deeplink},vinfoext:{}};t.cuepoints&&(n.vinfoext.cuepoints=t.cuepoints),t.title&&(n.vinfoext.title=t.title),t.imgurl&&(n.vinfoext.imgurl=t.imgurl),t.desc&&(n.vinfoext.desc=t.desc),t.tracks&&(n.vinfoext.tracks=t.tracks),t.customstreaminfo&&(n.vinfoext.customstreaminfo=t.customstreaminfo),t.custommetadata&&(n.vinfoext.custommetadata=t.custommetadata),t.drminfo&&(n.vinfoext.drmcustomdata=t.drminfo.drmCustomData),t.drminfo&&(n.vinfoext.drmtype=t.drminfo.drmType),t.drminfo&&(n.vinfoext.drmlicenseurl=t.drminfo.drmLicenseURL),n.internal=t,VZB.syncProxy.send(n)}),i.mediaManager.onPlay=(i.mediaManager.onPlay.bind(i.mediaManager),function(e){VZB.syncProxy.send({type:"sync_proxy_video_cmds",cmd:{ns:"video",name:"play",type:"req"}}),i.mediaManager.sendStatus(e.senderId,e.data.requestId,!0)}),i.mediaManager.onPause=(i.mediaManager.onPause.bind(i.mediaManager),function(e){VZB.syncProxy.send({type:"sync_proxy_video_cmds",cmd:{ns:"video",name:"pause",type:"req"}}),i.mediaManager.sendStatus(e.senderId,e.data.requestId,!0)}),i.mediaManager.onSeek=(i.mediaManager.onSeek.bind(i.mediaManager),function(e){var t=Ea.getVideoInfo(e),n={type:"sync_proxy_video_cmds",cmd:{ns:"video",name:"seek",type:"req",param:Math.round(1e3*t.starttime)}};VZB.syncProxy.send(n),i.mediaManager.sendStatus(e.senderId,e.data.requestId,!0)}),i.mediaManager.onStop=(i.mediaManager.onStop.bind(i.mediaManager),function(e){VZB.syncProxy.send({type:"sync_proxy_video_cmds",cmd:{ns:"video",name:"stop",type:"req"}}),i.mediaManager.sendStatus(e.senderId,e.data.requestId,!0)}),i.mediaManager.onEditTracksInfo=function(e){var t={type:"sync_proxy_video_cmds",cmd:{ns:"video",name:"set_tracks",type:"req",param:e.data.activeTrackIds}};VZB.syncProxy.send(t),i.mediaManager.sendStatus(e.senderId,e.data.requestId,!0)}}}])}(),Qo=function(){function e(){return a(this,e),r(this,e,arguments)}return h(e,jo),s(e,[{key:"setupAppMediaManagerProcessor",value:function(e){this.appMediaManagerProcessor=e}},{key:"setupAppProcessors",value:function(){this.appProcessOnLoad=this.appMediaManagerProcessor.onLoad.bind(this.appMediaManagerProcessor),this.appProcessOnPause=this.appMediaManagerProcessor.onPause.bind(this.appMediaManagerProcessor),this.appProcessOnPlay=this.appMediaManagerProcessor.onPlay.bind(this.appMediaManagerProcessor),this.appProcessOnSeek=this.appMediaManagerProcessor.onSeek.bind(this.appMediaManagerProcessor),this.appMediaManagerProcessor.onEditTracksInfo?this.appProcessOnEditTracksInfo=this.appMediaManagerProcessor.onEditTracksInfo.bind(this.appMediaManagerProcessor):this.appProcessOnEditTracksInfo=this.mediaManager.onEditTracksInfo.bind(this.mediaManager),this.appProcessOnStop=this.appMediaManagerProcessor.onStop.bind(this.appMediaManagerProcessor)}},{key:"setupProcessors",value:function(){m(e,"setupProcessors",this)([]),this.setupOnPlayProcessor(),this.setupOnSeekProcessor(),this.setupOnStopProcessor()}},{key:"setupOnPlayProcessor",value:function(){var e=this;e.mediaManager.onPlay=function(t){var n=e.appProcessOnPlay(t);e.mediaManager.sendStatus(t.senderId,t.data.requestId,!!n)}}},{key:"setupOnSeekProcessor",value:function(){var e=this;e.mediaManager.onSeek=function(t){var n=e.appProcessOnSeek(t);e.mediaManager.sendStatus(t.senderId,t.data.requestId,!!n)}}},{key:"setupOnStopProcessor",value:function(){var e=this;e.mediaManager.onStop=function(t){var n=e.appProcessOnStop(t);e.mediaManager.sendStatus(t.senderId,t.data.requestId,!!n)}}}])}(),Jo=function(){return s(function e(){a(this,e)},[{key:"setup",value:function(e,t){this.chromecastAPI=e,this.playerManager=t}}])}(),Zo=function(){function e(){return a(this,e),r(this,e,arguments)}return h(e,Jo),s(e,[{key:"setup",value:function(t,n){m(e,"setup",this)([t,n]),this.setupProcessors()}},{key:"setupProcessors",value:function(){this.setupOnLoadProcessor(),this.setupOnMetadataLoadedProcessor()}},{key:"setupOnLoadProcessor",value:function(){var e=this;e.playerManager.addEventListener([cast.framework.events.EventType.REQUEST_LOAD,cast.framework.events.EventType.REQUEST_LOAD_BY_ENTITY],function(t){VizbeeSDK.logger.debug("DefaultCAFProcessor::setupOnLoadProcessor",t);var n={data:t.requestData},i=Ea.getVideoInfo(n);e.chromecastAPI.setVideoInfo(i)})}},{key:"setupOnMetadataLoadedProcessor",value:function(){var e=this;e.playerManager.addEventListener(cast.framework.events.EventType.LOADED_METADATA,function(t){VizbeeSDK.logger.debug("DefaultCAFProcessor::setupOnMetadataLoadedProcessor",t);var n={data:{media:e.playerManager.getMediaInformation()}},i=Ea.getVideoInfo(n);e.chromecastAPI.setVideoGuid(i.id,i.islive)})}}])}(),Xo=function(){return s(function e(){a(this,e)},null,[{key:"createProcessor",value:function(e){return!e||e&&"default"==e.toLowerCase()?cast.framework?new Zo:new jo:e&&"custom"==e.toLowerCase()?new Qo:e&&"sync"==e.toLowerCase()?new Yo:void 0}}])}(),$o=function(){function e(){return a(this,e),r(this,e,arguments)}return h(e,Wo),s(e,[{key:"initAppOnPlatform",value:function(t,n,i,r,a){var o=cast.receiver.CastReceiverManager.getInstance();if(o.isSystemReady())VizbeeSDK.logger.error("Vizbee should be initialized before calling CastReceiverManager.start()");else try{VizbeeSDK.logger.debug("Vizbee: creating vizbee custom channel");var s=o.getCastMessageBus("urn:x-cast:tv.vizbee.sync");r.vizbeeCustomChannel=s}catch(e){VizbeeSDK.logger.error("Vizbee should be initialized before calling CastReceiverManager.start()")}if(m(e,"initAppOnPlatform",this)([t,n,i,r]),r.mediaManager){r.mediaManagerProcessorType||(r.mediaManagerProcessorType="default");var u=Xo.createProcessor(r.mediaManagerProcessorType);if("custom"==r.mediaManagerProcessorType.toLowerCase()){if(!a)return void VizbeeSDK.logger.info("Vizbee: Incorrect API usage - customProcessorForMediaManager is required when mediaManagerProcessorType is custom");u.setupAppMediaManagerProcessor(a)}u.setup(this,r.mediaManager)}else VizbeeSDK.logger.info("Vizbee: Incorrect API usage - mediaManager is a required property in initAppOnPlatform method.");this._maybeStartStatusPoller()}},{key:"_maybeStartStatusPoller",value:function(){if(!this.statusPoller){var e=!(!this.platformConfig||!this.platformConfig.videoElement),t=!(!this.appAdapter||"function"!=typeof this.appAdapter.getVideoInfo);if(!e&&t){var n=this;this.statusPoller=new null({intervalMs:this.vzbOptions&&this.vzbOptions.statusPollIntervalMs,logger:VizbeeSDK.logger,getStatus:function(){return n.appAdapter.getVideoInfo()},setVideoSource:function(e){"undefined"!=typeof VZB&&VZB.setVideo&&VZB.setVideo(e)},setVideoGuid:function(e,t){"undefined"!=typeof VZB&&VZB.setVideoGuid&&VZB.setVideoGuid(e,t)},installAdSource:function(e){"undefined"!=typeof VZB&&VZB.setAdsVideo&&VZB.setAdsVideo(e)}}),this.statusPoller.start()}}}},{key:"setAdAdapterType",value:function(e){VZB.setAdType(e),this.platformConfig.videoElement&&this.setAdsVideo(this.platformConfig.videoElement)}}])}(),es=function(){function e(){return a(this,e),r(this,e,arguments)}return h(e,Wo),s(e,[{key:"initAppOnPlatform",value:function(t,n,i,r,a){try{var o=cast.framework.CastReceiverContext.getInstance();o.isSystemReady()?VizbeeSDK.logger.error("Vizbee should be initialized before calling castReceiverContext.start()"):r.vizbeeCustomChannel="urn:x-cast:tv.vizbee.sync",m(e,"initAppOnPlatform",this)([t,n,i,r]),r.mediaManagerProcessorType||(r.mediaManagerProcessorType="default"),Xo.createProcessor(r.mediaManagerProcessorType).setup(this,o.getPlayerManager())}catch(e){VizbeeSDK.logger.error("ChromecastCAFAPIWrapper::initAppOnPlatform - Failed to initialize the SDK")}}},{key:"setAdAdapterType",value:function(e){e&&(VZB.setAdType(e),VizbeeTV&&VizbeeTV.tv&&VizbeeTV.tv.player&&this.setAdsVideo(VizbeeTV.tv.player))}},{key:"setVideoElement",value:function(e){return!!e&&(this.platformConfig&&(this.platformConfig.videoElement=e),!0)}}])}(),ts=function(){function e(){return a(this,e),r(this,e,arguments)}return h(e,Wo),s(e,[{key:"initAppOnPlatform",value:function(t,n,i,r){m(e,"initAppOnPlatform",this)([t,n,i,r]),r.standalone||r.videoElement||VizbeeSDK.logger.error("Incorrect API usage: VideoElement is a required property in initAppOnPlatform method for Samsung Tizen")}},{key:"wrapAVPlayerListener",value:function(e){return VizbeeTV.tv.player.wrapAVPlayerListener(e)}},{key:"setAdAdapterType",value:function(e){VZB.setAdType(e),this.setAdsVideo(this.platformConfig.videoElement)}},{key:"setVideoGuid",value:function(e,t){VZB.setVideoGuid(e,t)}},{key:"setVideoInfo",value:function(e){VZB.setVideoInfo(e),this.setVideoGuid(e.id||e.videourl,e.islive)}},{key:"setAdsVideo",value:function(e){VZB.setAdsVideo(e)}}])}(),ns={chromecast:window.cast&&cast.framework?es:$o,tizen:ts},is=function(){function e(){return a(this,e),r(this,e,arguments)}return h(e,Wo),s(e,[{key:"VERSION",get:function(){return window.VZB?window.VZB.VERSION:""}},{key:"init",value:function(e,t,n,i){var r=this;bt.detectPlatformWhenReady(function(a){a?r.initAppOnPlatform(e,t,a,n,t.mediaManagerAdapter,i):VizbeeSDK.logger.error("PROD","VirtualAPIWrapper::init - platform not detected; aborting SDK init")})}},{key:"initAppOnPlatform",value:function(e,t,n,i,r,a){n=n.toLowerCase(),ns[n]&&!t.vgaAdapter?(this._apiWrapper=new ns[n],this._apiWrapper.setOptions(a),this._apiWrapper.initAppOnPlatform(e,t,n,i,r)):(this._apiWrapper=new Wo,this._apiWrapper.setOptions(a),this._apiWrapper.initAppOnPlatform(e,t,n,i))}},{key:"setVideoGuid",value:function(e,t){if(this._isAPIWrapperInitialized())return this._apiWrapper.setVideoGuid(e,t),!0}},{key:"setVideoInfo",value:function(e){if(this._isAPIWrapperInitialized())return this._apiWrapper.setVideoInfo(e),!0}},{key:"setVideoStop",value:function(){if(this._isAPIWrapperInitialized())return this._apiWrapper.setVideoStop(),!0}},{key:"getAdsManager",value:function(){if(this._isAPIWrapperInitialized())return this._apiWrapper.getAdsManager()}},{key:"setAdsVideo",value:function(e){if(this._isAPIWrapperInitialized())return this._apiWrapper.setAdsVideo(e),!0}},{key:"setVideoElement",value:function(e){if(this._isAPIWrapperInitialized())return this._apiWrapper.setVideoElement(e)}},{key:"setAdAdapterType",value:function(e){if(this._isAPIWrapperInitialized())return this._apiWrapper.setAdAdapterType(e),!0}},{key:"wrapAVPlayerListener",value:function(e){if(this._isAPIWrapperInitialized())return this._apiWrapper.wrapAVPlayerListener(e)}},{key:"_isAPIWrapperInitialized",value:function(){return null!=this._apiWrapper}}])}(),rs=void 0,as=function(){function e(){a(this,e),this.virtualAPIWrapper=Xs,this.vzbOptions={}}return s(e,[{key:"startWithOptions",value:function(e,t){this.vzbOptions=t||{},this.start(e)}},{key:"start",value:function(e){this.isValidAppId(e)&&this.virtualAPIWrapper.init(e,{},{},this.vzbOptions)}},{key:"isValidAppId",value:function(e){if("string"!=typeof e)return!1;var t=new RegExp("^vzb[0-9]+$"),n=new RegExp("^vzb(-[A-Za-z]+)+-[0-9]+$");return t.test(e)||n.test(e)}}],[{key:"getInstance",value:function(){return null==rs&&(rs=new e),rs}}])}(),os=function(){return s(function e(){a(this,e),this._configServiceProxyHost=void 0,this._customAttributesForMetrics=void 0},[{key:"configServiceProxyHost",get:function(){return this._configServiceProxyHost},set:function(e){this._configServiceProxyHost=e}},{key:"customAttributesForMetrics",get:function(){return this._customAttributesForMetrics},set:function(e){this._customAttributesForMetrics=e}}])}(),ss=function(){return s(function e(){a(this,e)},[{key:"ContinuityContext",get:function(){return as}},{key:"ContinuityOptions",get:function(){return os}}])}(),us=function(){return s(function e(){a(this,e),this.deeplinkHandler=void 0,this.vizbeeEventHandler=void 0,this.vizbeeSigninEventHandler=void 0},[{key:"setSignInHandler",value:function(e){"function"==typeof e?this.vizbeeSigninEventHandler=e:vizbee.logger.warn(this.constructor.name+"::setSignInHandler - NO SIGNIN Handler implemented by HostApp")}},{key:"setDeeplinkHandler",value:function(e){"function"==typeof e?this.deeplinkHandler=e:vizbee.logger.warn(this.constructor.name+"::setDeeplinkHandler - NO DEEPLINK Handler implemented by HostApp")}},{key:"setVizbeeEventHandler",value:function(e){"function"==typeof e?this.vizbeeEventHandler=e:vizbee.logger.warn(this.constructor.name+"::setVizbeeEventHandler - NO Event Handler implemented by HostApp")}},{key:"setVizbeeSigninEventHandler",value:function(e){"function"==typeof e?this.vizbeeSigninEventHandler=e:vizbee.logger.warn(this.constructor.name+"::setVizbeeSigninEventHandler - NO Event Handler implemented by HostApp")}}])}(),cs=function(){return s(function e(){a(this,e)},null,[{key:"AD_POD_WAITING",get:function(){return"awaiting-ad-pod"}},{key:"AD_POD_START",get:function(){return"ad-pod-start"}},{key:"AD_PREPARING",get:function(){return"ad-preparing"}},{key:"AD_START",get:function(){return"ad-start"}},{key:"AD_PLAYING",get:function(){return"ad-playing"}},{key:"AD_PAUSED",get:function(){return"ad-paused"}},{key:"AD_END",get:function(){return"ad-end"}},{key:"AD_POD_END",get:function(){return"ad-pod-end"}},{key:"AD_ERROR",get:function(){return"ad-error"}}])}(),ls=function(){return s(function e(t,n){a(this,e),this._eventType=t,this._eventData=n},[{key:"eventType",get:function(){return this._eventType},set:function(e){this._eventType=e}},{key:"eventData",get:function(){return this._eventData},set:function(e){this._eventData=e}}])}(),ds=function(){return s(function e(t,n){a(this,e),this.adType=t,this.playerElement=n,this.vtvPlayerEvent=new Te},[{key:"updateAdStatus",value:function(e){this._isValidAdStatus(e)?this._handleAdStatus(e):vizbee.logger.verbose("AdAdapter::updateAdStatus - invalid ad status")}},{key:"_isValidAdStatus",value:function(e){return e instanceof ls?-1!=[cs.AD_POD_WAITING,cs.AD_PREPARING,cs.AD_POD_START,cs.AD_POD_END,cs.AD_START,cs.AD_PLAYING,cs.AD_PAUSED,cs.AD_END,cs.AD_ERROR].indexOf(e.eventType)||(vizbee.logger.warn("AdAdapter::_isValidAdStatus - adStatus event type is invalid: ".concat(e.eventType)),!1):(vizbee.logger.warn("AdAdapter::_isValidAdStatus - adStatus is not an instance of vizbee.continuity.messages.AdStatus"),!1)}},{key:"_handleAdStatus",value:function(e){e?(vizbee.logger.verbose("AdAdapter::_handleAdStatus - eventType: ".concat(e.eventType)),this.vtvPlayerEvent.type=e.eventType,this.vtvPlayerEvent.data=e.eventData||{},VizbeeTV.tv.player.dispatchOnEvent(this.vtvPlayerEvent)):vizbee.logger.warn("AdAdapter::_handleAdStatus - invalid ad status")}}])}(),fs=function(){return s(function e(t,n){a(this,e),this.playerType=t,this.playerElement=n,this.playHandler=void 0,this.pauseHandler=void 0,this.seekHandler=void 0,this.stopHandler=void 0,this.videoInfoGetter=void 0,this.tracksGetHandler=void 0,this.enabledTracksGetHandler=void 0,this.enableTracksHandler=void 0,this.disableTracksHandler=void 0,this.vizbeeEventHandler=void 0},[{key:"setPlayerType",value:function(e){e&&(this.playerType=e)}},{key:"setPlayerElement",value:function(e){e&&(this.playerElement=e)}},{key:"updateVideoInfo",value:function(e){window.vizbee&&vizbee.continuity.ContinuityContext.getInstance().setVideoInfo(e)}},{key:"setVideoInfoGetter",value:function(e){"function"==typeof e&&(this.videoInfoGetter=e)}},{key:"getVideoInfo",value:function(){if(this.videoInfoGetter)return this.videoInfoGetter()}},{key:"setPlayHandler",value:function(e){"function"==typeof e&&(this.playHandler=e)}},{key:"setPauseHandler",value:function(e){"function"==typeof e&&(this.pauseHandler=e)}},{key:"setSeekHandler",value:function(e){"function"==typeof e&&(this.seekHandler=e)}},{key:"setStopHandler",value:function(e){"function"==typeof e&&(this.stopHandler=e)}},{key:"getTracksHandler",value:function(e){"function"==typeof e&&(this.tracksGetHandler=e)}},{key:"getEnabledTracksHandler",value:function(e){"function"==typeof e&&(this.enabledTracksGetHandler=e)}},{key:"setAvailableTracksGetter",value:function(e){"function"==typeof e&&(this.tracksGetHandler=e)}},{key:"setEnabledTracksGetter",value:function(e){"function"==typeof e&&(this.enabledTracksGetHandler=e)}},{key:"setEnableTracksHandler",value:function(e){"function"==typeof e&&(this.enableTracksHandler=e)}},{key:"setDisableTracksHandler",value:function(e){"function"==typeof e&&(this.disableTracksHandler=e)}},{key:"setVizbeeEventHandler",value:function(e){"function"==typeof e&&(this.vizbeeEventHandler=e)}}])}(),hs=function(){return s(function e(){a(this,e)},null,[{key:"UNKNOWN",get:function(){return"unknown"}},{key:"HTML",get:function(){return"html"}},{key:"AVPLAYER",get:function(){return"avplayer"}},{key:"BITMOVIN",get:function(){return"bitmovin"}},{key:"VIDEOJS",get:function(){return"videojs"}},{key:"THEO",get:function(){return"theo"}},{key:"SHAKA",get:function(){return"shaka"}}])}(),ps=function(){return s(function e(){a(this,e)},null,[{key:"UNKNOWN",get:function(){return"unknown"}},{key:"SSAI",get:function(){return"ssai"}},{key:"CSAI",get:function(){return"csai"}}])}(),gs=function(){return s(function e(){a(this,e),this._guid="",this._isLive=!1,this._startTime=0,this._videoUrl="",this._deeplink="",this._imgUrl="",this._title="",this._subtitle="",this._desc="",this._tracks=[],this._cuepoints=[],this._customStreamInfo=void 0,this._customMetadata=void 0},[{key:"toJson",value:function(){var e={};return e.id=this._guid,e.islive=this._isLive,e.starttime=this._startTime,e.videourl=this._videoUrl,e.deeplink=this._deeplink,e.imgurl=this._imgUrl,e.title=this._title,e.subtitle=this._subtitle,e.desc=this._desc,e.tracks=this._tracks,e.cuepoints=this._cuepoints,e.customstreaminfo=this._customStreamInfo,e.custommetadata=this._customMetadata,e}},{key:"fromJson",value:function(e){e?(this._guid=e.id,this._isLive=e.islive,this._startTime=e.starttime,this._videoUrl=e.videourl,this._deeplink=void 0!==e.deeplink&&null!==e.deeplink?e.deeplink:"",this._imgUrl=e.imgurl,this._title=e.title,this._subtitle=e.subtitle,this._desc=e.desc,this._tracks=e.tracks,this._cuepoints=e.cuepoints,this._customStreamInfo=e.customstreaminfo,this._customMetadata=e.custommetadata):vizbee.logger.debug(this.constructor.name+"::toJson - invalid syncVideoInfo")}},{key:"isLive",get:function(){return this._isLive},set:function(e){this._isLive=e}},{key:"guid",get:function(){return this._guid},set:function(e){this._guid=e}},{key:"videoUrl",get:function(){return this._videoUrl},set:function(e){this._videoUrl=e}},{key:"deeplink",get:function(){return this._deeplink},set:function(e){this._deeplink=e}},{key:"imgUrl",get:function(){return this._imgUrl},set:function(e){this._imgUrl=e}},{key:"title",get:function(){return this._title},set:function(e){this._title=e}},{key:"subtitle",get:function(){return this._subtitle},set:function(e){this._subtitle=e}},{key:"desc",get:function(){return this._desc},set:function(e){this._desc=e}},{key:"startTime",get:function(){return this._startTime},set:function(e){this._startTime=e}},{key:"tracks",get:function(){return this._tracks},set:function(e){this._tracks=e}},{key:"cuepoints",get:function(){return this._cuepoints},set:function(e){this._cuepoints=e}},{key:"customStreamInfo",get:function(){return this._customStreamInfo},set:function(e){this._customStreamInfo=e}},{key:"customMetadata",get:function(){return this._customMetadata},set:function(e){this._customMetadata=e}}])}(),vs=function(){return s(function e(){a(this,e)},null,[{key:"IDLE",get:function(){return"idle"}},{key:"PREPARING",get:function(){return"preparing"}},{key:"LOADING",get:function(){return"loading"}},{key:"STARTED",get:function(){return"started"}},{key:"PLAYING",get:function(){return"playing"}},{key:"PAUSED",get:function(){return"paused"}},{key:"BUFFERING",get:function(){return"buffering"}},{key:"INTERRUPTED",get:function(){return"interrupted"}},{key:"ENDED",get:function(){return"ended"}},{key:"ERROR",get:function(){return"error"}}])}(),ys=function(){return s(function e(){a(this,e),this._guid="",this._state=vs.IDLE,this._currentPosition=-1,this._duration=-1,this._isLive=!1,this._isDvrSupported=!1,this._title="",this._subtitle="",this._videoUrl="",this._imgUrl=""},[{key:"guid",get:function(){return this._guid},set:function(e){this._guid=e}},{key:"state",get:function(){return this._state},set:function(e){this._state=e}},{key:"currentPosition",get:function(){return this._currentPosition},set:function(e){this._currentPosition=e}},{key:"duration",get:function(){return this._duration},set:function(e){this._duration=e}},{key:"isLive",get:function(){return this._isLive},set:function(e){this._isLive=e}},{key:"isDvrSupported",get:function(){return this._isDvrSupported},set:function(e){this._isDvrSupported=e}},{key:"title",get:function(){return this._title},set:function(e){this._title=e}},{key:"subtitle",get:function(){return this._subtitle},set:function(e){this._subtitle=e}},{key:"videoUrl",get:function(){return this._videoUrl},set:function(e){this._videoUrl=e}},{key:"imgUrl",get:function(){return this._imgUrl},set:function(e){this._imgUrl=e}}])}(),ms=function(){return s(function e(){a(this,e),this._type="",this._data=void 0},[{key:"type",get:function(){return this._type},set:function(e){this._type=e}},{key:"data",get:function(){return this._data},set:function(e){this._data=e}}])}(),bs=void 0,Ss=function(){function e(){var t;return a(this,e),(t=r(this,e)).appAdapter=new us,t.playerAdapter=void 0,t.adAdapter=void 0,t.adType=void 0,t}return h(e,as),s(e,[{key:"getAppAdapter",value:function(){return this.appAdapter}},{key:"setAppAdapter",value:function(e){e instanceof us&&(this.appAdapter=e)}},{key:"getPlayerAdapter",value:function(){return this.playerAdapter}},{key:"setPlayerAdapter",value:function(e){if(!this._isPlatformPlayerInitialized())return vizbee.logger.w("DefaultContinuityContext::setPlayerAdapter - Vizbee platform player not initialized"),!1;if(!this._isValidPlayerAdapter(e))return vizbee.logger.w("DefaultContinuityContext::setPlayerAdapter - playerAdapter should be valid and of type vizbee.continuity.adapters.PlayerAdapter"),!1;this.playerAdapter=e;var t=this._buildPlatformConfig(e);return VizbeeTV.tv.player.reconstruct(t),this._setAdAdapter(),!0}},{key:"removePlayerAdapter",value:function(e){return this._isPlatformPlayerInitialized()?(this.stopVideo(),this.playerAdapter=void 0,!0):(vizbee.logger.w(this.constructor.name,"resetPlayerAdapter","Vizbee platform player not initialized"),!1)}},{key:"setPlayerAdapterWithVideoInfo",value:function(e,t){return!!this.setPlayerAdapter(e)&&this.setVideoInfo(t)}},{key:"setVideoInfo",value:function(e){return!!this._isValidVideoInfo(e)&&this.virtualAPIWrapper.setVideoInfo(e.toJson())}},{key:"getVideoInfo",value:function(){if(this.playerAdapter&&this.playerAdapter.getVideoInfo){var e=this.playerAdapter.getVideoInfo();if(e instanceof ys)return e}}},{key:"getAdAdapter",value:function(e){return this.adAdapter}},{key:"setAdAdapter",value:function(e){return e instanceof ds?this._isValidAdType(e.adType)?(this.adAdapter=e,this.setAdType(ps.CSAI),void this._setAdAdapter()):(vizbee.logger.w("DefaultContinuityContext::setAdAdapter - adAdapter.adType is INVALID"),!1):(vizbee.logger.w("DefaultContinuityContext::setAdAdapter - AdAdapter should be of type vizbee.continuity.adapters.AdAdapter"),!1)}},{key:"removeAdAdapter",value:function(e){this.adAdapter=void 0}},{key:"setAdType",value:function(e){this._isValidAdType(e)&&(this.adType=e,this._setAdAdapter())}},{key:"start",value:function(e){var t=this;if(this.isValidAppId(e)){var n={};n.appAdapter={startVideo:function(e){if(t.appAdapter&&t.appAdapter.deeplinkHandler){var n=new gs;n.fromJson(e),t.appAdapter.deeplinkHandler(n)}else vizbee.logger.w(t.constructor.name,"startVideo","NO DEEPLINK HANDLER")},onEvent:function(e){if(t.appAdapter&&t.appAdapter.vizbeeSigninEventHandler&&e&&"tv.vizbee.homesign.signin"===e.type){var n=new ms;n.type=e.type,n.data=e.data,t.appAdapter.vizbeeSigninEventHandler(n)}if(t.appAdapter&&t.appAdapter.vizbeeEventHandler&&e){var i=new ms;i.type=e.type,i.data=e.data,t.appAdapter.vizbeeEventHandler(i)}if(t.playerAdapter&&t.playerAdapter.vizbeeEventHandler&&e){var r=new ms;r.type=e.type,r.data=e.data,t.playerAdapter.vizbeeEventHandler(r)}},playVideo:function(){return!(!t.playerAdapter||!t.playerAdapter.playHandler||(t.playerAdapter.playHandler(),0))},pauseVideo:function(){return!(!t.playerAdapter||!t.playerAdapter.pauseHandler||(t.playerAdapter.pauseHandler(),0))},seekVideo:function(e){return!(!t.playerAdapter||!t.playerAdapter.seekHandler||(t.playerAdapter.seekHandler(e),0))},stopVideo:function(e){return!(!t.playerAdapter||!t.playerAdapter.stopHandler||(t.playerAdapter.stopHandler(e),0))},getTracks:function(){return!(!t.playerAdapter||!t.playerAdapter.tracksGetHandler)&&t.playerAdapter.tracksGetHandler()},getEnabledTracks:function(){return!(!t.playerAdapter||!t.playerAdapter.enabledTracksGetHandler)&&t.playerAdapter.enabledTracksGetHandler()},enableTracks:function(e){return!(!t.playerAdapter||!t.playerAdapter.enableTracksHandler||(t.playerAdapter.enableTracksHandler(e),0))},disableTracks:function(e){return!(!t.playerAdapter||!t.playerAdapter.disableTracksHandler||(t.playerAdapter.disableTracksHandler(e),0))},getVideoInfo:function(){if(t.playerAdapter&&t.playerAdapter.getVideoInfo){var e=t.playerAdapter.getVideoInfo();if(e instanceof ys){var n={};return e.guid&&(n.id=e.guid),e.videoUrl&&(n.videourl=e.videoUrl),!1!==e.isLive&&(n.islive=e.isLive),!1!==e.isDvrSupported&&(n.isdvrsupported=e.isDvrSupported),e.title&&(n.title=e.title),e.subtitle&&(n.subtitle=e.subtitle),e.imgUrl&&(n.imgurl=e.imgUrl),e.state&&"idle"!==e.state&&(n.state=t._mapPlayerStateToSyncState(e.state)),e.currentPosition>=0&&(n.position=e.currentPosition),e.duration>=0&&(n.duration=e.duration),n}}}},this.virtualAPIWrapper.init(e,n,{},this.vzbOptions)}}},{key:"stopVideo",value:function(){vizbee.logger.d(this.constructor.name,"stopVideo"),this.virtualAPIWrapper&&this.virtualAPIWrapper.setVideoStop&&(vizbee.logger.d(this.constructor.name,"stopVideo","calling setVideoStop"),this.virtualAPIWrapper.setVideoStop())}},{key:"_buildPlatformConfig",value:function(e){var t={standalone:!0,videoElement:e.playerElement,vtvPlayerListConfig:[{type:"native"}]};return e.playerType==hs.BITMOVIN&&(t.vtvPlayerListConfig=[{type:"bitmovin"}]),e.playerType==hs.VIDEOJS&&(t.vtvPlayerListConfig=[{type:"videojs"}]),e.playerType==hs.THEO&&(t.vtvPlayerListConfig=[{type:"theo"}]),e.playerType==hs.SHAKA&&(t.vtvPlayerListConfig=[{type:"shaka"}]),t}},{key:"_isValidVideoInfo",value:function(e){return e instanceof gs||(vizbee.logger.w(this.constructor.name,"_isValidVideoInfo","videoInfo should be of type vizbee.continuity.messages.VideoInfo"),!1)}},{key:"_isValidPlayerAdapter",value:function(e){return e instanceof fs?!(e&&!e.playerElement&&(vizbee.logger.d(this.constructor.name,"_isValidPlayerAdapter","playerAdapter should contain playerElement"),1)):(vizbee.logger.d(this.constructor.name,"_isValidPlayerAdapter","playerAdapter should be of type vizbee.continuity.adapters.PlayerAdapter"),!1)}},{key:"_isPlatformInitialized",value:function(){return VizbeeTV&&VizbeeTV.tv}},{key:"_isPlatformPlayerInitialized",value:function(){return this._isPlatformInitialized()&&VizbeeTV.tv.player}},{key:"_isValidAdType",value:function(e){return e?e==ps.SSAI||e==ps.CSAI||(vizbee.logger.w("DefaultContinuityContext::_isValidAdType - adType is invalid: ".concat(e)),!1):(vizbee.logger.w("DefaultContinuityContext::_isValidAdType - adType is undefined"),!1)}},{key:"_mapPlayerStateToSyncState",value:function(e){return{idle:"UNKNOWN",preparing:"UNKNOWN",loading:"BUFFERING",started:"PLAYING",playing:"PLAYING",paused:"PAUSED",buffering:"BUFFERING",interrupted:"INTERRUPTED",ended:"FINISHED",error:"FAILED"}[e]||e}},{key:"_getAdAdapterType",value:function(e){if(e&&e.playerType)return this.adType==ps.CSAI?"vzb_ad_default":this.adType==ps.SSAI?e.playerType==hs.AVPLAYER?"vzb_ad_ssai_avplay":"vzb_ad_default":void 0;vizbee.logger.w(this.constructor.name,"_getAdAdapterType","INVALID playerAdapter")}},{key:"_setAdAdapter",value:function(){var e=this._getAdAdapterType(this.playerAdapter);e&&this.virtualAPIWrapper&&VizbeeTV&&VizbeeTV.tv&&VizbeeTV.tv.player&&(this.virtualAPIWrapper.setAdAdapterType(e),this.virtualAPIWrapper.setAdsVideo(VizbeeTV.tv.player))}}],[{key:"getInstance",value:function(){return null==bs&&(bs=new e,vizbee.logger.d(this.constructor.name,"getInstance","created")),bs}}])}(),_s=function(){return s(function e(){a(this,e),this.playHandler=void 0,this.pauseHandler=void 0,this.seekHandler=void 0,this.stopHandler=void 0,this.videoInfoGetter=void 0,this.enableTracksHandler=void 0,this.disableTracksHandler=void 0,this.availableTracksGetter=void 0,this.enabledTracksGetter=void 0,this.vizbeeEventHandler=void 0},[{key:"updateVideoInfo",value:function(e){window.vizbee&&vizbee.continuity.ContinuityContext.getInstance().setVideoInfo(e)}},{key:"setVideoInfoGetter",value:function(e){"function"==typeof e&&(this.videoInfoGetter=e)}},{key:"getVideoInfo",value:function(){if(this.videoInfoGetter)return this.videoInfoGetter()}},{key:"updateVideoStatus",value:function(e){}},{key:"setPlayHandler",value:function(e){"function"==typeof e&&(this.playHandler=e)}},{key:"setPauseHandler",value:function(e){"function"==typeof e&&(this.pauseHandler=e)}},{key:"setSeekHandler",value:function(e){"function"==typeof e&&(this.seekHandler=e)}},{key:"setStopHandler",value:function(e){"function"==typeof e&&(this.stopHandler=e)}},{key:"setAvailableTracksGetter",value:function(e){"function"==typeof e&&(this.availableTracksGetter=e)}},{key:"setEnabledTracksGetter",value:function(e){"function"==typeof e&&(this.enabledTracksGetter=e)}},{key:"setEnableTracksHandler",value:function(e){"function"==typeof e&&(this.enableTracksHandler=e)}},{key:"setDisableTracksHandler",value:function(e){"function"==typeof e&&(this.disableTracksHandler=e)}},{key:"setVizbeeEventHandler",value:function(e){"function"==typeof e&&(this.vizbeeEventHandler=e)}}])}(),ks=function(){function e(t){var n;if(a(this,e),!(t instanceof Ue))throw new TypeError("BasePlayerExtension::constructor() - playerToExtend must be instance of BasePlayerExtensible.");return(n=r(this,e,[t.platform])).extendedPlayer=t,n.parentExtension=null,n.isExtendedPlayerBasePlayer()||(n.extendedPlayer.parentExtension=n),n.registerEvents(n.extendedPlayer,n),VizbeeTV.logger.debug(n.constructor.name+"::constructed"),n}return h(e,Ue),s(e,[{key:"registerEvents",value:function(e,t){var n=this;e&&t?(e.onLoading=function(e){n.onLoadingHandler.call(t,e)},e.onStarted=function(e){n.onStartedHandler.call(t,e)},e.onPlaying=function(e){n.onPlayingHandler.call(t,e)},e.onPaused=function(e){n.onPausedHandler.call(t,e)},e.onBuffering=function(e){n.onBufferingHandler.call(t,e)},e.onBufferingComplete=function(e){n.onBufferingCompleteHandler.call(t,e)},e.onTimeUpdate=function(e){n.onTimeUpdateHandler.call(t,e)},e.onInterrupted=function(e){n.onInterruptedHandler.call(t,e)},e.onEnded=function(e){n.onEndedHandler.call(t,e)},e.onError=function(e){n.onErrorHandler.call(t,e)},e.onEvent=function(e){n.onEventHandler.call(t,e)}):VizbeeTV.logger.error(this.constructor.name+"::registerEvents - MISSING playerToExtend/currentPlayer")}},{key:"reconstruct",value:function(e){this.extendedPlayer.reconstruct(e)}},{key:"beforeStart",value:function(t){m(e,"start",this)([t])}},{key:"start",value:function(e){this.beforeStart(e),this.extendedPlayer.start(e)}},{key:"play",value:function(){this.extendedPlayer.play()}},{key:"pause",value:function(){this.extendedPlayer.pause()}},{key:"togglePlayPause",value:function(){VizbeeTV.logger.debug("BasePlayerExtension::togglePlayPause() -- called"),this.extendedPlayer.togglePlayPause()}},{key:"stop",value:function(e){this.extendedPlayer.stop(e)}},{key:"seek",value:function(e){this.extendedPlayer.seek(e)}},{key:"currentTime",value:function(){return this.extendedPlayer.currentTime()}},{key:"getDuration",value:function(){return this.extendedPlayer.getDuration()}},{key:"getStartTime",value:function(){return this.extendedPlayer.getStartTime()}},{key:"getBufferLevel",value:function(){return this.extendedPlayer.getBufferLevel()}},{key:"getAudioBufferLevel",value:function(){return this.extendedPlayer.getAudioBufferLevel()}},{key:"getCurrentState",value:function(){return this.extendedPlayer.getCurrentState()}},{key:"getCurrentVersion",value:function(){return this.extendedPlayer.getCurrentVersion()}},{key:"getTracks",value:function(e){return this.extendedPlayer.getTracks(e)}},{key:"getEnabledTracks",value:function(e){return this.extendedPlayer.getEnabledTracks(e)}},{key:"setTracks",value:function(e){return this.extendedPlayer.setTracks(e)}},{key:"enableTracks",value:function(e){this.extendedPlayer.enableTracks(e)}},{key:"disableTracks",value:function(e){this.extendedPlayer.disableTracks(e)}},{key:"changeAudioTrack",value:function(e){this.extendedPlayer.changeAudioTrack(e)}},{key:"doAction",value:function(e){return this.extendedPlayer.doAction(e)}},{key:"getName",value:function(){return this.extendedPlayer.getName()}},{key:"destroy",value:function(){this.resetListeners(),this.extendedPlayer.destroy()}},{key:"getStreamQualityInfo",value:function(){return this.extendedPlayer?this.extendedPlayer.getStreamQualityInfo():{}}},{key:"setStreamQualityInfo",value:function(e){this.extendedPlayer&&this.extendedPlayer.setStreamQualityInfo(e)}},{key:"resetStreamQualityInfo",value:function(){this.extendedPlayer&&this.extendedPlayer.resetStreamQualityInfo()}},{key:"basePlayer",get:function(){return this.isExtendedPlayerBasePlayer()?this.extendedPlayer.currentPlayer:this.extendedPlayer instanceof e?this.extendedPlayer.basePlayer:void 0}},{key:"isExtendedPlayerBasePlayer",value:function(){return this.extendedPlayer instanceof Ue&&!(this.extendedPlayer instanceof e)}},{key:"parentPlayer",get:function(){return this.parentExtension}},{key:"onLoadingHandler",value:function(e){this.dispatchOnLoading.call(this,e)}},{key:"onStartedHandler",value:function(e){this.dispatchOnStarted.call(this,e)}},{key:"onPlayingHandler",value:function(e){this.dispatchOnPlaying.call(this,e)}},{key:"onPausedHandler",value:function(e){this.dispatchOnPaused.call(this,e)}},{key:"onBufferingHandler",value:function(e){this.dispatchOnBuffering.call(this,e)}},{key:"onBufferingCompleteHandler",value:function(e){this.dispatchOnBufferingComplete.call(this,e)}},{key:"onTimeUpdateHandler",value:function(e){this.dispatchOnTimeUpdate.call(this,e)}},{key:"onInterruptedHandler",value:function(e){this.dispatchOnInterrupted.call(this,e)}},{key:"onEndedHandler",value:function(e){this.dispatchOnEnded.call(this,e)}},{key:"onErrorHandler",value:function(e){this.dispatchOnError.call(this,e)}},{key:"onEventHandler",value:function(e){this.dispatchOnEvent.call(this,e)}}])}(),Ts=function(){function e(){return a(this,e),r(this,e,[hs.AVPLAYER,webapis.avplay])}return h(e,fs),s(e,[{key:"setPlayerType",value:function(e){}},{key:"setPlayerElement",value:function(e){}},{key:"wrapListener",value:function(e){var t=this._getVTVAVPlayer();return null==t?(vizbee.logger.warn(this.constructor.name+"::wrapListener - can't get AVPlayer"),e):t.wrapAVPlayerListener(e)}},{key:"getListener",value:function(){var e=this._getVTVAVPlayer();if(null!=e)return e.getListener();vizbee.logger.warn(this.constructor.name+"::getListener - can't get AVPlayer")}},{key:"_getVTVAVPlayer",value:function(){var e;if(this.playerElement)if(VizbeeTV&&VizbeeTV.tv&&VizbeeTV.tv.player){var t;if(e=VizbeeTV.tv.player,Object.getPrototypeOf(e.constructor).name===ks.name?t=e.basePlayer:Object.getPrototypeOf(e.constructor).name===Ue.name&&(t=e.currentPlayer),t&&"avplayer"==t.getName().toLowerCase())return t;vizbee.logger.warn(this.constructor.name+"::_getVTVAVPlayer - can't get AVPlayer")}else vizbee.logger.warn(this.constructor.name+"::_getVTVAVPlayer - can't get platform player")}}])}(),Is=function(){return s(function e(){a(this,e)},null,[{key:"STOP_REASON_UNKNOWN",get:function(){return"stop_reason_unknown"}},{key:"STOP_BY_USER",get:function(){return"stop_by_user"}},{key:"STOP_IMPLICIT",get:function(){return"stop_implicit"}},{key:"STOP_REASON_BEFORE_NEXT_VIDEO",get:function(){return"stop_reason_before_next_video"}}])}(),Vs=function(){return s(function e(){a(this,e)},[{key:"wasAppLaunchedByVizbee",value:function(){return!!VizbeeTV.tv.launchParamsDeferral&&VizbeeTV.tv.launchParamsDeferral.isLaunchedbyVizbee()}},{key:"wasVideoStartedByVizbee",value:function(){return VZB.wasVideoStartedByVizbee()}},{key:"addProvider",value:function(e,t){var n=VZB.getMetricsManager();n&&n.addProvider(e,t)}},{key:"removeProvider",value:function(e){var t=VZB.getMetricsManager();t&&t.removeProvider(e)}},{key:"logMetrics",value:function(e,t){var n=VZB.getMetricsManager();n&&n.trackEvent(e,t)}},{key:"setCustomAttributes",value:function(e){var t=VZB.getMetricsManager();t&&t.setCustomProperties(e)}}])}(),Es=function(){return s(function e(){a(this,e),this._type="",this._id=-1},[{key:"toJSON",value:function(){return{type:this._type,id:this._id}}},{key:"fromJSON",value:function(e){e&&e.type&&!isNaN(e.id)?(this._type=e.type,this._id=e.id):VizbeeSDK.logger.verbose("Track::fromJSON - invalid trackInfo")}},{key:"type",get:function(){return this._type},set:function(e){this._type=e}},{key:"id",get:function(){return this._id},set:function(e){this._id=e}}])}(),Ps=function(){function e(){var t;return a(this,e),(t=r(this,e)).type=C,t.subtype="",t._lang="",t}return h(e,Es),s(e,[{key:"toJSON",value:function(){var t=m(e,"toJSON",this)([]);return t.lang=this._lang,t.subtype=this._subtype,t}},{key:"fromJSON",value:function(t){t?(t.type=t.type||this.type,m(e,"fromJSON",this)([t]),this._lang=t.lang,this._subtype=t.subtype):VizbeeSDK.logger.verbose("SubtitleTrack::fromJSON - invalid trackInfo")}},{key:"lang",get:function(){return this._lang},set:function(e){this._lang=e}},{key:"subtype",get:function(){return this._subtype},set:function(e){this._subtype=e}}])}(),As=function(){return s(function e(){a(this,e),this.state={message:"This is vizbee snackbar!",theme:{color:"#FFFFFF",bgColor:"#7F98DE"},layout:{position:""},border:{color:"#FFFFFF"},font:{uri:"",family:"",size:24,weight:""},icon:{uri:"https://static.claspws.tv/screen/icons/common/user_icon_white.png"}},this.uiContainer=document.getElementsByTagName("body")[0],this.uiContainer&&(this._setupCSS(),this.render(this.uiContainer),this.isCurrentAnimationShowingUI=void 0)},[{key:"render",value:function(e){this.nodes||e&&(this.nodes={},this.nodes.popupMessageWithIconOverlay=document.createElement("div"),this.nodes.popupMessageWithIconOverlay.id="vizbeeSnackbarOverlay",this.nodes.popupMessageWithIconOverlay.className="opaqueBackground hidden",this.nodes.popupMessageWithIconContainer=document.createElement("div"),this.nodes.popupMessageWithIconContainer.id="popupTimedoutMessageWithIconUIContainer",this.nodes.popupMessageWithIconContainer.className="popupTimedoutMessageWithIconUIContainer",this.nodes.popupMessageWithIconContainer.style.color=this.state.theme.color,this.nodes.popupTimedoutIconEle=document.createElement("div"),this.nodes.popupTimedoutIconEle.id="popupTimedoutIconEle",this.nodes.popupTimedoutIconEle.className="popupTimedoutIconEle",this.nodes.popupTimedoutMessageEle=document.createElement("div"),this.nodes.popupTimedoutMessageEle.id="popupTimedoutMessageEle",this.nodes.popupTimedoutMessageEle.className="popupMessageEle",this.nodes.popupMessageWithIconContainer.appendChild(this.nodes.popupTimedoutIconEle),this.nodes.popupMessageWithIconContainer.appendChild(this.nodes.popupTimedoutMessageEle),this.nodes.popupMessageWithIconOverlay.appendChild(this.nodes.popupMessageWithIconContainer),e.appendChild(this.nodes.popupMessageWithIconOverlay),this._updateUI())}},{key:"setOptions",value:function(e){e&&(this.state.message=e.message||this.state.message,this.state.theme.color=e.theme.color||this.state.theme.color,this.state.theme.bgColor=e.theme.bgColor||this.state.theme.bgColor,this.state.layout.position=e.layout.position||this.state.layout.position,this.state.border.color=e.border.color||this.state.border.color,this.state.font.uri=e.font.uri||this.state.font.uri,this.state.font.family=e.font.family||this.state.font.family,this.state.font.size=this.screenRatio*(e.font.size||this.state.font.size),this.state.font.weight=e.font.weight||this.state.font.weight,this.state.icon.uri=e.icon.uri||this.state.icon.uri,this._updateUI(),this.show())}},{key:"show",value:function(){this.nodes&&this.nodes.popupMessageWithIconOverlay&&(this._showUIWithAnimation(),ae.removeClass("hidden",this.nodes.popupMessageWithIconOverlay))}},{key:"hide",value:function(){this.nodes&&this.nodes.popupMessageWithIconOverlay&&this.nodes.popupMessageWithIconContainer&&(ae.addClass("hidden",this.nodes.popupMessageWithIconOverlay),this.uiContainer&&this.uiContainer.contains(this.nodes.popupMessageWithIconOverlay)&&this.nodes.popupMessageWithIconOverlay.parentNode.removeChild(this.nodes.popupMessageWithIconOverlay))}},{key:"_updateUI",value:function(){if(this.nodes){var e=this.nodes.popupMessageWithIconContainer;if(e){e.style.color=this.state.theme.color,e.style.backgroundColor=this.state.theme.bgColor,null!=this.state.border.color&&(e.style.borderColor=this.state.border.color);var t=this.state.layout.position;if(t){delete e.style.top,delete e.style.right,delete e.style.bottom,delete e.style.left,e.style.position=t;var n=30*this.screenRatio+"px";t.indexOf("top")>-1?(e.style.top=n,t.indexOf("left")>-1?e.style.left=n:e.style.right=n):(e.style.bottom=n,t.indexOf("left")>-1?e.style.left=n:e.style.right=n)}}var i=this.nodes.popupTimedoutMessageEle;i&&(null!=this.state.font.uri&&(i.style.fontFamily=this.state.font.family),null!=this.state.font.size&&(i.style.fontSize=this.state.font.size+"px"),null!=this.state.font.weight&&(i.style.fontWeight=this.state.font.weight),null!=this.state.font.color&&(i.style.color=this.state.font.color),i.innerHTML=this.state.message);var r=this.nodes.popupTimedoutIconEle;r&&(this.state.icon.uri?(r.style.minWidth=36*this.screenRatio+"px",r.style.minHeight=36*this.screenRatio+"px",r.style.backgroundImage="url('"+this.state.icon.uri+"')",i&&(i.style.paddingLeft=12*this.screenRatio+"px")):(r.style.minWidth="0px",r.style.width="0px",i&&(i.style.paddingLeft="0px")))}}},{key:"_showUIWithAnimation",value:function(){this.isCurrentAnimationShowingUI=!0,$.get(this.state,["layout","position"],"").indexOf("top")>-1?this._showSlidingFromTopToBottom():this._showSlidingFromBottomToTop()}},{key:"_isAnimationSupported",value:function(e){return e&&"function"==typeof e.animate}},{key:"_showSlidingFromBottomToTop",value:function(){if(this.nodes&&this.nodes.popupMessageWithIconContainer)if(this._isAnimationSupported(this.nodes.popupMessageWithIconContainer)){var e=this.nodes.popupMessageWithIconContainer.offsetHeight+50,t=[{transform:"translateY("+e+"px)"},{transform:"translateY("+e/2+"px)"},{transform:"translateY(0px)"}];this.nodes.popupMessageWithIconContainer.animate(t,{duration:300,iterations:1})}else VizbeeTV.logger.i("PopupMessageWithIconView","_showSlidingFromBottomToTop","animation NOT supported!")}},{key:"_showSlidingFromTopToBottom",value:function(){if(this.nodes&&this.nodes.popupMessageWithIconContainer)if(this._isAnimationSupported(this.nodes.popupMessageWithIconContainer)){var e=this.nodes.popupMessageWithIconContainer.offsetHeight+50,t=[{transform:"translateY(-"+e+"px)"},{transform:"translateY(-"+e/2+"px)"},{transform:"translateY(0px)"}];this.nodes.popupMessageWithIconContainer.animate(t,{duration:300,iterations:1})}else VizbeeTV.logger.i("PopupMessageWithIconView","_showSlidingFromTopToBottom","animation NOT supported!")}},{key:"_setupCSS",value:function(){this.screenRatio=this._getScreenRatio();var e=this._processCSS(this.screenRatio,"\n #vizbeeSnackbarOverlay {\n position: absolute;\n top: 0px;\n left: 0px;\n width: $1280px;\n height: $720px;\n background: transparent !important;\n z-index: 9999;\n }\n\n #popupTimedoutMessageWithIconUIContainer {\n position: absolute;\n display: inline-flex;\n align-items: center;\n max-width: $420px;\n max-height: $80px;\n background: white;\n border-color: #FFFFFF;\n border: solid;\n border-width: $1px;\n border-radius: $45px;\n padding: $10px $24px;\n text-align: left !important;\n }\n\n #popupTimedoutIconEle {\n width: $36px;\n height: $36px;\n min-width: $36px;\n min-height: $36px;\n background-size: contain;\n background-repeat: no-repeat;\n }\n\n #popupTimedoutMessageEle {\n padding-left: $12px;\n }\n");this._appendToHEAD("vizbeeSnackbarCSS",e)}},{key:"_processCSS",value:function(e,t){if(t)return t.replace(/\$[0-9]+/gi,function(t){var n=t.split("$");return Math.ceil(e*n[1])})}},{key:"_getScreenRatio",value:function(){return document.body.clientWidth/1280}},{key:"_appendToHEAD",value:function(e,t){if(!this._isEmpty(e)&&!this._isEmpty(t)){var n=document.getElementById(e);if(!(null!==n&&n instanceof HTMLStyleElement)){var i=document.createElement("style");i.type="text/css",i.id=e,i.styleSheet?i.styleSheet.cssText=t:i.appendChild(document.createTextNode(t)),document.getElementsByTagName("head")[0].appendChild(i)}}}},{key:"_isEmpty",value:function(e){return void 0===e||0==e.length||null==e}}])}(),Cs=function(){return s(function e(t){a(this,e),this.uiConfig=t,this.popupMessageWithIconView=void 0},[{key:"show",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:8;this.hide(),this.uiConfig&&"function"==typeof this.uiConfig.toJSON?(this.popupMessageWithIconView=new As,this.popupMessageWithIconView.setOptions(this.uiConfig.toJSON()),-1!==t&&setTimeout(function(){e.popupMessageWithIconView.hide()},1e3*t)):VizbeeTV.logger.e("PopupMessageWithIconView","show","Invalid uiConfig")}},{key:"hide",value:function(){this.popupMessageWithIconView&&this.popupMessageWithIconView.hide();var e=document.getElementById("vizbeeSnackbarOverlay");e&&(VizbeeTV.logger.i("PopupMessageWithIconView","hide","Removing vizbeeSnackbarEle"),e.parentNode.removeChild(e))}}])}(),Ds={TOP_LEFT:"top-left",TOP_RIGHT:"top-right",BOTTOM_LEFT:"bottom-left",BOTTOM_RIGHT:"bottom-right"},ws=function(){return s(function e(){a(this,e),this._message="This is a vizbee snackbar message",this._theme={color:"#FFFFFF",bgColor:"#7F98DE"},this._layout={position:Ds.BOTTOM_RIGHT},this._border={color:"#FFFFFF"},this._font={uri:"",family:"",size:24,weight:""},this._icon={uri:"https://s3.amazonaws.com/vga-videos/images/vsa/loading.gif"}},[{key:"message",get:function(){return this._message},set:function(e){this._message=e}},{key:"theme",get:function(){return this._theme},set:function(e){this._theme=e}},{key:"layout",get:function(){return this._layout},set:function(e){this._layout=e}},{key:"border",get:function(){return this._border},set:function(e){this._border=e}},{key:"font",get:function(){return this._font},set:function(e){this._font=e}},{key:"icon",get:function(){return this._icon},set:function(e){this._icon=e}},{key:"fromJSON",value:function(e){e&&(this._message=e.message,e.theme&&(this._theme.color=e.theme.color||this._theme.color,this._theme.bgColor=e.theme.bgColor||this._theme.bgColor),e.layout&&(this._layout=e.layout||this._layout),e.border&&(this._border=e.border||this._border),e.font&&(this._font.uri=e.font.uri||this._font.uri,this._font.family=e.font.family||this._font.family,this._font.size=e.font.size||this._font.size,this._font.weight=e.font.weight||this._font.weight),e.icon&&e.icon.uri&&(this._icon.uri=e.icon.uri||this._icon.uri))}},{key:"toJSON",value:function(){return{message:this._message,theme:this._theme,layout:this._layout,border:this._border,font:this._font,icon:this._icon}}}])}(),Ms=function(){return s(function e(){a(this,e),c(this,"namespaceAndReceiverMap",new Map)},[{key:"send",value:(e=g().m(function e(t,n){return g().w(function(e){for(;;)if(0===e.n)return VizbeeSDK.logger.debug(this.constructor.name,"send","namespace: ".concat(n,", payload: ").concat(JSON.stringify(t))),e.a(2,new Promise(function(e,i){window.VZB.sendXMessage(t,n,{onSuccess:function(t){e()},onFailure:function(e){i(e)}})}))},e,this)}),t=function(){var t=this,n=arguments;return new Promise(function(r,a){var o=e.apply(t,n);function s(e){i(o,r,a,s,u,"next",e)}function u(e){i(o,r,a,s,u,"throw",e)}s(void 0)})},function(e,n){return t.apply(this,arguments)})},{key:"addReceiver",value:function(e,t){VizbeeSDK.logger.debug(this.constructor.name,"addReceiver","with namespace: ".concat(e)),this.namespaceAndReceiverMap.set(e,t)}},{key:"removeReceiver",value:function(e,t){VizbeeSDK.logger.debug(this.constructor.name,"removeReceiver","with namespace: ".concat(e)),this.namespaceAndReceiverMap.delete(e)}},{key:"onReceive",value:function(e,t,n){VizbeeSDK.logger.debug(this.constructor.name,"onReceive","namespace: ".concat(e,", payload: ").concat(JSON.stringify(t),", device: ").concat(n));var i=this.namespaceAndReceiverMap.get(e);i&&i(t,e,n)}}]);var e,t}(),Ns=function(e){return e.ANDROID_MOBILE="Android",e.IOS="iOS",e.UNKNOWN="Unknown",e}({}),Os=function(e){return e.ANDROID_MOBILE="ANDROID_MOBILE",e.IOS="IOS",e.UNKNOWN="UNKNOWN",e}({});function xs(e){switch(e){case Ns.ANDROID_MOBILE:return Os.ANDROID_MOBILE;case Ns.IOS:return Os.IOS;case Ns.UNKNOWN:default:return Os.UNKNOWN}}var zs=function(e){return e.JOIN="JOIN",e.LEAVE="LEAVE",e}({}),Ls=function(e){return e.JOIN="JOIN",e.LEAVE="LEAVE",e}({}),Rs=function(){return s(function e(){a(this,e),c(this,"presenceCallbacks",[]),c(this,"syncController",null),this.init()},[{key:"init",value:function(){var e,t,n;this.syncController=null===(e=window.VZB)||void 0===e||null===(t=e.getSyncController)||void 0===t?void 0:t.call(e),this.syncController?this.listenForSyncControllerSessionState():(null===(n=window.VizbeeSDK)||void 0===n||null===(n=n.logger)||void 0===n||n.warn("VizbeeBicastMemberPresenceClientImpl","init","syncController is not available"),this.listenForSyncControllerAvailability())}},{key:"listenForSyncControllerAvailability",value:function(){var e,t,n=this;null===(e=window.VizbeeSDK)||void 0===e||null===(e=e.logger)||void 0===e||e.debug("VizbeeBicastMemberPresenceClientImpl","listenForSyncControllerAvailability","waiting for syncController to be available"),null===(t=window.VZB)||void 0===t||t.addSyncReadyListener(function(){var e,t,i;null===(e=window.VizbeeSDK)||void 0===e||null===(e=e.logger)||void 0===e||e.debug("VizbeeBicastMemberPresenceClientImpl","listenForSyncControllerAvailability","syncController is now available"),n.syncController=null===(t=window.VZB)||void 0===t||null===(i=t.getSyncController)||void 0===i?void 0:i.call(t),n.listenForSyncControllerSessionState()})}},{key:"listenForSyncControllerSessionState",value:function(){var e=this;VizbeeSDK.logger.debug("VizbeeBicastMemberPresenceClientImpl","listenForSyncControllerSessionState","subscribing to presence events"),this.syncController.subscribeToPresence(function(t){if(VizbeeSDK.logger.debug("VizbeeBicastMemberPresenceClientImpl","listenForSyncControllerSessionState","presence event received: ".concat(JSON.stringify(t))),null!==t){VizbeeSDK.logger.debug("VizbeeBicastMemberPresenceClientImpl","listenForSyncControllerSessionState","processing presence event: ".concat(JSON.stringify(t)));var n=e.toVizbeeDevice(t.member),i={event:t.event===Ls.JOIN?zs.JOIN:zs.LEAVE,device:n};e.presenceCallbacks.forEach(function(e){return e(i)})}})}},{key:"subscribe",value:function(e){VizbeeSDK.logger.debug("VizbeeBicastMemberPresenceClientImpl","subscribe",e),this.presenceCallbacks.push(e)}},{key:"unsubscribe",value:function(e){VizbeeSDK.logger.debug("VizbeeBicastMemberPresenceClientImpl","unsubscribe","");var t=this.presenceCallbacks.indexOf(e);t>-1&&this.presenceCallbacks.splice(t,1)}},{key:"getMembers",value:function(){var e,t,n=this,i=(null===(e=this.syncController)||void 0===e||null===(t=e.getActiveSenders)||void 0===t?void 0:t.call(e))||{};return Object.values(i).map(function(e){return n.toVizbeeDevice(e)})}},{key:"toVizbeeDevice",value:function(e){var t,n,i,r,a,o,s,u,c,l,d;return{deviceId:null!==(t=null==e||null===(n=e.ssinfo)||void 0===n?void 0:n.REMOTE_DEVICE_ID)&&void 0!==t?t:"UNKNOWN",friendlyName:null!==(i=null==e||null===(r=e.ssinfo)||void 0===r?void 0:r.REMOTE_FRIENDLY_NAME)&&void 0!==i?i:"UNKNOWN",modelName:null!==(a=null==e||null===(o=e.ssinfo)||void 0===o?void 0:o.modelName)&&void 0!==a?a:"UNKNOWN",modelNumber:null!==(s=null==e||null===(u=e.ssinfo)||void 0===u?void 0:u.modelNumber)&&void 0!==s?s:"UNKNOWN",manufacturer:null!==(c=null==e||null===(l=e.ssinfo)||void 0===l?void 0:l.manufacturer)&&void 0!==c?c:"UNKNOWN",deviceType:xs(null==e||null===(d=e.ssinfo)||void 0===d?void 0:d.REMOTE_DEVICE_TYPE)}}}])}();c(Rs,"LOG_TAG","VizbeeBicastMemberPresenceClientImpl");var Ks=function(){return s(function e(){a(this,e),c(this,"_messagingClient",null),c(this,"_presenceClient",null)},[{key:"getMessagingClient",value:function(){return this._messagingClient||(this._messagingClient=new Ms),this._messagingClient}},{key:"getPresenceClient",value:function(){return this._presenceClient||(this._presenceClient=new Rs),this._presenceClient}}])}(),Fs=function(){return s(function e(){var t=this;if(a(this,e),c(this,"session",null),c(this,"sessionState",Ka.NOT_CONNECTED),c(this,"sessionStateListeners",[]),c(this,"syncController",null),c(this,"onSessionStateChanged",function(e){var n,i;switch(t.sessionState=e,e){case Ka.CONNECTED:null===(n=window.VizbeeSDK)||void 0===n||null===(n=n.logger)||void 0===n||n.info("VizbeeBicastSessionManager","onSessionStateChanged","CONNECTED"),t.session=new Ks,t.sessionStateListeners.forEach(function(e){return e.onSessionStateChanged(Ka.CONNECTED)});break;case Ka.NOT_CONNECTED:null===(i=window.VizbeeSDK)||void 0===i||null===(i=i.logger)||void 0===i||i.info("VizbeeBicastSessionManager","onSessionStateChanged","NOT_CONNECTED"),t.session=null,t.sessionStateListeners.forEach(function(e){return e.onSessionStateChanged(Ka.NOT_CONNECTED)})}}),e.instance)return e.instance;this.init(),e.instance=this},[{key:"init",value:function(){var e,t,n,i;null===(e=window.VizbeeSDK)||void 0===e||null===(e=e.logger)||void 0===e||e.debug("VizbeeBicastSessionManager","init","initialize session manager"),this.syncController=null===(t=window.VZB)||void 0===t||null===(n=t.getSyncController)||void 0===n?void 0:n.call(t),this.syncController?this.listenForSyncControllerSessionState():(null===(i=window.VizbeeSDK)||void 0===i||null===(i=i.logger)||void 0===i||i.warn("VizbeeBicastSessionManager","init","syncController is not available"),this.listenForSyncControllerAvailability())}},{key:"listenForSyncControllerAvailability",value:function(){var e,t,n=this;null===(e=window.VizbeeSDK)||void 0===e||null===(e=e.logger)||void 0===e||e.debug("VizbeeBicastSessionManager","listenForSyncControllerAvailability","waiting for syncController to be available"),null===(t=window.VZB)||void 0===t||t.addSyncReadyListener(function(){var e,t,i;null===(e=window.VizbeeSDK)||void 0===e||null===(e=e.logger)||void 0===e||e.debug("VizbeeBicastSessionManager","listenForSyncControllerAvailability","syncController is now available"),n.syncController=null===(t=window.VZB)||void 0===t||null===(i=t.getSyncController)||void 0===i?void 0:i.call(t),n.listenForSyncControllerSessionState()})}},{key:"listenForSyncControllerSessionState",value:function(){var e,t,n,i;this.sessionState=null!==(e=null===(t=this.syncController)||void 0===t||null===(n=t.sessionState)||void 0===n?void 0:n.call(t))&&void 0!==e?e:Ka.NOT_CONNECTED,this.sessionState===Ka.CONNECTED&&(this.session=new Ks),null===(i=this.syncController)||void 0===i||i.addSessionStateListener(this.onSessionStateChanged)}},{key:"addSessionStateListener",value:function(e){var t;null===(t=window.VizbeeSDK)||void 0===t||null===(t=t.logger)||void 0===t||t.debug("VizbeeBicastSessionManager","addSessionStateListener","add session state listener"),"function"==typeof e?this.sessionStateListeners.push({onSessionStateChanged:e}):this.sessionStateListeners.push(e)}},{key:"removeSessionStateListener",value:function(e){var t;null===(t=window.VizbeeSDK)||void 0===t||null===(t=t.logger)||void 0===t||t.debug("VizbeeBicastSessionManager","removeSessionStateListener","remove session state listener");var n=this.sessionStateListeners.indexOf(e);n>-1&&this.sessionStateListeners.splice(n,1)}},{key:"getSession",value:function(){return this.session}},{key:"isConnecting",value:function(){return this.sessionState===Ka.CONNECTING}},{key:"isConnected",value:function(){return this.sessionState===Ka.CONNECTED}}])}(),Us=void 0,Bs=function(){return s(function e(){if(a(this,e),c(this,"presenceCallbacks",[]),c(this,"vizbeeSession",null),e.instance)return e.instance;this.init(),e.instance=this},[{key:"init",value:function(){var e=this;try{var t;if(VizbeeSDK.logger.info("VizbeePresenceManager::init - Initializing Vizbee Presence Manager"),null===(t=window.vizbee)||void 0===t||null===(t=t.continuity)||void 0===t||!t.xmessages)throw new Error("Vizbee continuity or xmessages not initialized");var n=new window.vizbee.continuity.xmessages.VizbeeBicastSessionManager;if(!n)throw new Error("Session manager initialization failed");n.addSessionStateListener({onSessionStateChanged:function(t){if(VizbeeSDK.logger.info("VizbeePresenceManager::init - Session state changed:",t),t===Ka.CONNECTED){if(VizbeeSDK.logger.debug("VizbeePresenceManager::init - Session connected"),e.vizbeeSession=n.getSession(),!e.vizbeeSession)throw new Error("Failed to retrieve Vizbee session");if(e.vizbeePresenceClient=e.vizbeeSession.getPresenceClient(),!e.vizbeePresenceClient)throw new Error("Failed to retrieve Vizbee presence client");if(e.presenceCallbacks.length>0)for(var i=0;i<e.presenceCallbacks.length;i++){var r=e.presenceCallbacks[i];e.vizbeePresenceClient.subscribe(r)}}else{if(e.vizbeePresenceClient)for(var a=0;a<e.presenceCallbacks.length;a++){var o=e.presenceCallbacks[a];e.vizbeePresenceClient.unsubscribe(o)}e.vizbeeSession=null}}})}catch(e){throw VizbeeSDK.logger.warn("VizbeePresenceManager::init - Error initializing Vizbee session:",e),e}}},{key:"subscribe",value:function(e){"function"==typeof e?(this.presenceCallbacks.push(e),this.vizbeePresenceClient?this.vizbeePresenceClient.subscribe(e):VizbeeSDK.logger.warn("VizbeePresenceManager::subscribe - Presence client not initialized yet")):VizbeeSDK.logger.warn("VizbeePresenceManager::subscribe - Provided callback is not a function")}},{key:"unsubscribe",value:function(e){VizbeeSDK.logger.debug("VizbeePresenceManager::unsubscribe"),this.vizbeePresenceClient&&this.vizbeePresenceClient.unsubscribe(e);var t=this.presenceCallbacks.indexOf(e);t>-1&&this.presenceCallbacks.splice(t,1)}},{key:"getMembers",value:function(){return this.vizbeePresenceClient?this.vizbeePresenceClient.getMembers():[]}}])}(),Hs=function(){function e(){return a(this,e),r(this,e)}return h(e,ss),s(e,[{key:"ContinuityContext",get:function(){return Ss}},{key:"adapters",get:function(){return{AppAdapter:us,PlayerAdapter:fs,BasePlayerAdapter:_s,AVPlayerAdapter:Ts,PlayerType:hs,AdAdapter:ds,AdType:ps,VideoStopReason:Is}}},{key:"messages",get:function(){return{VizbeeEvent:ms,VideoInfo:gs,VideoStatus:ys,AdEventType:cs,AdStatus:ls,PlayerState:vs,SubtitleTrack:Ps}}},{key:"analytics",get:function(){return{AnalyticsProvider:Vs}}},{key:"ui",get:function(){return{LayoutPosition:Ds,Snackbar:Cs,SnackbarUIConfig:ws}}},{key:"xmessages",get:function(){return{VizbeeBicastSessionManager:Fs,VizbeeBicastSession:Ks,VizbeeMessagingClient:Us,VizbeePresenceManager:Bs}}}])}(),Gs=new(function(){function e(){return a(this,e),r(this,e)}return h(e,Hs),s(e)}()),Ws=void 0,qs=function(){function e(){return a(this,e),r(this,e)}return h(e,as),s(e,[{key:"start",value:function(t){this.isValidAppId(t)&&(m(e,"start",this)([t]),this.virtualAPIWrapper.setAdAdapterType("vzb_ad_default"))}}],[{key:"getInstance",value:function(){return null==Ws&&(Ws=new e),Ws}}])}(),js=function(){return s(function e(t){a(this,e),this.adaptLoadRequest=t},[{key:"update",value:function(e){if(this.adaptLoadRequest&&"function"==typeof this.adaptLoadRequest){var t=e;if(t&&t.media){VizbeeSDK.logger.debug("CAFLoadRequestInterceptor::update LoadRequest has valid media");var n=t.media.customData;n&&n.vzbSenderOS&&n.vzbVersion?("LIVE"==t.media.streamType&&(t.currentTime=void 0),VizbeeSDK.logger.debug("CAFLoadRequestInterceptor::update request is from Vizbee Sender, UPDATING LoadRequest"),t=this.adaptLoadRequest(t)):VizbeeSDK.logger.info("CAFLoadRequestInterceptor::update request is not from Vizbee Sender, NOT UPDATING LoadRequest")}return t}return VizbeeSDK.logger.debug("CAFLoadRequestInterceptor::update adaptLoadRequest is not defined, NOT UPDATING LoadRequest"),e}}])}(),Ys=new(function(){function e(){return a(this,e),r(this,e)}return h(e,ss),s(e,[{key:"ContinuityContext",get:function(){return qs}},{key:"interceptors",get:function(){return{LoadRequestInterceptor:js}}},{key:"LoadRequestInterceptor",get:function(){return js}},{key:"xmessages",get:function(){return{VizbeeBicastSessionManager:Fs,VizbeeBicastSession:Ks,VizbeeMessagingClient:Us}}}])}()),Qs=void 0,Js=function(){function e(){return a(this,e),r(this,e)}return h(e,Ss),s(e,[{key:"_buildPlatformConfig",value:function(e){var t={standalone:!0,videoElement:e.playerElement,vtvPlayerListConfig:[{type:"native"}]};return e.playerType==hs.HTML&&(t.vtvPlayerListConfig=[{type:"html"}]),e.playerType==hs.BITMOVIN&&(t.vtvPlayerListConfig=[{type:"bitmovin"}]),e.playerType==hs.THEO&&(t.vtvPlayerListConfig=[{type:"theo"}]),t}}],[{key:"getInstance",value:function(){return null==Qs&&(Qs=new e,vizbee.logger.debug(this.constructor.name+"::getInstance - instance created")),Qs}}])}(),Zs=new(function(){function e(){return a(this,e),r(this,e)}return h(e,Hs),s(e,[{key:"ContinuityContext",get:function(){return Js}}])}()),Xs=new(function(){function e(){return a(this,e),r(this,e)}return h(e,is),s(e,[{key:"continuity",get:function(){return this._getContinuityFramework()}},{key:"framework",get:function(){return this._getContinuityFramework()}},{key:"_getContinuityFramework",value:function(){var e=bt.getPlatformType();return"chromecast"==(e=(e||"").toLowerCase())&&window.cast&&window.cast.framework?Ys:"tizen"==e?Zs:Gs}}])}());if(Xs.logger=new kt,Xs.logger.setPrefix("[Vizbee]"),"undefined"!=typeof window){if(window.VizbeeSDK=Xs,window.vizbee){var $s=window.vizbee;window.vizbee=window.VizbeeSDK,Object.keys($s).forEach(function(e){window.vizbee[e]=$s[e]})}else window.vizbee=window.VizbeeSDK;"function"==typeof window.dispatchEvent&&window.dispatchEvent(new Event("VIZBEE_SDK_READY"))}
|