{"version":3,"sources":["webpack:///webpack/universalModuleDefinition?5ca6","webpack:///video-player.js","webpack:///webpack/bootstrap 5740c1b6e1887c0f748a?41b6","webpack:///./src/index.js","webpack:///./src/models/metadata.js?6494","webpack:///./src/models/player.js?b9cf","webpack:///./src/constants.js?a228","webpack:///./src/views/embed.js?8e1a","webpack:///./src/logger.js?1bf0","webpack:///./src/views/modal.js?614f","webpack:///./package.json","webpack:///./src/views/view.js"],"names":["root","factory","exports","module","define","amd","this","modules","__webpack_require__","moduleId","installedModules","id","loaded","call","m","c","p","0","_interopRequireDefault","obj","__esModule","default","_init","config","context$","_logger","showLog","VERSION","$","each","container$","options","extend","_constants","DEFAULTS","source","data","accountname","videoid","autoplay","author","bumperid","controls","description","domain","edition","link","loop","longdescription","modallayer","muted","name","newsid","playerid","playlistid","playlistorientation","playsinline","poster","template","src","videoad","videolive","metadata","_metadata2","serviceUrl","player","_player2","view","_view2","render","renderPoster","renderThumbnail","Object","defineProperty","value","undefined","_package","_package2","_player","_metadata","_view","Voonto","ready","then","app","lookup","CONFIG_NAMESPACE","showError","Error","require","length","append","MODAL_LAYER_ID","on","event","document","addEventListener","visibilityState","video$","get","paused","pause","setTimeout","videojs","ima3","adsManager","version","56","_classCallCheck","instance","Constructor","TypeError","_createClass","defineProperties","target","props","i","descriptor","enumerable","configurable","writable","key","protoProps","staticProps","prototype","Metadata","_ref","url","promise","json","video","ajax","dataType","59","_getPromise","userType","USERTYPE_AD","_buildQueryString","_this2","params","keys","forEach","option","push","encodeURIComponent","is","desktop","map","param","join","Player","_this","window","__VOONTO__","getUserType","catch","DEFAULT_USERTYPE","60","LANGUAGE","documentElement","lang","split","shift","LAZYLOAD_CLASS","VIEW_STATES","freeze","EMPTY","WITH_POSTER","WITH_PLAYER","VOCUSER_READY_PROMISE","MODAL_LAYER_PAYWALL_CONTENT_EVENT","MODAL_LAYER_TAG_MANAGER_SET_EVENT","MODAL_LAYER_BOOTSTRAP_OPTIONS","backdrop","keyboard","show","SOURCES","BRIGHTCOVE","YOUTUBE","VIMEO","DAILYMOTION","UNKNOWN","anonimo","registrado","trial","suscriptor","periodista","SHOW_LOGS","location","search","indexOf","DEFAULT_LOG_TEMPLATE","63","_removeExtraElements","children","remove","find","_addDurationElement","duration","_formatMilliseconds","minutes","seconds","element$","html","DURATION_TEMPLATE","replace","millis","Number","isNaN","days","hours","milliseconds","Math","floor","EmbedView","fetch","64","_console","console","log","apply","concat","Array","slice","arguments","showWarn","_console2","warn","_console3","error","67","_pauseVideos","_bindModalEvents","empty","_renderSocialButtons","first","socialButtons","_renderMenuUnderline","animatedUnderline","_tracking","reference_id","substr","match","AGENCY_PATTERN","AGENCY","toLowerCase","subsecciones","tags","linkurl","values","tag","cats","cat","pop","getInstance","trigger","seccion","VIDEOS","subseccion1","subseccion2","subseccion3","subseccion4","titular","fechaPrimeraPublicacion","moment","createdAt","format","fechaModificacion","updatedAt","tipoContenido","VIDEO","sistemaPublicacion","PHP","firmaAutor","origenContenido","ModalView","modal","68","main","scripts","start","build","report","contributors","license","devDependencies","babel-core","babel-loader","babel-preset-es2015","chai","chalk","html-webpack-plugin","json-loader","mocha","mocha-loader","webpack","webpack-shell-plugin","69","_render","_isPlayerModalLayer","_isViewEmpty","state","_renderPoster","_renderPlayer","_this4","POSTER_TEMPLATE","lazyload","_bindPosterModalEvents","_bindPosterEmbedEvents","_renderThumbnail","_this5","thumbnail","_this6","_renderPlayerModal","_renderPlayerEmbed","_this7","off","embed","_embed2","_this8","_modal2","_embed","_modal","View","isInView","isFullScreen","fullScreen","mozFullScreen","webkitIsFullScreen","isViewEmpty","attr","one","play","_this3"],"mappings":"CAAA,SAAAA,EAAAC,GACA,gBAAAC,UAAA,gBAAAC,QACAA,OAAAD,QAAAD,IACA,kBAAAG,gBAAAC,IACAD,UAAAH,GACA,gBAAAC,SACAA,QAAA,YAAAD,IAEAD,EAAA,YAAAC,KACCK,KAAA,WACD,MCAgB,UAAUC,GCN1B,QAAAC,GAAAC,GAGA,GAAAC,EAAAD,GACA,MAAAC,GAAAD,GAAAP,OAGA,IAAAC,GAAAO,EAAAD,IACAP,WACAS,GAAAF,EACAG,QAAA,EAUA,OANAL,GAAAE,GAAAI,KAAAV,EAAAD,QAAAC,IAAAD,QAAAM,GAGAL,EAAAS,QAAA,EAGAT,EAAAD,QAvBA,GAAAQ,KAqCA,OATAF,GAAAM,EAAAP,EAGAC,EAAAO,EAAAL,EAGAF,EAAAQ,EAAA,GAGAR,EAAA,KDgBMS,EACA,SAAUd,EAAQD,EAASM,GAEhC,YA2BA,SAASU,GAAuBC,GAAO,MAAOA,IAAOA,EAAIC,WAAaD,GAAQE,QAASF,GEhBxF,QAASG,GAAMC,EAAQC,IACrB,EAAAC,EAAAC,SAAA,4BAAoCC,GACpCC,EAAE,0BAA2BJ,GAAUK,KAAK,WAC1C,GAAIC,GAAaF,EAAEtB,MACfyB,IAEJH,GAAEI,OAAOD,EAATE,EAAAC,UACEC,OAAqBL,EAAWM,KAAK,2BACrCC,YAAqBP,EAAWM,KAAK,gCACrCE,QAAqBR,EAAWM,KAAK,4BACrCG,SAAqBT,EAAWM,KAAK,6BACrCI,OAAqBV,EAAWM,KAAK,2BACrCK,SAAqBX,EAAWM,KAAK,6BACrCM,SAAqBZ,EAAWM,KAAK,6BACrCO,YAAqBb,EAAWM,KAAK,gCACrCQ,OAAqBd,EAAWM,KAAK,2BACrCS,QAAqBf,EAAWM,KAAK,4BACrCU,KAAqBhB,EAAWM,KAAK,yBACrCW,KAAqBjB,EAAWM,KAAK,yBACrCY,gBAAqBlB,EAAWM,KAAK,oCACrCa,WAAqBnB,EAAWM,KAAK,+BACrCc,MAAqBpB,EAAWM,KAAK,0BACrCe,KAAqBrB,EAAWM,KAAK,yBACrCgB,OAAqBtB,EAAWM,KAAK,2BACrCiB,SAAqBvB,EAAWM,KAAK,6BACrCkB,WAAqBxB,EAAWM,KAAK,+BACrCmB,oBAAqBzB,EAAWM,KAAK,wCACrCoB,YAAqB1B,EAAWM,KAAK,gCACrCqB,OAAqB3B,EAAWM,KAAK,2BACrCsB,SAAqB5B,EAAWM,KAAK,6BACrCuB,IAAqB7B,EAAWM,KAAK,wBACrCwB,QAAqB9B,EAAWM,KAAK,4BACrCyB,UAAqB/B,EAAWM,KAAK,+BAGvC,IAAI0B,GAAW,GAAAC,GAAA1C,QAAaU,EAASR,EAAOyC,YACxCC,EAAS,GAAAC,GAAA7C,QAAWU,EAASR,EAAOyC,YACpCG,EAAO,GAAAC,GAAA/C,SACTyC,WACAG,SACAnC,cAEFqC,GAAKE,WAGPzC,EAAE,0BAA2BJ,GAAUK,KAAK,WAC1C,GAAIC,GAAaF,EAAEtB,MACfyB,IACJH,GAAEI,OAAOD,EAATE,EAAAC,UACEC,OAAqBL,EAAWM,KAAK,2BACrCC,YAAqBP,EAAWM,KAAK,gCACrCE,QAAqBR,EAAWM,KAAK,6BAGvC,IAAI0B,GAAW,GAAAC,GAAA1C,QAAaU,EAASR,EAAOyC,YACxCC,EAAS,GAAAC,GAAA7C,QAAWU,EAASR,EAAOyC,YACpCG,EAAO,GAAAC,GAAA/C,SACTyC,WACAG,SACAnC,cAEFqC,GAAKG,iBAGP1C,EAAE,6BAA8BJ,GAAUK,KAAK,WAC7C,GAAIC,GAAaF,EAAEtB,MACfyB,IACJH,GAAEI,OAAOD,EAATE,EAAAC,UACEC,OAAqBL,EAAWM,KAAK,8BACrCC,YAAqBP,EAAWM,KAAK,mCACrCE,QAAqBR,EAAWM,KAAK,gCAGvC,IAAI0B,GAAW,GAAAC,GAAA1C,QAAaU,EAASR,EAAOyC,YACxCC,EAAS,GAAAC,GAAA7C,QAAWU,EAASR,EAAOyC,YACpCG,EAAO,GAAAC,GAAA/C,SACTyC,WACAG,SACAnC,cAEFqC,GAAKI,oBFzFRC,OAAOC,eAAevE,EAAS,cAC7BwE,OAAO,IAETxE,EAAQyB,QAAUgD,ME9DnB,IAAAC,GAAApE,EAAA,IFkEKqE,EAAY3D,EAAuB0D,GEjExCE,EAAAtE,EAAA,IFqEK0D,EAAWhD,EAAuB4D,GEpEvCC,EAAAvE,EAAA,IFwEKuD,EAAa7C,EAAuB6D,GEvEzCC,EAAAxE,EAAA,IF2EK4D,EAASlD,EAAuB8D,GE1ErC/C,EAAAzB,EAAA,IAKAiB,EAAAjB,EAAA,GAMAyE,QAAOC,MAAMC,KAAK,SAACC,GACjB,GAAM7D,GAAS6D,EAAIC,OAAJpD,EAAAqD,iBACf,KAAK/D,EAAOyC,WAEV,MADA,EAAAvC,EAAA8D,WAAA,qCAAAtD,EAAAqD,kBACME,4EAGRP,QAAOQ,QAAQ,UAAUN,KAAK,SAASvD,GAChCA,wBAAwB8D,QAC3B9D,EAAE,QAAQ+D,OAAV,YAAA1D,EAAA2D,eAAA,YAEFtE,EAAMC,GACN6D,EAAIS,GAAG,gBAAiB,SAAUC,EAAOtE,GACvCF,EAAMC,EAAQC,KAEhB4D,EAAIS,GAAG,sBAAuB,SAAUC,EAAOtE,GAC7CF,EAAMC,EAAQC,OAMlBuE,SAASC,iBAAiB,mBAAoB,WACX,WAA7BD,SAASE,mBACX,EAAAxE,EAAAC,SAAQ,sCACRE,EAAE,SAASC,KAAK,WACd,GAAIqE,GAAStE,EAAEtB,MAAM6F,IAAI,EAEzB,OAAID,KAAWA,EAAOE,OACbF,EAAOG,QAGTC,WAAW,WACZJ,GACoB,mBAAZK,UACPA,QAAQL,EAAOvF,KACf4F,QAAQL,EAAOvF,IAAI6F,MACnBD,QAAQL,EAAOvF,IAAI6F,KAAKC,YAC3BF,QAAQL,EAAOvF,IAAI6F,KAAKC,WAAWJ,SAEpC,MAG0B,YAA7BN,SAASE,kBACX,EAAAxE,EAAAC,SAAQ,0CAKP,IAAMC,aAAUkD,EAAAxD,QAAIqF,SF4JrBC,GACA,SAAUxG,EAAQD,GAEvB,YAQA,SAAS0G,GAAgBC,EAAUC,GAAe,KAAMD,YAAoBC,IAAgB,KAAM,IAAIC,WAAU,qCANhHvC,OAAOC,eAAevE,EAAS,cAC7BwE,OAAO,GAGT,IAAIsC,GAAe,WAAc,QAASC,GAAiBC,EAAQC,GAAS,IAAK,GAAIC,GAAI,EAAGA,EAAID,EAAMzB,OAAQ0B,IAAK,CAAE,GAAIC,GAAaF,EAAMC,EAAIC,GAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,SAAWF,KAAYA,EAAWG,UAAW,GAAMhD,OAAOC,eAAeyC,EAAQG,EAAWI,IAAKJ,IAAiB,MAAO,UAAUP,EAAaY,EAAYC,GAAiJ,MAA9HD,IAAYT,EAAiBH,EAAYc,UAAWF,GAAiBC,GAAaV,EAAiBH,EAAaa,GAAqBb,MGrO3hBe,EHyOU,WGxOd,QAAAA,GAAAC,EAA4C9D,GAAY,GAA3C3B,GAA2CyF,EAA3CzF,YAAaF,EAA8B2F,EAA9B3F,OAAQG,EAAsBwF,EAAtBxF,OAAsBsE,GAAAtG,KAAAuH,GACtDvH,KAAKwD,YACLxD,KAAKyH,IAAc/D,EAAnB,kBAA+C7B,EAA/C,YAAiEE,EAAjE,IAAgFC,EAAhF,QHqQD,MAnBA0E,GAAaa,IACXJ,IAAK,QACL/C,MAAO,WGhPR,MAAIpE,MAAK0H,QAAkB1H,KAAK0H,QAAQ7C,KAAK,SAAC8C,GAAD,MAAUA,GAAKC,MAAMpE,YAElExD,KAAK0H,QAAU/C,OAAOrD,EAAEuG,KAAK7H,KAAKyH,KAChCK,SAAU,SAGL9H,KAAK0H,QAAQ7C,KAAK,SAAC8C,GAAD,MAAUA,GAAKC,MAAMpE,gBH2PxC+D,IAGT3H,GAAQmB,QG1PMwG,GH8PTQ,GACA,SAAUlI,EAAQD,EAASM,GAEhC,YAUA,SAASoG,GAAgBC,EAAUC,GAAe,KAAMD,YAAoBC,IAAgB,KAAM,IAAIC,WAAU,qCIrMjH,QAASuB,GAAYC,GAGnB,MAFAjI,MAAKyB,QAAQ6B,QAAWtD,KAAKyB,QAAQ6B,QAAiC3B,EAAAuG,YAAYD,GAAnCjI,KAAKyB,QAAQ6B,QAC5DtD,KAAKyH,KAAL,IAAgBU,EAAkB5H,KAAKP,MAChC2E,OAAOrD,EAAEuG,KAAK7H,KAAKyH,KAAMK,SAAU,SAG5C,QAASK,KAAoB,GAAAC,GAAApI,KACvBqI,IAqBJ,OAnBAnE,QAAOoE,KAAKtI,KAAKyB,SAAS8G,QAAQ,SAACC,IAC7BJ,EAAK3G,QAAQ+G,IAA2C,iBAAzBJ,GAAK3G,QAAQ+G,KAC9CH,EAAOI,MACLtB,IAAKqB,EACLpE,MAAOsE,mBAAmBN,EAAK3G,QAAQ+G,QAK7CH,EAAOI,MACLtB,IAAK,YACL/C,MAAOO,OAAOgE,GAAGC,YAGnBP,EAAOI,MACLtB,IAAO,WACP/C,sBAGKiE,EAAOQ,IAAI,SAACC,GACjB,MAAUA,GAAM3B,IAAhB,IAAuB2B,EAAM1E,QAC5B2E,KAAK,KJ+JT7E,OAAOC,eAAevE,EAAS,cAC7BwE,OAAO,GAGT,IAAIsC,GAAe,WAAc,QAASC,GAAiBC,EAAQC,GAAS,IAAK,GAAIC,GAAI,EAAGA,EAAID,EAAMzB,OAAQ0B,IAAK,CAAE,GAAIC,GAAaF,EAAMC,EAAIC,GAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,SAAWF,KAAYA,EAAWG,UAAW,GAAMhD,OAAOC,eAAeyC,EAAQG,EAAWI,IAAKJ,IAAiB,MAAO,UAAUP,EAAaY,EAAYC,GAAiJ,MAA9HD,IAAYT,EAAiBH,EAAYc,UAAWF,GAAiBC,GAAaV,EAAiBH,EAAaa,GAAqBb,MIxRjiB7E,EAAAzB,EAAA,IAMM8I,EJwRQ,WIvRZ,QAAAA,GAAAxB,EA6BE9D,GAEF,GA7BI7B,GA6BJ2F,EA7BI3F,OACAE,EA4BJyF,EA5BIzF,YACAC,EA2BJwF,EA3BIxF,QACAC,EA0BJuF,EA1BIvF,SACAC,EAyBJsF,EAzBItF,OACAC,EAwBJqF,EAxBIrF,SACAC,EAuBJoF,EAvBIpF,SACAC,EAsBJmF,EAtBInF,YACAC,EAqBJkF,EArBIlF,OACAC,EAoBJiF,EApBIjF,QACAC,EAmBJgF,EAnBIhF,KACAC,EAkBJ+E,EAlBI/E,KACAC,EAiBJ8E,EAjBI9E,gBACAC,EAgBJ6E,EAhBI7E,WACAC,EAeJ4E,EAfI5E,MACAC,EAcJ2E,EAdI3E,KACAC,EAaJ0E,EAbI1E,OACAC,EAYJyE,EAZIzE,SACAC,EAWJwE,EAXIxE,WACAC,EAUJuE,EAVIvE,oBACAC,EASJsE,EATItE,YACAC,EAQJqE,EARIrE,OACAC,EAOJoE,EAPIpE,SACAC,EAMJmE,EANInE,IACAC,EAKJkE,EALIlE,QACAC,EAIJiE,EAJIjE,SAIJ+C,GAAAtG,KAAAgJ,GACEhJ,KAAKyB,SACHI,SACAE,cACAC,UACAC,WACAC,SACAC,WACAC,WACAC,cACAC,SACAC,UACAC,OACAC,OACAC,kBACAC,aACAC,QACAC,OACAC,SACAC,WACAC,aACAC,sBACAC,cACAC,SACAC,WACAC,MACAC,UACAC,aAEFvD,KAAKyH,IAAa/D,EAAlB,kBAA8C7B,EAA9C,YAAgEE,EAAhE,IAA+EC,EAA/E,QJwSD,MAfA0E,GAAasC,IACX7B,IAAK,QACL/C,MAAO,WIxRF,GAAA6E,GAAAjJ,IASN,OARAA,MAAK0H,QAAU/C,OAAOC,MACnBC,KAAK,WACJ,MAAOmD,GAAYzH,KAAZ0I,EAAuBC,OAAOC,WAAWC,iBAEjDC,MAAM,WACL,MAAOrB,GAAYzH,KAAZ0I,EAAAtH,EAAA2H,oBAGJtJ,KAAK0H,YJ4RNsB,IAGTpJ,GAAQmB,QI3RMiI,GJoUTO,GACA,SAAU1J,EAAQD,GAEvB,YAEAsE,QAAOC,eAAevE,EAAS,cAC7BwE,OAAO,GK7ZGY,oBAAmB,wCACnBwE,WAAoB/D,SAASgE,gBAAgBC,MAAQjE,SAASgE,gBAAgBC,KAAKC,MAAM,KAAKC,SAAY,KAC1GC,iBAAmB,OACnBC,cAAc5F,OAAO6F,QAChCC,MAAa,EACbC,YAAa,EACbC,YAAa,IAEFC,wBAAwB,gBACxB7E,iBAAiB,kCACjB8E,oCAAoC,kBACpCC,oCAAoC,UACpCC,gCAAgCpG,OAAO6F,QAClDQ,UAAU,EACVC,UAAU,EACVC,MAAM,IAEK7I,YACXK,UAAa,EACbG,UAAa,EACbK,MAAa,EACbE,YAAa,EACbC,OAAa,EACbM,aAAa,EACbI,SAAa,EACbC,WAAa,GAEFmH,UAAUxG,OAAO6F,QAC5BY,WAAa,aACbC,QAAa,UACbC,MAAa,QACbC,YAAa,cACbC,QAAa,YAEFzB,mBAAmB,UACnBpB,cAAchE,OAAO6F,QAChCiB,SAAY,EACZC,YAAY,EACZC,OAAY,EACZC,YAAY,EACZC,YAAY,IAEDC,YAAY5F,SAAS6F,SAASC,OAAOC,QAAQ,YAAa,EAC1DC,uBAAuB,iBLma9BC,GACA,SAAU7L,EAAQD,EAASM,GAEhC,YAUA,SAASoG,GAAgBC,EAAUC,GAAe,KAAMD,YAAoBC,IAAgB,KAAM,IAAIC,WAAU,qCMlbjH,QAASkF,KACP3L,KAAKwB,WAAWoK,SAAS,OAAOC,SAChC7L,KAAKwB,WAAWoK,WAAWE,KAAK,OAAOD,SACnC7L,KAAKwB,WAAWoK,WAAWE,KAAK,UAAU1G,QAC5CpF,KAAKwB,WAAWoK,SAAS,+DAA+DC,SAI5F,QAASE,KACP,GAAIC,GAAWC,EAAoBjM,KAAKwD,SAASwI,SACjDA,GAAgC,IAArBA,EAASE,SAAsC,IAArBF,EAASG,QAAgB,UAAYH,EAASE,QAAU,IAAMF,EAASG,QAC5G7K,EAAE,oCAAoCC,KAAK,WACzC,GAAI6K,GAAW9K,EAAEtB,KACjBoM,GAASC,KAAKC,EAAkBC,QAAQ,cAAeP,MAI3D,QAASC,GAAoBO,GAC3B,GAAIC,OAAOC,MAAMF,IAAWA,EAAS,EACnC,MAAO,KAGT,IAAIG,UAAMC,SAAOV,SAASC,SAASU,QAanC,OAZAV,GAAUW,KAAKC,MAAMP,EAAS,KAC9BN,EAAUY,KAAKC,MAAMZ,EAAU,IAC/BA,GAAW,GACXA,EAAUA,EAAU,GAAK,IAAMA,EAAUA,EACzCS,EAAQE,KAAKC,MAAMb,EAAU,IAC7BA,GAAW,GACXA,EAAUA,EAAU,GAAK,IAAMA,EAAUA,EACzCS,EAAOG,KAAKC,MAAMH,EAAQ,IAC1BD,EAAOA,EAAO,GAAK,IAAMA,EAAOA,EAChCC,GAAS,GACTA,EAAQA,EAAQ,GAAK,IAAMA,EAAQA,EACnCC,EAAeC,KAAKC,MAAOP,EAAS,IAAQ,KAAQ,KAElDG,KAAMA,EAAMC,MAAOA,EAAOV,QAASA,EAASC,QAASA,EAASU,aAAcA,GNsY/E3I,OAAOC,eAAevE,EAAS,cAC7BwE,OAAO,GAGT,IAAIsC,GAAe,WAAc,QAASC,GAAiBC,EAAQC,GAAS,IAAK,GAAIC,GAAI,EAAGA,EAAID,EAAMzB,OAAQ0B,IAAK,CAAE,GAAIC,GAAaF,EAAMC,EAAIC,GAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,SAAWF,KAAYA,EAAWG,UAAW,GAAMhD,OAAOC,eAAeyC,EAAQG,EAAWI,IAAKJ,IAAiB,MAAO,UAAUP,EAAaY,EAAYC,GAAiJ,MAA9HD,IAAYT,EAAiBH,EAAYc,UAAWF,GAAiBC,GAAaV,EAAiBH,EAAaa,GAAqBb,MMvdjiBrF,EAAAjB,EAAA,IAMMoM,gCAKAU,ENodW,WM7cf,QAAAA,GAAYxJ,EAAUG,EAAQnC,GAAY8E,EAAAtG,KAAAgN,GACxChN,KAAKwD,SAAWA,EAChBxD,KAAK2D,OAASA,EACd3D,KAAKwB,WAAaA,EN+enB,MAtBAkF,GAAasG,IACX7F,IAAK,QACL/C,MAAO,WMxdF,GAAA6E,GAAAjJ,IAEN,QADA,EAAAmB,EAAAC,SAAQ,mBACDpB,KAAK2D,OAAOsJ,QAChBpI,KAAK,SAAClB,GAAD,MAAYsF,GAAKzH,WAAW6D,OAAO1B,KACxCkB,KAAK,iBAAMoE,GAAKzH,WAAW6D,OAAO,4FAClCR,KAAK,iBAAMoE,GAAKzH,WAAW6D,OAAO,yFAClCR,KAAK,iBAAMoE,GAAKzH,WAAW6D,OAAO,iFAClCR,KAAK,iBAAM8G,GAAqBpL,KAArB0I,KACXpE,KAAK,iBAAMkH,GAAoBxL,KAApB0I,SNoeR+D,IAGTpN,GAAQmB,QMleMiM,GNohBTE,GACA,SAAUrN,EAAQD,EAASM,GAEhC,YOvjBM,SAASkB,KAAU,GAAA+L,EACxBxL,GAAA0J,YAAa8B,EAAAC,SAAQC,IAARC,MAAAH,GAAAxL,EAAA8J,sBAAA8B,OAAAC,MAAAlG,UAAAmG,MAAAlN,KAAqCmN,aAG7C,QAASC,KAAW,GAAAC,EACzBjM,GAAA0J,YAAauC,EAAAR,SAAQS,KAARP,MAAAM,GAAAjM,EAAA8J,sBAAA8B,OAAAC,MAAAlG,UAAAmG,MAAAlN,KAAsCmN,aAG9C,QAASzI,KAAY,GAAA6I,EAC1BnM,GAAA0J,YAAayC,EAAAV,SAAQW,MAART,MAAAQ,GAAAnM,EAAA8J,sBAAA8B,OAAAC,MAAAlG,UAAAmG,MAAAlN,KAAuCmN,aPgjBrDxJ,OAAOC,eAAevE,EAAS,cAC7BwE,OAAO,IAETxE,EO5jBewB,UP6jBfxB,EOzjBe+N,WP0jBf/N,EOtjBeqF,WAbhB,IAAAtD,GAAAzB,EAAA,KP2lBM8N,GACA,SAAUnO,EAAQD,EAASM,GAEhC,YAYA,SAASoG,GAAgBC,EAAUC,GAAe,KAAMD,YAAoBC,IAAgB,KAAM,IAAIC,WAAU,qCQljBjH,QAASwH,KACP3M,EAAE,SAASC,KAAK,WACd,GAAIqE,GAAStE,EAAEtB,MAAM6F,IAAI,EAEzB,OAAID,KAAWA,EAAOE,OACbF,EAAOG,QAGTC,WAAW,WACZJ,GACoB,mBAAZK,UACPA,QAAQL,EAAOvF,KACf4F,QAAQL,EAAOvF,IAAI6F,MACnBD,QAAQL,EAAOvF,IAAI6F,KAAKC,YAC3BF,QAAQL,EAAOvF,IAAI6F,KAAKC,WAAWJ,SAEpC,KAIP,QAASmI,KAAmB,GAAA9F,GAAApI,IAC1BA,MAAKwB,WAAW+D,GAAG,gBAAiB,iBAAM6C,GAAK5G,WAAW2M,UAG5D,QAASC,KACHpO,KAAKwD,SAAShB,MAChBxC,KAAKwB,WAAWoK,WAAWyC,QAAQvC,KAAK,6BAA6BwC,gBAIzE,QAASC,KACPvO,KAAKwB,WAAWoK,WAAWyC,QAAQvC,KAAK,iCAAiC0C,oBAG3E,QAASC,KACP,GAAI5M,GAAS,IAET7B,MAAKwD,SAASkL,eAChB7M,EAAS7B,KAAKwD,SAASkL,aAAaC,OAAO,EAAG,GAC9C9M,EAASA,EAAO+M,MAAMC,GAAkBC,EAASjN,EAAO8H,MAAM,KAAKC,QAAQmF,cAG7E,IAAIC,KAEJ,IAAIhP,KAAKwD,SAASyL,KAAM,CACtB,GAAIA,GAAOjP,KAAKwD,SAASyL,KACrBC,EAAUlP,KAAKwD,SAAS0L,QAAUlP,KAAKwD,SAAS0L,QAAU,EAE9DhL,QAAOiL,OAAOF,GAAM1G,QAAQ,SAAC6G,GAC3B,GAAIA,EAAI5D,QAAQ,YAAa,EAAI,CAC/B,GAAI6D,GAAOD,EAAI7C,QAAQ,QAAS,IAAI5C,MAAM,IAI1C,OAHAzF,QAAOiL,OAAOE,GAAM9G,QAAQ,SAAC+G,GAC3BN,EAAavG,KAAK6G,EAAI3F,MAAM,KAAK4F,UAE5B,EAIT,MAHWL,GAAQ1D,QAAQ,IAAM4D,EAAM,QAAS,IAC9CJ,EAAeI,EAAIzF,MAAM,OAEpB,IAIXhF,OAAO6K,cAAcC,QAArB9N,EAAA0I,mCACEqF,QAAyBC,EACzBC,YAAyBZ,EAAa,GAAKA,EAAa,GAAK,GAC7Da,YAAyBb,EAAa,GAAKA,EAAa,GAAK,GAC7Dc,YAAyBd,EAAa,GAAKA,EAAa,GAAK,GAC7De,YAAyBf,EAAa,GAAKA,EAAa,GAAK,GAC7DgB,QAAyBhQ,KAAKwD,SAASX,KACvCoN,wBAAyBtL,OAAOuL,OAAOlQ,KAAKwD,SAAS2M,WAAWC,OAAO,kBACvEC,kBAAyB1L,OAAOuL,OAAOlQ,KAAKwD,SAAS8M,WAAWF,OAAO,kBACvEG,cAAyBC,EACzBC,mBAAyBC,EACzBC,WAAyB3Q,KAAKwD,SAAStB,OAAOW,KAC9C+N,gBAAyB/O,IR8d5BqC,OAAOC,eAAevE,EAAS,cAC7BwE,OAAO,GAGT,IAAIsC,GAAe,WAAc,QAASC,GAAiBC,EAAQC,GAAS,IAAK,GAAIC,GAAI,EAAGA,EAAID,EAAMzB,OAAQ0B,IAAK,CAAE,GAAIC,GAAaF,EAAMC,EAAIC,GAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,SAAWF,KAAYA,EAAWG,UAAW,GAAMhD,OAAOC,eAAeyC,EAAQG,EAAWI,IAAKJ,IAAiB,MAAO,UAAUP,EAAaY,EAAYC,GAAiJ,MAA9HD,IAAYT,EAAiBH,EAAYc,UAAWF,GAAiBC,GAAaV,EAAiBH,EAAaa,GAAqBb,MQpmBjiB7E,EAAAzB,EAAA,IAMAiB,EAAAjB,EAAA,IAOE2O,EAAiB,6BACjBC,EAAS,OACTa,EAAS,SACTa,EAAS,QACTE,EAAS,MAGLG,ER8lBW,WQxlBf,QAAAA,GAAYrN,EAAUG,GAAQ2C,EAAAtG,KAAA6Q,GAC5B7Q,KAAKwD,SAAWA,EAChBxD,KAAK2D,OAASA,EACd3D,KAAKwB,WAAamD,OAAOrD,EAAP,IAAAK,EAAA2D,gBRgoBnB,MA7BAoB,GAAamK,IACX1J,IAAK,QACL/C,MAAO,WQlmBF,GAAA6E,GAAAjJ,IAON,QANA,EAAAmB,EAAAC,SAAQ,mBACRpB,KAAKwB,WAAW2M,QAChBxJ,OAAOgE,GAAGC,UACR5I,KAAK2D,OAAOlC,QAAQQ,UAAW,EAC/BjC,KAAK2D,OAAOlC,QAAQQ,UAAW,EAE1BjC,KAAK2D,OAAOsJ,QAChBpI,KAAK,SAAClB,GAAD,MAAYsF,GAAKzH,WAAW6K,KAAK1I,KACtCkB,KAAK,iBAAMoE,GAAKzH,WAAWoK,WAAWyC,QAAQyC,MAAnCnP,EAAA2I,iCACXzF,KAAK,iBAAMoJ,GAAa1N,KAAb0I,KACXpE,KAAK,iBAAMqJ,GAAiB3N,KAAjB0I,KACXpE,KAAK,iBAAMuJ,GAAqB7N,KAArB0I,KACXpE,KAAK,iBAAM0J,GAAqBhO,KAArB0I,KACXpE,KAAK,iBAAM4J,GAAUlO,KAAV0I,KACXpE,KAAK,WAAQF,OAAO6K,cAAcC,QAArB9N,EAAAyI,yCR8mBVyG,IAGTjR,GAAQmB,QQ5mBM8P,GRgsBTE,GACA,SAAUlR,EAAQD,GSrvBxBC,EAAAD,SACAiD,KAAA,eACAuD,QAAA,QACA/D,YAAA,GACA2O,KAAA,eACAC,SACAC,MAAA,qBACAC,MAAA,wCACAC,OAAA,uDAEAC,cACA,qCACA,4CACA,+CAEAC,QAAA,4BACAC,iBACAC,aAAA,UACAC,eAAA,SACAC,sBAAA,UACAC,KAAA,SACAC,MAAA,SACAC,sBAAA,UACAC,cAAA,SACAC,MAAA,SACAC,eAAA,SACAC,QAAA,UACAC,uBAAA,YT6vBMC,GACA,SAAUtS,EAAQD,EAASM,GAEhC,YAoBA,SAASU,GAAuBC,GAAO,MAAOA,IAAOA,EAAIC,WAAaD,GAAQE,QAASF,GAEvF,QAASyF,GAAgBC,EAAUC,GAAe,KAAMD,YAAoBC,IAAgB,KAAM,IAAIC,WAAU,qCUlqBjH,QAAS2L,KACP,GAAIC,GAAsBrS,KAAK2D,OAAOlC,QAAQkB,WAC1C2P,EAAetS,KAAKuS,QAAU5Q,EAAAmI,YAAYE,KAC1CsI,KACED,GACFG,EAAcjS,KAAKP,MACnBA,KAAKuS,MAAQ5Q,EAAAmI,YAAYG,cAEzBwI,EAAclS,KAAKP,MACnBA,KAAKuS,MAAQ5Q,EAAAmI,YAAYI,cAK/B,QAASsI,KAAgB,GAAAE,GAAA1S,IAClBA,MAAK2D,OAAOlC,QAAQ0B,SACvBnD,KAAK2D,OAAOlC,QAAQ0B,OAASnD,KAAKwD,SAASA,SAASL,QAIlDnD,KAAKwB,WAAWsK,KAAK,OAAO1G,QAC9BpF,KAAKwB,WAAWsK,KAAK,OAAOD,SAG9B7L,KAAKwB,WAAW6D,OAAOsN,EAAgBpG,QAAQ,YAAavM,KAAK2D,OAAOlC,QAAQ0B,SAChF6C,WAAW,iBAAM0M,GAAKlR,WAAWsK,KAAhB,IAAAnK,EAAAkI,gBAA2C+I,YAAY,EAExE,IAAIP,GAAsBrS,KAAK2D,OAAOlC,QAAQkB,UAC1C0P,GACFQ,EAAuBtS,KAAKP,MAE5B8S,EAAuBvS,KAAKP,MAIhC,QAAS+S,KAAmB,GAAAC,GAAAhT,IACrBA,MAAK2D,OAAOlC,QAAQ0B,SACvBnD,KAAK2D,OAAOlC,QAAQ0B,OAASnD,KAAKwD,SAASA,SAASyP,WAIlDjT,KAAKwB,WAAWsK,KAAK,OAAO1G,QAC9BpF,KAAKwB,WAAWsK,KAAK,OAAOD,SAG9B7L,KAAKwB,WAAW6D,OAAOsN,EAAgBpG,QAAQ,YAAavM,KAAK2D,OAAOlC,QAAQ0B,SAChF6C,WAAW,iBAAMgN,GAAKxR,WAAWsK,KAAhB,IAAAnK,EAAAkI,gBAA2C+I,YAAY,EAExE,IAAIP,GAAsBrS,KAAK2D,OAAOlC,QAAQkB,UAC1C0P,GACFQ,EAAuBtS,KAAKP,MAE5B8S,EAAuBvS,KAAKP,MAIhC,QAAS6S,KAAyB,GAAAK,GAAAlT,IAChCA,MAAKwB,WAAW+D,GAAG,QAAS,iBAAM4N,GAAmB5S,KAAnB2S,KAGpC,QAASJ,MAGT,QAASL,KACP,GAAIJ,GAAsBrS,KAAK2D,OAAOlC,QAAQkB,UAC1C0P,GACFc,EAAmB5S,KAAKP,MAExBoT,EAAmB7S,KAAKP,MAI5B,QAASoT,KAAqB,GAAAC,GAAArT,IAC5BA,MAAKwB,WAAW8R,IAAI,QACpB,IAAIC,GAAQ,GAAAC,GAAAzS,QAAcf,KAAKwD,SAASA,SAAUxD,KAAK2D,OAAQ3D,KAAKwB,WACpE+R,GAAMtG,QACHpI,KAAK,WAAQmB,WAAW,iBAAMqN,GAAK7R,WAAWsK,KAAK,SAASvG,GAAG,UAAW,WAAQ8N,EAAK7R,WAAWoK,SAAS,+DAA+DC,YAAc,KACxLhH,KAAK,WAAQmB,WAAW,iBAAMqN,GAAK7R,WAAWsK,KAAK,SAASvG,GAAG,UAAW,WAAQ8N,EAAK7R,WAAWoK,SAAS,+DAA+DC,YAAc,OACxLhH,KAAK,WAAQmB,WAAW,iBAAMqN,GAAK7R,WAAWsK,KAAK,SAASvG,GAAG,UAAW,WAAQ8N,EAAK7R,WAAWoK,SAAS,+DAA+DC,YAAc,OAI7L,QAASsH,KAAqB,GAAAM,GAAAzT,IAC5BA,MAAKwB,WAAW8R,IAAI,QACpB,IAAIxC,GAAQ,GAAA4C,GAAA3S,QAAcf,KAAKwD,SAASA,SAAUxD,KAAK2D,OACvDmN,GAAM7D,QAAQpI,KAAK,WACjBmB,WAAW,iBAAMyN,GAAKjS,WAAW+D,GAAG,QAAS,iBAAM4N,GAAmB5S,KAAnBkT,MAAgC,KVwjBtFvP,OAAOC,eAAevE,EAAS,cAC7BwE,OAAO,GAGT,IAAIsC,GAAe,WAAc,QAASC,GAAiBC,EAAQC,GAAS,IAAK,GAAIC,GAAI,EAAGA,EAAID,EAAMzB,OAAQ0B,IAAK,CAAE,GAAIC,GAAaF,EAAMC,EAAIC,GAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,SAAWF,KAAYA,EAAWG,UAAW,GAAMhD,OAAOC,eAAeyC,EAAQG,EAAWI,IAAKJ,IAAiB,MAAO,UAAUP,EAAaY,EAAYC,GAAiJ,MAA9HD,IAAYT,EAAiBH,EAAYc,UAAWF,GAAiBC,GAAaV,EAAiBH,EAAaa,GAAqBb,MUjyBjiBmN,EAAAzT,EAAA,IVqyBKsT,EAAU5S,EAAuB+S,GUpyBtCC,EAAA1T,EAAA,IVwyBKwT,EAAU9S,EAAuBgT,GUvyBtCjS,EAAAzB,EAAA,IAIAiB,EAAAjB,EAAA,IAMMyS,+KAOAkB,EVkyBM,WU3xBV,QAAAA,GAAArM,GAIG,GAHDhE,GAGCgE,EAHDhE,SACAG,EAEC6D,EAFD7D,OACAnC,EACCgG,EADDhG,UACC8E,GAAAtG,KAAA6T,GACD7T,KAAKwD,SAAWA,EAChBxD,KAAK2D,OAASA,EACd3D,KAAKwB,WAAaA,EAClBxB,KAAKuS,MAAQ5Q,EAAAmI,YAAYE,MVi5B1B,MA1GAtD,GAAamN,IACX1M,IAAK,SACL/C,MAAO,WUtyBD,GAAA6E,GAAAjJ,MACP,EAAAmB,EAAAC,SAAQ,mBACRpB,KAAKwB,WAAW+D,GAAG,SAAU,SAACC,EAAOsO,GACnC,GAAIC,GAAetO,SAASuO,YAAcvO,SAASwO,eAAiBxO,SAASyO,kBAC7E,IAAIJ,EAAU,EAEZ,EAAA3S,EAAAC,SAAQ,4BACR,IAAI+S,GAAclL,EAAKsJ,QAAU5Q,EAAAmI,YAAYE,KAC7C,IAAImK,EACF,MAAOlL,GAAKzF,SAASyJ,QAClBpI,KAAK,SAACrB,GAAeyF,EAAKzF,SAASA,SAAWA,IAC9CqB,KAAK,iBAAMoE,GAAKzH,WAAW4S,KAAK,kCAAmC,UACnEvP,KAAK,iBAAMuN,GAAQ7R,KAAR0I,IAGhB,IAAIrD,GAASqD,EAAKzH,WAAWoK,WAAWE,KAAK,SAASjG,IAAI,EAE1DG,YAAW,YACJ+N,GACAnO,GACmB,mBAAZK,UACPA,QAAQL,EAAOvF,KACf4F,QAAQL,EAAOvF,IAAI6F,MACnBD,QAAQL,EAAOvF,IAAI6F,KAAKC,YAC3BF,QAAQL,EAAOvF,IAAIgU,IAAI,UAAW,WAChC,MAAOzO,GAAO0O,UAGjB,OACE,EAEL,EAAAnT,EAAAC,SAAQ,gCACR,IAAIwE,GAASqD,EAAKzH,WAAWoK,WAAWE,KAAK,SAASjG,IAAI,EAE1D,IAAID,IAAWA,EAAOE,OACpB,MAAOF,GAAOG,OAGhBC,YAAW,WACLJ,GACoB,mBAAZK,UACPA,QAAQL,EAAOvF,KACf4F,QAAQL,EAAOvF,IAAI6F,MACnBD,QAAQL,EAAOvF,IAAI6F,KAAKC,YAC3BF,QAAQL,EAAOvF,IAAIgU,IAAI,UAAW,WAChC,MAAOzO,GAAOG,WAGjB,GAEL,OAAO,OVqyBRoB,IAAK,eACL/C,MAAO,WUlyBK,GAAAgE,GAAApI,MACb,EAAAmB,EAAAC,SAAQ,yBACRpB,KAAKwB,WAAW+D,GAAG,SAAU,SAACC,EAAOsO,GACnC,GAAIA,EAAU,EAEZ,EAAA3S,EAAAC,SAAQ,kCACR,IAAI+S,GAAc/L,EAAKmK,QAAU5Q,EAAAmI,YAAYE,KAC7C,IAAImK,EACF,MAAO/L,GAAK5E,SAASyJ,QAClBpI,KAAK,SAACrB,GAAe4E,EAAK5E,SAASA,SAAWA,IAC9CqB,KAAK,iBAAMuD,GAAK5G,WAAW4S,KAAK,kCAAmC,UACnEvP,KAAK,iBAAM2N,GAAcjS,KAAd6H,UAKhB,EAAAjH,EAAAC,SAAQ,sCAEV,QAAO,OV0yBR+F,IAAK,kBACL/C,MAAO,WUvyBQ,GAAAmQ,GAAAvU,MAChB,EAAAmB,EAAAC,SAAQ,4BACRpB,KAAKwB,WAAW+D,GAAG,SAAU,SAACC,EAAOsO,GACnC,GAAIA,EAAU,EAEZ,EAAA3S,EAAAC,SAAQ,qCACR,IAAI+S,GAAcI,EAAKhC,QAAU5Q,EAAAmI,YAAYE,KAC7C,IAAImK,EACF,MAAOI,GAAK/Q,SAASyJ,QAClBpI,KAAK,SAACrB,GAAe+Q,EAAK/Q,SAASA,SAAWA,IAC9CqB,KAAK,iBAAM0P,GAAK/S,WAAW4S,KAAK,qCAAsC,UACtEvP,KAAK,iBAAMkO,GAAiBxS,KAAjBgU,UAKhB,EAAApT,EAAAC,SAAQ,yCAEV,QAAO,QVgzBHyS,IAGTjU,GAAQmB,QU9yBM8S","file":"video-player.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"VideoPlayer\"] = factory();\n\telse\n\t\troot[\"VideoPlayer\"] = factory();\n})(this, function() {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"VideoPlayer\"] = factory();\n\telse\n\t\troot[\"VideoPlayer\"] = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 0:\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.VERSION = undefined;\n\t\n\tvar _package = __webpack_require__(68);\n\t\n\tvar _package2 = _interopRequireDefault(_package);\n\t\n\tvar _player = __webpack_require__(59);\n\t\n\tvar _player2 = _interopRequireDefault(_player);\n\t\n\tvar _metadata = __webpack_require__(56);\n\t\n\tvar _metadata2 = _interopRequireDefault(_metadata);\n\t\n\tvar _view = __webpack_require__(69);\n\t\n\tvar _view2 = _interopRequireDefault(_view);\n\t\n\tvar _constants = __webpack_require__(60);\n\t\n\tvar _logger = __webpack_require__(64);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tVoonto.ready.then(function (app) {\n\t var config = app.lookup(_constants.CONFIG_NAMESPACE);\n\t if (!config.serviceUrl) {\n\t (0, _logger.showError)('service url is not defined within ' + _constants.CONFIG_NAMESPACE);\n\t throw Error('[VideoPlayer] service url is not defined within ' + _constants.CONFIG_NAMESPACE);\n\t }\n\t\n\t Voonto.require('jquery').then(function ($) {\n\t if (!$('#' + _constants.MODAL_LAYER_ID).length) {\n\t $('body').append('
');\n\t }\n\t _init(config);\n\t app.on('voonto:reload', function (event, context$) {\n\t _init(config, context$);\n\t });\n\t app.on('videoplayer:refresh', function (event, context$) {\n\t _init(config, context$);\n\t });\n\t });\n\t\n\t // subscribe to visibility change events\n\t document.addEventListener('visibilitychange', function () {\n\t if (document.visibilityState === 'hidden') {\n\t (0, _logger.showLog)('index.js::visibilitychange::hidden');\n\t $('video').each(function () {\n\t var video$ = $(this).get(0);\n\t // pause video\n\t if (video$ && !video$.paused) {\n\t return video$.pause();\n\t }\n\t // pause ad\n\t return setTimeout(function () {\n\t if (video$ && typeof videojs !== 'undefined' && videojs(video$.id) && videojs(video$.id).ima3 && videojs(video$.id).ima3.adsManager) {\n\t videojs(video$.id).ima3.adsManager.pause();\n\t }\n\t }, 0);\n\t });\n\t }\n\t if (document.visibilityState === 'visible') {\n\t (0, _logger.showLog)('index.js::visibilitychange::visible');\n\t }\n\t });\n\t});\n\t\n\tvar VERSION = exports.VERSION = _package2.default.version;\n\t\n\t/* Private */\n\t\n\tfunction _init(config, context$) {\n\t (0, _logger.showLog)('index.js::_init::Version ' + VERSION);\n\t $('[data-voc-video-player]', context$).each(function () {\n\t var container$ = $(this);\n\t var options = {};\n\t\n\t $.extend(options, _constants.DEFAULTS, {\n\t source: container$.data('voc-video-player-source'),\n\t accountname: container$.data('voc-video-player-accountname'),\n\t videoid: container$.data('voc-video-player-videoid'),\n\t autoplay: container$.data('voc-video-player-autoplay'),\n\t author: container$.data('voc-video-player-author'),\n\t bumperid: container$.data('voc-video-player-bumperid'),\n\t controls: container$.data('voc-video-player-controls'),\n\t description: container$.data('voc-video-player-description'),\n\t domain: container$.data('voc-video-player-domain'),\n\t edition: container$.data('voc-video-player-edition'),\n\t link: container$.data('voc-video-player-link'),\n\t loop: container$.data('voc-video-player-loop'),\n\t longdescription: container$.data('voc-video-player-longdescription'),\n\t modallayer: container$.data('voc-video-player-modallayer'),\n\t muted: container$.data('voc-video-player-muted'),\n\t name: container$.data('voc-video-player-name'),\n\t newsid: container$.data('voc-video-player-newsid'),\n\t playerid: container$.data('voc-video-player-playerid'),\n\t playlistid: container$.data('voc-video-player-playlistid'),\n\t playlistorientation: container$.data('voc-video-player-playlistorientation'),\n\t playsinline: container$.data('voc-video-player-playsinline'),\n\t poster: container$.data('voc-video-player-poster'),\n\t template: container$.data('voc-video-player-template'),\n\t src: container$.data('voc-video-player-src'),\n\t videoad: container$.data('voc-video-player-videoad'),\n\t videolive: container$.data('voc-video-player-videolive')\n\t });\n\t\n\t var metadata = new _metadata2.default(options, config.serviceUrl);\n\t var player = new _player2.default(options, config.serviceUrl);\n\t var view = new _view2.default({\n\t metadata: metadata,\n\t player: player,\n\t container$: container$\n\t });\n\t view.render();\n\t });\n\t\n\t $('[data-voc-video-poster]', context$).each(function () {\n\t var container$ = $(this);\n\t var options = {};\n\t $.extend(options, _constants.DEFAULTS, {\n\t source: container$.data('voc-video-poster-source'),\n\t accountname: container$.data('voc-video-poster-accountname'),\n\t videoid: container$.data('voc-video-poster-videoid')\n\t });\n\t\n\t var metadata = new _metadata2.default(options, config.serviceUrl);\n\t var player = new _player2.default(options, config.serviceUrl);\n\t var view = new _view2.default({\n\t metadata: metadata,\n\t player: player,\n\t container$: container$\n\t });\n\t view.renderPoster();\n\t });\n\t\n\t $('[data-voc-video-thumbnail]', context$).each(function () {\n\t var container$ = $(this);\n\t var options = {};\n\t $.extend(options, _constants.DEFAULTS, {\n\t source: container$.data('voc-video-thumbnail-source'),\n\t accountname: container$.data('voc-video-thumbnail-accountname'),\n\t videoid: container$.data('voc-video-thumbnail-videoid')\n\t });\n\t\n\t var metadata = new _metadata2.default(options, config.serviceUrl);\n\t var player = new _player2.default(options, config.serviceUrl);\n\t var view = new _view2.default({\n\t metadata: metadata,\n\t player: player,\n\t container$: container$\n\t });\n\t view.renderThumbnail();\n\t });\n\t}\n\n/***/ }),\n\n/***/ 56:\n/***/ (function(module, exports) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tvar Metadata = function () {\n\t function Metadata(_ref, serviceUrl) {\n\t var accountname = _ref.accountname,\n\t source = _ref.source,\n\t videoid = _ref.videoid;\n\t\n\t _classCallCheck(this, Metadata);\n\t\n\t this.metadata = {};\n\t this.url = serviceUrl + '/videos/source/' + source + '/account/' + accountname + '/' + videoid + '.json';\n\t }\n\t\n\t _createClass(Metadata, [{\n\t key: 'fetch',\n\t value: function fetch() {\n\t if (this.promise) {\n\t return this.promise.then(function (json) {\n\t return json.video.metadata;\n\t });\n\t }\n\t\n\t this.promise = Voonto.$.ajax(this.url, {\n\t dataType: 'json'\n\t });\n\t\n\t return this.promise.then(function (json) {\n\t return json.video.metadata;\n\t });\n\t }\n\t }]);\n\t\n\t return Metadata;\n\t}();\n\t\n\texports.default = Metadata;\n\n/***/ }),\n\n/***/ 59:\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _constants = __webpack_require__(60);\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tvar Player = function () {\n\t function Player(_ref, serviceUrl) {\n\t var source = _ref.source,\n\t accountname = _ref.accountname,\n\t videoid = _ref.videoid,\n\t autoplay = _ref.autoplay,\n\t author = _ref.author,\n\t bumperid = _ref.bumperid,\n\t controls = _ref.controls,\n\t description = _ref.description,\n\t domain = _ref.domain,\n\t edition = _ref.edition,\n\t link = _ref.link,\n\t loop = _ref.loop,\n\t longdescription = _ref.longdescription,\n\t modallayer = _ref.modallayer,\n\t muted = _ref.muted,\n\t name = _ref.name,\n\t newsid = _ref.newsid,\n\t playerid = _ref.playerid,\n\t playlistid = _ref.playlistid,\n\t playlistorientation = _ref.playlistorientation,\n\t playsinline = _ref.playsinline,\n\t poster = _ref.poster,\n\t template = _ref.template,\n\t src = _ref.src,\n\t videoad = _ref.videoad,\n\t videolive = _ref.videolive;\n\t\n\t _classCallCheck(this, Player);\n\t\n\t this.options = {\n\t source: source,\n\t accountname: accountname,\n\t videoid: videoid,\n\t autoplay: autoplay,\n\t author: author,\n\t bumperid: bumperid,\n\t controls: controls,\n\t description: description,\n\t domain: domain,\n\t edition: edition,\n\t link: link,\n\t loop: loop,\n\t longdescription: longdescription,\n\t modallayer: modallayer,\n\t muted: muted,\n\t name: name,\n\t newsid: newsid,\n\t playerid: playerid,\n\t playlistid: playlistid,\n\t playlistorientation: playlistorientation,\n\t playsinline: playsinline,\n\t poster: poster,\n\t template: template,\n\t src: src,\n\t videoad: videoad,\n\t videolive: videolive\n\t };\n\t this.url = serviceUrl + '/videos/source/' + source + '/account/' + accountname + '/' + videoid + '.html';\n\t }\n\t\n\t _createClass(Player, [{\n\t key: 'fetch',\n\t value: function fetch() {\n\t var _this = this;\n\t\n\t this.promise = Voonto.ready.then(function () {\n\t return _getPromise.call(_this, window.__VOONTO__.getUserType());\n\t }).catch(function () {\n\t return _getPromise.call(_this, _constants.DEFAULT_USERTYPE);\n\t });\n\t\n\t return this.promise;\n\t }\n\t }]);\n\t\n\t return Player;\n\t}();\n\t\n\texports.default = Player;\n\t\n\t/* Private */\n\t\n\tfunction _getPromise(userType) {\n\t this.options.videoad = !this.options.videoad ? this.options.videoad : _constants.USERTYPE_AD[userType];\n\t this.url += '?' + _buildQueryString.call(this);\n\t return Voonto.$.ajax(this.url, { dataType: 'html' });\n\t}\n\t\n\tfunction _buildQueryString() {\n\t var _this2 = this;\n\t\n\t var params = [];\n\t\n\t Object.keys(this.options).forEach(function (option) {\n\t if (_this2.options[option] || typeof _this2.options[option] === 'boolean') {\n\t params.push({\n\t key: option,\n\t value: encodeURIComponent(_this2.options[option])\n\t });\n\t }\n\t });\n\t\n\t params.push({\n\t key: 'isdesktop',\n\t value: Voonto.is.desktop()\n\t });\n\t\n\t params.push({\n\t key: 'language',\n\t value: '' + _constants.LANGUAGE\n\t });\n\t\n\t return params.map(function (param) {\n\t return param.key + '=' + param.value;\n\t }).join('&');\n\t}\n\n/***/ }),\n\n/***/ 60:\n/***/ (function(module, exports) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\tvar CONFIG_NAMESPACE = exports.CONFIG_NAMESPACE = 'vocento.config.multimedia.videoplayer';\n\tvar LANGUAGE = exports.LANGUAGE = document.documentElement.lang && document.documentElement.lang.split('-').shift() || 'es';\n\tvar LAZYLOAD_CLASS = exports.LAZYLOAD_CLASS = 'lazy';\n\tvar VIEW_STATES = exports.VIEW_STATES = Object.freeze({\n\t EMPTY: 0,\n\t WITH_POSTER: 1,\n\t WITH_PLAYER: 2\n\t});\n\tvar VOCUSER_READY_PROMISE = exports.VOCUSER_READY_PROMISE = 'vocuser:ready';\n\tvar MODAL_LAYER_ID = exports.MODAL_LAYER_ID = 'voc-video-player-modalcontainer';\n\tvar MODAL_LAYER_PAYWALL_CONTENT_EVENT = exports.MODAL_LAYER_PAYWALL_CONTENT_EVENT = 'paywall:content';\n\tvar MODAL_LAYER_TAG_MANAGER_SET_EVENT = exports.MODAL_LAYER_TAG_MANAGER_SET_EVENT = 'vtm:set';\n\tvar MODAL_LAYER_BOOTSTRAP_OPTIONS = exports.MODAL_LAYER_BOOTSTRAP_OPTIONS = Object.freeze({\n\t backdrop: true,\n\t keyboard: true,\n\t show: true\n\t});\n\tvar DEFAULTS = exports.DEFAULTS = {\n\t autoplay: false,\n\t controls: true,\n\t loop: false,\n\t modallayer: false,\n\t muted: false,\n\t playsinline: true,\n\t videoad: true,\n\t videolive: false\n\t};\n\tvar SOURCES = exports.SOURCES = Object.freeze({\n\t BRIGHTCOVE: 'brightcove',\n\t YOUTUBE: 'youtube',\n\t VIMEO: 'vimeo',\n\t DAILYMOTION: 'dailymotion',\n\t UNKNOWN: 'unknown'\n\t});\n\tvar DEFAULT_USERTYPE = exports.DEFAULT_USERTYPE = 'anonimo';\n\tvar USERTYPE_AD = exports.USERTYPE_AD = Object.freeze({\n\t anonimo: true,\n\t registrado: true,\n\t trial: false,\n\t suscriptor: false,\n\t periodista: false\n\t});\n\tvar SHOW_LOGS = exports.SHOW_LOGS = document.location.search.indexOf('debug=1') > -1;\n\tvar DEFAULT_LOG_TEMPLATE = exports.DEFAULT_LOG_TEMPLATE = '[VideoPlayer]';\n\n/***/ }),\n\n/***/ 63:\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _logger = __webpack_require__(64);\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tvar DURATION_TEMPLATE = '\\n{duration}\\n';\n\t\n\tvar EmbedView = function () {\n\t /*\n\t * Function that initialize the videoplayer embed view\n\t * @param {Object} metadata\n\t * @param {Object} player\n\t * @param {Object} container$\n\t */\n\t function EmbedView(metadata, player, container$) {\n\t _classCallCheck(this, EmbedView);\n\t\n\t this.metadata = metadata;\n\t this.player = player;\n\t this.container$ = container$;\n\t }\n\t\n\t _createClass(EmbedView, [{\n\t key: 'fetch',\n\t value: function fetch() {\n\t var _this = this;\n\t\n\t (0, _logger.showLog)('embed.js::fetch');\n\t return this.player.fetch().then(function (player) {\n\t return _this.container$.append(player);\n\t }).then(function () {\n\t return _this.container$.append('');\n\t }).then(function () {\n\t return _this.container$.append('');\n\t }).then(function () {\n\t return _this.container$.append('');\n\t }).then(function () {\n\t return _removeExtraElements.call(_this);\n\t }).then(function () {\n\t return _addDurationElement.call(_this);\n\t });\n\t }\n\t }]);\n\t\n\t return EmbedView;\n\t}();\n\t\n\texports.default = EmbedView;\n\t\n\t/* Private */\n\t\n\tfunction _removeExtraElements() {\n\t this.container$.children('img').remove();\n\t this.container$.children().find('img').remove();\n\t if (this.container$.children().find('iframe').length) {\n\t this.container$.children('[data-voc-video-player] > i, [data-voc-video-player] > span').remove();\n\t }\n\t}\n\t\n\tfunction _addDurationElement() {\n\t var duration = _formatMilliseconds(this.metadata.duration);\n\t duration = duration.minutes === 0 && duration.seconds === 0 ? 'directo' : duration.minutes + ':' + duration.seconds;\n\t $('[data-voc-video-player-duration]').each(function () {\n\t var element$ = $(this);\n\t element$.html(DURATION_TEMPLATE.replace(/{duration}/g, duration));\n\t });\n\t}\n\t\n\tfunction _formatMilliseconds(millis) {\n\t if (Number.isNaN(millis) || millis < 0) {\n\t return null;\n\t }\n\t\n\t var days = void 0,\n\t hours = void 0,\n\t minutes = void 0,\n\t seconds = void 0,\n\t milliseconds = void 0;\n\t seconds = Math.floor(millis / 1000);\n\t minutes = Math.floor(seconds / 60);\n\t seconds %= 60;\n\t seconds = seconds < 10 ? '0' + seconds : seconds;\n\t hours = Math.floor(minutes / 60);\n\t minutes %= 60;\n\t minutes = minutes < 10 ? '0' + minutes : minutes;\n\t days = Math.floor(hours / 24);\n\t days = days < 10 ? '0' + days : days;\n\t hours %= 24;\n\t hours = hours < 10 ? '0' + hours : hours;\n\t milliseconds = Math.floor(millis % 1000 * 1000) / 1000;\n\t return {\n\t days: days, hours: hours, minutes: minutes, seconds: seconds, milliseconds: milliseconds\n\t };\n\t}\n\n/***/ }),\n\n/***/ 64:\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.showLog = showLog;\n\texports.showWarn = showWarn;\n\texports.showError = showError;\n\t\n\tvar _constants = __webpack_require__(60);\n\t\n\tfunction showLog() {\n\t var _console;\n\t\n\t _constants.SHOW_LOGS && (_console = console).log.apply(_console, [_constants.DEFAULT_LOG_TEMPLATE].concat(Array.prototype.slice.call(arguments)));\n\t}\n\t\n\tfunction showWarn() {\n\t var _console2;\n\t\n\t _constants.SHOW_LOGS && (_console2 = console).warn.apply(_console2, [_constants.DEFAULT_LOG_TEMPLATE].concat(Array.prototype.slice.call(arguments)));\n\t}\n\t\n\tfunction showError() {\n\t var _console3;\n\t\n\t _constants.SHOW_LOGS && (_console3 = console).error.apply(_console3, [_constants.DEFAULT_LOG_TEMPLATE].concat(Array.prototype.slice.call(arguments)));\n\t}\n\n/***/ }),\n\n/***/ 67:\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _constants = __webpack_require__(60);\n\t\n\tvar _logger = __webpack_require__(64);\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tvar AGENCY_PATTERN = '/AG-|PG-|AT-|EP-|JM-|ACB/g',\n\t AGENCY = 'agen',\n\t VIDEOS = 'videos',\n\t VIDEO = 'video',\n\t PHP = 'php';\n\t\n\tvar ModalView = function () {\n\t /*\n\t * Function that initialize the videoplayer modal view\n\t * @param {Object} metadata\n\t * @param {Object} player\n\t */\n\t function ModalView(metadata, player) {\n\t _classCallCheck(this, ModalView);\n\t\n\t this.metadata = metadata;\n\t this.player = player;\n\t this.container$ = Voonto.$('#' + _constants.MODAL_LAYER_ID);\n\t }\n\t\n\t _createClass(ModalView, [{\n\t key: 'fetch',\n\t value: function fetch() {\n\t var _this = this;\n\t\n\t (0, _logger.showLog)('modal.js::fetch');\n\t this.container$.empty();\n\t Voonto.is.desktop() ? this.player.options.autoplay = true : this.player.options.autoplay = false;\n\t\n\t return this.player.fetch().then(function (player) {\n\t return _this.container$.html(player);\n\t }).then(function () {\n\t return _this.container$.children().first().modal(_constants.MODAL_LAYER_BOOTSTRAP_OPTIONS);\n\t }).then(function () {\n\t return _pauseVideos.call(_this);\n\t }).then(function () {\n\t return _bindModalEvents.call(_this);\n\t }).then(function () {\n\t return _renderSocialButtons.call(_this);\n\t }).then(function () {\n\t return _renderMenuUnderline.call(_this);\n\t }).then(function () {\n\t return _tracking.call(_this);\n\t }).then(function () {\n\t Voonto.getInstance().trigger(_constants.MODAL_LAYER_PAYWALL_CONTENT_EVENT);\n\t });\n\t }\n\t }]);\n\t\n\t return ModalView;\n\t}();\n\t\n\texports.default = ModalView;\n\t\n\t/* Private */\n\t\n\tfunction _pauseVideos() {\n\t $('video').each(function () {\n\t var video$ = $(this).get(0);\n\t // pause video\n\t if (video$ && !video$.paused) {\n\t return video$.pause();\n\t }\n\t // pause ad\n\t return setTimeout(function () {\n\t if (video$ && typeof videojs !== 'undefined' && videojs(video$.id) && videojs(video$.id).ima3 && videojs(video$.id).ima3.adsManager) {\n\t videojs(video$.id).ima3.adsManager.pause();\n\t }\n\t }, 0);\n\t });\n\t}\n\t\n\tfunction _bindModalEvents() {\n\t var _this2 = this;\n\t\n\t this.container$.on('hide.bs.modal', function () {\n\t return _this2.container$.empty();\n\t });\n\t}\n\t\n\tfunction _renderSocialButtons() {\n\t if (this.metadata.link) {\n\t this.container$.children().first().find('[data-voc-social-buttons]').socialButtons();\n\t }\n\t}\n\t\n\tfunction _renderMenuUnderline() {\n\t this.container$.children().first().find('[data-voc-animated-underline]').animatedUnderline();\n\t}\n\t\n\tfunction _tracking() {\n\t var source = 'rl';\n\t\n\t if (this.metadata.reference_id) {\n\t source = this.metadata.reference_id.substr(0, 3);\n\t source = source.match(AGENCY_PATTERN) ? AGENCY : source.split('-').shift().toLowerCase();\n\t }\n\t\n\t var subsecciones = [];\n\t\n\t if (this.metadata.tags) {\n\t var tags = this.metadata.tags;\n\t var linkurl = this.metadata.linkurl ? this.metadata.linkurl : '';\n\t\n\t Object.values(tags).forEach(function (tag) {\n\t if (tag.indexOf('/main') !== -1) {\n\t var cats = tag.replace('/main', '').split('/');\n\t Object.values(cats).forEach(function (cat) {\n\t subsecciones.push(cat.split('_').pop());\n\t });\n\t return false;\n\t } else if (linkurl.indexOf('/' + tag + '/') !== -1) {\n\t subsecciones = tag.split('/');\n\t }\n\t return true;\n\t });\n\t }\n\t\n\t Voonto.getInstance().trigger(_constants.MODAL_LAYER_TAG_MANAGER_SET_EVENT, {\n\t seccion: VIDEOS,\n\t subseccion1: subsecciones[0] ? subsecciones[0] : '',\n\t subseccion2: subsecciones[1] ? subsecciones[1] : '',\n\t subseccion3: subsecciones[2] ? subsecciones[2] : '',\n\t subseccion4: subsecciones[3] ? subsecciones[3] : '',\n\t titular: this.metadata.name,\n\t fechaPrimeraPublicacion: Voonto.moment(this.metadata.createdAt).format('YYYYMMDDkkmmss'),\n\t fechaModificacion: Voonto.moment(this.metadata.updatedAt).format('YYYYMMDDkkmmss'),\n\t tipoContenido: VIDEO,\n\t sistemaPublicacion: PHP,\n\t firmaAutor: this.metadata.author.name,\n\t origenContenido: source\n\t });\n\t}\n\n/***/ }),\n\n/***/ 68:\n/***/ (function(module, exports) {\n\n\tmodule.exports = {\n\t\t\"name\": \"video-player\",\n\t\t\"version\": \"1.2.3\",\n\t\t\"description\": \"\",\n\t\t\"main\": \"src/index.js\",\n\t\t\"scripts\": {\n\t\t\t\"start\": \"webpack-dev-server\",\n\t\t\t\"build\": \"./node_modules/webpack/bin/webpack.js\",\n\t\t\t\"report\": \"plato -r -d report -l .jshintrc -t video-player src\"\n\t\t},\n\t\t\"contributors\": [\n\t\t\t\"Iván Pérez \",\n\t\t\t\"Jose Manuel Ortega \",\n\t\t\t\"Adolfo Sanz Barandiaran \"\n\t\t],\n\t\t\"license\": \"SEE LICENSE IN LICENSE.md\",\n\t\t\"devDependencies\": {\n\t\t\t\"babel-core\": \"^6.17.0\",\n\t\t\t\"babel-loader\": \"^6.2.5\",\n\t\t\t\"babel-preset-es2015\": \"^6.16.0\",\n\t\t\t\"chai\": \"^3.5.0\",\n\t\t\t\"chalk\": \"^1.1.3\",\n\t\t\t\"html-webpack-plugin\": \"^2.24.1\",\n\t\t\t\"json-loader\": \"^0.5.4\",\n\t\t\t\"mocha\": \"^3.1.0\",\n\t\t\t\"mocha-loader\": \"^1.0.0\",\n\t\t\t\"webpack\": \"^1.13.3\",\n\t\t\t\"webpack-shell-plugin\": \"^0.4.3\"\n\t\t}\n\t};\n\n/***/ }),\n\n/***/ 69:\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _embed = __webpack_require__(63);\n\t\n\tvar _embed2 = _interopRequireDefault(_embed);\n\t\n\tvar _modal = __webpack_require__(67);\n\t\n\tvar _modal2 = _interopRequireDefault(_modal);\n\t\n\tvar _constants = __webpack_require__(60);\n\t\n\tvar _logger = __webpack_require__(64);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tvar POSTER_TEMPLATE = '\\n\\n\\n';\n\t\n\tvar View = function () {\n\t /*\n\t * Function that initialize the videoplayer view\n\t * @param {Object} metadata\n\t * @param {Object} player\n\t * @param {Object} container$\n\t */\n\t function View(_ref) {\n\t var metadata = _ref.metadata,\n\t player = _ref.player,\n\t container$ = _ref.container$;\n\t\n\t _classCallCheck(this, View);\n\t\n\t this.metadata = metadata;\n\t this.player = player;\n\t this.container$ = container$;\n\t this.state = _constants.VIEW_STATES.EMPTY;\n\t }\n\t\n\t _createClass(View, [{\n\t key: 'render',\n\t value: function render() {\n\t var _this = this;\n\t\n\t (0, _logger.showLog)('view.js::render');\n\t this.container$.on('inview', function (event, isInView) {\n\t var isFullScreen = document.fullScreen || document.mozFullScreen || document.webkitIsFullScreen;\n\t if (isInView) {\n\t // ISINVIEW\n\t (0, _logger.showLog)('view.js::render::isInView');\n\t var isViewEmpty = _this.state === _constants.VIEW_STATES.EMPTY;\n\t if (isViewEmpty) {\n\t return _this.metadata.fetch().then(function (metadata) {\n\t _this.metadata.metadata = metadata;\n\t }).then(function () {\n\t return _this.container$.attr('data-voc-video-player-processed', 'true');\n\t }).then(function () {\n\t return _render.call(_this);\n\t });\n\t }\n\t var video$ = _this.container$.children().find('video').get(0);\n\t // play video after ad\n\t setTimeout(function () {\n\t if (!isFullScreen && video$ && typeof videojs !== 'undefined' && videojs(video$.id) && videojs(video$.id).ima3 && videojs(video$.id).ima3.adsManager) {\n\t videojs(video$.id).one('playing', function () {\n\t return video$.play();\n\t });\n\t }\n\t }, 0);\n\t } else {\n\t // NOT ISINVIEW\n\t (0, _logger.showLog)('view.js::render::NOT-isInView');\n\t var _video$ = _this.container$.children().find('video').get(0);\n\t // pause video\n\t if (_video$ && !_video$.paused) {\n\t return _video$.pause();\n\t }\n\t // pause video after ad\n\t setTimeout(function () {\n\t if (_video$ && typeof videojs !== 'undefined' && videojs(_video$.id) && videojs(_video$.id).ima3 && videojs(_video$.id).ima3.adsManager) {\n\t videojs(_video$.id).one('playing', function () {\n\t return _video$.pause();\n\t });\n\t }\n\t }, 0);\n\t }\n\t return true;\n\t });\n\t }\n\t }, {\n\t key: 'renderPoster',\n\t value: function renderPoster() {\n\t var _this2 = this;\n\t\n\t (0, _logger.showLog)('view.js::renderPoster');\n\t this.container$.on('inview', function (event, isInView) {\n\t if (isInView) {\n\t // ISINVIEW\n\t (0, _logger.showLog)('view.js::renderPoster::isInView');\n\t var isViewEmpty = _this2.state === _constants.VIEW_STATES.EMPTY;\n\t if (isViewEmpty) {\n\t return _this2.metadata.fetch().then(function (metadata) {\n\t _this2.metadata.metadata = metadata;\n\t }).then(function () {\n\t return _this2.container$.attr('data-voc-video-poster-processed', 'true');\n\t }).then(function () {\n\t return _renderPoster.call(_this2);\n\t });\n\t }\n\t } else {\n\t // NOT ISINVIEW\n\t (0, _logger.showLog)('view.js::renderPoster::NOT-isInView');\n\t }\n\t return true;\n\t });\n\t }\n\t }, {\n\t key: 'renderThumbnail',\n\t value: function renderThumbnail() {\n\t var _this3 = this;\n\t\n\t (0, _logger.showLog)('view.js::renderThumbnail');\n\t this.container$.on('inview', function (event, isInView) {\n\t if (isInView) {\n\t // ISINVIEW\n\t (0, _logger.showLog)('view.js::renderThumbnail::isInView');\n\t var isViewEmpty = _this3.state === _constants.VIEW_STATES.EMPTY;\n\t if (isViewEmpty) {\n\t return _this3.metadata.fetch().then(function (metadata) {\n\t _this3.metadata.metadata = metadata;\n\t }).then(function () {\n\t return _this3.container$.attr('data-voc-video-thumbnail-processed', 'true');\n\t }).then(function () {\n\t return _renderThumbnail.call(_this3);\n\t });\n\t }\n\t } else {\n\t // NOT ISINVIEW\n\t (0, _logger.showLog)('view.js::renderThumbnail::NOT-isInView');\n\t }\n\t return true;\n\t });\n\t }\n\t }]);\n\t\n\t return View;\n\t}();\n\t\n\texports.default = View;\n\t\n\t/* Private */\n\t\n\t/**\n\t * render video-playerplayer configured inside a page\n\t */\n\t\n\tfunction _render() {\n\t var _isPlayerModalLayer = this.player.options.modallayer;\n\t var _isViewEmpty = this.state === _constants.VIEW_STATES.EMPTY;\n\t if (_isViewEmpty) {\n\t if (_isPlayerModalLayer) {\n\t _renderPoster.call(this);\n\t this.state = _constants.VIEW_STATES.WITH_POSTER;\n\t } else {\n\t _renderPlayer.call(this);\n\t this.state = _constants.VIEW_STATES.WITH_PLAYER;\n\t }\n\t }\n\t}\n\t\n\tfunction _renderPoster() {\n\t var _this4 = this;\n\t\n\t if (!this.player.options.poster) {\n\t this.player.options.poster = this.metadata.metadata.poster;\n\t }\n\t\n\t // remove extra img\n\t if (this.container$.find('img').length) {\n\t this.container$.find('img').remove();\n\t }\n\t\n\t this.container$.append(POSTER_TEMPLATE.replace(/{poster}/g, this.player.options.poster));\n\t setTimeout(function () {\n\t return _this4.container$.find('.' + _constants.LAZYLOAD_CLASS).lazyload();\n\t }, 0);\n\t\n\t var _isPlayerModalLayer = this.player.options.modallayer;\n\t if (_isPlayerModalLayer) {\n\t _bindPosterModalEvents.call(this);\n\t } else {\n\t _bindPosterEmbedEvents.call(this);\n\t }\n\t}\n\t\n\tfunction _renderThumbnail() {\n\t var _this5 = this;\n\t\n\t if (!this.player.options.poster) {\n\t this.player.options.poster = this.metadata.metadata.thumbnail;\n\t }\n\t\n\t // remove extra img\n\t if (this.container$.find('img').length) {\n\t this.container$.find('img').remove();\n\t }\n\t\n\t this.container$.append(POSTER_TEMPLATE.replace(/{poster}/g, this.player.options.poster));\n\t setTimeout(function () {\n\t return _this5.container$.find('.' + _constants.LAZYLOAD_CLASS).lazyload();\n\t }, 0);\n\t\n\t var _isPlayerModalLayer = this.player.options.modallayer;\n\t if (_isPlayerModalLayer) {\n\t _bindPosterModalEvents.call(this);\n\t } else {\n\t _bindPosterEmbedEvents.call(this);\n\t }\n\t}\n\t\n\tfunction _bindPosterModalEvents() {\n\t var _this6 = this;\n\t\n\t this.container$.on('click', function () {\n\t return _renderPlayerModal.call(_this6);\n\t });\n\t}\n\t\n\tfunction _bindPosterEmbedEvents() {}\n\t\n\tfunction _renderPlayer() {\n\t var _isPlayerModalLayer = this.player.options.modallayer;\n\t if (_isPlayerModalLayer) {\n\t _renderPlayerModal.call(this);\n\t } else {\n\t _renderPlayerEmbed.call(this);\n\t }\n\t}\n\t\n\tfunction _renderPlayerEmbed() {\n\t var _this7 = this;\n\t\n\t this.container$.off('click');\n\t var embed = new _embed2.default(this.metadata.metadata, this.player, this.container$);\n\t embed.fetch().then(function () {\n\t setTimeout(function () {\n\t return _this7.container$.find('video').on('playing', function () {\n\t _this7.container$.children('[data-voc-video-player] > i, [data-voc-video-player] > span').remove();\n\t });\n\t }, 0);\n\t }).then(function () {\n\t setTimeout(function () {\n\t return _this7.container$.find('video').on('playing', function () {\n\t _this7.container$.children('[data-voc-video-player] > i, [data-voc-video-player] > span').remove();\n\t });\n\t }, 1000);\n\t }).then(function () {\n\t setTimeout(function () {\n\t return _this7.container$.find('video').on('playing', function () {\n\t _this7.container$.children('[data-voc-video-player] > i, [data-voc-video-player] > span').remove();\n\t });\n\t }, 2000);\n\t });\n\t}\n\t\n\tfunction _renderPlayerModal() {\n\t var _this8 = this;\n\t\n\t this.container$.off('click');\n\t var modal = new _modal2.default(this.metadata.metadata, this.player);\n\t modal.fetch().then(function () {\n\t setTimeout(function () {\n\t return _this8.container$.on('click', function () {\n\t return _renderPlayerModal.call(_this8);\n\t });\n\t }, 0);\n\t });\n\t}\n\n/***/ })\n\n/******/ })\n});\n;\n\n\n// WEBPACK FOOTER //\n// video-player.js"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 5740c1b6e1887c0f748a","import pkg from '../package.json';\nimport Player from './models/player';\nimport Metadata from './models/metadata';\nimport View from './views/view';\nimport {\n DEFAULTS,\n CONFIG_NAMESPACE,\n MODAL_LAYER_ID\n} from './constants';\nimport {\n showLog,\n showWarn,\n showError\n} from './logger';\n\nVoonto.ready.then((app) => {\n const config = app.lookup(CONFIG_NAMESPACE);\n if (!config.serviceUrl) {\n showError(`service url is not defined within ${CONFIG_NAMESPACE}`);\n throw Error(`[VideoPlayer] service url is not defined within ${CONFIG_NAMESPACE}`);\n }\n\n Voonto.require('jquery').then(function($) {\n if (!$(`#${MODAL_LAYER_ID}`).length) {\n $('body').append(`
`);\n }\n _init(config);\n app.on('voonto:reload', function (event, context$) {\n _init(config, context$);\n });\n app.on('videoplayer:refresh', function (event, context$) {\n _init(config, context$);\n });\n });\n\n\n // subscribe to visibility change events\n document.addEventListener('visibilitychange', function () {\n if (document.visibilityState === 'hidden') {\n showLog('index.js::visibilitychange::hidden');\n $('video').each(function() {\n let video$ = $(this).get(0);\n // pause video\n if (video$ && !video$.paused) {\n return video$.pause();\n }\n // pause ad\n return setTimeout(() => {\n if (video$\n && typeof videojs !== 'undefined'\n && videojs(video$.id)\n && videojs(video$.id).ima3\n && videojs(video$.id).ima3.adsManager) {\n videojs(video$.id).ima3.adsManager.pause();\n }\n }, 0);\n });\n }\n if (document.visibilityState === 'visible') {\n showLog('index.js::visibilitychange::visible');\n }\n });\n});\n\nexport const VERSION = pkg.version;\n\n/* Private */\n\nfunction _init(config, context$) {\n showLog(`index.js::_init::Version ${VERSION}`);\n $('[data-voc-video-player]', context$).each(function() {\n let container$ = $(this);\n let options = {};\n\n $.extend(options, DEFAULTS, {\n source: container$.data('voc-video-player-source'),\n accountname: container$.data('voc-video-player-accountname'),\n videoid: container$.data('voc-video-player-videoid'),\n autoplay: container$.data('voc-video-player-autoplay'),\n author: container$.data('voc-video-player-author'),\n bumperid: container$.data('voc-video-player-bumperid'),\n controls: container$.data('voc-video-player-controls'),\n description: container$.data('voc-video-player-description'),\n domain: container$.data('voc-video-player-domain'),\n edition: container$.data('voc-video-player-edition'),\n link: container$.data('voc-video-player-link'),\n loop: container$.data('voc-video-player-loop'),\n longdescription: container$.data('voc-video-player-longdescription'),\n modallayer: container$.data('voc-video-player-modallayer'),\n muted: container$.data('voc-video-player-muted'),\n name: container$.data('voc-video-player-name'),\n newsid: container$.data('voc-video-player-newsid'),\n playerid: container$.data('voc-video-player-playerid'),\n playlistid: container$.data('voc-video-player-playlistid'),\n playlistorientation: container$.data('voc-video-player-playlistorientation'),\n playsinline: container$.data('voc-video-player-playsinline'),\n poster: container$.data('voc-video-player-poster'),\n template: container$.data('voc-video-player-template'),\n src: container$.data('voc-video-player-src'),\n videoad: container$.data('voc-video-player-videoad'),\n videolive: container$.data('voc-video-player-videolive')\n });\n\n let metadata = new Metadata(options, config.serviceUrl);\n let player = new Player(options, config.serviceUrl);\n let view = new View({\n metadata,\n player,\n container$\n });\n view.render();\n });\n\n $('[data-voc-video-poster]', context$).each(function() {\n let container$ = $(this);\n let options = {};\n $.extend(options, DEFAULTS, {\n source: container$.data('voc-video-poster-source'),\n accountname: container$.data('voc-video-poster-accountname'),\n videoid: container$.data('voc-video-poster-videoid')\n });\n\n let metadata = new Metadata(options, config.serviceUrl);\n let player = new Player(options, config.serviceUrl);\n let view = new View({\n metadata,\n player,\n container$\n });\n view.renderPoster();\n });\n\n $('[data-voc-video-thumbnail]', context$).each(function() {\n let container$ = $(this);\n let options = {};\n $.extend(options, DEFAULTS, {\n source: container$.data('voc-video-thumbnail-source'),\n accountname: container$.data('voc-video-thumbnail-accountname'),\n videoid: container$.data('voc-video-thumbnail-videoid')\n });\n\n let metadata = new Metadata(options, config.serviceUrl);\n let player = new Player(options, config.serviceUrl);\n let view = new View({\n metadata,\n player,\n container$\n });\n view.renderThumbnail();\n });\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/index.js","class Metadata {\n constructor({accountname, source, videoid}, serviceUrl) {\n this.metadata = {};\n this.url = `${serviceUrl}/videos/source/${source}/account/${accountname}/${videoid}.json`;\n }\n\n fetch() {\n if (this.promise) { return this.promise.then((json) => json.video.metadata); }\n\n this.promise = Voonto.$.ajax(this.url, {\n dataType: 'json'\n });\n\n return this.promise.then((json) => json.video.metadata);\n }\n}\n\nexport default Metadata;\n\n\n\n// WEBPACK FOOTER //\n// ./src/models/metadata.js","import {\n LANGUAGE,\n USERTYPE_AD,\n DEFAULT_USERTYPE\n} from '../constants';\n\nclass Player {\n constructor(\n {\n source,\n accountname,\n videoid,\n autoplay,\n author,\n bumperid,\n controls,\n description,\n domain,\n edition,\n link,\n loop,\n longdescription,\n modallayer,\n muted,\n name,\n newsid,\n playerid,\n playlistid,\n playlistorientation,\n playsinline,\n poster,\n template,\n src,\n videoad,\n videolive\n },\n serviceUrl\n )\n {\n this.options = {\n source,\n accountname,\n videoid,\n autoplay,\n author,\n bumperid,\n controls,\n description,\n domain,\n edition,\n link,\n loop,\n longdescription,\n modallayer,\n muted,\n name,\n newsid,\n playerid,\n playlistid,\n playlistorientation,\n playsinline,\n poster,\n template,\n src,\n videoad,\n videolive\n };\n this.url = `${serviceUrl}/videos/source/${source}/account/${accountname}/${videoid}.html`;\n }\n\n fetch() {\n this.promise = Voonto.ready\n .then(() => {\n return _getPromise.call(this, window.__VOONTO__.getUserType());\n })\n .catch(() => {\n return _getPromise.call(this, DEFAULT_USERTYPE);\n });\n\n return this.promise;\n }\n}\n\nexport default Player;\n\n/* Private */\n\nfunction _getPromise(userType) {\n this.options.videoad = !this.options.videoad ? this.options.videoad : USERTYPE_AD[userType];\n this.url += `?${_buildQueryString.call(this)}`;\n return Voonto.$.ajax(this.url, {dataType: 'html'});\n}\n\nfunction _buildQueryString() {\n var params = [];\n\n Object.keys(this.options).forEach((option) => {\n if (this.options[option] || typeof this.options[option] === 'boolean') {\n params.push({\n key: option,\n value: encodeURIComponent(this.options[option])\n });\n }\n });\n\n params.push({\n key: 'isdesktop',\n value: Voonto.is.desktop()\n });\n\n params.push({\n key: 'language',\n value: `${LANGUAGE}`\n });\n\n return params.map((param) => {\n return `${param.key}=${param.value}`;\n }).join('&');\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/models/player.js","export const CONFIG_NAMESPACE = 'vocento.config.multimedia.videoplayer';\nexport const LANGUAGE = (document.documentElement.lang && document.documentElement.lang.split('-').shift()) || 'es';\nexport const LAZYLOAD_CLASS = 'lazy';\nexport const VIEW_STATES = Object.freeze({\n EMPTY: 0b00,\n WITH_POSTER: 0b01,\n WITH_PLAYER: 0b10\n});\nexport const VOCUSER_READY_PROMISE = 'vocuser:ready';\nexport const MODAL_LAYER_ID = 'voc-video-player-modalcontainer';\nexport const MODAL_LAYER_PAYWALL_CONTENT_EVENT = 'paywall:content';\nexport const MODAL_LAYER_TAG_MANAGER_SET_EVENT = 'vtm:set';\nexport const MODAL_LAYER_BOOTSTRAP_OPTIONS = Object.freeze({\n backdrop: true,\n keyboard: true,\n show: true\n});\nexport const DEFAULTS = {\n autoplay: false,\n controls: true,\n loop: false,\n modallayer: false,\n muted: false,\n playsinline: true,\n videoad: true,\n videolive: false\n};\nexport const SOURCES = Object.freeze({\n BRIGHTCOVE: 'brightcove',\n YOUTUBE: 'youtube',\n VIMEO: 'vimeo',\n DAILYMOTION: 'dailymotion',\n UNKNOWN: 'unknown'\n});\nexport const DEFAULT_USERTYPE = 'anonimo';\nexport const USERTYPE_AD = Object.freeze({\n anonimo: true,\n registrado: true,\n trial: false,\n suscriptor: false,\n periodista: false\n});\nexport const SHOW_LOGS = document.location.search.indexOf('debug=1') > -1;\nexport const DEFAULT_LOG_TEMPLATE = '[VideoPlayer]';\n\n\n\n// WEBPACK FOOTER //\n// ./src/constants.js","import {\n showLog,\n showError,\n showWarn\n} from '../logger';\n\nconst DURATION_TEMPLATE =\n`\n{duration}\n`;\n\nclass EmbedView {\n /*\n * Function that initialize the videoplayer embed view\n * @param {Object} metadata\n * @param {Object} player\n * @param {Object} container$\n */\n constructor(metadata, player, container$) {\n this.metadata = metadata;\n this.player = player;\n this.container$ = container$;\n }\n\n fetch() {\n showLog('embed.js::fetch');\n return this.player.fetch()\n .then((player) => this.container$.append(player))\n .then(() => this.container$.append(''))\n .then(() => this.container$.append(''))\n .then(() => this.container$.append(''))\n .then(() => _removeExtraElements.call(this))\n .then(() => _addDurationElement.call(this))\n ;\n }\n}\n\nexport default EmbedView;\n\n/* Private */\n\nfunction _removeExtraElements() {\n this.container$.children('img').remove();\n this.container$.children().find('img').remove();\n if (this.container$.children().find('iframe').length) {\n this.container$.children('[data-voc-video-player] > i, [data-voc-video-player] > span').remove();\n }\n}\n\nfunction _addDurationElement() {\n let duration = _formatMilliseconds(this.metadata.duration);\n duration = duration.minutes === 0 && duration.seconds === 0 ? 'directo' : duration.minutes + ':' + duration.seconds;\n $('[data-voc-video-player-duration]').each(function() {\n let element$ = $(this);\n element$.html(DURATION_TEMPLATE.replace(/{duration}/g, duration));\n });\n}\n\nfunction _formatMilliseconds(millis) {\n if (Number.isNaN(millis) || millis < 0) {\n return null;\n }\n\n let days, hours, minutes, seconds, milliseconds;\n seconds = Math.floor(millis / 1000);\n minutes = Math.floor(seconds / 60);\n seconds %= 60;\n seconds = seconds < 10 ? '0' + seconds : seconds;\n hours = Math.floor(minutes / 60);\n minutes %= 60;\n minutes = minutes < 10 ? '0' + minutes : minutes;\n days = Math.floor(hours / 24);\n days = days < 10 ? '0' + days : days;\n hours %= 24;\n hours = hours < 10 ? '0' + hours : hours;\n milliseconds = Math.floor((millis % 1000) * 1000) / 1000;\n return {\n days: days, hours: hours, minutes: minutes, seconds: seconds, milliseconds: milliseconds\n };\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/views/embed.js","import {\n SHOW_LOGS,\n DEFAULT_LOG_TEMPLATE\n} from './constants';\n\nexport function showLog() {\n SHOW_LOGS && console.log(DEFAULT_LOG_TEMPLATE, ...arguments);\n}\n\nexport function showWarn() {\n SHOW_LOGS && console.warn(DEFAULT_LOG_TEMPLATE, ...arguments);\n}\n\nexport function showError() {\n SHOW_LOGS && console.error(DEFAULT_LOG_TEMPLATE, ...arguments);\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/logger.js","import {\n MODAL_LAYER_ID,\n MODAL_LAYER_BOOTSTRAP_OPTIONS,\n MODAL_LAYER_PAYWALL_CONTENT_EVENT,\n MODAL_LAYER_TAG_MANAGER_SET_EVENT\n} from '../constants';\nimport {\n showLog,\n showError,\n showWarn\n} from '../logger';\n\nconst\n AGENCY_PATTERN = '/AG-|PG-|AT-|EP-|JM-|ACB/g',\n AGENCY = 'agen',\n VIDEOS = 'videos',\n VIDEO = 'video',\n PHP = 'php'\n;\n\nclass ModalView {\n /*\n * Function that initialize the videoplayer modal view\n * @param {Object} metadata\n * @param {Object} player\n */\n constructor(metadata, player) {\n this.metadata = metadata;\n this.player = player;\n this.container$ = Voonto.$(`#${MODAL_LAYER_ID}`);\n }\n\n fetch() {\n showLog('modal.js::fetch');\n this.container$.empty();\n Voonto.is.desktop() ?\n this.player.options.autoplay = true :\n this.player.options.autoplay = false;\n\n return this.player.fetch()\n .then((player) => this.container$.html(player))\n .then(() => this.container$.children().first().modal(MODAL_LAYER_BOOTSTRAP_OPTIONS))\n .then(() => _pauseVideos.call(this))\n .then(() => _bindModalEvents.call(this))\n .then(() => _renderSocialButtons.call(this))\n .then(() => _renderMenuUnderline.call(this))\n .then(() => _tracking.call(this))\n .then(() => { Voonto.getInstance().trigger(MODAL_LAYER_PAYWALL_CONTENT_EVENT); })\n ;\n }\n}\n\nexport default ModalView;\n\n/* Private */\n\nfunction _pauseVideos() {\n $('video').each(function() {\n let video$ = $(this).get(0);\n // pause video\n if (video$ && !video$.paused) {\n return video$.pause();\n }\n // pause ad\n return setTimeout(() => {\n if (video$\n && typeof videojs !== 'undefined'\n && videojs(video$.id)\n && videojs(video$.id).ima3\n && videojs(video$.id).ima3.adsManager) {\n videojs(video$.id).ima3.adsManager.pause();\n }\n }, 0);\n });\n}\n\nfunction _bindModalEvents() {\n this.container$.on('hide.bs.modal', () => this.container$.empty());\n}\n\nfunction _renderSocialButtons() {\n if (this.metadata.link) {\n this.container$.children().first().find('[data-voc-social-buttons]').socialButtons();\n }\n}\n\nfunction _renderMenuUnderline() {\n this.container$.children().first().find('[data-voc-animated-underline]').animatedUnderline();\n}\n\nfunction _tracking() {\n let source = 'rl';\n\n if (this.metadata.reference_id) {\n source = this.metadata.reference_id.substr(0, 3);\n source = source.match(AGENCY_PATTERN) ? AGENCY : source.split('-').shift().toLowerCase();\n }\n\n let subsecciones = [];\n\n if (this.metadata.tags) {\n let tags = this.metadata.tags;\n let linkurl = this.metadata.linkurl ? this.metadata.linkurl : '';\n\n Object.values(tags).forEach((tag) => {\n if (tag.indexOf('/main') !== -1) {\n let cats = tag.replace('/main', '').split('/');\n Object.values(cats).forEach((cat) => {\n subsecciones.push(cat.split('_').pop());\n });\n return false;\n } else if (linkurl.indexOf('/' + tag + '/') !== -1) {\n subsecciones = tag.split('/');\n }\n return true;\n });\n }\n\n Voonto.getInstance().trigger(MODAL_LAYER_TAG_MANAGER_SET_EVENT, {\n seccion: VIDEOS,\n subseccion1: subsecciones[0] ? subsecciones[0] : '',\n subseccion2: subsecciones[1] ? subsecciones[1] : '',\n subseccion3: subsecciones[2] ? subsecciones[2] : '',\n subseccion4: subsecciones[3] ? subsecciones[3] : '',\n titular: this.metadata.name,\n fechaPrimeraPublicacion: Voonto.moment(this.metadata.createdAt).format('YYYYMMDDkkmmss'),\n fechaModificacion: Voonto.moment(this.metadata.updatedAt).format('YYYYMMDDkkmmss'),\n tipoContenido: VIDEO,\n sistemaPublicacion: PHP,\n firmaAutor: this.metadata.author.name,\n origenContenido: source\n });\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/views/modal.js","module.exports = {\n\t\"name\": \"video-player\",\n\t\"version\": \"1.2.3\",\n\t\"description\": \"\",\n\t\"main\": \"src/index.js\",\n\t\"scripts\": {\n\t\t\"start\": \"webpack-dev-server\",\n\t\t\"build\": \"./node_modules/webpack/bin/webpack.js\",\n\t\t\"report\": \"plato -r -d report -l .jshintrc -t video-player src\"\n\t},\n\t\"contributors\": [\n\t\t\"Iván Pérez \",\n\t\t\"Jose Manuel Ortega \",\n\t\t\"Adolfo Sanz Barandiaran \"\n\t],\n\t\"license\": \"SEE LICENSE IN LICENSE.md\",\n\t\"devDependencies\": {\n\t\t\"babel-core\": \"^6.17.0\",\n\t\t\"babel-loader\": \"^6.2.5\",\n\t\t\"babel-preset-es2015\": \"^6.16.0\",\n\t\t\"chai\": \"^3.5.0\",\n\t\t\"chalk\": \"^1.1.3\",\n\t\t\"html-webpack-plugin\": \"^2.24.1\",\n\t\t\"json-loader\": \"^0.5.4\",\n\t\t\"mocha\": \"^3.1.0\",\n\t\t\"mocha-loader\": \"^1.0.0\",\n\t\t\"webpack\": \"^1.13.3\",\n\t\t\"webpack-shell-plugin\": \"^0.4.3\"\n\t}\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./package.json\n// module id = 68\n// module chunks = 1","import EmbedView from './embed';\nimport ModalView from './modal';\nimport {\n VIEW_STATES,\n LAZYLOAD_CLASS\n} from '../constants';\nimport {\n showLog,\n showError,\n showWarn\n} from '../logger';\n\nconst POSTER_TEMPLATE = `\n\n\n`;\n\nclass View {\n /*\n * Function that initialize the videoplayer view\n * @param {Object} metadata\n * @param {Object} player\n * @param {Object} container$\n */\n constructor({\n metadata,\n player,\n container$\n }) {\n this.metadata = metadata;\n this.player = player;\n this.container$ = container$;\n this.state = VIEW_STATES.EMPTY;\n }\n\n render() {\n showLog('view.js::render');\n this.container$.on('inview', (event, isInView) => {\n let isFullScreen = document.fullScreen || document.mozFullScreen || document.webkitIsFullScreen;\n if (isInView) {\n // ISINVIEW\n showLog('view.js::render::isInView');\n let isViewEmpty = this.state === VIEW_STATES.EMPTY;\n if (isViewEmpty) {\n return this.metadata.fetch()\n .then((metadata) => { this.metadata.metadata = metadata; })\n .then(() => this.container$.attr('data-voc-video-player-processed', 'true'))\n .then(() => _render.call(this))\n ;\n }\n let video$ = this.container$.children().find('video').get(0);\n // play video after ad\n setTimeout(() => {\n if (!isFullScreen\n && video$\n && typeof videojs !== 'undefined'\n && videojs(video$.id)\n && videojs(video$.id).ima3\n && videojs(video$.id).ima3.adsManager) {\n videojs(video$.id).one('playing', () => {\n return video$.play();\n });\n }\n }, 0);\n } else {\n // NOT ISINVIEW\n showLog('view.js::render::NOT-isInView');\n let video$ = this.container$.children().find('video').get(0);\n // pause video\n if (video$ && !video$.paused) {\n return video$.pause();\n }\n // pause video after ad\n setTimeout(() => {\n if (video$\n && typeof videojs !== 'undefined'\n && videojs(video$.id)\n && videojs(video$.id).ima3\n && videojs(video$.id).ima3.adsManager) {\n videojs(video$.id).one('playing', () => {\n return video$.pause();\n });\n }\n }, 0);\n }\n return true;\n });\n }\n\n renderPoster() {\n showLog('view.js::renderPoster');\n this.container$.on('inview', (event, isInView) => {\n if (isInView) {\n // ISINVIEW\n showLog('view.js::renderPoster::isInView');\n let isViewEmpty = this.state === VIEW_STATES.EMPTY;\n if (isViewEmpty) {\n return this.metadata.fetch()\n .then((metadata) => { this.metadata.metadata = metadata; })\n .then(() => this.container$.attr('data-voc-video-poster-processed', 'true'))\n .then(() => _renderPoster.call(this))\n ;\n }\n } else {\n // NOT ISINVIEW\n showLog('view.js::renderPoster::NOT-isInView');\n }\n return true;\n });\n }\n\n renderThumbnail() {\n showLog('view.js::renderThumbnail');\n this.container$.on('inview', (event, isInView) => {\n if (isInView) {\n // ISINVIEW\n showLog('view.js::renderThumbnail::isInView');\n let isViewEmpty = this.state === VIEW_STATES.EMPTY;\n if (isViewEmpty) {\n return this.metadata.fetch()\n .then((metadata) => { this.metadata.metadata = metadata; })\n .then(() => this.container$.attr('data-voc-video-thumbnail-processed', 'true'))\n .then(() => _renderThumbnail.call(this))\n ;\n }\n } else {\n // NOT ISINVIEW\n showLog('view.js::renderThumbnail::NOT-isInView');\n }\n return true;\n });\n }\n}\n\nexport default View;\n\n/* Private */\n\n/**\n * render video-playerplayer configured inside a page\n */\nfunction _render() {\n let _isPlayerModalLayer = this.player.options.modallayer;\n let _isViewEmpty = this.state === VIEW_STATES.EMPTY;\n if (_isViewEmpty) {\n if (_isPlayerModalLayer) {\n _renderPoster.call(this);\n this.state = VIEW_STATES.WITH_POSTER;\n } else {\n _renderPlayer.call(this);\n this.state = VIEW_STATES.WITH_PLAYER;\n }\n }\n}\n\nfunction _renderPoster() {\n if (!this.player.options.poster) {\n this.player.options.poster = this.metadata.metadata.poster;\n }\n\n // remove extra img\n if (this.container$.find('img').length) {\n this.container$.find('img').remove();\n }\n\n this.container$.append(POSTER_TEMPLATE.replace(/{poster}/g, this.player.options.poster));\n setTimeout(() => this.container$.find(`.${LAZYLOAD_CLASS}`).lazyload(), 0);\n\n let _isPlayerModalLayer = this.player.options.modallayer;\n if (_isPlayerModalLayer) {\n _bindPosterModalEvents.call(this);\n } else {\n _bindPosterEmbedEvents.call(this);\n }\n}\n\nfunction _renderThumbnail() {\n if (!this.player.options.poster) {\n this.player.options.poster = this.metadata.metadata.thumbnail;\n }\n\n // remove extra img\n if (this.container$.find('img').length) {\n this.container$.find('img').remove();\n }\n\n this.container$.append(POSTER_TEMPLATE.replace(/{poster}/g, this.player.options.poster));\n setTimeout(() => this.container$.find(`.${LAZYLOAD_CLASS}`).lazyload(), 0);\n\n let _isPlayerModalLayer = this.player.options.modallayer;\n if (_isPlayerModalLayer) {\n _bindPosterModalEvents.call(this);\n } else {\n _bindPosterEmbedEvents.call(this);\n }\n}\n\nfunction _bindPosterModalEvents() {\n this.container$.on('click', () => _renderPlayerModal.call(this));\n}\n\nfunction _bindPosterEmbedEvents() {\n}\n\nfunction _renderPlayer() {\n let _isPlayerModalLayer = this.player.options.modallayer;\n if (_isPlayerModalLayer) {\n _renderPlayerModal.call(this);\n } else {\n _renderPlayerEmbed.call(this);\n }\n}\n\nfunction _renderPlayerEmbed() {\n this.container$.off('click');\n let embed = new EmbedView(this.metadata.metadata, this.player, this.container$);\n embed.fetch()\n .then(() => { setTimeout(() => this.container$.find('video').on('playing', () => { this.container$.children('[data-voc-video-player] > i, [data-voc-video-player] > span').remove(); }), 0); })\n .then(() => { setTimeout(() => this.container$.find('video').on('playing', () => { this.container$.children('[data-voc-video-player] > i, [data-voc-video-player] > span').remove(); }), 1000); })\n .then(() => { setTimeout(() => this.container$.find('video').on('playing', () => { this.container$.children('[data-voc-video-player] > i, [data-voc-video-player] > span').remove(); }), 2000); })\n ;\n}\n\nfunction _renderPlayerModal() {\n this.container$.off('click');\n let modal = new ModalView(this.metadata.metadata, this.player);\n modal.fetch().then(() => {\n setTimeout(() => this.container$.on('click', () => _renderPlayerModal.call(this)), 0);\n });\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/views/view.js"],"sourceRoot":""}