From de93728cd9af4749cb0a28197d153fa9ec554b95 Mon Sep 17 00:00:00 2001 From: terrill Date: Sat, 22 Feb 2020 12:23:30 -0800 Subject: [PATCH] Wait to get media duration before building player --- build/ableplayer.dist.js | 110 +++++++++++++++++++-------------------- build/ableplayer.js | 110 +++++++++++++++++++-------------------- build/ableplayer.min.js | 4 +- package.json | 2 +- scripts/buildplayer.js | 6 --- scripts/initialize.js | 110 +++++++++++++++++++++------------------ 6 files changed, 171 insertions(+), 171 deletions(-) diff --git a/build/ableplayer.dist.js b/build/ableplayer.dist.js index f9d3661b..34d3b474 100644 --- a/build/ableplayer.dist.js +++ b/build/ableplayer.dist.js @@ -1125,58 +1125,64 @@ var AblePlayerInstances = []; thisObj.setupTranscript().then(function() { - thisObj.setFullscreen(false); + thisObj.getMediaTimes().then(function(mediaTimes) { - if (typeof thisObj.volume === 'undefined') { - thisObj.volume = thisObj.defaultVolume; - } - thisObj.setVolume(thisObj.volume); + thisObj.duration = mediaTimes['duration']; + thisObj.elapsed = mediaTimes['elapsed']; - if (thisObj.transcriptType) { - thisObj.addTranscriptAreaEvents(); - thisObj.updateTranscript(); - } - if (thisObj.mediaType === 'video') { - thisObj.initDescription(); - } - if (thisObj.captions.length) { - thisObj.initDefaultCaption(); - } + thisObj.setFullscreen(false); - // setMediaAttributes() sets textTrack.mode to 'disabled' for all tracks - // This tells browsers to ignore the text tracks so Able Player can handle them - // However, timing is critical as browsers - especially Safari - tend to ignore this request - // unless it's sent late in the intialization process. - // If browsers ignore the request, the result is redundant captions - thisObj.setMediaAttributes(); - thisObj.addControls(); - thisObj.addEventListeners(); - - // inject each of the hidden forms that will be accessed from the Preferences popup menu - prefsGroups = thisObj.getPreferencesGroups(); - for (i = 0; i < prefsGroups.length; i++) { - thisObj.injectPrefsForm(prefsGroups[i]); - } - thisObj.setupPopups(); - thisObj.updateCaption(); - thisObj.injectVTS(); - if (thisObj.chaptersDivLocation) { - thisObj.populateChaptersDiv(); - } - thisObj.showSearchResults(); - - // Go ahead and load media, without user requesting it - // Ideally, we would wait until user clicks play, rather than unnecessarily consume their bandwidth - // However, the media needs to load before the 'loadedmetadata' event is fired - // and until that happens we can't get the media's duration - if (thisObj.player === 'html5') { - thisObj.$media[0].load(); - } - // refreshControls is called twice building/initializing the player - // this is the second. Best to pause a bit before executing, to be sure all prior steps are complete - setTimeout(function() { - thisObj.refreshControls('init'); - },100); + if (typeof thisObj.volume === 'undefined') { + thisObj.volume = thisObj.defaultVolume; + } + thisObj.setVolume(thisObj.volume); + + if (thisObj.transcriptType) { + thisObj.addTranscriptAreaEvents(); + thisObj.updateTranscript(); + } + if (thisObj.mediaType === 'video') { + thisObj.initDescription(); + } + if (thisObj.captions.length) { + thisObj.initDefaultCaption(); + } + + // setMediaAttributes() sets textTrack.mode to 'disabled' for all tracks + // This tells browsers to ignore the text tracks so Able Player can handle them + // However, timing is critical as browsers - especially Safari - tend to ignore this request + // unless it's sent late in the intialization process. + // If browsers ignore the request, the result is redundant captions + thisObj.setMediaAttributes(); + thisObj.addControls(); + thisObj.addEventListeners(); + + // inject each of the hidden forms that will be accessed from the Preferences popup menu + prefsGroups = thisObj.getPreferencesGroups(); + for (i = 0; i < prefsGroups.length; i++) { + thisObj.injectPrefsForm(prefsGroups[i]); + } + thisObj.setupPopups(); + thisObj.updateCaption(); + thisObj.injectVTS(); + if (thisObj.chaptersDivLocation) { + thisObj.populateChaptersDiv(); + } + thisObj.showSearchResults(); + + // Go ahead and load media, without user requesting it + // Ideally, we would wait until user clicks play, rather than unnecessarily consume their bandwidth + // However, the media needs to load before the 'loadedmetadata' event is fired + // and until that happens we can't get the media's duration + if (thisObj.player === 'html5') { + thisObj.$media[0].load(); + } + // refreshControls is called twice building/initializing the player + // this is the second. Best to pause a bit before executing, to be sure all prior steps are complete + setTimeout(function() { + thisObj.refreshControls('init'); + },100); + }); }, function() { // initPlayer fail thisObj.provideFallback(); @@ -4030,12 +4036,6 @@ var AblePlayerInstances = []; $sliderDiv = $('
'); sliderLabel = this.mediaType + ' ' + this.tt.seekbarLabel; this.$controllerDiv.append($sliderDiv); - if (typeof this.duration === 'undefined' || this.duration === 0) { - // set arbitrary starting duration, and change it when duration is known - this.duration = 60; - // also set elapsed to 0 - this.elapsed = 0; - } this.seekBar = new AccessibleSlider(this.mediaType, $sliderDiv, 'horizontal', baseSliderWidth, 0, this.duration, this.seekInterval, sliderLabel, 'seekbar', true, 'visible'); } diff --git a/build/ableplayer.js b/build/ableplayer.js index c4e577b3..8c0173d4 100644 --- a/build/ableplayer.js +++ b/build/ableplayer.js @@ -1125,58 +1125,64 @@ var AblePlayerInstances = []; thisObj.setupTranscript().then(function() { - thisObj.setFullscreen(false); + thisObj.getMediaTimes().then(function(mediaTimes) { - if (typeof thisObj.volume === 'undefined') { - thisObj.volume = thisObj.defaultVolume; - } - thisObj.setVolume(thisObj.volume); + thisObj.duration = mediaTimes['duration']; + thisObj.elapsed = mediaTimes['elapsed']; - if (thisObj.transcriptType) { - thisObj.addTranscriptAreaEvents(); - thisObj.updateTranscript(); - } - if (thisObj.mediaType === 'video') { - thisObj.initDescription(); - } - if (thisObj.captions.length) { - thisObj.initDefaultCaption(); - } + thisObj.setFullscreen(false); - // setMediaAttributes() sets textTrack.mode to 'disabled' for all tracks - // This tells browsers to ignore the text tracks so Able Player can handle them - // However, timing is critical as browsers - especially Safari - tend to ignore this request - // unless it's sent late in the intialization process. - // If browsers ignore the request, the result is redundant captions - thisObj.setMediaAttributes(); - thisObj.addControls(); - thisObj.addEventListeners(); - - // inject each of the hidden forms that will be accessed from the Preferences popup menu - prefsGroups = thisObj.getPreferencesGroups(); - for (i = 0; i < prefsGroups.length; i++) { - thisObj.injectPrefsForm(prefsGroups[i]); - } - thisObj.setupPopups(); - thisObj.updateCaption(); - thisObj.injectVTS(); - if (thisObj.chaptersDivLocation) { - thisObj.populateChaptersDiv(); - } - thisObj.showSearchResults(); - - // Go ahead and load media, without user requesting it - // Ideally, we would wait until user clicks play, rather than unnecessarily consume their bandwidth - // However, the media needs to load before the 'loadedmetadata' event is fired - // and until that happens we can't get the media's duration - if (thisObj.player === 'html5') { - thisObj.$media[0].load(); - } - // refreshControls is called twice building/initializing the player - // this is the second. Best to pause a bit before executing, to be sure all prior steps are complete - setTimeout(function() { - thisObj.refreshControls('init'); - },100); + if (typeof thisObj.volume === 'undefined') { + thisObj.volume = thisObj.defaultVolume; + } + thisObj.setVolume(thisObj.volume); + + if (thisObj.transcriptType) { + thisObj.addTranscriptAreaEvents(); + thisObj.updateTranscript(); + } + if (thisObj.mediaType === 'video') { + thisObj.initDescription(); + } + if (thisObj.captions.length) { + thisObj.initDefaultCaption(); + } + + // setMediaAttributes() sets textTrack.mode to 'disabled' for all tracks + // This tells browsers to ignore the text tracks so Able Player can handle them + // However, timing is critical as browsers - especially Safari - tend to ignore this request + // unless it's sent late in the intialization process. + // If browsers ignore the request, the result is redundant captions + thisObj.setMediaAttributes(); + thisObj.addControls(); + thisObj.addEventListeners(); + + // inject each of the hidden forms that will be accessed from the Preferences popup menu + prefsGroups = thisObj.getPreferencesGroups(); + for (i = 0; i < prefsGroups.length; i++) { + thisObj.injectPrefsForm(prefsGroups[i]); + } + thisObj.setupPopups(); + thisObj.updateCaption(); + thisObj.injectVTS(); + if (thisObj.chaptersDivLocation) { + thisObj.populateChaptersDiv(); + } + thisObj.showSearchResults(); + + // Go ahead and load media, without user requesting it + // Ideally, we would wait until user clicks play, rather than unnecessarily consume their bandwidth + // However, the media needs to load before the 'loadedmetadata' event is fired + // and until that happens we can't get the media's duration + if (thisObj.player === 'html5') { + thisObj.$media[0].load(); + } + // refreshControls is called twice building/initializing the player + // this is the second. Best to pause a bit before executing, to be sure all prior steps are complete + setTimeout(function() { + thisObj.refreshControls('init'); + },100); + }); }, function() { // initPlayer fail thisObj.provideFallback(); @@ -4030,12 +4036,6 @@ var AblePlayerInstances = []; $sliderDiv = $('
'); sliderLabel = this.mediaType + ' ' + this.tt.seekbarLabel; this.$controllerDiv.append($sliderDiv); - if (typeof this.duration === 'undefined' || this.duration === 0) { - // set arbitrary starting duration, and change it when duration is known - this.duration = 60; - // also set elapsed to 0 - this.elapsed = 0; - } this.seekBar = new AccessibleSlider(this.mediaType, $sliderDiv, 'horizontal', baseSliderWidth, 0, this.duration, this.seekInterval, sliderLabel, 'seekbar', true, 'visible'); } diff --git a/build/ableplayer.min.js b/build/ableplayer.min.js index 077a36ab..af02e77f 100644 --- a/build/ableplayer.min.js +++ b/build/ableplayer.min.js @@ -1,3 +1,3 @@ -/*! ableplayer V4.2.4 */ +/*! ableplayer V4.2.5 */ -"use strict";var AblePlayerInstances=[];!function(o){o(document).ready(function(){o("video, audio").each(function(t,e){void 0!==o(e).data("able-player")&&AblePlayerInstances.push(new AblePlayer(o(this),o(e)))})}),window.onYouTubeIframeAPIReady=function(){AblePlayer.youtubeIframeAPIReady=!0,o("body").trigger("youtubeIframeAPIReady",[])},o(window).keydown(function(t){1===AblePlayer.nextIndex&&AblePlayer.lastCreated.onPlayerKeyPress(t)}),window.AblePlayer=function(t){if((AblePlayer.lastCreated=this).media=t,0!==o(t).length){if(void 0!==o(t).attr("autoplay")?(this.autoplay=!0,this.okToPlay=!0):(this.autoplay=!1,this.okToPlay=!1),void 0!==o(t).attr("loop")?this.loop=!0:this.loop=!1,void 0!==o(t).attr("playsinline")?this.playsInline="1":this.playsInline="0",o(t).attr("poster")?this.hasPoster=!0:this.hasPoster=!1,void 0!==o(t).data("start-time")&&o.isNumeric(o(t).data("start-time"))?this.startTime=o(t).data("start-time"):this.startTime=0,void 0!==o(t).data("debug")&&!1!==o(t).data("debug")?this.debug=!0:this.debug=!1,void 0!==o(t).data("root-path")?this.rootPath=o(t).data("root-path").replace(/\/?$/,"/"):this.rootPath=this.getRootPath(),this.defaultVolume=7,void 0!==o(t).data("volume")&&""!==o(t).data("volume")){var e=o(t).data("volume");0<=e&&e<=10&&(this.defaultVolume=e)}if(this.volume=this.defaultVolume,void 0!==o(t).data("use-chapters-button")&&!1===o(t).data("use-chapters-button")?this.useChaptersButton=!1:this.useChaptersButton=!0,void 0!==o(t).data("use-descriptions-button")&&!1===o(t).data("use-descriptions-button")?this.useDescriptionsButton=!1:this.useDescriptionsButton=!0,void 0!==o(t).data("descriptions-audible")&&!1===o(t).data("descriptions-audible")?this.exposeTextDescriptions=!1:void 0!==o(t).data("description-audible")&&!1===o(t).data("description-audible")?this.exposeTextDescriptions=!1:this.exposeTextDescriptions=!0,void 0!==o(t).data("heading-level")&&""!==o(t).data("heading-level")){var i=o(t).data("heading-level");/^[0-6]*$/.test(i)&&(this.playerHeadingLevel=i)}if(void 0!==o(t).data("transcript-div")&&""!==o(t).data("transcript-div")?this.transcriptDivLocation=o(t).data("transcript-div"):this.transcriptDivLocation=null,void 0!==o(t).data("include-transcript")&&!1===o(t).data("include-transcript")?this.hideTranscriptButton=!0:this.hideTranscriptButton=null,this.transcriptType=null,void 0!==o(t).data("transcript-src")?(this.transcriptSrc=o(t).data("transcript-src"),this.transcriptSrcHasRequiredParts()&&(this.transcriptType="manual")):0",{class:"able-controller"}).hide():"toolbar"===t[e]&&(i=r("
",{class:"able-window-toolbar"}).hide()),r("body").append(i),a=.2126*(s=i.css("background-color").replace(/[^\d,]/g,"").split(","))[0]+.7152*s[1]+.0722*s[2]<125?"white":"black","controller"===t[e]?this.iconColor=a:"toolbar"===t[e]&&(this.toolbarIconColor=a),i.remove()},AblePlayer.prototype.setButtonImages=function(){this.imgPath=this.rootPath+"button-icons/"+this.iconColor+"/",this.playButtonImg=this.imgPath+"play.png",this.pauseButtonImg=this.imgPath+"pause.png",this.restartButtonImg=this.imgPath+"restart.png",this.rewindButtonImg=this.imgPath+"rewind.png",this.forwardButtonImg=this.imgPath+"forward.png",this.previousButtonImg=this.imgPath+"previous.png",this.nextButtonImg=this.imgPath+"next.png","arrows"===this.speedIcons?(this.fasterButtonImg=this.imgPath+"slower.png",this.slowerButtonImg=this.imgPath+"faster.png"):"animals"===this.speedIcons&&(this.fasterButtonImg=this.imgPath+"rabbit.png",this.slowerButtonImg=this.imgPath+"turtle.png"),this.captionsButtonImg=this.imgPath+"captions.png",this.chaptersButtonImg=this.imgPath+"chapters.png",this.signButtonImg=this.imgPath+"sign.png",this.transcriptButtonImg=this.imgPath+"transcript.png",this.descriptionsButtonImg=this.imgPath+"descriptions.png",this.fullscreenExpandButtonImg=this.imgPath+"fullscreen-expand.png",this.fullscreenCollapseButtonImg=this.imgPath+"fullscreen-collapse.png",this.prefsButtonImg=this.imgPath+"preferences.png",this.helpButtonImg=this.imgPath+"help.png"},AblePlayer.prototype.getSvgData=function(t){var e=Array();switch(t){case"play":e[0]="0 0 16 20",e[1]="M0 18.393v-16.429q0-0.29 0.184-0.402t0.441 0.033l14.821 8.237q0.257 0.145 0.257 0.346t-0.257 0.346l-14.821 8.237q-0.257 0.145-0.441 0.033t-0.184-0.402z";break;case"pause":e[0]="0 0 20 20",e[1]="M0 18.036v-15.714q0-0.29 0.212-0.502t0.502-0.212h5.714q0.29 0 0.502 0.212t0.212 0.502v15.714q0 0.29-0.212 0.502t-0.502 0.212h-5.714q-0.29 0-0.502-0.212t-0.212-0.502zM10 18.036v-15.714q0-0.29 0.212-0.502t0.502-0.212h5.714q0.29 0 0.502 0.212t0.212 0.502v15.714q0 0.29-0.212 0.502t-0.502 0.212h-5.714q-0.29 0-0.502-0.212t-0.212-0.502z";break;case"stop":e[0]="0 0 20 20",e[1]="M0 18.036v-15.714q0-0.29 0.212-0.502t0.502-0.212h15.714q0.29 0 0.502 0.212t0.212 0.502v15.714q0 0.29-0.212 0.502t-0.502 0.212h-15.714q-0.29 0-0.502-0.212t-0.212-0.502z";break;case"restart":e[0]="0 0 20 20",e[1]="M18 8h-6l2.243-2.243c-1.133-1.133-2.64-1.757-4.243-1.757s-3.109 0.624-4.243 1.757c-1.133 1.133-1.757 2.64-1.757 4.243s0.624 3.109 1.757 4.243c1.133 1.133 2.64 1.757 4.243 1.757s3.109-0.624 4.243-1.757c0.095-0.095 0.185-0.192 0.273-0.292l1.505 1.317c-1.466 1.674-3.62 2.732-6.020 2.732-4.418 0-8-3.582-8-8s3.582-8 8-8c2.209 0 4.209 0.896 5.656 2.344l2.344-2.344v6z";break;case"rewind":e[0]="0 0 20 20",e[1]="M11.25 3.125v6.25l6.25-6.25v13.75l-6.25-6.25v6.25l-6.875-6.875z";break;case"forward":e[0]="0 0 20 20",e[1]="M10 16.875v-6.25l-6.25 6.25v-13.75l6.25 6.25v-6.25l6.875 6.875z";break;case"previous":e[0]="0 0 20 20",e[1]="M5 17.5v-15h2.5v6.875l6.25-6.25v13.75l-6.25-6.25v6.875z";break;case"next":e[0]="0 0 20 20",e[1]="M15 2.5v15h-2.5v-6.875l-6.25 6.25v-13.75l6.25 6.25v-6.875z";break;case"slower":e[0]="0 0 20 20",e[1]="M0 7.321q0-0.29 0.212-0.502t0.502-0.212h10q0.29 0 0.502 0.212t0.212 0.502-0.212 0.502l-5 5q-0.212 0.212-0.502 0.212t-0.502-0.212l-5-5q-0.212-0.212-0.212-0.502z";break;case"faster":e[0]="0 0 11 20",e[1]="M0 12.411q0-0.29 0.212-0.502l5-5q0.212-0.212 0.502-0.212t0.502 0.212l5 5q0.212 0.212 0.212 0.502t-0.212 0.502-0.502 0.212h-10q-0.29 0-0.502-0.212t-0.212-0.502z";break;case"turtle":e[0]="0 0 20 20",e[1]="M17.212 3.846c-0.281-0.014-0.549 0.025-0.817 0.144-1.218 0.542-1.662 2.708-2.163 3.942-1.207 2.972-7.090 4.619-11.755 5.216-0.887 0.114-1.749 0.74-2.428 1.466 0.82-0.284 2.126-0.297 2.74 0.144 0.007 0.488-0.376 1.062-0.625 1.37-0.404 0.5-0.398 0.793 0.12 0.793 0.473 0 0.752 0.007 1.635 0 0.393-0.003 0.618-0.16 1.49-1.49 3.592 0.718 5.986-0.264 5.986-0.264s0.407 1.755 1.418 1.755h1.49c0.633 0 0.667-0.331 0.625-0.433-0.448-1.082-0.68-1.873-0.769-2.5-0.263-1.857 0.657-3.836 2.524-5.457 0.585 0.986 2.253 0.845 2.909-0.096s0.446-2.268-0.192-3.221c-0.49-0.732-1.345-1.327-2.188-1.37zM8.221 4.663c-0.722-0.016-1.536 0.111-2.5 0.409-4.211 1.302-4.177 4.951-3.51 5.745 0 0-0.955 0.479-0.409 1.274 0.448 0.652 3.139 0.191 5.409-0.529s4.226-1.793 5.312-2.692c0.948-0.785 0.551-2.106-0.505-1.947-0.494-0.98-1.632-2.212-3.798-2.26zM18.846 5.962c0.325 0 0.577 0.252 0.577 0.577s-0.252 0.577-0.577 0.577c-0.325 0-0.577-0.252-0.577-0.577s0.252-0.577 0.577-0.577z";break;case"rabbit":e[0]="0 0 20 20",e[1]="M10.817 0c-2.248 0-1.586 0.525-1.154 0.505 1.551-0.072 5.199 0.044 6.851 2.428 0 0-1.022-2.933-5.697-2.933zM10.529 0.769c-2.572 0-2.837 0.51-2.837 1.106 0 0.545 1.526 0.836 2.524 0.697 2.778-0.386 4.231-0.12 5.264 0.865-1.010 0.779-0.75 1.401-1.274 1.851-1.093 0.941-2.643-0.673-4.976-0.673-2.496 0-4.712 1.92-4.712 4.76-0.157-0.537-0.769-0.913-1.442-0.913-0.974 0-1.514 0.637-1.514 1.49 0 0.769 1.13 1.791 2.861 0.938 0.499 1.208 2.265 1.364 2.452 1.418 0.538 0.154 1.875 0.098 1.875 0.865 0 0.794-1.034 1.094-1.034 1.707 0 1.070 1.758 0.873 2.284 1.034 1.683 0.517 2.103 1.214 2.788 2.212 0.771 1.122 2.572 1.408 2.572 0.625 0-3.185-4.413-4.126-4.399-4.135 0.608-0.382 2.139-1.397 2.139-3.534 0-1.295-0.703-2.256-1.755-2.861 1.256 0.094 2.572 1.205 2.572 2.74 0 1.877-0.653 2.823-0.769 2.957 1.975-1.158 3.193-3.91 3.029-6.37 0.61 0.401 1.27 0.577 1.971 0.625 0.751 0.052 1.475-0.225 1.635-0.529 0.38-0.723 0.162-2.321-0.12-2.837-0.763-1.392-2.236-1.73-3.606-1.683-1.202-1.671-3.812-2.356-5.529-2.356zM1.37 3.077l-0.553 1.538h3.726c0.521-0.576 1.541-1.207 2.284-1.538h-5.457zM18.846 5.192c0.325 0 0.577 0.252 0.577 0.577s-0.252 0.577-0.577 0.577c-0.325 0-0.577-0.252-0.577-0.577s0.252-0.577 0.577-0.577zM0.553 5.385l-0.553 1.538h3.197c0.26-0.824 0.586-1.328 0.769-1.538h-3.413z";break;case"ellipsis":e[0]="0 0 20 20",e[1]="M10.001 7.8c-1.215 0-2.201 0.985-2.201 2.2s0.986 2.2 2.201 2.2c1.215 0 2.199-0.985 2.199-2.2s-0.984-2.2-2.199-2.2zM3.001 7.8c-1.215 0-2.201 0.985-2.201 2.2s0.986 2.2 2.201 2.2c1.215 0 2.199-0.986 2.199-2.2s-0.984-2.2-2.199-2.2zM17.001 7.8c-1.215 0-2.201 0.985-2.201 2.2s0.986 2.2 2.201 2.2c1.215 0 2.199-0.985 2.199-2.2s-0.984-2.2-2.199-2.2z";break;case"pipe":e[0]="0 0 20 20",e[1]="M10.15 0.179h0.623c0.069 0 0.127 0.114 0.127 0.253v19.494c0 0.139-0.057 0.253-0.127 0.253h-1.247c-0.069 0-0.126-0.114-0.126-0.253v-19.494c0-0.139 0.057-0.253 0.126-0.253h0.623z";break;case"captions":e[0]="0 0 20 20",e[1]="M0.033 3.624h19.933v12.956h-19.933v-12.956zM18.098 10.045c-0.025-2.264-0.124-3.251-0.743-3.948-0.112-0.151-0.322-0.236-0.496-0.344-0.606-0.386-3.465-0.526-6.782-0.526s-6.313 0.14-6.907 0.526c-0.185 0.108-0.396 0.193-0.519 0.344-0.607 0.697-0.693 1.684-0.731 3.948 0.037 2.265 0.124 3.252 0.731 3.949 0.124 0.161 0.335 0.236 0.519 0.344 0.594 0.396 3.59 0.526 6.907 0.547 3.317-0.022 6.176-0.151 6.782-0.547 0.174-0.108 0.384-0.183 0.496-0.344 0.619-0.697 0.717-1.684 0.743-3.949v0 0zM9.689 9.281c-0.168-1.77-1.253-2.813-3.196-2.813-1.773 0-3.168 1.387-3.168 3.617 0 2.239 1.271 3.636 3.372 3.636 1.676 0 2.851-1.071 3.035-2.852h-2.003c-0.079 0.661-0.397 1.168-1.068 1.168-1.059 0-1.253-0.91-1.253-1.876 0-1.33 0.442-2.010 1.174-2.010 0.653 0 1.068 0.412 1.13 1.129h1.977zM16.607 9.281c-0.167-1.77-1.252-2.813-3.194-2.813-1.773 0-3.168 1.387-3.168 3.617 0 2.239 1.271 3.636 3.372 3.636 1.676 0 2.851-1.071 3.035-2.852h-2.003c-0.079 0.661-0.397 1.168-1.068 1.168-1.059 0-1.253-0.91-1.253-1.876 0-1.33 0.441-2.010 1.174-2.010 0.653 0 1.068 0.412 1.13 1.129h1.976z";break;case"descriptions":e[0]="0 0 20 20",e[1]="M17.623 3.57h-1.555c1.754 1.736 2.763 4.106 2.763 6.572 0 2.191-0.788 4.286-2.189 5.943h1.484c1.247-1.704 1.945-3.792 1.945-5.943-0-2.418-0.886-4.754-2.447-6.572v0zM14.449 3.57h-1.55c1.749 1.736 2.757 4.106 2.757 6.572 0 2.191-0.788 4.286-2.187 5.943h1.476c1.258-1.704 1.951-3.792 1.951-5.943-0-2.418-0.884-4.754-2.447-6.572v0zM11.269 3.57h-1.542c1.752 1.736 2.752 4.106 2.752 6.572 0 2.191-0.791 4.286-2.181 5.943h1.473c1.258-1.704 1.945-3.792 1.945-5.943 0-2.418-0.876-4.754-2.447-6.572v0zM10.24 9.857c0 3.459-2.826 6.265-6.303 6.265v0.011h-3.867v-12.555h3.896c3.477 0 6.274 2.806 6.274 6.279v0zM6.944 9.857c0-1.842-1.492-3.338-3.349-3.338h-0.876v6.686h0.876c1.858 0 3.349-1.498 3.349-3.348v0z";break;case"sign":e[0]="0 0 20 20",e[1]="M10.954 10.307c0.378 0.302 0.569 1.202 0.564 1.193 0.697 0.221 1.136 0.682 1.136 0.682 1.070-0.596 1.094-0.326 1.558-0.682 0.383-0.263 0.366-0.344 0.567-1.048 0.187-0.572-0.476-0.518-1.021-1.558-0.95 0.358-1.463 0.196-1.784 0.167-0.145-0.020-0.12 0.562-1.021 1.247zM14.409 17.196c-0.133 0.182-0.196 0.218-0.363 0.454-0.28 0.361 0.076 0.906 0.253 0.82 0.206-0.076 0.341-0.488 0.567-0.623 0.115-0.061 0.422-0.513 0.709-0.82 0.211-0.238 0.363-0.344 0.564-0.594 0.341-0.422 0.412-0.744 0.709-1.193 0.184-0.236 0.312-0.307 0.481-0.594 0.886-1.679 0.628-2.432 1.475-3.629 0.26-0.353 0.552-0.442 0.964-0.653 0.383-2.793-0.888-4.356-0.879-4.361-1.067 0.623-1.644 0.879-2.751 0.82-0.417-0.005-0.636-0.182-1.048-0.145-0.385 0.015-0.582 0.159-0.964 0.29-0.589 0.182-0.91 0.344-1.529 0.535-0.393 0.11-0.643 0.115-1.050 0.255-0.348 0.147-0.182 0.029-0.427 0.312-0.317 0.348-0.238 0.623-0.535 1.222-0.371 0.785-0.326 0.891-0.115 0.987-0.14 0.402-0.174 0.672-0.14 1.107 0.039 0.331-0.101 0.562 0.255 0.825 0.483 0.361 1.499 1.205 1.757 1.217 0.39-0.012 1.521 0.029 2.096-0.368 0.13-0.081 0.167-0.162 0.056 0.145-0.022 0.037-1.433 1.136-1.585 1.131-1.794 0.056-1.193 0.157-1.303 0.115-0.091 0-0.955-1.055-1.477-0.682-0.196 0.12-0.287 0.236-0.363 0.452 0.066 0.137 0.383 0.358 0.675 0.54 0.422 0.27 0.461 0.552 0.881 0.653 0.513 0.115 1.060 0.039 1.387 0.081 0.125 0.034 1.256-0.297 1.961-0.675 0.65-0.336-0.898 0.648-1.276 1.131-1.141 0.358-0.82 0.373-1.362 0.483-0.503 0.115-0.479 0.086-0.822 0.196-0.356 0.086-0.648 0.572-0.312 0.825 0.201 0.167 0.827-0.066 1.445-0.086 0.275-0.005 1.391-0.518 1.644-0.653 0.633-0.339 1.099-0.81 1.472-1.077 0.518-0.361-0.584 0.991-1.050 1.558zM8.855 9.799c-0.378-0.312-0.569-1.212-0.564-1.217-0.697-0.206-1.136-0.667-1.136-0.653-1.070 0.582-1.099 0.312-1.558 0.653-0.388 0.277-0.366 0.363-0.567 1.045-0.187 0.594 0.471 0.535 1.021 1.561 0.95-0.344 1.463-0.182 1.784-0.142 0.145 0.010 0.12-0.572 1.021-1.247zM5.4 2.911c0.133-0.191 0.196-0.228 0.368-0.454 0.27-0.371-0.081-0.915-0.253-0.849-0.211 0.096-0.346 0.508-0.599 0.653-0.093 0.052-0.4 0.503-0.682 0.82-0.211 0.228-0.363 0.334-0.564 0.599-0.346 0.407-0.412 0.729-0.709 1.161-0.184 0.258-0.317 0.324-0.481 0.621-0.886 1.669-0.631 2.422-1.475 3.6-0.26 0.38-0.552 0.461-0.964 0.682-0.383 2.788 0.883 4.346 0.879 4.336 1.068-0.609 1.639-0.861 2.751-0.825 0.417 0.025 0.636 0.201 1.048 0.174 0.385-0.025 0.582-0.169 0.964-0.285 0.589-0.196 0.91-0.358 1.499-0.54 0.422-0.12 0.672-0.125 1.080-0.285 0.348-0.128 0.182-0.010 0.427-0.282 0.312-0.358 0.238-0.633 0.508-1.217 0.398-0.8 0.353-0.906 0.142-0.991 0.135-0.412 0.174-0.677 0.14-1.107-0.044-0.336 0.101-0.572-0.255-0.82-0.483-0.375-1.499-1.22-1.752-1.222-0.395 0.002-1.526-0.039-2.101 0.339-0.13 0.101-0.167 0.182-0.056-0.11 0.022-0.052 1.433-1.148 1.585-1.163 1.794-0.039 1.193-0.14 1.303-0.088 0.091-0.007 0.955 1.045 1.477 0.682 0.191-0.13 0.287-0.245 0.368-0.452-0.071-0.147-0.388-0.368-0.68-0.537-0.422-0.282-0.464-0.564-0.881-0.655-0.513-0.125-1.065-0.049-1.387-0.11-0.125-0.015-1.256 0.317-1.956 0.68-0.66 0.351 0.893-0.631 1.276-1.136 1.136-0.339 0.81-0.353 1.36-0.479 0.501-0.101 0.476-0.071 0.82-0.172 0.351-0.096 0.648-0.577 0.312-0.849-0.206-0.152-0.827 0.081-1.44 0.086-0.28 0.020-1.396 0.533-1.649 0.677-0.633 0.329-1.099 0.8-1.472 1.048-0.523 0.38 0.584-0.967 1.050-1.529z";break;case"mute":case"volume-mute":e[0]="0 0 20 20",e[1]="M7.839 1.536c0.501-0.501 0.911-0.331 0.911 0.378v16.172c0 0.709-0.41 0.879-0.911 0.378l-4.714-4.713h-3.125v-7.5h3.125l4.714-4.714zM18.75 12.093v1.657h-1.657l-2.093-2.093-2.093 2.093h-1.657v-1.657l2.093-2.093-2.093-2.093v-1.657h1.657l2.093 2.093 2.093-2.093h1.657v1.657l-2.093 2.093z";break;case"volume-soft":e[0]="0 0 20 20",e[1]="M10.723 14.473c-0.24 0-0.48-0.092-0.663-0.275-0.366-0.366-0.366-0.96 0-1.326 1.584-1.584 1.584-4.161 0-5.745-0.366-0.366-0.366-0.96 0-1.326s0.96-0.366 1.326 0c2.315 2.315 2.315 6.082 0 8.397-0.183 0.183-0.423 0.275-0.663 0.275zM7.839 1.536c0.501-0.501 0.911-0.331 0.911 0.378v16.172c0 0.709-0.41 0.879-0.911 0.378l-4.714-4.713h-3.125v-7.5h3.125l4.714-4.714z";break;case"volume-medium":e[0]="0 0 20 20",e[1]="M14.053 16.241c-0.24 0-0.48-0.092-0.663-0.275-0.366-0.366-0.366-0.96 0-1.326 2.559-2.559 2.559-6.722 0-9.281-0.366-0.366-0.366-0.96 0-1.326s0.96-0.366 1.326 0c1.594 1.594 2.471 3.712 2.471 5.966s-0.878 4.373-2.471 5.966c-0.183 0.183-0.423 0.275-0.663 0.275zM10.723 14.473c-0.24 0-0.48-0.092-0.663-0.275-0.366-0.366-0.366-0.96 0-1.326 1.584-1.584 1.584-4.161 0-5.745-0.366-0.366-0.366-0.96 0-1.326s0.96-0.366 1.326 0c2.315 2.315 2.315 6.082 0 8.397-0.183 0.183-0.423 0.275-0.663 0.275zM7.839 1.536c0.501-0.501 0.911-0.331 0.911 0.378v16.172c0 0.709-0.41 0.879-0.911 0.378l-4.714-4.713h-3.125v-7.5h3.125l4.714-4.714z";break;case"volume-loud":e[0]="0 0 21 20",e[1]="M17.384 18.009c-0.24 0-0.48-0.092-0.663-0.275-0.366-0.366-0.366-0.96 0-1.326 1.712-1.712 2.654-3.988 2.654-6.408s-0.943-4.696-2.654-6.408c-0.366-0.366-0.366-0.96 0-1.326s0.96-0.366 1.326 0c2.066 2.066 3.204 4.813 3.204 7.734s-1.138 5.668-3.204 7.734c-0.183 0.183-0.423 0.275-0.663 0.275zM14.053 16.241c-0.24 0-0.48-0.092-0.663-0.275-0.366-0.366-0.366-0.96 0-1.326 2.559-2.559 2.559-6.722 0-9.281-0.366-0.366-0.366-0.96 0-1.326s0.96-0.366 1.326 0c1.594 1.594 2.471 3.712 2.471 5.966s-0.878 4.373-2.471 5.966c-0.183 0.183-0.423 0.275-0.663 0.275zM10.723 14.473c-0.24 0-0.48-0.092-0.663-0.275-0.366-0.366-0.366-0.96 0-1.326 1.584-1.584 1.584-4.161 0-5.745-0.366-0.366-0.366-0.96 0-1.326s0.96-0.366 1.326 0c2.315 2.315 2.315 6.082 0 8.397-0.183 0.183-0.423 0.275-0.663 0.275zM7.839 1.536c0.501-0.501 0.911-0.331 0.911 0.378v16.172c0 0.709-0.41 0.879-0.911 0.378l-4.714-4.713h-3.125v-7.5h3.125l4.714-4.714z";break;case"chapters":e[0]="0 0 20 20",e[1]="M5 2.5v17.5l6.25-6.25 6.25 6.25v-17.5zM15 0h-12.5v17.5l1.25-1.25v-15h11.25z";break;case"transcript":e[0]="0 0 20 20",e[1]="M0 19.107v-17.857q0-0.446 0.313-0.759t0.759-0.313h8.929v6.071q0 0.446 0.313 0.759t0.759 0.313h6.071v11.786q0 0.446-0.313 0.759t-0.759 0.312h-15q-0.446 0-0.759-0.313t-0.313-0.759zM4.286 15.536q0 0.156 0.1 0.257t0.257 0.1h7.857q0.156 0 0.257-0.1t0.1-0.257v-0.714q0-0.156-0.1-0.257t-0.257-0.1h-7.857q-0.156 0-0.257 0.1t-0.1 0.257v0.714zM4.286 12.679q0 0.156 0.1 0.257t0.257 0.1h7.857q0.156 0 0.257-0.1t0.1-0.257v-0.714q0-0.156-0.1-0.257t-0.257-0.1h-7.857q-0.156 0-0.257 0.1t-0.1 0.257v0.714zM4.286 9.821q0 0.156 0.1 0.257t0.257 0.1h7.857q0.156 0 0.257-0.1t0.1-0.257v-0.714q0-0.156-0.1-0.257t-0.257-0.1h-7.857q-0.156 0-0.257 0.1t-0.1 0.257v0.714zM11.429 5.893v-5.268q0.246 0.156 0.402 0.313l4.554 4.554q0.156 0.156 0.313 0.402h-5.268z";break;case"preferences":e[0]="0 0 20 20",e[1]="M18.238 11.919c-1.049-1.817-0.418-4.147 1.409-5.205l-1.965-3.404c-0.562 0.329-1.214 0.518-1.911 0.518-2.1 0-3.803-1.714-3.803-3.828h-3.931c0.005 0.653-0.158 1.314-0.507 1.919-1.049 1.818-3.382 2.436-5.212 1.382l-1.965 3.404c0.566 0.322 1.056 0.793 1.404 1.396 1.048 1.815 0.42 4.139-1.401 5.2l1.965 3.404c0.56-0.326 1.209-0.513 1.902-0.513 2.094 0 3.792 1.703 3.803 3.808h3.931c-0.002-0.646 0.162-1.3 0.507-1.899 1.048-1.815 3.375-2.433 5.203-1.387l1.965-3.404c-0.562-0.322-1.049-0.791-1.395-1.391zM10 14.049c-2.236 0-4.050-1.813-4.050-4.049s1.813-4.049 4.050-4.049 4.049 1.813 4.049 4.049c-0 2.237-1.813 4.049-4.049 4.049z";break;case"close":e[0]="0 0 16 20",e[1]="M1.228 14.933q0-0.446 0.312-0.759l3.281-3.281-3.281-3.281q-0.313-0.313-0.313-0.759t0.313-0.759l1.518-1.518q0.313-0.313 0.759-0.313t0.759 0.313l3.281 3.281 3.281-3.281q0.313-0.313 0.759-0.313t0.759 0.313l1.518 1.518q0.313 0.313 0.313 0.759t-0.313 0.759l-3.281 3.281 3.281 3.281q0.313 0.313 0.313 0.759t-0.313 0.759l-1.518 1.518q-0.313 0.313-0.759 0.313t-0.759-0.313l-3.281-3.281-3.281 3.281q-0.313 0.313-0.759 0.313t-0.759-0.313l-1.518-1.518q-0.313-0.313-0.313-0.759z";break;case"fullscreen-expand":e[0]="0 0 20 20",e[1]="M0 18.036v-5q0-0.29 0.212-0.502t0.502-0.212 0.502 0.212l1.607 1.607 3.705-3.705q0.112-0.112 0.257-0.112t0.257 0.112l1.272 1.272q0.112 0.112 0.112 0.257t-0.112 0.257l-3.705 3.705 1.607 1.607q0.212 0.212 0.212 0.502t-0.212 0.502-0.502 0.212h-5q-0.29 0-0.502-0.212t-0.212-0.502zM8.717 8.393q0-0.145 0.112-0.257l3.705-3.705-1.607-1.607q-0.212-0.212-0.212-0.502t0.212-0.502 0.502-0.212h5q0.29 0 0.502 0.212t0.212 0.502v5q0 0.29-0.212 0.502t-0.502 0.212-0.502-0.212l-1.607-1.607-3.705 3.705q-0.112 0.112-0.257 0.112t-0.257-0.112l-1.272-1.272q-0.112-0.112-0.112-0.257z";break;case"fullscreen-collapse":e[0]="0 0 20 20",e[1]="M0.145 16.964q0-0.145 0.112-0.257l3.705-3.705-1.607-1.607q-0.212-0.212-0.212-0.502t0.212-0.502 0.502-0.212h5q0.29 0 0.502 0.212t0.212 0.502v5q0 0.29-0.212 0.502t-0.502 0.212-0.502-0.212l-1.607-1.607-3.705 3.705q-0.112 0.112-0.257 0.112t-0.257-0.112l-1.272-1.272q-0.112-0.112-0.112-0.257zM8.571 9.464v-5q0-0.29 0.212-0.502t0.502-0.212 0.502 0.212l1.607 1.607 3.705-3.705q0.112-0.112 0.257-0.112t0.257 0.112l1.272 1.272q0.112 0.112 0.112 0.257t-0.112 0.257l-3.705 3.705 1.607 1.607q0.212 0.212 0.212 0.502t-0.212 0.502-0.502 0.212h-5q-0.29 0-0.502-0.212t-0.212-0.502z";break;case"help":e[0]="0 0 11 20",e[1]="M0.577 6.317q-0.028-0.167 0.061-0.313 1.786-2.969 5.179-2.969 0.893 0 1.797 0.346t1.629 0.926 1.183 1.423 0.458 1.769q0 0.603-0.173 1.127t-0.391 0.854-0.614 0.664-0.642 0.485-0.681 0.396q-0.458 0.257-0.765 0.725t-0.307 0.748q0 0.19-0.134 0.363t-0.313 0.173h-2.679q-0.167 0-0.285-0.206t-0.117-0.419v-0.502q0-0.926 0.725-1.747t1.596-1.211q0.658-0.301 0.938-0.625t0.279-0.848q0-0.469-0.519-0.826t-1.2-0.357q-0.725 0-1.205 0.324-0.391 0.279-1.194 1.283-0.145 0.179-0.346 0.179-0.134 0-0.279-0.089l-1.83-1.395q-0.145-0.112-0.173-0.279zM3.786 16.875v-2.679q0-0.179 0.134-0.313t0.313-0.134h2.679q0.179 0 0.313 0.134t0.134 0.313v2.679q0 0.179-0.134 0.313t-0.313 0.134h-2.679q-0.179 0-0.313-0.134t-0.134-0.313z"}return e},AblePlayer.prototype.reinitialize=function(){var t,e;if(e=(t=new r.Deferred).promise(),this,window.console||(this.debug=!1),this.startedPlaying=!1,this.autoScrollTranscript=!0,this.$media=r(this.media).first(),this.media=this.$media[0],this.$media.is("audio"))this.mediaType="audio";else{if(!this.$media.is("video"))return this.provideFallback(),t.fail(),e;this.mediaType="video"}return this.$sources=this.$media.find("source"),this.player=this.getPlayer(),this.player||this.provideFallback(),this.setIconType(),this.setDimensions(),t.resolve(),e},AblePlayer.prototype.setDimensions=function(){this.$media.attr("width")&&this.$media.attr("height")?(this.playerMaxWidth=parseInt(this.$media.attr("width"),10),this.playerMaxHeight=parseInt(this.$media.attr("height"),10)):this.$media.attr("width")?this.playerMaxWidth=parseInt(this.$media.attr("width"),10):(this.playerMaxWidth=this.$media.parent().width(),this.playerMaxHeight=this.getMatchingHeight(this.playerMaxWidth)),this.$media.css({width:"100%",height:"auto"})},AblePlayer.prototype.getMatchingHeight=function(e){var t,i,s,a,n;return t=[3840,2560,1920,1280,854,640,426],i=[2160,1440,1080,720,480,360,240],a=s=null,r.each(t,function(t){(null==s||Math.abs(this-e)",{class:"icon-play able-clipped"}),r("body").append(t),t),void 0!==(i=window.getComputedStyle(e.get(0),null).getPropertyValue("font-family"))&&-1!==i.indexOf("able")?this.iconType="font":this.iconType="image"):this.iconType="image",this.debug,void 0!==t&&t.remove())},AblePlayer.prototype.setupInstance=function(){var t=new r.Deferred,e=t.promise();return this.$media.attr("id")?this.mediaId=this.$media.attr("id"):(this.mediaId="ableMediaId_"+this.ableIndex,this.$media.attr("id",this.mediaId)),t.resolve(),e},AblePlayer.prototype.setupInstancePlaylist=function(){var s=this;if(this.hasPlaylist=!1,r(".able-playlist").each(function(){if(r(this).data("player")===s.mediaId){s.hasPlaylist=!0,s.$playlist=r(this).find("li"),r(this).find("li[data-youtube-id]").each(function(){var t=r(this).attr("data-youtube-id"),e=s.getYouTubePosterUrl(t,"120"),i=r("",{src:e,alt:""});r(this).find("button").prepend(i)}),r(this).find("li span").attr("aria-hidden","true"),s.playlistIndex=0;var t=r(this).data("embedded");s.playlistEmbed=void 0!==t&&!1!==t}}),this.hasPlaylist&&this.loop&&this.media.removeAttribute("loop"),this.hasPlaylist&&this.playlistEmbed){var t=this.$playlist.parent();this.$playlistDom=t.clone(),t.remove()}this.hasPlaylist&&0===this.$sources.length&&(this.cuePlaylistItem(0),this.$sources=this.$media.find("source"))},AblePlayer.prototype.recreatePlayer=function(){var t,e,i;(t=this).player?(this.playerCreated||(this.loadCurrentPreferences(),this.injectPlayerCode()),this.initSignLanguage(),this.initPlayer().then(function(){t.setupTracks().then(function(){t.setupAltCaptions().then(function(){t.setupTranscript().then(function(){for(t.setFullscreen(!1),void 0===t.volume&&(t.volume=t.defaultVolume),t.setVolume(t.volume),t.transcriptType&&(t.addTranscriptAreaEvents(),t.updateTranscript()),"video"===t.mediaType&&t.initDescription(),t.captions.length&&t.initDefaultCaption(),t.setMediaAttributes(),t.addControls(),t.addEventListeners(),e=t.getPreferencesGroups(),i=0;i",{class:"able-prefs-form "})).addClass(V),"captions"==t)a=this.tt.prefTitleCaptions,n=this.tt.prefIntroCaptions,W=q("

",{text:n}),s.append(W);else if("descriptions"==t){a=this.tt.prefTitleDescriptions;var W=q("

",{text:this.tt.prefIntroDescription1}),H=q("

    "),R=q("
  • ",{text:this.tt.prefDescFormatOption1}),E=q("
  • ",{text:this.tt.prefDescFormatOption2});H.append(R,E),this.hasOpenDesc&&this.hasClosedDesc?(D=this.tt.prefIntroDescription2+" ",D+=""+this.tt.prefDescFormatOption1b+"",D+=" "+this.tt.and+" "+this.tt.prefDescFormatOption2b+"."):this.hasOpenDesc?(D=this.tt.prefIntroDescription2,D+=" "+this.tt.prefDescFormatOption1b+"."):this.hasClosedDesc?(D=this.tt.prefIntroDescription2,D+=" "+this.tt.prefDescFormatOption2b+"."):D=this.tt.prefIntroDescriptionNone,r=q("

    ",{html:D}),o=this.tt.prefIntroDescription3,(this.hasOpenDesc||this.hasClosedDesc)&&(o+=" "+this.tt.prefIntroDescription4),l=q("

    ",{text:o}),s.append(W,H,r,l)}else"keyboard"==t?(a=this.tt.prefTitleKeyboard,n=this.tt.prefIntroKeyboard1,n+=" "+this.tt.prefIntroKeyboard2,n+=" "+this.tt.prefIntroKeyboard3,W=q("

    ",{text:n}),s.append(W)):"transcript"==t&&(a=this.tt.prefTitleTranscript,n=this.tt.prefIntroTranscript,W=q("

    ",{text:n}),s.append(W));for(c=q("

    "),u="able-prefs-"+t,d=this.mediaId+"-prefs-"+t,c.addClass(u).attr("id",d),"keyboard"===t?(g=q(""+this.tt.prefHeadingKeyboard1+""),c.append(g)):"descriptions"===t&&(g=q(""+this.tt.prefHeadingTextDescription+""),c.append(g)),h=0;h").addClass(v),"captions"===t){for(b=q('"),w=q("",{type:"checkbox",name:f,id:y,value:"true"}),1===this[f]&&w.prop("checked",!0),"keyboard"===t&&w.change(function(){"prefAltKey"===(A=q(this).attr("name"))?($=".able-modkey-alt",x=i.tt.prefAltKey+" + "):"prefCtrlKey"===A?($=".able-modkey-ctrl",x=i.tt.prefCtrlKey+" + "):"prefShiftKey"===A&&($=".able-modkey-shift",x=i.tt.prefShiftKey+" + "),q(this).is(":checked")?q($).text(x):q($).text("")}),m.append(w,b);c.append(m)}if(s.append(c),"captions"===t)"video"===this.mediaType&&(this.$sampleCapsDiv=q("
    ",{class:"able-captions-sample"}).text(this.tt.sampleCaptionText),s.append(this.$sampleCapsDiv),this.stylizeCaptions(this.$sampleCapsDiv));else if("keyboard"===t){for(S=q("

    ",{text:this.tt.prefHeadingKeyboard2}),N=q("
      "),I=[],M=[],h=0;h "+this.tt.or+' '+this.tt.spacebar)):"restart"===this.controls[h]?(I.push(this.tt.restart),M.push("s")):"previous"===this.controls[h]?(I.push(this.tt.prevTrack),M.push("b")):"next"===this.controls[h]?(I.push(this.tt.nextTrack),M.push("n")):"rewind"===this.controls[h]?(I.push(this.tt.rewind),M.push("r")):"forward"===this.controls[h]?(I.push(this.tt.forward),M.push("f")):"volume"===this.controls[h]?(I.push(this.tt.volume),M.push("v "+this.tt.or+' 1-9'),I.push(this.tt.mute+"/"+this.tt.unmute),M.push("m")):"captions"===this.controls[h]?(1',1===this.prefAltKey&&(B+=this.tt.prefAltKey+" + "),B+="",B+='',1===this.prefCtrlKey&&(B+=this.tt.prefCtrlKey+" + "),B+="",B+='',1===this.prefShiftKey&&(B+=this.tt.prefShiftKey+" + "),B+="",B+=''+M[h]+"",B+=" = "+I[h],F=q("
    • ",{html:B}),N.append(F);B=''+this.tt.escapeKey+"",B+=" = "+this.tt.escapeKeyFunction,F=q("
    • ",{html:B}),N.append(F),s.append(S,N)}q("body").append(s),z=new AccessibleDialog(s,this.$prefsButton,"dialog",a,W,i.tt.closeButtonLabel,"32em"),s.append("
      "),O=q('"),L=q('"),O.click(function(){z.hide(),i.savePrefsFromForm()}),L.click(function(){z.hide(),i.resetPrefsForm()}),s.append(O),s.append(L),"captions"===t?this.captionPrefsDialog=z:"descriptions"===t?this.descPrefsDialog=z:"keyboard"===t?this.keyboardPrefsDialog=z:"transcript"===t&&(this.transcriptPrefsDialog=z),q("div.able-prefs-form button.modalCloseButton").click(function(){i.resetPrefsForm()}),q("div.able-prefs-form").keydown(function(t){27===t.which&&i.resetPrefsForm()})},AblePlayer.prototype.resetPrefsForm=function(){var t,e,i,s;for(t=this.getCookie(),e=this.getAvailablePreferences(),i=0;i"):"&lrm"===s?i.push("‎"):"&rlm"===s?i.push("‏"):" "===s?i.push(" "):(i.push(s),i.push(";")),e="data";else{if("<"===n||""===n)return i.push(s),a.type="string",a.value=i.join(""),a;if("\t"===n||"\n"===n||"\f"===n||" "===n)return i.push(s),a.type="string",a.value=i.join(""),a;i.push(s),e="data"}else if("tag"===e)if("\t"===n||"\n"===n||"\f"===n||" "===n)e="startTagAnnotation";else if("."===n)e="startTagClass";else if("/"===n)e="endTag";else if(n.match("[0-9]"))e="timestampTag",i.push(n);else{if(">"===n){c(t,1);break}if(""===n)return a.tagName="",a.type="startTag",a;i.push(n),e="startTag"}else if("startTag"===e)if("\t"===n||"\f"===n||" "===n)e="startTagAnnotation";else if("\n"===n)s=n,e="startTagAnnotation";else if("."===n)e="startTagClass";else{if(">"===n)return c(t,1),a.tagName=i.join(""),a.type="startTag",a;if(""===n)return a.tagName=i.join(""),a.type="startTag",a;i.push(n)}else if("startTagClass"===e)if("\t"===n||"\f"===n||" "===n)a.classes.push(s),s="",e="startTagAnnotation";else if("\n"===n)a.classes.push(s),s=n,e="startTagAnnotation";else if("."===n)a.classes.push(s),s="";else{if(">"===n)return c(t,1),a.classes.push(s),a.type="startTag",a.tagName=i.join(""),a;if(""===n)return a.classes.push(s),a.type="startTag",a.tagName=i.join(""),a;s+="c"}else if("startTagAnnotation"===e){if(">"===n)return c(t,1),s=l.trim(s).replace(/ +/," "),a.type="startTag",a.tagName=i.join(""),a.annotation=s,a;if(""===n)return s=l.trim(s).replace(/ +/," "),a.type="startTag",a.tagName=i.join(""),a.annotation=s,a;s+=n}else if("endTag"===e){if(">"===n)return c(t,1),a.type="endTag",a.tagName=i.join(""),a;if(""===n)return a.type="endTag",a.tagName=i.join(""),a;i.push(n)}else{if("timestampTag"!==e)throw"Unknown tokenState "+e;if(">"===n)return c(t,1),a.type="timestampTag",a.name=i.join(""),a;if(""===n)return a.type="timestampTag",a.name=i.join(""),a;i.push(n)}c(t,1)}}function b(t){if(-1===u(t).indexOf("--\x3e"))for(;;){var e=d(t);if(0===l.trim(e).length)return;if(-1!==e.indexOf("--\x3e"))return void(t.error="Invalid syntax: --\x3e in comment.");u(t)}else t.error="Invalid syntax: --\x3e in NOTE line."}function w(t){"\ufeff"===t.text[0]&&c(t,1)}function P(t){"WEBVTT"===t.text.substring(0,6)?c(t,6):t.error="Invalid signature."}function C(t){t.text.length<3||"--\x3e"!==t.text.substring(0,3)?t.error="Missing --\x3e":c(t,3)}function k(t){for(;"\t"===t.text[0]||" "===t.text[0];)c(t,1)}function T(t){for(var e=0;"\t"===t.text[0]||" "===t.text[0];)c(t,1),e+=1;0===e&&(t.error="Missing space.")}function A(t){var e=t.text.indexOf("\n");-1===e?t.error="Missing EOL.":c(t,e+1)}function $(t){for(;0

    ').parent(),this.$ableDiv=this.$mediaContainer.wrap('
    ').parent(),this.$ableWrapper=this.$ableDiv.wrap('
    ').parent(),this.$ableWrapper.addClass("able-skin-"+this.skin),this.$ableWrapper.css({"max-width":this.playerMaxWidth+"px"}),this.injectOffscreenHeading(),"video"===this.mediaType&&("image"==this.iconType||"youtube"===this.player&&!this.hasPoster||this.injectBigPlayButton(),t=A("
    ",{class:"able-vidcap-container"}),this.$vidcapContainer=this.$mediaContainer.wrap(t).parent()),this.injectPlayerControlArea(),this.injectTextDescriptionArea(),this.injectAlert(),this.injectPlaylist()},AblePlayer.prototype.injectOffscreenHeading=function(){var t;"0"==this.playerHeadingLevel||(void 0===this.playerHeadingLevel&&(this.playerHeadingLevel=this.getNextHeadingLevel(this.$ableDiv)),t="h"+this.playerHeadingLevel.toString(),this.$headingDiv=A("<"+t+">"),this.$ableDiv.prepend(this.$headingDiv),this.$headingDiv.addClass("able-offscreen"),this.$headingDiv.text(this.tt.playerHeading))},AblePlayer.prototype.injectBigPlayButton=function(){this.$bigPlayButton=A("
    ')}for(var T in"video"===this.mediaType&&(void 0!==this.$captionsDiv&&this.stylizeCaptions(this.$captionsDiv),void 0!==this.$descDiv&&this.stylizeCaptions(this.$descDiv)),this.controls=[],t)t.hasOwnProperty(T)&&(this.controls=this.controls.concat(t[T]));this.refreshControls("init")},AblePlayer.prototype.useSvg=function(){var t,e,g=Object.create(null),f=function(){clearTimeout(e),e=setTimeout(t,100)},m=function(){},v="http://www.w3.org/1999/xlink";t=function(){var t,e,i,s,a,n,r,o,l,h=0;if(window.XMLHttpRequest&&(a=void 0!==(a=new XMLHttpRequest).withCredentials?XMLHttpRequest:XDomainRequest||void 0),void 0!==a){for(m(),o=document.getElementsByTagName("use"),s=0;s",{src:A(this).attr("data-src")});o.hasAttr(A(this),"data-type")&&t.attr("type",A(this).attr("data-type")),o.hasAttr(A(this),"data-desc-src")&&t.attr("data-desc-src",A(this).attr("data-desc-src")),o.hasAttr(A(this),"data-sign-src")&&t.attr("data-sign-src",A(this).attr("data-sign-src")),o.$media.append(t)}});var h=e.children("span.able-track");h.length&&h.each(function(){if(o.hasAttr(A(this),"data-src")&&o.hasAttr(A(this),"data-kind")&&o.hasAttr(A(this),"data-srclang")){var t=A("",{src:A(this).attr("data-src"),kind:A(this).attr("data-kind"),srclang:A(this).attr("data-srclang")});o.hasAttr(A(this),"data-label")&&t.attr("label",A(this).attr("data-label")),o.$media.append(t)}}),a=e.text(),this.hasAttr(e,"lang")&&(n=e.attr("lang")),this.$sources=this.$media.find("source"),this.recreatePlayer(),this.$playlist.removeClass("able-current"),this.$playlist.eq(t).addClass("able-current"),!0===this.showNowPlaying&&void 0!==this.$nowPlayingDiv&&(r=A(""),void 0!==n&&r.attr("lang",n),r.html(""+this.tt.selectedTrack+":"+a),this.$nowPlayingDiv.html(r)),this.initializing?this.swappingSrc=!1:(this.swappingSrc=!0,"html5"===this.player?this.media.load():"youtube"===this.player&&(this.okToPlay=!0))},AblePlayer.prototype.deletePlayer=function(){"youtube"==this.player&&this.$mediaContainer.find("iframe").remove();this.$media.removeAttr("poster width height"),this.$media.empty(),this.$controllerDiv.empty(),this.$elapsedTimeContainer.empty().text("0:00"),this.$durationContainer.empty(),this.$signWindow&&this.$signWindow.remove(),this.$transcriptArea&&this.$transcriptArea.remove(),A(".able-modal-dialog").remove(),this.hasCaptions=!1,this.hasChapters=!1,this.captionsPopup=null,this.chaptersPopup=null},AblePlayer.prototype.getButtonTitle=function(t){return"playpause"===t?this.tt.play:"play"===t?this.tt.play:"pause"===t?this.tt.pause:"restart"===t?this.tt.restart:"previous"===t?this.tt.prevTrack:"next"===t?this.tt.nextTrack:"rewind"===t?this.tt.rewind:"forward"===t?this.tt.forward:"captions"===t?1",{class:"able-captions"}),this.$captionsWrapper=c("
    ",{class:"able-captions-wrapper","aria-hidden":"true"}).hide(),"below"===this.prefCaptionsPosition?this.$captionsWrapper.addClass("able-captions-below"):this.$captionsWrapper.addClass("able-captions-overlay"),this.$captionsWrapper.append(this.$captionsDiv),this.$vidcapContainer.append(this.$captionsWrapper))),this.currentCaption=-1,1===this.prefCaptions?this.captionsOn=!0:this.captionsOn=!1,0===this.captions.length)this.captions.push({cues:s,language:e,label:i,def:t.def}),this.captionLabels.push(i);else{for(a=!1,n=0;n",{style:"display:none"})).load(s,function(t,e,i){"error"===e?(n.debug,a.fail()):a.resolve(s,t),r.remove()}),t},AblePlayer.prototype.setupAltCaptions=function(){var t=new c.Deferred,e=t.promise();return 0===this.captions.length?"youtube"===this.player&&this.usingYouTubeCaptions?this.setupYouTubeCaptions().done(function(){t.resolve()}):"vimeo"===this.player&&this.usingVimeoCaptions?this.setupVimeoCaptions().done(function(){t.resolve()}):t.resolve():t.resolve(),e}}(jQuery),function(u){AblePlayer.prototype.initYouTubePlayer=function(){var t,e,i,s;return t=this,i=(e=new u.Deferred).promise(),s=this.youTubeDescId&&this.prefDesc?this.youTubeDescId:this.youTubeId,this.activeYouTubeId=s,AblePlayer.youtubeIframeAPIReady?this.finalizeYoutubeInit().then(function(){e.resolve()}):(AblePlayer.loadingYoutubeIframeAPI||u.getScript("https://www.youtube.com/iframe_api").fail(function(){e.fail()}),u("body").on("youtubeIframeAPIReady",function(){t.finalizeYoutubeInit().then(function(){e.resolve()})})),i},AblePlayer.prototype.finalizeYoutubeInit=function(){var e,t,i,s,a,n;return t=(e=new u.Deferred).promise(),s=(i=this).mediaId+"_youtube",this.$mediaContainer.prepend(u("
    ").attr("id",s)),0,(a=this.getYouTubeDimensions(this.activeYouTubeId,s))?(this.ytWidth=a[0],this.ytHeight=a[1],this.aspectRatio=i.ytWidth/i.ytHeight):(this.ytWidth=null,this.ytHeight=null),n=this.okToPlay?1:0,this.youTubePlayer=new YT.Player(s,{videoId:this.activeYouTubeId,host:this.youTubeNoCookie?"https://www.youtube-nocookie.com":"https://www.youtube.com",width:this.ytWidth,height:this.ytHeight,playerVars:{autoplay:n,enablejsapi:1,disableKb:1,playsinline:this.playsInline,start:this.startTime,controls:0,cc_load_policy:0,hl:this.lang,modestbranding:1,rel:0,html5:1,iv_load_policy:3},events:{onReady:function(){i.swappingSrc&&(i.swappingSrc=!1,i.cueingPlaylistItem=!1,i.playing&&i.playMedia()),i.userClickedPlaylist&&(i.userClickedPlaylist=!1),void 0===i.aspectRatio&&i.resizeYouTubePlayer(i.activeYouTubeId,s),e.resolve()},onError:function(t){e.fail()},onStateChange:function(t){i.getPlayerState().then(function(t){"playing"===t?(i.playing=!0,i.startedPlaying=!0,i.paused=!1):"ended"==t?i.onMediaComplete():(i.playing=!1,i.paused=!0),i.stoppingYouTube&&"paused"===t&&(void 0!==i.$posterImg&&i.$posterImg.show(),i.stoppingYouTube=!1,i.seeking=!1,i.playing=!1,i.paused=!0)})},onPlaybackQualityChange:function(){},onApiChange:function(t){i.initYouTubeCaptionModule()}}}),this.injectPoster(this.$mediaContainer,"youtube"),this.hasPlaylist||this.$media.remove(),t},AblePlayer.prototype.getYouTubeDimensions=function(t){var e,i,s,a;return e=[],void 0!==this.playerMaxWidth?(e[0]=this.playerMaxWidth,void 0!==this.playerMaxHeight&&(e[1]=this.playerMaxHeight),e):void 0!==u("#"+t)&&(s=(i=u("#"+t)).width(),a=i.height(),0
    "),this.playedDiv=d("
    ")),this.seekHead=d("
    ",{orientation:i,class:"able-"+l+"-head"}),"visible"===p?this.seekHead.attr("tabindex","0"):this.seekHead.attr("tabindex","-1"),this.seekHead.attr({role:"slider","aria-label":o,"aria-valuemin":a,"aria-valuemax":n}),this.timeTooltip=d("
    "),this.bodyDiv.append(this.timeTooltip),this.timeTooltip.attr("role","tooltip"),this.timeTooltip.addClass("able-tooltip"),this.timeTooltip.hide(),this.bodyDiv.append(this.loadedDiv),this.bodyDiv.append(this.playedDiv),this.bodyDiv.append(this.seekHead),this.bodyDiv.wrap("
    "),this.wrapperDiv=this.bodyDiv.parent(),"legacy"===this.skin&&("horizontal"===i?(this.wrapperDiv.width(s),this.loadedDiv.width(0)):(this.wrapperDiv.height(s),this.loadedDiv.height(0))),this.wrapperDiv.addClass("able-"+l+"-wrapper"),h&&(this.loadedDiv.addClass("able-"+l+"-loaded"),this.playedDiv.width(0),this.playedDiv.addClass("able-"+l+"-played"),this.setDuration(n)),this.seekHead.on("mouseenter mouseleave mousemove mousedown mouseup focus blur touchstart touchmove touchend",function(t){u=c.pointerEventToXY(t),"mouseenter"===t.type||"focus"===t.type?c.overHead=!0:"mouseleave"===t.type||"blur"===t.type?(c.overHead=!1,!c.overBody&&c.tracking&&"mouse"===c.trackDevice&&c.stopTracking(c.pageXToPosition(u.x))):"mousemove"===t.type||"touchmove"===t.type?c.tracking&&"mouse"===c.trackDevice&&c.trackHeadAtPageX(u.x):"mousedown"===t.type||"touchstart"===t.type?(c.startTracking("mouse",c.pageXToPosition(c.seekHead.offset()+c.seekHead.width()/2)),c.bodyDiv.is(":focus")||c.bodyDiv.focus(),t.preventDefault()):"mouseup"!==t.type&&"touchend"!==t.type||c.tracking&&"mouse"===c.trackDevice&&c.stopTracking(c.pageXToPosition(u.x)),"mousemove"!==t.type&&"mousedown"!==t.type&&"mouseup"!==t.type&&"touchstart"!==t.type&&"touchend"!==t.type&&c.refreshTooltip()}),this.bodyDiv.on("mouseenter mouseleave mousemove mousedown mouseup keydown keyup touchstart touchmove touchend",function(t){if(u=c.pointerEventToXY(t),"mouseenter"===t.type)c.overBody=!0;else if("mouseleave"===t.type)c.overBody=!1,c.overBodyMousePos=null,!c.overHead&&c.tracking&&"mouse"===c.trackDevice&&c.stopTracking(c.pageXToPosition(u.x));else if("mousemove"===t.type||"touchmove"===t.type)c.overBodyMousePos={x:u.x,y:u.y},c.tracking&&"mouse"===c.trackDevice&&c.trackHeadAtPageX(u.x);else if("mousedown"===t.type||"touchstart"===t.type)c.startTracking("mouse",c.pageXToPosition(u.x)),c.trackHeadAtPageX(u.x),c.seekHead.is(":focus")||c.seekHead.focus(),t.preventDefault();else if("mouseup"===t.type||"touchend"===t.type)c.tracking&&"mouse"===c.trackDevice&&c.stopTracking(c.pageXToPosition(u.x));else if("keydown"===t.type){if(36===t.which)c.trackImmediatelyTo(0);else if(35===t.which)c.trackImmediatelyTo(c.duration);else if(37===t.which||40===t.which)c.arrowKeyDown(-1);else if(39===t.which||38===t.which)c.arrowKeyDown(1);else if(33===t.which&&0",{class:"able-offscreen","aria-live":"polite"}),this.wrapperDiv.append(this.liveAriaRegion)),e&&this.liveAriaRegion.text()!==i&&this.liveAriaRegion.text(i),this.seekHead.attr("aria-valuetext",i),this.seekHead.attr("aria-valuenow",Math.floor(t).toString())},AccessibleSlider.prototype.trackImmediatelyTo=function(t){this.startTracking("keyboard",t),this.trackHeadAtPosition(t),this.keyTrackPosition=t},AccessibleSlider.prototype.refreshTooltip=function(){this.overHead?(this.timeTooltip.show(),this.tracking?this.timeTooltip.text(this.positionToStr(this.lastTrackPosition)):this.timeTooltip.text(this.positionToStr(this.position)),this.setTooltipPosition(this.seekHead.position().left+this.seekHead.width()/2)):this.overBody&&this.overBodyMousePos?(this.timeTooltip.show(),this.timeTooltip.text(this.positionToStr(this.pageXToPosition(this.overBodyMousePos.x))),this.setTooltipPosition(this.overBodyMousePos.x-this.bodyDiv.offset().left)):this.timeTooltip.hide()},AccessibleSlider.prototype.setTooltipPosition=function(t){this.timeTooltip.css({left:t-this.timeTooltip.width()/2-10,bottom:this.seekHead.height()+10})},AccessibleSlider.prototype.positionToStr=function(t){var e=Math.floor(t/3600),i=Math.floor(t/60)%60,s=Math.floor(t%60);return s<10&&(s="0"+s),0",{id:i,class:"able-volume-slider","aria-hidden":"true"}).hide(),this.$volumeSliderTooltip=r("
    ",{class:"able-tooltip",role:"tooltip"}).hide(),this.$volumeSliderTrack=r("
    ",{class:"able-volume-track"}),this.$volumeSliderTrackOn=r("
    ",{class:"able-volume-track able-volume-track-on"}),this.$volumeSliderHead=r("
    ",{class:"able-volume-head",role:"slider","aria-orientation":"vertical","aria-label":this.tt.volumeUpDown,"aria-valuemin":0,"aria-valuemax":10,"aria-valuenow":this.volume,tabindex:-1}),this.$volumeSliderTrack.append(this.$volumeSliderTrackOn,this.$volumeSliderHead),this.$volumeAlert=r("
    ",{class:"able-offscreen","aria-live":"assertive","aria-atomic":"true"}),n=parseInt(e.volume)/10*100,this.$volumeHelp=r("
    ",{id:s,class:"able-volume-help"}).text(n+"%, "+this.tt.volumeHelp),this.$volumeButton.attr({"aria-describedby":s}),this.$volumeSlider.append(this.$volumeSliderTooltip,this.$volumeSliderTrack,this.$volumeAlert,this.$volumeHelp),t.append(this.$volumeSlider),this.refreshVolumeSlider(this.volume),this.$volumeSliderHead.on("mousedown",function(t){t.preventDefault(),e.draggingVolume=!0,e.volumeHeadPositionTop=r(this).offset().top}),this.$mediaContainer.on("mouseover",function(t){"youtube"==e.player&&(e.draggingVolume=!1)}),r(document).on("mouseup",function(t){e.draggingVolume=!1}),r(document).on("mousemove",function(t){e.draggingVolume&&(t.pageX,a=t.pageY,e.moveVolumeHead(a))}),this.$volumeSliderHead.on("keydown",function(t){if(37===t.which||40===t.which)e.handleVolume("down");else if(39===t.which||38===t.which)e.handleVolume("up");else{if(27!==t.which&&13!==t.which&&9!==t.which)return;e.$volumeSlider.is(":visible")?e.hideVolumePopup():e.showVolumePopup()}t.preventDefault()})},AblePlayer.prototype.refreshVolumeSlider=function(t){var e,i,s,a,n;i=(e=t/10*100)+"%",s=t*this.volumeTickHeight,n=(a=this.volumeTrackHeight-s)-this.volumeHeadHeight,this.$volumeSliderTrackOn&&this.$volumeSliderTrackOn.css({height:s+"px",top:a+"px"}),this.$volumeSliderHead&&(this.$volumeSliderHead.attr({"aria-valuenow":t,"aria-valuetext":i}),this.$volumeSliderHead.css({top:n+"px"})),this.$volumeAlert&&this.$volumeAlert.text(e+"%")},AblePlayer.prototype.refreshVolumeButton=function(t){var e,i,s,a,n,r;e=this.getVolumeName(t),i=t/10*100,s=this.tt.volume+" "+i+"%","font"===this.iconType?(a="icon-volume-"+e,this.$volumeButton.find("span").first().removeClass().addClass(a),this.$volumeButton.find("span.able-clipped").text(s)):"image"===this.iconType?(n=this.imgPath+"volume-"+e+".png",this.$volumeButton.find("img").attr("src",n)):"svg"===this.iconType&&("mute"!==e&&(e="volume-"+e),r=this.getSvgData(e),this.$volumeButton.find("svg").attr("viewBox",r[0]),this.$volumeButton.find("path").attr("d",r[1]))},AblePlayer.prototype.moveVolumeHead=function(t){var e,i,s,a=this.volumeHeadPositionTop-t;if(Math.abs(a)>this.volumeTickHeight){if("up"==(e=0",{class:"modalCloseButton",title:h.closeButtonLabel,"aria-label":h.closeButtonLabel}).text("X");c.keydown(function(t){32===t.which&&h.hide()}).click(function(){h.hide()});var u=d("

    ");u.attr("id","modalTitle-"+this.baseId),u.css("text-align","center"),u.text(s),a.attr("id","modalDesc-"+this.baseId),p.attr({"aria-labelledby":"modalTitle-"+this.baseId,"aria-describedby":"modalDesc-"+this.baseId}),p.prepend(u),p.prepend(c)}p.attr({"aria-hidden":"true",role:i}),p.keydown(function(t){if(27===t.which)h.escapeHook?h.escapeHook(t,this):(h.hide(),t.preventDefault());else if(9===t.which){var e=p.find("*").filter(g).filter(":visible");if(0===e.length)return;var i=d(":focus"),s=e.index(i);t.shiftKey?0===s&&(e.get(e.length-1).focus(),t.preventDefault()):s===e.length-1&&(e.get(0).focus(),t.preventDefault())}t.stopPropagation()}),d("body > *").not(".able-modal-overlay").not(".able-modal-dialog").removeAttr("aria-hidden")},AccessibleDialog.prototype.show=function(){if(!this.overlay){var t=d("
    ").attr({class:"able-modal-overlay",tabindex:"-1"});this.overlay=t,d("body").append(t),t.on("mousedown.accessibleModal",function(t){t.preventDefault()})}d("body > *").not(".able-modal-overlay").not(".able-modal-dialog").attr("aria-hidden","true"),this.overlay.css("display","block"),this.modal.css("display","block"),this.modal.attr({"aria-hidden":"false",tabindex:"-1"}),0===this.modal.find("*").filter(g).filter(":visible").length&&this.focusedElementBeforeModal.blur();var e=this;setTimeout(function(){e.modal.focus()},300)},AccessibleDialog.prototype.hide=function(){this.overlay&&this.overlay.css("display","none"),this.modal.css("display","none"),this.modal.attr("aria-hidden","true"),d("body > *").not(".able-modal-overlay").not(".able-modal-dialog").removeAttr("aria-hidden"),this.focusedElementBeforeModal.focus()}}(jQuery),function(n){AblePlayer.prototype.getNextHeadingLevel=function(t){var e,i,s,a;return t.parents().each(function(){if(e=n(this).children(":header"),i=e.length)return s=e.eq(i-1).prop("tagName"),!1}),void 0===s?a=1:(a=parseInt(s[1]),6<(a+=1)&&(a=6)),a},AblePlayer.prototype.countProperties=function(t){var e,i;for(i in e=0,t)t.hasOwnProperty(i)&&++e;return e},AblePlayer.prototype.formatSecondsAsColonTime=function(t,e){var i,s,a,n,r,o,l;if(e)if(2===(n=t.toString().split(".")).length){if((r=n[1]).length<3)for(o=3-r.length,l=1;l<=o;l++)r+="0"}else r="000";return i=Math.floor(t/3600),s=Math.floor(t/60)%60,(a=Math.floor(t%60))<10&&(a="0"+a),0t){a=s;break}void 0!==a?this.currentDescription!==a&&(this.$status.removeAttr("aria-live"),n=o(i[a].components),this.exposeTextDescriptions&&void 0!==this.synth&&void 0!==this.descVoiceIndex?((r=new SpeechSynthesisUtterance).voice=this.descVoices[this.descVoiceIndex],r.voiceURI="native",r.volume=1,r.rate=1.5,r.pitch=1,r.text=n,r.lang=this.captionLang,r.onend=function(t){e.pausedForDescription&&e.playMedia()},this.synth.speak(r),this.prefVisibleDesc&&this.$descDiv.html(n).removeAttr("aria-live aria-atomic")):this.$descDiv.html(n),this.prefDescPause&&this.exposeTextDescriptions&&(this.pauseMedia(),this.pausedForDescription=!0),this.currentDescription=a):(this.$descDiv.html(""),this.currentDescription=-1,this.$status.attr("aria-live","polite"))}},jQuery,AblePlayer.prototype.getUserAgent=function(){this.userAgent={},this.userAgent.browser={},/Firefox[\/\s](\d+\.\d+)/.test(navigator.userAgent)?(this.userAgent.browser.name="Firefox",this.userAgent.browser.version=RegExp.$1):/MSIE (\d+\.\d+);/.test(navigator.userAgent)?(this.userAgent.browser.name="Internet Explorer",this.userAgent.browser.version=RegExp.$1):/Trident.*rv[ :]*(\d+\.\d+)/.test(navigator.userAgent)?(this.userAgent.browser.name="Internet Explorer",this.userAgent.browser.version=RegExp.$1):/Edge[\/\s](\d+\.\d+)/.test(navigator.userAgent)?(this.userAgent.browser.name="Edge",this.userAgent.browser.version=RegExp.$1):/OPR\/(\d+\.\d+)/i.test(navigator.userAgent)?(this.userAgent.browser.name="Opera",this.userAgent.browser.version=RegExp.$1):/Chrome/.test(navigator.userAgent)&&/Google Inc/.test(navigator.vendor)?(this.userAgent.browser.name="Chrome",/Chrome[\/\s](\d+\.\d+)/.test(navigator.userAgent)&&(this.userAgent.browser.version=RegExp.$1)):/Safari/.test(navigator.userAgent)&&/Apple Computer/.test(navigator.vendor)?(this.userAgent.browser.name="Safari",/Version[\/\s](\d+\.\d+)/.test(navigator.userAgent)&&(this.userAgent.browser.version=RegExp.$1)):(this.userAgent.browser.name="Unknown",this.userAgent.browser.version="Unknown"),-1!=window.navigator.userAgent.indexOf("Windows NT 6.2")?this.userAgent.os="Windows 8":-1!=window.navigator.userAgent.indexOf("Windows NT 6.1")?this.userAgent.os="Windows 7":-1!=window.navigator.userAgent.indexOf("Windows NT 6.0")?this.userAgent.os="Windows Vista":-1!=window.navigator.userAgent.indexOf("Windows NT 5.1")?this.userAgent.os="Windows XP":-1!=window.navigator.userAgent.indexOf("Windows NT 5.0")?this.userAgent.os="Windows 2000":-1!=window.navigator.userAgent.indexOf("Mac")?this.userAgent.os="Mac/iOS":-1!=window.navigator.userAgent.indexOf("X11")?this.userAgent.os="UNIX":-1!=window.navigator.userAgent.indexOf("Linux")&&(this.userAgent.os="Linux"),this.debug},AblePlayer.prototype.isUserAgent=function(t){var e=navigator.userAgent.toLowerCase();return this.debug,-1!==e.indexOf(t.toLowerCase())},AblePlayer.prototype.isIOS=function(t){var e;return e=navigator.userAgent.toLowerCase(),!!/ipad|iphone|ipod/.exec(e)&&(void 0===t||-1!==e.indexOf("os "+t))},AblePlayer.prototype.browserSupportsVolume=function(){var t,e;return t=navigator.userAgent.toLowerCase(),!(e=/ipad|iphone|ipod|android|blackberry|windows ce|windows phone|webos|playbook/.exec(t))||!("android"!==e[0]||!/firefox/.test(t))},AblePlayer.prototype.nativeFullscreenSupported=function(){return document.fullscreenEnabled||document.webkitFullscreenEnabled||document.mozFullScreenEnabled||document.msFullscreenEnabled},function(v){AblePlayer.prototype.seekTo=function(t){var e;(this.seekFromTime=this.media.currentTime,this.seekToTime=t,this.seeking=!0,this.liveUpdatePending=!0,"html5"===this.player)?(this.startTime=t,0<(e=this.media.seekable).length&&this.startTime>=e.start(0)&&this.startTime<=e.end(0)&&(this.media.currentTime=this.startTime,this.hasSignLanguage&&this.signVideo&&(this.signVideo.currentTime=this.startTime))):"youtube"===this.player?(this.youTubePlayer.seekTo(t,!0),0this.chapterDuration&&(g=this.chapterDuration),this.seekBar&&this.seekBar.setBuffered(g/this.chapterDuration)):this.seekBar&&(isNaN(g)||this.seekBar.setBuffered(g/t))):"youtube"===this.player?this.seekBar&&this.seekBar.setBuffered(this.youTubePlayer.getVideoLoadedFraction()):this.player,this.$descButton&&(this.descOn?(this.$descButton.removeClass("buttonOff").attr("aria-label",this.tt.turnOffDescriptions),this.$descButton.find("span.able-clipped").text(this.tt.turnOffDescriptions)):(this.$descButton.addClass("buttonOff").attr("aria-label",this.tt.turnOnDescriptions),this.$descButton.find("span.able-clipped").text(this.tt.turnOnDescriptions))),this.$ccButton&&(d=this.captions.length,this.captionsOn?(this.$ccButton.removeClass("buttonOff"),1===d&&(this.$ccButton.attr("aria-label",this.tt.hideCaptions),this.$ccButton.find("span.able-clipped").text(this.tt.hideCaptions))):(this.$ccButton.addClass("buttonOff"),1===d&&(this.$ccButton.attr("aria-label",this.tt.showCaptions),this.$ccButton.find("span.able-clipped").text(this.tt.showCaptions))),1s.statusMessageThreshold&&(s.$status.text(o[t]),s.statusDebounceStart=null,clearTimeout(s.statusTimeout),s.statusTimeout=null):(s.statusDebounceStart=l,s.debouncingStatus=!0,s.statusTimeout=setTimeout(function(){s.debouncingStatus=!1,s.refreshControls(e)},s.statusMessageThreshold))),s.seekBar.tracking||s.stoppingYouTube||("paused"===t||"stopped"===t||"ended"===t?(s.$playpauseButton.attr("aria-label",s.tt.play),"font"===s.iconType?(s.$playpauseButton.find("span").first().removeClass("icon-pause").addClass("icon-play"),s.$playpauseButton.find("span.able-clipped").text(s.tt.play)):"svg"===s.iconType?(m=s.getSvgData("play"),s.$playpauseButton.find("svg").attr("viewBox",m[0]),s.$playpauseButton.find("path").attr("d",m[1])):s.$playpauseButton.find("img").attr("src",s.playButtonImg)):(s.$playpauseButton.attr("aria-label",s.tt.pause),"font"===s.iconType?(s.$playpauseButton.find("span").first().removeClass("icon-play").addClass("icon-pause"),s.$playpauseButton.find("span.able-clipped").text(s.tt.pause)):"svg"===s.iconType?(m=s.getSvgData("pause"),s.$playpauseButton.find("svg").attr("viewBox",m[0]),s.$playpauseButton.find("path").attr("d",m[1])):s.$playpauseButton.find("img").attr("src",s.pauseButtonImg)))}),this.fullscreen||(this.$statusBarDiv.height()+5this.duration||t>this.currentChapter.end?t=Math.min(this.duration,this.currentChapter.end):this.duration%tthis.currentChapter.end&&(t=this.currentChapter.end):t>this.duration&&(t=this.duration),this.seekTo(t)},AblePlayer.prototype.handleRateIncrease=function(){this.changeRate(1)},AblePlayer.prototype.handleRateDecrease=function(){this.changeRate(-1)},AblePlayer.prototype.changeRate=function(t){var e,i,s,a;"html5"===this.player?this.setPlaybackRate(this.getPlaybackRate()+.25*t):"youtube"===this.player?(e=this.youTubePlayer.getAvailablePlaybackRates(),i=this.getPlaybackRate(),-1===(s=e.indexOf(i))||(s+=t)"),n=v("

    ",{class:"able-screenreader-alert"}).text(this.tt.fullscreen);a.append(n),this.fullscreenDialog=new AccessibleDialog(a,this.$fullscreenButton,"dialog","Fullscreen video player",n,this.tt.exitFullScreen,"100%",!0,function(){e.handleFullscreenToggle()}),v("body").append(a)}var r=this.paused;if(t){this.modalFullscreenActive=!0,this.fullscreenDialog.show(),this.$modalFullscreenPlaceholder=v('

    '),this.$modalFullscreenPlaceholder.insertAfter(i),i.appendTo(this.fullscreenDialog.modal),i===this.$ableColumnLeft&&i.width("100%");var o=v(window).height()-this.$playerDiv.height();this.$descDiv.is(":hidden")||(o-=this.$descDiv.height()),this.resizePlayer(v(window).width(),o)}else this.modalFullscreenActive=!1,i===this.$ableColumnLeft&&i.width("50%"),i.insertAfter(this.$modalFullscreenPlaceholder),this.$modalFullscreenPlaceholder.remove(),this.fullscreenDialog.hide(),this.resizePlayer(this.$ableWrapper.width(),this.$ableWrapper.height());!r&&this.paused&&this.playMedia()}this.refreshControls("fullscreen")}},AblePlayer.prototype.handleFullscreenToggle=function(){var t=this.paused;this.setFullscreen(!this.fullscreen),t?this.pauseMedia():t||this.playMedia(),this.fullscreen?(this.hideControls=!0,this.playing&&(this.fadeControls("out"),this.controlsHidden=!0)):(this.hideControls=this.hideControlsOriginal,this.hideControls||(this.controlsHidden&&(this.fadeControls("in"),this.controlsHidden=!1),"active"===this.hideControlsTimeoutStatus&&(window.clearTimeout(this.hideControlsTimeout),this.hideControlsTimeoutStatus="clear")))},AblePlayer.prototype.handleTranscriptLockToggle=function(t){this.autoScrollTranscript=t,this.prefAutoScrollTranscript=+t,this.updateCookie("prefAutoScrollTranscript"),this.refreshControls("transcript")},AblePlayer.prototype.showTooltip=function(t){t.is(":animated")?t.stop(!0,!0).show().delay(4e3).fadeOut(1e3):t.stop().show().delay(4e3).fadeOut(1e3)},AblePlayer.prototype.showAlert=function(t,e){var i,s,a,n;"transcript"===e?(i=this.$transcriptAlert,s=this.$transcriptArea):"sign"===e?(i=this.$signAlert,s=this.$signWindow):i="screenreader"===e?this.$srAlertBox:this.$alertBox,i.text(t).show(),"transcript"==e||"sign"===e?(a=s.width()>i.width()?s.width()/2-i.width()/2:10,"sign"===e?n=s.height()/3*2:"transcript"===e&&(n=this.$transcriptToolbar.height()+30),i.css({top:n+"px",left:a+"px"})):"screenreader"!==e&&i.css({left:this.$playerDiv.width()/2-i.width()/2}),"screenreader"!==e&&setTimeout(function(){i.fadeOut(300)},3e3)},AblePlayer.prototype.showedAlert=function(t){return"transcript"===t?!!this.showedTranscriptAlert:"sign"===t&&!!this.showedSignAlert},AblePlayer.prototype.resizePlayer=function(t,e){var i,s,a;this.fullscreen?(void 0!==this.$vidcapContainer&&(this.$ableWrapper.css({width:t+"px","max-width":""}),this.$vidcapContainer.css({height:e+"px",width:t}),this.$media.css({height:e+"px",width:t})),void 0!==this.$transcriptArea&&this.retrieveOffscreenWindow("transcript",t,e),void 0!==this.$signWindow&&this.retrieveOffscreenWindow("sign",t,e)):this.restoringAfterFullScreen&&(t=this.preFullScreenWidth,e=this.preFullScreenHeight,this.restoringAfterFullScreen=!1,this.$ableWrapper.css({"max-width":t+"px",width:""}),void 0!==this.$vidcapContainer&&this.$vidcapContainer.css({height:"",width:""}),this.$media.css({width:"100%",height:"auto"})),"youtube"===this.player&&this.youTubePlayer&&this.youTubePlayer.setSize(t,e),void 0!==this.$captionsDiv&&(i=parseInt(this.prefCaptionsSize,10),a=(s=1e3t&&(t=parseInt(e))}),t},AblePlayer.prototype.updateZIndex=function(t){var e,i,s,a;if(8e3,7e3,this.getHighestZIndex(),void 0===this.$transcriptArea||void 0===this.$signWindow)return void 0!==this.$transcriptArea?7e3<(e=parseInt(this.$transcriptArea.css("z-index")))&&this.$transcriptArea.css("z-index",7e3):void 0!==this.$signWindow&&8e3<(i=parseInt(this.$signWindow.css("z-index")))&&this.$signWindow.css("z-index",8e3),!1;if((e=parseInt(this.$transcriptArea.css("z-index")))===(i=parseInt(this.$signWindow.css("z-index"))))s=8e3,a=7e3;else if(it){i=e;break}void 0!==i?this.currentCaption!==i&&(s=this.flattenCueForCaption(a[i]).replace("\n","
    "),this.$captionsDiv.html(s),this.currentCaption=i,0===s.length?this.$captionsDiv.css("display","none"):this.$captionsDiv.css("display","inline-block")):(this.$captionsDiv.html(""),this.currentCaption=-1)},AblePlayer.prototype.flattenCueForCaption=function(t){var e=[],s=function(t){var e,i=[];if("string"===t.type)i.push(t.value);else if("v"===t.type)for(i.push("("+t.value+")"),e=0;e"),e=0;e")}else if("b"===t.type){for(i.push(""),e=0;e")}else for(e=0;e",{class:"able-chapters-heading",id:e}).text(this.chaptersTitle),this.$chaptersDiv.append(i)),this.$chaptersNav=p("
    '),y=0)}),a}}(jQuery),function(c){AblePlayer.prototype.showSearchResults=function(){var i=this;if(this.searchDiv&&this.searchString&&c("#"+this.SearchDiv)){var t=this.searchFor(this.searchString);if(0",{class:"able-search-results-summary"}),s="Found "+t.length+" matching items. ";s+="Click the time associated with any item ",s+="to play the video from that point.",e.html(s);for(var a=c("
      "),n=0;n",{}),o=this.secondsToTime(t[n].start),l=c("",{class:"able-search-results-time","data-start":t[n].start,title:o.title,tabindex:"0"});l.text(o.value),l.click(function(t){var e=parseFloat(c(this).attr("data-start"));e+=.01,i.seeking=!0,i.seekTo(e)});var h=c("",{class:"able-search-result-text"});h.html("..."+t[n].caption+"..."),r.append(l,h),a.append(r)}c("#"+this.searchDiv).append(e,a)}else{var p=c("

      ").text("No results found.");c("#"+this.searchDiv).append(p)}}},AblePlayer.prototype.searchFor=function(t){var e,i,s,a,n,r,o;s=[];var l=t.split(" ");if(0'+a+"")+i.substring(n+r):''+a+""+i.substring(n+r));return i},AblePlayer.prototype.secondsToTime=function(t){t=Math.floor(t);var e=parseInt(t/3600,10)%24,i=parseInt(t/60,10)%60,s=t%60,a="",n="";0=window.innerHeight?window.innerHeight-this.$playerDiv.outerHeight():window.outerHeight,this.$descDiv.is(":hidden")||(e-=this.$descDiv.height()),this.positionCaptions("overlay")):this.restoringAfterFullScreen?(t=this.preFullScreenWidth,e=this.preFullScreenHeight):(t=this.$ableWrapper.width(),e=void 0!==this.aspectRatio?Math.round(t/this.aspectRatio):this.$ableWrapper.height(),this.positionCaptions());this.resizePlayer(t,e)},AblePlayer.prototype.addSeekbarListeners=function(){var i=this;this.seekBar.bodyDiv.on("startTracking",function(t){i.pausedBeforeTracking=i.paused,i.pauseMedia()}).on("tracking",function(t,e){i.highlightTranscript(e),i.updateCaption(e),i.showDescription(e),i.updateChapter(i.convertChapterTimeToVideoTime(e)),i.updateMeta(e),i.refreshControls("init")}).on("stopTracking",function(t,e){i.useChapterTimes?i.seekTo(i.convertChapterTimeToVideoTime(e)):i.seekTo(e),i.pausedBeforeTracking||setTimeout(function(){i.playMedia()},200)})},AblePlayer.prototype.onClickPlayerButton=function(t){var e,i;"play"===(e=s(t).attr("class").split(" ")[0].substr(20))?(this.clickedPlay=!0,this.handlePlay()):"restart"===e?(this.seekTrigger="restart",this.handleRestart()):"previous"===e?(this.seekTrigger="previous",this.buttonWithFocus="previous",this.handlePrevTrack()):"next"===e?(this.seekTrigger="next",this.buttonWithFocus="next",this.handleNextTrack()):"rewind"===e?(this.seekTrigger="rewind",this.handleRewind()):"forward"===e?(this.seekTrigger="forward",this.handleFastForward()):"mute"===e?this.handleMute():"volume"===e?this.handleVolume():"faster"===e?this.handleRateIncrease():"slower"===e?this.handleRateDecrease():"captions"===e?this.handleCaptionToggle():"chapters"===e?this.handleChapters():"descriptions"===e?this.handleDescriptionToggle():"sign"===e?this.handleSignToggle():"preferences"===e?"menu"===s(t).attr("data-prefs-popup")?this.handlePrefsClick():(this.closePopups(),"keyboard"===(i=s(t).attr("data-prefs-popup"))?this.keyboardPrefsDialog.show():"captions"===i?this.captionPrefsDialog.show():"descriptions"===i?this.descPrefsDialog.show():"transcript"===i&&this.transcriptPrefsDialog.show()):"help"===e?this.handleHelpClick():"transcript"===e?this.handleTranscriptToggle():"fullscreen"===e&&(this.clickedFullscreenButton=!0,this.handleFullscreenToggle())},AblePlayer.prototype.okToHandleKeyPress=function(){var t=AblePlayer.getActiveDOMElement();return"INPUT"!==s(t).prop("tagName")},AblePlayer.prototype.onPlayerKeyPress=function(t){if(!this.okToHandleKeyPress())return!1;var e=t.which;if(65<=e&&e<=90&&(e+=32),!(s(":focus").is("[contenteditable]")||s(":focus").is("input")||s(":focus").is("textarea")||s(":focus").is("select")||t.target.hasAttribute("contenteditable")||"INPUT"===t.target.tagName||"TEXTAREA"===t.target.tagName||"SELECT"===t.target.tagName))if(27===e)this.closePopups();else if(32===e)0===this.$ableWrapper.find(".able-controller button:focus").length&&(this.clickedPlay=!0,this.handlePlay());else if(112===e)this.usingModifierKeys(t)&&this.handlePlay();else if(115===e)this.usingModifierKeys(t)&&this.handleRestart();else if(109===e)this.usingModifierKeys(t)&&this.handleMute();else if(118===e)this.usingModifierKeys(t)&&this.handleVolume();else if(49<=e&&e<=57)this.usingModifierKeys(t)&&this.handleVolume(e);else if(99===e)this.usingModifierKeys(t)&&this.handleCaptionToggle();else if(100===e)this.usingModifierKeys(t)&&this.handleDescriptionToggle();else if(102===e)this.usingModifierKeys(t)&&this.handleFastForward();else if(114===e)this.usingModifierKeys(t)&&this.handleRewind();else if(98===e)this.usingModifierKeys(t)&&this.handlePrevTrack();else if(110===e)this.usingModifierKeys(t)&&this.handleNextTrack();else if(101===e)this.usingModifierKeys(t)&&this.handlePrefsClick();else if(13===e){var i=s(document.activeElement);"SPAN"===i.prop("tagName")?i.click():"LI"===i.prop("tagName")&&i.click()}},AblePlayer.prototype.addHtml5MediaListeners=function(){var e=this;this.$media.on("emptied",function(){}).on("loadedmetadata",function(){e.duration=e.media.duration,e.onMediaNewSourceLoad()}).on("canplay",function(){}).on("canplaythrough",function(){e.userClickedPlaylist&&(e.startedPlaying||e.playMedia(),e.userClickedPlaylist=!1),"restart"==e.seekTrigger||"chapter"==e.seekTrigger||"transcript"==e.seekTrigger?e.playMedia():e.startedPlaying?e.hasPlaylist?(e.playlistIndex!==e.$playlist.length||e.loop)&&e.playMedia():e.getPlayerState().then(function(t){!e.swappingSrc||"stopped"!==t&&"paused"!==t||(e.startedPlaying=!1,0",{class:"able-resizable"}),r=parseInt(s.css("z-index"))+100,n.css("z-index",r),s.append(n),t.on("mousedown mouseup touchstart touchend",function(t){return t.stopPropagation(),"mousedown"===t.type||"touchstart"===t.type?i.windowMenuClickRegistered||(i.windowMenuClickRegistered=!0,i.startMouseX=t.pageX,i.startMouseY=t.pageY,i.dragDevice="mouse",i.startDrag(e,s)):"mouseup"!==t.type&&"touchend"!==t.type||i.dragging&&"mouse"===i.dragDevice&&i.endDrag(e),!1}),n.on("mousedown mouseup touchstart touchend",function(t){return t.stopPropagation(),"mousedown"===t.type||"touchstart"===t.type?i.windowMenuClickRegistered||(i.windowMenuClickRegistered=!0,i.startMouseX=t.pageX,i.startMouseY=t.pageY,i.startResize(e,s)):"mouseup"!==t.type&&"touchend"!==t.type||i.resizing&&i.endResize(e),!1}),s.on("click",function(){i.windowMenuClickRegistered||i.finishingDrag||i.updateZIndex(e),i.finishingDrag=!1}),this.addWindowMenu(e,s,a)},AblePlayer.prototype.addWindowMenu=function(e,t,i){var r,s,o,a,n,l,h,p,c,u,d;(r=this).windowMenuClickRegistered=!1,this.finishingDrag=!1,(s=A('

      ')).addClass("able-alert"),s.hide(),s.appendTo(this.$activeWindow),s.css({top:t.offset().top}),d=this.mediaId+"-"+i+"-menu",o=A(""),P=A('"),w.on("click",function(){C=A("#"+n).val(),k=A("#"+r).val(),C===o&&k===l||(i.resizeObject(t,C,k),i.updateCookie(t)),T.hide(),s.hide(),a.focus()}),P.on("click",function(){T.hide(),s.hide(),a.focus()}),u.append(g,d),f.append(v,m),c.append(u,f),p.append(c,"
      ",w,P),A("body").append(p),T=new AccessibleDialog(p,a,"alert",this.tt.windowResizeHeading,c,this.tt.closeButtonLabel,"20em"),"transcript"===t?this.transcriptResizeDialog=T:"sign"===t&&(this.signResizeDialog=T)},AblePlayer.prototype.handleWindowButtonClick=function(t,e){var i,s,a,n;if(i=this,"transcript"===t?(s=this.$transcriptPopup,a=this.$transcriptPopupButton,this.$transcriptToolbar):"sign"===t&&(s=this.$signPopup,a=this.$signPopupButton,this.$signToolbar),"keydown"===e.type)if(32===e.which||13===e.which)this.windowMenuClickRegistered=!0;else{if(27!==e.which)return!1;s.hide("fast",function(){i.windowMenuClickRegistered=!1,s.find("li").removeClass("able-focus").attr("tabindex","-1"),a.focus()})}else this.windowMenuClickRegistered=!0;s.is(":visible")?(s.hide(200,"",function(){i.windowMenuClickRegistered=!1}),s.find("li").removeClass("able-focus"),a.attr("aria-expanded","false").focus()):(this.updateZIndex(t),n=a.position().top+a.outerHeight(),s.css("top",n),s.show(200,"",function(){a.attr("aria-expanded","true"),A(this).find("li").first().focus().addClass("able-focus"),i.windowMenuClickRegistered=!1}))},AblePlayer.prototype.handleMenuChoice=function(t,e,i){var s,a,n,r,o;if(s=this,"transcript"===t?(a=this.$transcriptArea,n=this.$transcriptPopup,r=this.$transcriptPopupButton,o=this.transcriptResizeDialog):"sign"===t&&(a=this.$signWindow,n=this.$signPopup,r=this.$signPopupButton,o=this.signResizeDialog),"keydown"===i.type)return 27===i.which?n.hide("fast",function(){s.windowMenuClickRegistered=!1,n.find("li").removeClass("able-focus").attr("tabindex","-1"),r.focus()}):"close"!==e&&(this.$activeWindow=a),!1;n.hide("fast",function(){s.windowMenuClickRegistered=!1,n.find("li").removeClass("able-focus").attr("tabindex","-1")}),"close"!==e&&r.focus(),"move"===e?(this.showedAlert(t)||(this.showAlert(this.tt.windowMoveAlert,t),"transcript"===t?this.showedTranscriptAlert=!0:"sign"===t&&(this.showedSignAlert=!0)),"keydown"===i.type?this.dragDevice="keyboard":this.dragDevice="mouse",this.startDrag(t,a),n.hide().parent().focus()):"resize"==e?o.show():"close"==e&&("transcript"===t?this.handleTranscriptToggle():"sign"===t&&this.handleSignToggle())},AblePlayer.prototype.startDrag=function(e,t){var i,s,a,n,r;return(i=this).$activeWindow||(this.$activeWindow=t),this.dragging=!0,"transcript"===e?s=this.$transcriptPopup:"sign"===e&&(s=this.$signPopup),this.showedAlert(e)||(this.showAlert(this.tt.windowMoveAlert,e),"transcript"===e?this.showedTranscriptAlert=!0:"sign"===e&&(this.showedSignAlert=!0)),s.is(":visible")&&s.hide(),this.updateZIndex(e),a=this.$activeWindow.position(),this.dragStartX=a.left,this.dragStartY=a.top,void 0===this.startMouseX?(this.dragDevice="keyboard",this.dragKeyX=this.dragStartX,this.dragKeyY=this.dragStartY,this.startingDrag=!0):(this.dragDevice="mouse",this.dragOffsetX=this.startMouseX-this.dragStartX,this.dragOffsetY=this.startMouseY-this.dragStartY),this.$activeWindow.addClass("able-drag").css({position:"absolute",top:this.dragStartY+"px",left:this.dragStartX+"px"}).focus(),"mouse"===this.dragDevice?A(document).on("mousemove touchmove",function(t){i.dragging&&(n=t.pageX-i.dragOffsetX,r=t.pageY-i.dragOffsetY,i.resetDraggedObject(n,r))}):"keyboard"===this.dragDevice&&this.$activeWindow.on("keydown",function(t){i.dragging&&i.dragKeys(e,t)}),!1},AblePlayer.prototype.dragKeys=function(t,e){if(this.startingDrag)return this.startingDrag=!1;switch(10,e.which){case 37:case 63234:this.dragKeyX-=10;break;case 38:case 63232:this.dragKeyY-=10;break;case 39:case 63235:this.dragKeyX+=10;break;case 40:case 63233:this.dragKeyY+=10;break;case 13:case 27:return this.endDrag(t),!1;default:return!1}return this.resetDraggedObject(this.dragKeyX,this.dragKeyY),e.preventDefault&&e.preventDefault(),!1},AblePlayer.prototype.resetDraggedObject=function(t,e){this.$activeWindow.css({left:t+"px",top:e+"px"})},AblePlayer.prototype.resizeObject=function(t,e,i){var s;this.$activeWindow.css({width:e+"px",height:i+"px"}),"transcript"===t&&(s=i-50,this.$transcriptDiv.css("height",s+"px"))},AblePlayer.prototype.endDrag=function(t){var e;"transcript"===t?(this.$transcriptPopup,e=this.$transcriptPopupButton):"sign"===t&&(this.$signPopup,e=this.$signPopupButton),A(document).off("mousemove mouseup touchmove touchup"),this.$activeWindow.off("keydown").removeClass("able-drag"),"keyboard"===this.dragDevice&&e.focus(),this.dragging=!1,this.updateCookie(t),this.startMouseX=void 0,this.startMouseY=void 0,this.windowMenuClickRegistered=!1,this.finishingDrag=!0,setTimeout(function(){this.finishingDrag=!1},100)},AblePlayer.prototype.isCloseToCorner=function(t,e,i){var s,a,n,r,o,l;return 10,a=(s=t.offset()).top,n=s.left,r=t.width(),o=a+t.height(),l=n+r,Math.abs(o-i)<=10&&Math.abs(l-e)<=10},AblePlayer.prototype.startResize=function(e,t){var i,s,a,n;return(i=this).$activeWindow=t,this.resizing=!0,"transcript"===e?s=this.$transcriptPopup:"sign"===e&&(s=this.$signPopup),s.is(":visible")&&s.hide().parent().focus(),this.$activeWindow.position(),this.dragKeyX=this.dragStartX,this.dragKeyY=this.dragStartY,this.dragStartWidth=this.$activeWindow.width(),this.dragStartHeight=this.$activeWindow.height(),A(document).on("mousemove touchmove",function(t){i.resizing&&(a=i.dragStartWidth+(t.pageX-i.startMouseX),n=i.dragStartHeight+(t.pageY-i.startMouseY),i.resizeObject(e,a,n))}),!1},AblePlayer.prototype.endResize=function(t){var e;"transcript"===t?(this.$transcriptPopup,e=this.$transcriptPopupButton):"sign"===t&&(this.$signPopup,e=this.$signPopupButton),A(document).off("mousemove mouseup touchmove touchup"),this.$activeWindow.off("keydown"),e.show().focus(),this.resizing=!1,this.$activeWindow.removeClass("able-resize"),this.updateCookie(t),this.windowMenuClickRegistered=!1,this.finishingDrag=!0,setTimeout(function(){this.finishingDrag=!1},100)}}(jQuery),function(n){AblePlayer.prototype.initSignLanguage=function(){"html5"===this.player?(this.signFile=this.$sources.first().attr("data-sign-src"),this.signFile?this.isIOS()?(this.hasSignLanguage=!1,this.debug):(this.debug,this.hasSignLanguage=!0,this.injectSignPlayerCode()):this.hasSignLanguage=!1):this.hasSignLanguage=!1},AblePlayer.prototype.injectSignPlayerCode=function(){var t,e,i,s,a;for(this.getDefaultWidth("sign"),t=this.mediaId+"-sign",this.$signVideo=n("