aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSam Potts <me@sampotts.me>2017-03-25 11:24:38 +1100
committerSam Potts <me@sampotts.me>2017-03-25 11:24:38 +1100
commitb083bf4297396712e3b3a7270a3658c9fd7aff7a (patch)
tree72f856d6b431a26e24b3ddfbb34808944f18220d
parentebc7ed538a292211cf45cc6b638e9527170d0f06 (diff)
parent4957e4d80c833bbfa915c0c20d3d79245221b6f6 (diff)
downloadplyr-b083bf4297396712e3b3a7270a3658c9fd7aff7a.tar.lz
plyr-b083bf4297396712e3b3a7270a3658c9fd7aff7a.tar.xz
plyr-b083bf4297396712e3b3a7270a3658c9fd7aff7a.zip
Merge branch 'master' into develop
# Conflicts: # dist/plyr.css # dist/plyr.js # src/js/plyr.js # src/less/plyr.less # src/scss/plyr.scss
-rw-r--r--.github/issue_template.md12
-rw-r--r--changelog.md30
-rw-r--r--demo/index.html4
-rw-r--r--dist/plyr.css2
-rw-r--r--dist/plyr.js2
-rw-r--r--package.json2
-rw-r--r--readme.md29
-rw-r--r--src/js/plyr.js2
-rw-r--r--src/less/plyr.less10
-rw-r--r--src/scss/plyr.scss9
10 files changed, 76 insertions, 26 deletions
diff --git a/.github/issue_template.md b/.github/issue_template.md
index f1ee5cd0..8e3b85b7 100644
--- a/.github/issue_template.md
+++ b/.github/issue_template.md
@@ -1,3 +1,7 @@
+<!---
+Please use this issue template as it makes replicating and fixing the issue easier!
+--->
+
- [ ] Issue does not already exist
- [ ] Issue observed on https://plyr.io
@@ -12,7 +16,13 @@
- Operating System:
- Version:
+Players affected:
+- [ ] HTML5 Video
+- [ ] HTML5 Audio
+- [ ] YouTube
+- [ ] Vimeo
+
### Steps to reproduce
-
-### Relevant links \ No newline at end of file
+### Relevant links
diff --git a/changelog.md b/changelog.md
index 0be6dc90..1fc85a42 100644
--- a/changelog.md
+++ b/changelog.md
@@ -1,5 +1,13 @@
# Changelog
+## v2.0.12
+- Ability to set custom `blankUrl` for source changes (https://github.com/Selz/plyr/pull/504)
+- Ability to set caption button listener (https://github.com/Selz/plyr/pull/468)
+
+## v2.0.11
+- Fix for `cleanUp` being called twice (thanks to @sebastiancarlsson)
+- Fix for YouTube controls on iPad (fixes #391)
+
## v2.0.10
- Added seek event fixes for Vimeo and YouTube (fixes #409)
- Added support for embed URLs rather than ID only (fixes #345)
@@ -21,10 +29,10 @@
## v2.0.6
- Fixed merge issue with `Updated define to work with AMD imports #326` PR
-- Code formatting
+- Code formatting
## v2.0.5
-- Fix for Vimeo in IE9 & IE10
+- Fix for Vimeo in IE9 & IE10
- Fix for HTML5 elements not firing `ready` event
## v2.0.4
@@ -44,8 +52,8 @@ This version contains several potential ***breaking changes***:
- `setup()` has been reverted to pre v1.8.0 behaviour; meaning it will return the *instance* rather than the *element*. This is because the reference to the instance is no longer added to the original element (see below).
- The reference to the `plyr` instance is now added to the media element rather than original container. This is because if a container with multiple children was passed to `setup()` the references to all instances would have been added to the container, creating issues. I would recommend using the return value from `setup()` or the new `get()` method to access the instance.
-- Players will always be wrapped in their own div now - this makes `setup()` and `destroy()` cleaner. This *may* break any custom styling based on DOM position.
-- Players no longer seek to 0 on 'ended' - this is to fix a bug with Microsoft Edge as it triggers 'ended' on media change for whatever reason. They'll never change ;-)
+- Players will always be wrapped in their own div now - this makes `setup()` and `destroy()` cleaner. This *may* break any custom styling based on DOM position.
+- Players no longer seek to 0 on 'ended' - this is to fix a bug with Microsoft Edge as it triggers 'ended' on media change for whatever reason. They'll never change ;-)
And some other changes and bug fixes:
@@ -75,7 +83,7 @@ And some other changes and bug fixes:
## v1.8.11
- Fix for keyboard navigation on Vimeo (Fixes #317)
-- Fix for bug introduced in v1.8.9 related to additional controls
+- Fix for bug introduced in v1.8.9 related to additional controls
- Vimeo API upgrade
- Fix for YouTube bug introduced in v1.8.9
- Added support for passing array to .setup() (Fixes #319)
@@ -115,20 +123,20 @@ And some other changes and bug fixes:
- Improvements for controls hiding and showing on touch devices
## v1.8.2
-- Fixed event bubbling
+- Fixed event bubbling
## v1.8.1
- Fixed inaccurate log message
# v1.8.0
- ***(Important)*** `setup()` now returns the element Plyr was setup on rather than the `plyr` object. This means `var player = plyr.setup()[0];` would now be `var player = plyr.setup()[0].plyr;`. This improves support for React and other virtual dom frameworks as mentioned in #254
-- Fixed using a relative URL for `iconUrl` in IE (fixes #269)
+- Fixed using a relative URL for `iconUrl` in IE (fixes #269)
# v1.7.0
- SASS cleanup (fixes #265)
- Docs tidy up to help quick start (fixes #253)
- Fix for issues with data attribute options passing (fixes #257)
-- ***(Important)*** Removed the requirement for a wrapper div to setup Plyr and removed the dependency on the `plyr` classname as a JS hook. By default it will now look for `<video>`, `<audio>` and `[data-type]` elements. If you are just calling `setup()` with a `<div class="plyr">` you may want to give it a good test after upgrading. You can probably remove the wrapper div. The reason behind this is to make setup easier for newcomers and prevent the styling being used on unsupported players (because the plyr classname was used as a CSS and JS hook - which isn't ideal)
+- ***(Important)*** Removed the requirement for a wrapper div to setup Plyr and removed the dependency on the `plyr` classname as a JS hook. By default it will now look for `<video>`, `<audio>` and `[data-type]` elements. If you are just calling `setup()` with a `<div class="plyr">` you may want to give it a good test after upgrading. You can probably remove the wrapper div. The reason behind this is to make setup easier for newcomers and prevent the styling being used on unsupported players (because the plyr classname was used as a CSS and JS hook - which isn't ideal)
- Renamed the 'docs' folder to `demo` to avoid confusion - the readme is the docs after all
## v1.6.20
@@ -158,7 +166,7 @@ And some other changes and bug fixes:
- Decreased sensitivity and inverted scroll on volume slider (scroll up to increase, down to decrease)
## v1.6.12
-- Fix for undefined buffer error
+- Fix for undefined buffer error
- Add scroll listener on volume slider (PR #227 bty @igoradamenko)
## v1.6.11
@@ -200,13 +208,13 @@ And some other changes and bug fixes:
- Other minor bug fixes
## v1.6.1
-- Tooltip changes for accessibility
+- Tooltip changes for accessibility
## v1.6.0
- New, cleaner, UI:
- Controls are now overlaid, maintaining the video's ratio and making sizing easier
- A large play button can now be overlaid over videos
- - Default number of control buttons reduced
+ - Default number of control buttons reduced
- New play, pause, rewind and fast forward icons
- Flexbox all the things!
- Tidied up the LESS (and SCSS) as part of the above, variables and mixins in seprate files amking customization and upgrades easier
diff --git a/demo/index.html b/demo/index.html
index c9f2d036..c8aa7d0e 100644
--- a/demo/index.html
+++ b/demo/index.html
@@ -67,8 +67,8 @@
<ul>
<li class="plyr__cite plyr__cite--video"><small><a href="http://viewfromabluemoon.com/" target="_blank">View From A Blue Moon</a> &copy; Brainfarm</small></li>
<li class="plyr__cite plyr__cite--audio"><small><a href="http://www.kishibashi.com/" target="_blank">Kishi Bashi &ndash; &ldquo;It All Began With A Burst&rdquo;</a> &copy; Kishi Bashi</small></li>
- <li class="plyr__cite plyr__cite--youtube"><small><a href="https://www.youtube.com/watch?v=bTqVqk7FSmY" target="_blank">View From A Blue Moon</a> on <span class="color--youtube"><svg class="icon"><use xlink:href="#icon-youtube"/></svg>YouTube</span></small>
- <li class="plyr__cite plyr__cite--vimeo"><small><a href="https://vimeo.com/ondemand/viewfromabluemoon4k" target="_blank">View From A Blue Moon</a> on <span class="color--vimeo"><svg class="icon"><use xlink:href="#icon-vimeo"/></svg>Vimeo</span></small>
+ <li class="plyr__cite plyr__cite--youtube"><small><a href="https://www.youtube.com/watch?v=bTqVqk7FSmY" target="_blank">View From A Blue Moon</a> on <span class="color--youtube"><svg class="icon"><use xlink:href="#icon-youtube"/></svg>YouTube</span></small></li>
+ <li class="plyr__cite plyr__cite--vimeo"><small><a href="https://vimeo.com/ondemand/viewfromabluemoon4k" target="_blank">View From A Blue Moon</a> on <span class="color--vimeo"><svg class="icon"><use xlink:href="#icon-vimeo"/></svg>Vimeo</span></small></li>
</ul>
</section>
</main>
diff --git a/dist/plyr.css b/dist/plyr.css
index e164ff6e..142173ce 100644
--- a/dist/plyr.css
+++ b/dist/plyr.css
@@ -1 +1 @@
-.plyr input[type=range]:focus,.plyr:focus{outline:0}@keyframes plyr-progress{to{background-position:25px 0}}@keyframes plyr-popup{from{transform:translateY(10px);opacity:.5}to{transform:translateY(0);opacity:1}}.plyr{position:relative;max-width:100%;min-width:200px;font-family:Avenir,'Avenir Next','Helvetica Neue','Segoe UI',Helvetica,Arial,sans-serif;font-weight:500;direction:ltr}.plyr,.plyr *,.plyr ::after,.plyr ::before{box-sizing:border-box}.plyr a,.plyr button,.plyr input,.plyr label{-ms-touch-action:manipulation;touch-action:manipulation}.plyr [aria-hidden=true]{display:none}.plyr audio,.plyr video{width:100%;height:auto;vertical-align:middle;border-radius:inherit}.plyr input[type=range]{display:block;height:20px;width:100%;margin:0;padding:0;vertical-align:middle;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;border:none;background:0 0}.plyr input[type=range]::-webkit-slider-runnable-track{height:8px;background:0 0;border:0;border-radius:4px;-webkit-user-select:none;user-select:none}.plyr input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;margin-top:-4px;position:relative;height:16px;width:16px;background:#fff;border:2px solid transparent;border-radius:100%;transition:background .2s ease,border .2s ease,transform .2s ease;box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(52,63,74,.2);box-sizing:border-box}.plyr input[type=range]::-moz-range-track{height:8px;background:0 0;border:0;border-radius:4px;-moz-user-select:none;user-select:none}.plyr input[type=range]::-moz-range-thumb{position:relative;height:16px;width:16px;background:#fff;border:2px solid transparent;border-radius:100%;transition:background .2s ease,border .2s ease,transform .2s ease;box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(52,63,74,.2);box-sizing:border-box}.plyr input[type=range]::-ms-track{height:8px;background:0 0;border:0;color:transparent}.plyr input[type=range]::-ms-fill-upper{height:8px;background:0 0;border:0;border-radius:4px;-ms-user-select:none;user-select:none}.plyr input[type=range]::-ms-fill-lower{height:8px;border:0;border-radius:4px;-ms-user-select:none;user-select:none;background:#3498db}.plyr input[type=range]::-ms-thumb{position:relative;height:16px;width:16px;background:#fff;border:2px solid transparent;border-radius:100%;transition:background .2s ease,border .2s ease,transform .2s ease;box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(52,63,74,.2);box-sizing:border-box;margin-top:0}.plyr input[type=range]::-ms-tooltip{display:none}.plyr input[type=range]::-moz-focus-outer{border:0}.plyr input[type=range].tab-focus:focus{outline-offset:3px}.plyr input[type=range]:active::-webkit-slider-thumb{background:#3498db;border-color:#fff;transform:scale(1.25)}.plyr input[type=range]:active::-moz-range-thumb{background:#3498db;border-color:#fff;transform:scale(1.25)}.plyr input[type=range]:active::-ms-thumb{background:#3498db;border-color:#fff;transform:scale(1.25)}.plyr--video input[type=range].tab-focus:focus{outline:rgba(255,255,255,.5) dotted 1px}.plyr--audio input[type=range].tab-focus:focus{outline:rgba(86,93,100,.5) dotted 1px}.plyr__sr-only{clip:rect(1px,1px,1px,1px);overflow:hidden;position:absolute!important;padding:0!important;border:0!important;height:1px!important;width:1px!important}.plyr__video-wrapper{position:relative;background:#000;border-radius:inherit;z-index:0;overflow:hidden}.plyr__video-embed{padding-bottom:56.25%;height:0;overflow:hidden}.plyr__video-embed iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1}.plyr__video-embed>div{position:relative;padding-bottom:200%;transform:translateY(-35.95%)}.plyr .plyr__video-embed iframe{pointer-events:none}.plyr video::-webkit-media-text-track-container{display:none}.plyr__captions{display:none;position:absolute;bottom:0;left:0;width:100%;padding:20px;transform:translateY(-40px);transition:transform .3s ease;color:#fff;font-size:16px;text-align:center}.plyr__captions span{border-radius:2px;padding:3px 10px;background:rgba(0,0,0,.85);-webkit-box-decoration-break:clone;box-decoration-break:clone;line-height:150%}.plyr__captions span:empty{display:none}@media (min-width:768px){.plyr__captions{font-size:24px}}.plyr--captions-active .plyr__captions{display:block}.plyr--hide-controls .plyr__captions{transform:translateY(-15px)}@media (min-width:1024px){.plyr--fullscreen-active .plyr__captions{font-size:32px}}.plyr ::-webkit-media-controls{display:none}.plyr__controls{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;line-height:1;text-align:center}.plyr__controls .plyr__menu,.plyr__controls .plyr__progress,.plyr__controls .plyr__time,.plyr__controls>.plyr__control{margin-left:5px}.plyr__controls .plyr__menu:first-child,.plyr__controls .plyr__menu:first-child+[data-plyr=pause],.plyr__controls .plyr__progress:first-child,.plyr__controls .plyr__progress:first-child+[data-plyr=pause],.plyr__controls .plyr__time:first-child,.plyr__controls .plyr__time:first-child+[data-plyr=pause],.plyr__controls>.plyr__control:first-child,.plyr__controls>.plyr__control:first-child+[data-plyr=pause]{margin-left:0}.plyr__controls .plyr__volume{margin-left:5px}@media (min-width:480px){.plyr__controls .plyr__menu,.plyr__controls .plyr__progress,.plyr__controls .plyr__time,.plyr__controls>.plyr__control{margin-left:10px}.plyr__controls .plyr__menu+.plyr__control,.plyr__controls>.plyr__control+.plyr__control,.plyr__controls>.plyr__control+.plyr__menu{margin-left:5px}}.plyr--hide-controls .plyr__controls{opacity:0;pointer-events:none}.plyr__control{position:relative;display:inline-block;-ms-flex-negative:0;flex-shrink:0;overflow:visible;vertical-align:middle;padding:7px;border:0;background:0 0;border-radius:3px;cursor:pointer;transition:background .3s ease,color .3s ease,opacity .3s ease;color:inherit}.plyr__control svg{width:18px;height:18px;display:block;fill:currentColor;pointer-events:none}.plyr__control .icon--captions-on,.plyr__control .icon--exit-fullscreen,.plyr__control .icon--muted{display:none}.plyr__control:focus{outline:0}.plyr--video .plyr__controls{position:absolute;left:0;right:0;bottom:0;padding:50px 10px 10px;background:linear-gradient(rgba(0,0,0,0),rgba(0,0,0,.7));border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;color:#fff;transition:opacity .3s ease}.plyr--video .plyr__controls .plyr__control.tab-focus:focus,.plyr--video .plyr__controls .plyr__control:hover,.plyr--video .plyr__controls .plyr__control[aria-expanded=true]{background:#3498db;color:#fff}.plyr--audio .plyr__controls{padding:10px;border-radius:inherit;background:#fff;border:1px solid #dbe3e8;color:#565D64}.plyr--audio .plyr__controls .plyr__control.tab-focus:focus,.plyr--audio .plyr__controls .plyr__control:hover,.plyr--audio .plyr__controls .plyr__control[aria-expanded=true]{background:#3498db;color:#fff}.plyr__play-large{display:none;position:absolute;z-index:1;top:50%;left:50%;transform:translate(-50%,-50%);padding:10px;background:#3498db;border:4px solid currentColor;border-radius:100%;box-shadow:0 1px 1px rgba(0,0,0,.15);color:#fff;transition:all .3s ease}.plyr__play-large svg{position:relative;left:2px;width:20px;height:20px;display:block;fill:currentColor;pointer-events:none}.plyr__play-large:focus{outline:rgba(255,255,255,.5) dotted 1px}.plyr .plyr__play-large{display:inline-block}.plyr--audio .plyr__play-large,.plyr--playing .plyr__controls [data-plyr=play],.plyr__controls [data-plyr=pause]{display:none}.plyr--playing .plyr__play-large{opacity:0;visibility:hidden}.plyr--playing .plyr__controls [data-plyr=pause]{display:inline-block}.plyr--captions-active .plyr__control .icon--captions-on,.plyr--fullscreen-active .plyr__control .icon--exit-fullscreen,.plyr--muted .plyr__control .icon--muted{display:block}.plyr [data-plyr=captions],.plyr [data-plyr=fullscreen],.plyr--captions-active .plyr__control .icon--captions-on+svg,.plyr--fullscreen-active .plyr__control .icon--exit-fullscreen+svg,.plyr--muted .plyr__control .icon--muted+svg{display:none}.plyr--captions-enabled [data-plyr=captions],.plyr--fullscreen-enabled [data-plyr=fullscreen]{display:inline-block}.plyr__menu{position:relative}.plyr__menu .plyr__control svg{transition:transform .3s ease}.plyr__menu__container.is-resizing,.plyr__menu__container>div{overflow:hidden;transition:height .35s cubic-bezier(.4,0,.2,1),width .35s cubic-bezier(.4,0,.2,1)}.plyr__menu .plyr__control[aria-expanded=true] svg{transform:rotate(45deg)}.plyr__menu .plyr__control[aria-expanded=true] .plyr__tooltip{display:none}.plyr__menu__container{position:absolute;bottom:100%;right:-5px;margin-bottom:10px;animation:plyr-popup .2s ease;background:rgba(52,63,74,.9);box-shadow:0 1px 0 rgba(0,0,0,.2);border-radius:4px;white-space:nowrap;text-align:left;color:#fff;font-size:14px}.plyr__menu__container::after{content:"";position:absolute;top:100%;right:15px;height:0;width:0;border:6px solid transparent;border-top-color:rgba(52,63,74,.9)}.plyr__menu__container ul{margin:0;padding:5px;list-style:none;overflow:hidden}.plyr__menu__container .plyr__control{display:-ms-flexbox;display:flex;width:100%;padding:7px 14px;color:#fff;font-weight:600;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.plyr__menu__container .plyr__control::after{content:"";position:absolute;top:50%;transform:translateY(-50%);border:5px solid transparent}.plyr__menu__container .plyr__control--forward{padding-right:28px}.plyr__menu__container .plyr__control--forward::after{right:5px;border-left-color:rgba(255,255,255,.8)}.plyr__menu__container .plyr__control--back{position:relative;padding-top:4px;padding-bottom:4px;padding-left:28px;margin-bottom:10px;font-weight:500}.plyr__menu__container .plyr__control--back::after{left:5px;border-right-color:rgba(255,255,255,.8)}.plyr__menu__container .plyr__control--back::before{content:"";position:absolute;top:100%;left:0;right:0;height:1px;overflow:hidden;margin-top:4px;background:rgba(0,0,0,.15);box-shadow:0 1px 0 rgba(255,255,255,.1)}.plyr__menu__container label.plyr__control{padding-left:18px}.plyr__menu__container label.plyr__control input[type=radio]{position:relative;left:-7px}.plyr__menu__container .plyr__menu__value{display:inherit;margin-left:auto;padding-left:25px;pointer-events:none;overflow:hidden;font-weight:500;color:rgba(255,255,255,.8)}.plyr__menu__container .plyr__menu__value .plyr__badge{font-weight:600}.plyr__badge{padding:2px 4px;border-radius:2px;background:#fff;color:rgba(52,63,74,.9);font-size:10px}.plyr__tooltip{position:absolute;z-index:2;bottom:100%;margin-bottom:10px;padding:5px 7.5px;pointer-events:none;opacity:0;background:rgba(52,63,74,.9);border-radius:3px;color:#fff;font-size:14px;font-weight:500;line-height:1.3;transform:translate(-50%,10px) scale(.8);transform-origin:50% 100%;transition:transform .2s .1s ease,opacity .2s .1s ease}.plyr__tooltip::before{content:'';position:absolute;width:0;height:0;left:50%;transform:translateX(-50%);bottom:-4px;border-right:4px solid transparent;border-top:4px solid rgba(52,63,74,.9);border-left:4px solid transparent;z-index:2}.plyr .plyr__control.tab-focus:focus .plyr__tooltip,.plyr .plyr__control:hover .plyr__tooltip,.plyr__tooltip--visible{opacity:1;transform:translate(-50%,0) scale(1)}.plyr .plyr__control:hover .plyr__tooltip{z-index:3}.plyr__controls>.plyr__control:first-child .plyr__tooltip,.plyr__controls>.plyr__control:first-child+.plyr__control .plyr__tooltip{left:0;transform:translate(0,10px) scale(.8);transform-origin:0 100%}.plyr__controls>.plyr__control:first-child .plyr__tooltip::before,.plyr__controls>.plyr__control:first-child+.plyr__control .plyr__tooltip::before{left:16px}.plyr__controls>.plyr__control:last-child .plyr__tooltip{right:0;transform:translate(0,10px) scale(.8);transform-origin:100% 100%}.plyr__controls>.plyr__control:last-child .plyr__tooltip::before{left:auto;right:16px;transform:translateX(50%)}.plyr__controls>.plyr__control:first-child .plyr__tooltip--visible,.plyr__controls>.plyr__control:first-child+.plyr__control .plyr__tooltip--visible,.plyr__controls>.plyr__control:first-child+.plyr__control.tab-focus:focus .plyr__tooltip,.plyr__controls>.plyr__control:first-child+.plyr__control:hover .plyr__tooltip,.plyr__controls>.plyr__control:first-child.tab-focus:focus .plyr__tooltip,.plyr__controls>.plyr__control:first-child:hover .plyr__tooltip,.plyr__controls>.plyr__control:last-child .plyr__tooltip--visible,.plyr__controls>.plyr__control:last-child.tab-focus:focus .plyr__tooltip,.plyr__controls>.plyr__control:last-child:hover .plyr__tooltip{transform:translate(0,0) scale(1)}.plyr__progress{position:relative;display:none;-ms-flex:1;flex:1}.plyr__progress input[type=range]{position:relative;z-index:2}.plyr__progress input[type=range]::-webkit-slider-runnable-track{background:0 0}.plyr__progress input[type=range]::-moz-range-track{background:0 0}.plyr__progress input[type=range]::-ms-fill-upper{background:0 0}.plyr__progress .plyr__tooltip{left:0}.plyr .plyr__progress{display:inline-block}.plyr__progress--buffer,.plyr__progress--played,.plyr__volume--display{position:absolute;left:0;top:50%;width:100%;height:8px;margin:-4px 0 0;padding:0;vertical-align:top;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;border-radius:100px}.plyr__progress--buffer::-webkit-progress-bar,.plyr__progress--played::-webkit-progress-bar,.plyr__volume--display::-webkit-progress-bar{background:0 0}.plyr__progress--buffer::-webkit-progress-value,.plyr__progress--played::-webkit-progress-value,.plyr__volume--display::-webkit-progress-value{background:currentColor;border-radius:100px;min-width:8px}.plyr__progress--buffer::-moz-progress-bar,.plyr__progress--played::-moz-progress-bar,.plyr__volume--display::-moz-progress-bar{background:currentColor;border-radius:100px;min-width:8px}.plyr__progress--buffer::-ms-fill,.plyr__progress--played::-ms-fill,.plyr__volume--display::-ms-fill{border-radius:100px}.plyr__progress--played,.plyr__volume--display{z-index:1;color:#3498db;background:0 0;transition:none}.plyr__progress--played::-webkit-progress-value,.plyr__volume--display::-webkit-progress-value{min-width:8px;max-width:99%;border-top-right-radius:0;border-bottom-right-radius:0;transition:none}.plyr__progress--played::-moz-progress-bar,.plyr__volume--display::-moz-progress-bar{min-width:8px;max-width:99%;border-top-right-radius:0;border-bottom-right-radius:0;transition:none}.plyr__progress--played::-ms-fill,.plyr__volume--display::-ms-fill{display:none}.plyr__progress--buffer::-webkit-progress-value{transition:width .2s ease}.plyr__progress--buffer::-moz-progress-bar{transition:width .2s ease}.plyr__progress--buffer::-ms-fill{transition:width .2s ease}.plyr--video .plyr__progress--buffer,.plyr--video .plyr__volume--display{background:rgba(255,255,255,.25)}.plyr--video .plyr__progress--buffer{color:rgba(255,255,255,.25)}.plyr--audio .plyr__progress--buffer,.plyr--audio .plyr__volume--display{background:rgba(198,214,219,.66)}.plyr--audio .plyr__progress--buffer{color:rgba(198,214,219,.66)}.plyr--loading .plyr__progress--buffer{animation:plyr-progress 1s linear infinite;background-size:25px 25px;background-repeat:repeat-x;background-image:linear-gradient(-45deg,rgba(52,63,74,.2) 25%,transparent 25%,transparent 50%,rgba(52,63,74,.2) 50%,rgba(52,63,74,.2) 75%,transparent 75%,transparent);color:transparent}.plyr--video.plyr--loading .plyr__progress--buffer{background-color:rgba(255,255,255,.25)}.plyr--audio.plyr--loading .plyr__progress--buffer{background-color:rgba(198,214,219,.66)}.plyr__time{display:inline-block;vertical-align:middle;font-size:14px}.plyr__time+.plyr__time{display:none}@media (min-width:768px){.plyr__time+.plyr__time{display:inline-block}}.plyr__time+.plyr__time::before{content:'\2044';margin-right:10px}.plyr__volume{display:none}.plyr .plyr__volume{-ms-flex:1;flex:1;position:relative}.plyr .plyr__volume input[type=range]{position:relative;z-index:2}@media (min-width:480px){.plyr .plyr__volume{display:block;max-width:60px}}@media (min-width:768px){.plyr .plyr__volume{max-width:100px}}.plyr--is-ios .plyr__volume,.plyr--is-ios [data-plyr=mute]{display:none!important}.plyr--fullscreen-active{position:fixed;top:0;left:0;right:0;bottom:0;height:100%;width:100%;z-index:10000000;background:#000;border-radius:0!important}.plyr--fullscreen-active video{height:100%}.plyr--fullscreen-active .plyr__video-wrapper{height:100%;width:100%}.plyr--fullscreen-active .plyr__controls{position:absolute;bottom:0;left:0;right:0}.plyr--fullscreen-active.plyr--vimeo .plyr__video-wrapper{height:0;top:50%;transform:translateY(-50%)} \ No newline at end of file
+.plyr input[type=range]:focus,.plyr:focus{outline:0}@keyframes plyr-progress{to{background-position:25px 0}}@keyframes plyr-popup{from{transform:translateY(10px);opacity:.5}to{transform:translateY(0);opacity:1}}.plyr{position:relative;max-width:100%;min-width:200px;font-family:Avenir,'Avenir Next','Helvetica Neue','Segoe UI',Helvetica,Arial,sans-serif;font-weight:500;direction:ltr}.plyr,.plyr *,.plyr ::after,.plyr ::before{box-sizing:border-box}.plyr a,.plyr button,.plyr input,.plyr label{-ms-touch-action:manipulation;touch-action:manipulation}.plyr [aria-hidden=true]{display:none}.plyr audio,.plyr video{width:100%;height:auto;vertical-align:middle;border-radius:inherit}.plyr input[type=range]{display:block;height:20px;width:100%;margin:0;padding:0;vertical-align:middle;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;border:none;background:0 0}.plyr input[type=range]::-webkit-slider-runnable-track{height:8px;background:0 0;border:0;border-radius:4px;-webkit-user-select:none;user-select:none}.plyr input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;margin-top:-4px;position:relative;height:16px;width:16px;background:#fff;border:2px solid transparent;border-radius:100%;transition:background .2s ease,border .2s ease,transform .2s ease;box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(52,63,74,.2);box-sizing:border-box}.plyr input[type=range]::-moz-range-track{height:8px;background:0 0;border:0;border-radius:4px;-moz-user-select:none;user-select:none}.plyr input[type=range]::-moz-range-thumb{position:relative;height:16px;width:16px;background:#fff;border:2px solid transparent;border-radius:100%;transition:background .2s ease,border .2s ease,transform .2s ease;box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(52,63,74,.2);box-sizing:border-box}.plyr input[type=range]::-ms-track{height:8px;background:0 0;border:0;color:transparent}.plyr input[type=range]::-ms-fill-upper{height:8px;background:0 0;border:0;border-radius:4px;-ms-user-select:none;user-select:none}.plyr input[type=range]::-ms-fill-lower{height:8px;border:0;border-radius:4px;-ms-user-select:none;user-select:none;background:#3498db}.plyr input[type=range]::-ms-thumb{position:relative;height:16px;width:16px;background:#fff;border:2px solid transparent;border-radius:100%;transition:background .2s ease,border .2s ease,transform .2s ease;box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(52,63,74,.2);box-sizing:border-box;margin-top:0}.plyr input[type=range]::-ms-tooltip{display:none}.plyr input[type=range]::-moz-focus-outer{border:0}.plyr input[type=range].tab-focus:focus{outline-offset:3px}.plyr input[type=range]:active::-webkit-slider-thumb{background:#3498db;border-color:#fff;transform:scale(1.25)}.plyr input[type=range]:active::-moz-range-thumb{background:#3498db;border-color:#fff;transform:scale(1.25)}.plyr input[type=range]:active::-ms-thumb{background:#3498db;border-color:#fff;transform:scale(1.25)}.plyr--video input[type=range].tab-focus:focus{outline:rgba(255,255,255,.5) dotted 1px}.plyr--audio input[type=range].tab-focus:focus{outline:rgba(86,93,100,.5) dotted 1px}.plyr__sr-only{clip:rect(1px,1px,1px,1px);overflow:hidden;position:absolute!important;padding:0!important;border:0!important;height:1px!important;width:1px!important}.plyr__video-embed,.plyr__video-wrapper{border-radius:inherit;overflow:hidden;z-index:0}.plyr__video-wrapper{position:relative;background:#000}.plyr__video-embed{padding-bottom:56.25%;height:0}.plyr__video-embed iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.plyr__video-embed>div{position:relative;padding-bottom:200%;transform:translateY(-35.95%)}.plyr .plyr__video-embed iframe{pointer-events:none}.plyr video::-webkit-media-text-track-container{display:none}.plyr__captions{display:none;position:absolute;bottom:0;left:0;width:100%;padding:20px;transform:translateY(-40px);transition:transform .3s ease;color:#fff;font-size:16px;text-align:center}.plyr__captions span{border-radius:2px;padding:3px 10px;background:rgba(0,0,0,.85);-webkit-box-decoration-break:clone;box-decoration-break:clone;line-height:150%}.plyr__captions span:empty{display:none}@media (min-width:768px){.plyr__captions{font-size:24px}}.plyr--captions-active .plyr__captions{display:block}.plyr--hide-controls .plyr__captions{transform:translateY(-15px)}@media (min-width:1024px){.plyr--fullscreen-active .plyr__captions{font-size:32px}}.plyr ::-webkit-media-controls{display:none}.plyr__controls{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;line-height:1;text-align:center}.plyr__controls .plyr__menu,.plyr__controls .plyr__progress,.plyr__controls .plyr__time,.plyr__controls>.plyr__control{margin-left:5px}.plyr__controls .plyr__menu:first-child,.plyr__controls .plyr__menu:first-child+[data-plyr=pause],.plyr__controls .plyr__progress:first-child,.plyr__controls .plyr__progress:first-child+[data-plyr=pause],.plyr__controls .plyr__time:first-child,.plyr__controls .plyr__time:first-child+[data-plyr=pause],.plyr__controls>.plyr__control:first-child,.plyr__controls>.plyr__control:first-child+[data-plyr=pause]{margin-left:0}.plyr__controls .plyr__volume{margin-left:5px}@media (min-width:480px){.plyr__controls .plyr__menu,.plyr__controls .plyr__progress,.plyr__controls .plyr__time,.plyr__controls>.plyr__control{margin-left:10px}.plyr__controls .plyr__menu+.plyr__control,.plyr__controls>.plyr__control+.plyr__control,.plyr__controls>.plyr__control+.plyr__menu{margin-left:5px}}.plyr--hide-controls .plyr__controls{opacity:0;pointer-events:none}.plyr__control{position:relative;display:inline-block;-ms-flex-negative:0;flex-shrink:0;overflow:visible;vertical-align:middle;padding:7px;border:0;background:0 0;border-radius:3px;cursor:pointer;transition:background .3s ease,color .3s ease,opacity .3s ease;color:inherit}.plyr__control svg{width:18px;height:18px;display:block;fill:currentColor;pointer-events:none}.plyr__control .icon--captions-on,.plyr__control .icon--exit-fullscreen,.plyr__control .icon--muted{display:none}.plyr__control:focus{outline:0}.plyr--video .plyr__controls{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:50px 10px 10px;background:linear-gradient(rgba(0,0,0,0),rgba(0,0,0,.7));border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;color:#fff;transition:opacity .3s ease}.plyr--video .plyr__controls .plyr__control.tab-focus:focus,.plyr--video .plyr__controls .plyr__control:hover,.plyr--video .plyr__controls .plyr__control[aria-expanded=true]{background:#3498db;color:#fff}.plyr--audio .plyr__controls{padding:10px;border-radius:inherit;background:#fff;border:1px solid #dbe3e8;color:#565D64}.plyr--audio .plyr__controls .plyr__control.tab-focus:focus,.plyr--audio .plyr__controls .plyr__control:hover,.plyr--audio .plyr__controls .plyr__control[aria-expanded=true]{background:#3498db;color:#fff}.plyr__play-large{display:none;position:absolute;z-index:1;top:50%;left:50%;transform:translate(-50%,-50%);padding:10px;background:#3498db;border:4px solid currentColor;border-radius:100%;box-shadow:0 1px 1px rgba(0,0,0,.15);color:#fff;transition:all .3s ease}.plyr__play-large svg{position:relative;left:2px;width:20px;height:20px;display:block;fill:currentColor;pointer-events:none}.plyr__play-large:focus{outline:rgba(255,255,255,.5) dotted 1px}.plyr .plyr__play-large{display:inline-block}.plyr--audio .plyr__play-large,.plyr--playing .plyr__controls [data-plyr=play],.plyr__controls [data-plyr=pause]{display:none}.plyr--playing .plyr__play-large{opacity:0;visibility:hidden}.plyr--playing .plyr__controls [data-plyr=pause]{display:inline-block}.plyr--captions-active .plyr__control .icon--captions-on,.plyr--fullscreen-active .plyr__control .icon--exit-fullscreen,.plyr--muted .plyr__control .icon--muted{display:block}.plyr [data-plyr=captions],.plyr [data-plyr=fullscreen],.plyr--captions-active .plyr__control .icon--captions-on+svg,.plyr--fullscreen-active .plyr__control .icon--exit-fullscreen+svg,.plyr--muted .plyr__control .icon--muted+svg{display:none}.plyr--captions-enabled [data-plyr=captions],.plyr--fullscreen-enabled [data-plyr=fullscreen]{display:inline-block}.plyr__menu{position:relative}.plyr__menu .plyr__control svg{transition:transform .3s ease}.plyr__menu__container.is-resizing,.plyr__menu__container>div{overflow:hidden;transition:height .35s cubic-bezier(.4,0,.2,1),width .35s cubic-bezier(.4,0,.2,1)}.plyr__menu .plyr__control[aria-expanded=true] svg{transform:rotate(45deg)}.plyr__menu .plyr__control[aria-expanded=true] .plyr__tooltip{display:none}.plyr__menu__container{position:absolute;bottom:100%;right:-5px;margin-bottom:10px;animation:plyr-popup .2s ease;background:rgba(52,63,74,.9);box-shadow:0 1px 0 rgba(0,0,0,.2);border-radius:4px;white-space:nowrap;text-align:left;color:#fff;font-size:14px}.plyr__menu__container::after{content:"";position:absolute;top:100%;right:15px;height:0;width:0;border:6px solid transparent;border-top-color:rgba(52,63,74,.9)}.plyr__menu__container ul{margin:0;padding:5px;list-style:none;overflow:hidden}.plyr__menu__container .plyr__control{display:-ms-flexbox;display:flex;width:100%;padding:7px 14px;color:#fff;font-weight:600;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.plyr__menu__container .plyr__control::after{content:"";position:absolute;top:50%;transform:translateY(-50%);border:5px solid transparent}.plyr__menu__container .plyr__control--forward{padding-right:28px}.plyr__menu__container .plyr__control--forward::after{right:5px;border-left-color:rgba(255,255,255,.8)}.plyr__menu__container .plyr__control--back{position:relative;padding-top:4px;padding-bottom:4px;padding-left:28px;margin-bottom:10px;font-weight:500}.plyr__menu__container .plyr__control--back::after{left:5px;border-right-color:rgba(255,255,255,.8)}.plyr__menu__container .plyr__control--back::before{content:"";position:absolute;top:100%;left:0;right:0;height:1px;overflow:hidden;margin-top:4px;background:rgba(0,0,0,.15);box-shadow:0 1px 0 rgba(255,255,255,.1)}.plyr__menu__container label.plyr__control{padding-left:18px}.plyr__menu__container label.plyr__control input[type=radio]{position:relative;left:-7px}.plyr__menu__container .plyr__menu__value{display:inherit;margin-left:auto;padding-left:25px;pointer-events:none;overflow:hidden;font-weight:500;color:rgba(255,255,255,.8)}.plyr__menu__container .plyr__menu__value .plyr__badge{font-weight:600}.plyr__badge{padding:2px 4px;border-radius:2px;background:#fff;color:rgba(52,63,74,.9);font-size:10px}.plyr__tooltip{position:absolute;z-index:2;bottom:100%;margin-bottom:10px;padding:5px 7.5px;pointer-events:none;opacity:0;background:rgba(52,63,74,.9);border-radius:3px;color:#fff;font-size:14px;font-weight:500;line-height:1.3;transform:translate(-50%,10px) scale(.8);transform-origin:50% 100%;transition:transform .2s .1s ease,opacity .2s .1s ease}.plyr__tooltip::before{content:'';position:absolute;width:0;height:0;left:50%;transform:translateX(-50%);bottom:-4px;border-right:4px solid transparent;border-top:4px solid rgba(52,63,74,.9);border-left:4px solid transparent;z-index:2}.plyr .plyr__control.tab-focus:focus .plyr__tooltip,.plyr .plyr__control:hover .plyr__tooltip,.plyr__tooltip--visible{opacity:1;transform:translate(-50%,0) scale(1)}.plyr .plyr__control:hover .plyr__tooltip{z-index:3}.plyr__controls>.plyr__control:first-child .plyr__tooltip,.plyr__controls>.plyr__control:first-child+.plyr__control .plyr__tooltip{left:0;transform:translate(0,10px) scale(.8);transform-origin:0 100%}.plyr__controls>.plyr__control:first-child .plyr__tooltip::before,.plyr__controls>.plyr__control:first-child+.plyr__control .plyr__tooltip::before{left:16px}.plyr__controls>.plyr__control:last-child .plyr__tooltip{right:0;transform:translate(0,10px) scale(.8);transform-origin:100% 100%}.plyr__controls>.plyr__control:last-child .plyr__tooltip::before{left:auto;right:16px;transform:translateX(50%)}.plyr__controls>.plyr__control:first-child .plyr__tooltip--visible,.plyr__controls>.plyr__control:first-child+.plyr__control .plyr__tooltip--visible,.plyr__controls>.plyr__control:first-child+.plyr__control.tab-focus:focus .plyr__tooltip,.plyr__controls>.plyr__control:first-child+.plyr__control:hover .plyr__tooltip,.plyr__controls>.plyr__control:first-child.tab-focus:focus .plyr__tooltip,.plyr__controls>.plyr__control:first-child:hover .plyr__tooltip,.plyr__controls>.plyr__control:last-child .plyr__tooltip--visible,.plyr__controls>.plyr__control:last-child.tab-focus:focus .plyr__tooltip,.plyr__controls>.plyr__control:last-child:hover .plyr__tooltip{transform:translate(0,0) scale(1)}.plyr__progress{position:relative;display:none;-ms-flex:1;flex:1}.plyr__progress input[type=range]{position:relative;z-index:2}.plyr__progress input[type=range]::-webkit-slider-runnable-track{background:0 0}.plyr__progress input[type=range]::-moz-range-track{background:0 0}.plyr__progress input[type=range]::-ms-fill-upper{background:0 0}.plyr__progress .plyr__tooltip{left:0}.plyr .plyr__progress{display:inline-block}.plyr__progress--buffer,.plyr__progress--played,.plyr__volume--display{position:absolute;left:0;top:50%;width:100%;height:8px;margin:-4px 0 0;padding:0;vertical-align:top;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;border-radius:100px}.plyr__progress--buffer::-webkit-progress-bar,.plyr__progress--played::-webkit-progress-bar,.plyr__volume--display::-webkit-progress-bar{background:0 0}.plyr__progress--buffer::-webkit-progress-value,.plyr__progress--played::-webkit-progress-value,.plyr__volume--display::-webkit-progress-value{background:currentColor;border-radius:100px;min-width:8px}.plyr__progress--buffer::-moz-progress-bar,.plyr__progress--played::-moz-progress-bar,.plyr__volume--display::-moz-progress-bar{background:currentColor;border-radius:100px;min-width:8px}.plyr__progress--buffer::-ms-fill,.plyr__progress--played::-ms-fill,.plyr__volume--display::-ms-fill{border-radius:100px}.plyr__progress--played,.plyr__volume--display{z-index:1;color:#3498db;background:0 0;transition:none}.plyr__progress--played::-webkit-progress-value,.plyr__volume--display::-webkit-progress-value{min-width:8px;max-width:99%;border-top-right-radius:0;border-bottom-right-radius:0;transition:none}.plyr__progress--played::-moz-progress-bar,.plyr__volume--display::-moz-progress-bar{min-width:8px;max-width:99%;border-top-right-radius:0;border-bottom-right-radius:0;transition:none}.plyr__progress--played::-ms-fill,.plyr__volume--display::-ms-fill{display:none}.plyr__progress--buffer::-webkit-progress-value{transition:width .2s ease}.plyr__progress--buffer::-moz-progress-bar{transition:width .2s ease}.plyr__progress--buffer::-ms-fill{transition:width .2s ease}.plyr--video .plyr__progress--buffer,.plyr--video .plyr__volume--display{background:rgba(255,255,255,.25)}.plyr--video .plyr__progress--buffer{color:rgba(255,255,255,.25)}.plyr--audio .plyr__progress--buffer,.plyr--audio .plyr__volume--display{background:rgba(198,214,219,.66)}.plyr--audio .plyr__progress--buffer{color:rgba(198,214,219,.66)}.plyr--loading .plyr__progress--buffer{animation:plyr-progress 1s linear infinite;background-size:25px 25px;background-repeat:repeat-x;background-image:linear-gradient(-45deg,rgba(52,63,74,.2) 25%,transparent 25%,transparent 50%,rgba(52,63,74,.2) 50%,rgba(52,63,74,.2) 75%,transparent 75%,transparent);color:transparent}.plyr--video.plyr--loading .plyr__progress--buffer{background-color:rgba(255,255,255,.25)}.plyr--audio.plyr--loading .plyr__progress--buffer{background-color:rgba(198,214,219,.66)}.plyr__time{display:inline-block;vertical-align:middle;font-size:14px}.plyr__time+.plyr__time{display:none}@media (min-width:768px){.plyr__time+.plyr__time{display:inline-block}}.plyr__time+.plyr__time::before{content:'\2044';margin-right:10px}.plyr__volume{display:none}.plyr .plyr__volume{-ms-flex:1;flex:1;position:relative}.plyr .plyr__volume input[type=range]{position:relative;z-index:2}@media (min-width:480px){.plyr .plyr__volume{display:block;max-width:60px}}@media (min-width:768px){.plyr .plyr__volume{max-width:100px}}.plyr--is-ios .plyr__volume,.plyr--is-ios [data-plyr=mute]{display:none!important}.plyr--fullscreen-active{position:fixed;top:0;left:0;right:0;bottom:0;height:100%;width:100%;z-index:10000000;background:#000;border-radius:0!important}.plyr--fullscreen-active video{height:100%}.plyr--fullscreen-active .plyr__video-wrapper{height:100%;width:100%}.plyr--fullscreen-active .plyr__video-embed{overflow:visible}.plyr--fullscreen-active .plyr__controls{position:absolute;bottom:0;left:0;right:0}.plyr--fullscreen-active.plyr--vimeo .plyr__video-wrapper{height:0;top:50%;transform:translateY(-50%)} \ No newline at end of file
diff --git a/dist/plyr.js b/dist/plyr.js
index c3c3d848..c71d8ce4 100644
--- a/dist/plyr.js
+++ b/dist/plyr.js
@@ -1,2 +1,2 @@
!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=t(e,document):"function"==typeof define&&define.amd?define([],function(){return t(e,document)}):e.plyr=t(e,document)}("undefined"!=typeof window?window:this,function(e,t){"use strict";function n(){var e,n,a,r=navigator.userAgent,o=navigator.appName,s=""+parseFloat(navigator.appVersion),l=parseInt(navigator.appVersion,10),i=!1,u=!1,c=!1,p=!1;return navigator.appVersion.indexOf("Windows NT")!==-1&&navigator.appVersion.indexOf("rv:11")!==-1?(i=!0,o="IE",s="11"):(n=r.indexOf("MSIE"))!==-1?(i=!0,o="IE",s=r.substring(n+5)):(n=r.indexOf("Chrome"))!==-1?(c=!0,o="Chrome",s=r.substring(n+7)):(n=r.indexOf("Safari"))!==-1?(p=!0,o="Safari",s=r.substring(n+7),(n=r.indexOf("Version"))!==-1&&(s=r.substring(n+8))):(n=r.indexOf("Firefox"))!==-1?(u=!0,o="Firefox",s=r.substring(n+8)):(e=r.lastIndexOf(" ")+1)<(n=r.lastIndexOf("/"))&&(o=r.substring(e,n),s=r.substring(n+1),o.toLowerCase()===o.toUpperCase()&&(o=navigator.appName)),(a=s.indexOf(";"))!==-1&&(s=s.substring(0,a)),(a=s.indexOf(" "))!==-1&&(s=s.substring(0,a)),l=parseInt(""+s,10),isNaN(l)&&(s=""+parseFloat(navigator.appVersion),l=parseInt(navigator.appVersion,10)),{name:o,version:l,isIE:i,isFirefox:u,isChrome:c,isSafari:p,isIos:/(iPad|iPhone|iPod)/g.test(navigator.platform),isTouch:"ontouchstart"in t.documentElement}}function a(e){if(!t.querySelectorAll('script[src="'+e+'"]').length){var n=t.createElement("script");n.src=e;var a=t.getElementsByTagName("script")[0];a.parentNode.insertBefore(n,a)}}function r(e,t){return Array.prototype.indexOf&&e.indexOf(t)!==-1}function o(e,t,n){return e.replace(new RegExp(t.replace(/([.*+?\^=!:${}()|\[\]\/\\])/g,"\\$1"),"g"),n)}function s(e,t){e.length||(e=[e]);for(var n=e.length-1;n>=0;n--){var a=n>0?t.cloneNode(!0):t,r=e[n],o=r.parentNode,s=r.nextSibling;return a.appendChild(r),s?o.insertBefore(a,s):o.appendChild(a),a}}function l(e){e&&e.parentNode.removeChild(e)}function i(e,t){e.insertBefore(t,e.firstChild)}function u(e,t){for(var n in t)e.setAttribute(n,M.boolean(t[n])&&t[n]?"":t[n])}function c(e,n,a){var r=t.createElement(e);u(r,a),i(n,r)}function p(e){return e.replace(".","")}function d(e,t,n){if(e)if(e.classList)e.classList[n?"add":"remove"](t);else{var a=(" "+e.className+" ").replace(/\s+/g," ").replace(" "+t+" ","");e.className=a+(n?" "+t:"")}}function m(e,t){return!!e&&(e.classList?e.classList.contains(t):new RegExp("(\\s|^)"+t+"(\\s|$)").test(e.className))}function y(e,n){var a=Element.prototype,r=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.msMatchesSelector||function(e){return[].indexOf.call(t.querySelectorAll(e),this)!==-1};return r.call(e,n)}function f(e,t,n,a,r){g(e,t,function(t){n&&n.apply(e,[t]),a.apply(e,[t])},r)}function b(e,t,n,a,r){var o=t.split(" ");if(M.boolean(r)||(r=!1),e instanceof NodeList)for(var s=0;s<e.length;s++)e[s]instanceof Node&&b(e[s],arguments[1],arguments[2],arguments[3]);else for(var l=0;l<o.length;l++)e[a?"addEventListener":"removeEventListener"](o[l],n,r)}function g(e,t,n,a){M.undefined(e)||b(e,t,n,!0,a)}function v(e,t,n,a){M.undefined(e)||b(e,t,n,!1,a)}function h(e,t,n,a){if(e&&t){M.boolean(n)||(n=!1);var r=new CustomEvent(t,{bubbles:n,detail:a});e.dispatchEvent(r)}}function _(e,t){if(e)return t=M.boolean(t)?t:!e.getAttribute("aria-pressed"),e.setAttribute("aria-pressed",t),t}function k(e,t){return 0===e||0===t||isNaN(e)||isNaN(t)?0:(e/t*100).toFixed(2)}function x(){var e=arguments;if(e.length){if(1===e.length)return e[0];for(var t=Array.prototype.shift.call(e),n=e.length,a=0;a<n;a++){var r=e[a];for(var o in r)r[o]&&r[o].constructor&&r[o].constructor===Object?(t[o]=t[o]||{},x(t[o],r[o])):t[o]=r[o]}return t}}function w(e){var t=/^.*(youtu.be\/|v\/|u\/\w\/|embed\/|watch\?v=|\&v=)([^#\&\?]*).*/;return e.match(t)?RegExp.$2:e}function T(e){var t=/^.*(vimeo.com\/|video\/)(\d+).*/;return e.match(t)?RegExp.$2:e}function E(b,E){function C(e,t,n,a){h(e,t,n,x({},a,{plyr:$e}))}function L(t,n){E.debug&&e.console&&(n=Array.prototype.slice.call(n),M.string(E.logPrefix)&&E.logPrefix.length&&n.unshift(E.logPrefix),console[t].apply(console,n))}function O(){return{url:E.iconUrl,absolute:0===E.iconUrl.indexOf("http")||Je.browser.isIE}}function j(){var e=[],t=O(),n=(t.absolute?"":t.url)+"#"+E.iconPrefix;return r(E.controls,"play-large")&&e.push('<button type="button" data-plyr="play" class="plyr__play-large">','<svg><use xlink:href="'+n+'-play" /></svg>','<span class="plyr__sr-only">'+E.i18n.play+"</span>","</button>"),e.push('<div class="plyr__controls">'),r(E.controls,"restart")&&e.push('<button type="button" class="plyr__control" data-plyr="restart">','<svg><use xlink:href="'+n+'-restart" /></svg>','<span class="plyr__sr-only">'+E.i18n.restart+"</span>","</button>"),r(E.controls,"rewind")&&e.push('<button type="button" class="plyr__control" data-plyr="rewind">','<svg><use xlink:href="'+n+'-rewind" /></svg>','<span class="plyr__sr-only">'+E.i18n.rewind+"</span>","</button>"),r(E.controls,"play")&&e.push('<button type="button" class="plyr__control" data-plyr="play">','<svg><use xlink:href="'+n+'-play" /></svg>','<span class="plyr__sr-only">'+E.i18n.play+"</span>","</button>",'<button type="button" class="plyr__control" data-plyr="pause">','<svg><use xlink:href="'+n+'-pause" /></svg>','<span class="plyr__sr-only">'+E.i18n.pause+"</span>","</button>"),r(E.controls,"fast-forward")&&e.push('<button type="button" class="plyr__control" data-plyr="fast-forward">','<svg><use xlink:href="'+n+'-fast-forward" /></svg>','<span class="plyr__sr-only">'+E.i18n.forward+"</span>","</button>"),r(E.controls,"progress")&&(e.push('<span class="plyr__progress">','<div class="plyr__progress-loop"></div>','<label for="seek-{id}" class="plyr__sr-only">Seek</label>','<input id="seek-{id}" class="plyr__progress--seek" type="range" min="0" max="100" step="0.1" value="0" data-plyr="seek">','<progress class="plyr__progress--played" max="100" value="0" role="presentation"></progress>','<progress class="plyr__progress--buffer" max="100" value="0">',"<span>0</span>% "+E.i18n.buffered,"</progress>"),E.tooltips.seek&&e.push('<span class="plyr__tooltip">00:00</span>'),e.push("</span>")),r(E.controls,"current-time")&&e.push('<span class="plyr__time">','<span class="plyr__sr-only">'+E.i18n.currentTime+"</span>",'<span class="plyr__time--current">00:00</span>',"</span>"),r(E.controls,"duration")&&e.push('<span class="plyr__time">','<span class="plyr__sr-only">'+E.i18n.duration+"</span>",'<span class="plyr__time--duration">00:00</span>',"</span>"),r(E.controls,"mute")&&e.push('<button type="button" class="plyr__control" data-plyr="mute">','<svg class="icon--muted"><use xlink:href="'+n+'-muted" /></svg>','<svg><use xlink:href="'+n+'-volume" /></svg>','<span class="plyr__sr-only">'+E.i18n.toggleMute+"</span>","</button>"),r(E.controls,"volume")&&e.push('<span class="plyr__volume">','<label for="volume-{id}" class="plyr__sr-only">'+E.i18n.volume+"</label>",'<input id="volume-{id}" class="plyr__volume--input" type="range" min="'+E.volumeMin+'" max="'+E.volumeMax+'" value="'+E.volume+'" data-plyr="volume">','<progress class="plyr__volume--display" max="'+E.volumeMax+'" value="'+E.volumeMin+'" role="presentation"></progress>',"</span>"),r(E.controls,"captions")&&e.push('<button type="button" class="plyr__control" data-plyr="captions">','<svg class="icon--captions-on"><use xlink:href="'+n+'-captions-on" /></svg>','<svg><use xlink:href="'+n+'-captions-off" /></svg>','<span class="plyr__sr-only">'+E.i18n.toggleCaptions+"</span>","</button>"),r(E.controls,"settings")&&e.push('<div class="plyr__menu" data-plyr="settings">','<button type="button" id="plyr-settings-toggle-{id}" class="plyr__control" aria-haspopup="true" aria-controls="plyr-settings-{id}" aria-expanded="false">','<svg><use xlink:href="'+n+'-settings" /></svg>','<span class="plyr__sr-only">'+E.i18n.settings+"</span>","</button>",'<form class="plyr__menu__container" id="plyr-settings-{id}" aria-hidden="true" aria-labelled-by="plyr-settings-toggle-{id}" role="tablist" tabindex="-1">',"<div>",'<div id="plyr-settings-{id}-primary" aria-hidden="false" aria-labelled-by="plyr-settings-toggle-{id}" role="tabpanel" tabindex="-1">',"<ul>",'<li role="tab">','<button type="button" class="plyr__control plyr__control--forward" id="plyr-settings-{id}-captions-toggle" aria-haspopup="true" aria-controls="plyr-settings-{id}-captions" aria-expanded="false">',E.i18n.captions+'<span class="plyr__menu__value">{lang}</span>',"</button>","</li>",'<li role="tab">','<button type="button" class="plyr__control plyr__control--forward" id="plyr-settings-{id}-speed-toggle" aria-haspopup="true" aria-controls="plyr-settings-{id}-speed" aria-expanded="false">',E.i18n.speed+'<span class="plyr__menu__value" data-menu="speed">{speed}</span>',"</button>","</li>",'<li role="tab">','<button type="button" class="plyr__control plyr__control--forward" id="plyr-settings-{id}-quality-toggle" aria-haspopup="true" aria-controls="plyr-settings-{id}-quality" aria-expanded="false">',E.i18n.quality+'<span class="plyr__menu__value">{quality}</span>',"</button>","</li>",'<li role="tab">','<button type="button" class="plyr__control plyr__control--forward" id="plyr-settings-{id}-loop-toggle" aria-haspopup="true" aria-controls="plyr-settings-{id}-loop" aria-expanded="false">',E.i18n.loop+'<span class="plyr__menu__value" data-menu="loop">{loop}</span>',"</button>","</li>","</ul>","</div>",'<div id="plyr-settings-{id}-captions" aria-hidden="true" aria-labelled-by="plyr-settings-{id}-captions-toggle" role="tabpanel" tabindex="-1">',"<ul>",'<li role="tab">','<button type="button" class="plyr__control plyr__control--back" aria-haspopup="true" aria-controls="plyr-settings-{id}-primary" aria-expanded="false">',E.i18n.captions,"</button>","</li>","<li>",'<button type="button" class="plyr__control">English</button>',"</li>","<li>",'<button type="button" class="plyr__control">Off</button>',"</li>","</ul>","</div>",'<div id="plyr-settings-{id}-speed" aria-hidden="true" aria-labelled-by="plyr-settings-{id}-speed-toggle" role="tabpanel" tabindex="-1">',"<ul>",'<li role="tab">','<button type="button" class="plyr__control plyr__control--back" aria-haspopup="true" aria-controls="plyr-settings-{id}-primary" aria-expanded="false">',E.i18n.speed,"</button>","</li>","<li>",'<label class="plyr__control">','<input type="radio" name="speed" data-plyr="speed" value="2.0" '+(2===E.currentSpeed?"checked":"")+">","2.0&times;","</label>","</li>","<li>",'<label class="plyr__control">','<input type="radio" name="speed" data-plyr="speed" value="1.5" '+(1.5===E.currentSpeed?"checked":"")+">","1.5&times;","</label>","</li>","<li>",'<label class="plyr__control">','<input type="radio" name="speed" data-plyr="speed" value="1.0" '+(1===E.currentSpeed?"checked":"")+">","1.0&times;","</label>","</li>","<li>",'<label class="plyr__control">','<input type="radio" name="speed" data-plyr="speed" value="0.5" '+(.5===E.currentSpeed?"checked":"")+">","0.5&times;","</label>","</li>","</ul>","</div>",'<div id="plyr-settings-{id}-quality" aria-hidden="true" aria-labelled-by="plyr-settings-{id}-quality-toggle" role="tabpanel" tabindex="-1">',"<ul>",'<li role="tab">','<button type="button" class="plyr__control plyr__control--back" aria-haspopup="true" aria-controls="plyr-settings-{id}-primary" aria-expanded="false">',E.i18n.quality,"</button>","</li>","<li>",'<label class="plyr__control">','<input type="radio" name="quality">',"2160P",'<span class="plyr__menu__value">','<span class="plyr__badge">4K</span>',"</span>","</label>","</li>","<li>",'<label class="plyr__control">','<input type="radio" name="quality">',"1440P",'<span class="plyr__menu__value">','<span class="plyr__badge">WQHD</span>',"</span>","</label>","</li>","<li>",'<label class="plyr__control">','<input type="radio" name="quality">',"1080P",'<span class="plyr__menu__value">','<span class="plyr__badge">HD</span>',"</span>","</label>","</li>","<li>",'<label class="plyr__control">','<input type="radio" name="quality">',"720P",'<span class="plyr__menu__value">','<span class="plyr__badge">HD</span>',"</span>","</label>","</li>","<li>",'<label class="plyr__control">','<input type="radio" name="quality">',"480P","</label>","</li>","<li>",'<label class="plyr__control">','<input type="radio" name="quality">',"360P","</label>","</li>","</ul>","</div>",'<div id="plyr-settings-{id}-loop" aria-hidden="true" aria-labelled-by="plyr-settings-{id}-loop-toggle" role="tabpanel" tabindex="-1">',"<ul>",'<li role="tab">','<button type="button" class="plyr__control plyr__control--back" aria-haspopup="true" aria-controls="plyr-settings-{id}-primary" aria-expanded="false">',E.i18n.loop,"</button>","</li>","<li>",'<button type="button" class="plyr__control" data-plyr="loop" data-plyr-loop="all">',E.i18n.loopAll,"<span></span>","</button>","</li>","<li>",'<button type="button" class="plyr__control" data-plyr="loop" data-plyr-loop="start">',E.i18n.loopStart,"<span></span>","</button>","</li>","<li>",'<button type="button" class="plyr__control" data-plyr="loop" data-plyr-loop="end">',E.i18n.loopEnd,"<span></span>","</button>","</li>","<li>",'<button type="button" class="plyr__control" data-plyr="loop" data-plyr-loop="none">',E.i18n.loopNone,"</button>","</li>","</ul>","</div>","</div>","</form>","</div>"),r(E.controls,"pip")&&q.pip&&e.push('<button type="button" class="plyr__control" data-plyr="pip">','<svg><use xlink:href="'+n+'-pip" /></svg>','<span class="plyr__sr-only">PIP</span>',"</button>"),r(E.controls,"airplay")&&q.airplay&&e.push('<button type="button" class="plyr__control" data-plyr="airplay">','<svg><use xlink:href="'+n+'-airplay" /></svg>','<span class="plyr__sr-only">AirPlay</span>',"</button>"),r(E.controls,"fullscreen")&&e.push('<button type="button" class="plyr__control" data-plyr="fullscreen">','<svg class="icon--exit-fullscreen"><use xlink:href="'+n+'-exit-fullscreen" /></svg>','<svg><use xlink:href="'+n+'-enter-fullscreen" /></svg>','<span class="plyr__sr-only">'+E.i18n.toggleFullscreen+"</span>","</button>"),e.push("</div>"),e.join("")}function R(e,t){function n(e){var t="";switch(e){case"hd2160":t="4K";break;case"hd1440":t="WQHD";break;case"hd1080":t="HD";break;case"hd720":t="HD"}return t.length?['<span class="plyr__menu__value">','<span class="plyr__badge">'+t+"</span>","</span>"].join(""):""}function a(e){switch(e){case"hd2160":return"2160P";case"hd1440":return"1440P";case"hd1080":return"1080P";case"hd720":return"720P";case"large":return"480P";case"medium":return"360P";case"small":return"240P";default:return"Auto"}}if(!M.object(Je.quality)&&(Je.quality={available:e,current:t},M.array(e)&&e.length)){var r=e.filter(function(e){return["tiny","small"].indexOf(e)===-1}),o=r.map(function(e){return["<li>",'<label class="plyr__control">','<input type="radio" name="quality" value="'+e+'"'+(e===Je.quality.current?" checked":"")+">",a(e),n(e),"</label>","</li>"].join("")});o.unshift(['<li role="tab">','<button type="button" class="plyr__control plyr__control--back" aria-haspopup="true" aria-controls="plyr-settings-'+Je.id+'-primary" aria-expanded="false">',E.i18n.quality,"</button>","</li>"].join("")),U(E.selectors.menu.quality).innerHTML=o.join("")}}function D(){if(Je.supported.full&&("audio"!==Je.type||E.fullscreen.allowAudio)&&E.fullscreen.enabled){var e=q.fullscreen;e||E.fullscreen.fallback&&!K()?(Ze((e?"Native":"Fallback")+" fullscreen enabled"),d(Je.container,E.classes.fullscreen.enabled,!0)):Ze("Fullscreen not supported and fallback disabled"),Je.buttons&&Je.buttons.fullscreen&&_(Je.buttons.fullscreen,!1),Q()}}function V(e){M.event(e)&&(e=e.target),e.activeCues[0]&&"text"in e.activeCues[0]?W(e.activeCues[0].getCueAsHTML()):W()}function H(){if("video"===Je.type){U(E.selectors.captions)||Je.videoContainer.insertAdjacentHTML("afterbegin",'<div class="'+p(E.selectors.captions)+'"></div>'),Je.usingTextTracks=!1,Je.media.textTracks&&(Je.usingTextTracks=!0);var e=[],t="";if(Je.media.childNodes.forEach(function(t){"track"===t.nodeName.toLowerCase()&&("captions"!==t.kind&&"subtitles"!==t.kind||e.push(t.getAttribute("src")))}),Je.captionExists=!0,0===e.length?(Je.captionExists=!1,Ze("No caption track found")):E.captions.selectedIndex+1>e.length?(Je.captionExists=!1,Ze("Caption index out of bound")):(t=e[E.captions.selectedIndex],Ze("Caption track found; URI: "+t)),Je.captionExists){var n=Je.media.textTracks;if([].forEach.call(n,function(e){v(e,"cuechange",V),e.mode="hidden"}),B(Je),(Je.browser.isIE&&Je.browser.version>=10||Je.browser.isFirefox&&Je.browser.version>=31)&&(Ze("Detected browser with known TextTrack issues - using manual fallback"),Je.usingTextTracks=!1),Je.usingTextTracks){Ze("TextTracks supported");var a=n[E.captions.selectedIndex];"captions"!==a.kind&&"subtitles"!==a.kind||(g(a,"cuechange",V),a.activeCues&&a.activeCues.length>0&&V(a))}else if(Ze("TextTracks not supported so rendering captions manually"),Je.currentCaption="",Je.captions=[],""!==t){var r=new XMLHttpRequest;r.onreadystatechange=function(){if(4===r.readyState)if(200===r.status){var e=r.responseText,t="\r\n";e.indexOf(t+t)===-1&&(t=e.indexOf("\r\r")!==-1?"\r":"\n");var n=e.split(t+t);Je.captions=n.map(function(e){var n=e.split(t),a=0;return n[a].indexOf(":")!==-1&&(a=1),[n[a],n[a+1]]}),Je.captions.shift(),Ze("Successfully loaded the caption file via AJAX")}else et(E.logPrefix+"There was a problem loading the caption file via AJAX")},r.open("get",t,!0),r.send()}}else d(Je.container,E.classes.captions.enabled)}}function W(e){var n=U(E.selectors.captions),a=t.createElement("span");n.innerHTML="",M.undefined(e)&&(e=""),M.string(e)?a.innerHTML=e.trim():a.appendChild(e),n.appendChild(a);n.offsetHeight}function Y(e){function t(e,t){var n=[];n=e.split(" --> ");for(var a=0;a<n.length;a++)n[a]=n[a].replace(/(\d+:\d+:\d+\.\d+).*/,"$1");return r(n[t])}function n(e){return t(e,0)}function a(e){return t(e,1)}function r(e){if(null===e||void 0===e)return 0;var t=[],n=[],a=0;t=e.split(","),n=t[0].split(":");for(var r=0,o=n.length;r<o;r++)a+=Math.floor(n[r]*Math.pow(60,o-(r+1)));return a}if(!Je.usingTextTracks&&"video"===Je.type&&Je.supported.full&&(Je.subcount=0,e=M.number(e)?e:Je.media.currentTime,Je.captions[Je.subcount])){for(;a(Je.captions[Je.subcount][0])<e.toFixed(1);)if(Je.subcount++,Je.subcount>Je.captions.length-1){Je.subcount=Je.captions.length-1;break}Je.media.currentTime.toFixed(1)>=n(Je.captions[Je.subcount][0])&&Je.media.currentTime.toFixed(1)<=a(Je.captions[Je.subcount][0])?(Je.currentCaption=Je.captions[Je.subcount][1],W(Je.currentCaption)):W()}}function B(){if(Je.buttons.captions){d(Je.container,E.classes.captions.enabled,!0);var e=Je.storage.captionsEnabled;M.boolean(e)||(e=E.captions.defaultActive),e&&(d(Je.container,E.classes.captions.active,!0),_(Je.buttons.captions,!0))}}function X(e){return Je.container.querySelectorAll(e)}function U(e){return X(e)[0]}function K(){try{return e.self!==e.top}catch(e){return!0}}function Q(){function e(e){9===e.which&&Je.isFullscreen&&(e.target!==a||e.shiftKey?e.target===n&&e.shiftKey&&(e.preventDefault(),a.focus()):(e.preventDefault(),n.focus()))}var t=X("input:not([disabled]), button:not([disabled])"),n=t[0],a=t[t.length-1];g(Je.container,"keydown",e)}function $(e,t){if(M.string(t))c(e,Je.media,{src:t});else if(t.constructor===Array)for(var n=t.length-1;n>=0;n--)c(e,Je.media,t[n])}function J(){if(E.loadSprite){var e=O();e.absolute?(Ze("AJAX loading absolute SVG sprite"+(Je.browser.isIE?" (due to IE)":"")),S(e.url,"sprite-plyr")):Ze("Sprite will be used as external resource directly")}var n=E.html;Ze("Injecting custom controls"),n||(n=j()),n=o(n,"{seektime}",E.seekTime),n=o(n,"{speed}",z()),n=o(n,"{lang}","English"),Je.id=Math.floor(1e4*Math.random()),n=o(n,"{id}",Je.id);var a;if(M.string(E.selectors.controls.container)&&(a=t.querySelector(E.selectors.controls.container)),M.htmlElement(a)||(a=Je.container),a.insertAdjacentHTML("beforeend",n),E.tooltips.controls)for(var r=X([E.selectors.controls.wrapper," ",E.selectors.labels," .",E.classes.hidden].join("")),s=r.length-1;s>=0;s--){var l=r[s];d(l,E.classes.hidden,!1),d(l,E.classes.tooltip,!0)}}function z(){return E.currentSpeed.toFixed(1).toString().replace(".0","")+"&times;"}function G(){try{return Je.controls=U(E.selectors.controls.wrapper),Je.buttons={seek:U(E.selectors.buttons.seek),play:X(E.selectors.buttons.play),pause:U(E.selectors.buttons.pause),restart:U(E.selectors.buttons.restart),rewind:U(E.selectors.buttons.rewind),forward:U(E.selectors.buttons.forward),fullscreen:U(E.selectors.buttons.fullscreen),settings:U(E.selectors.buttons.settings),pip:U(E.selectors.buttons.pip),speed:U(E.selectors.buttons.speed),loop:U(E.selectors.buttons.loop)},Je.buttons.mute=U(E.selectors.buttons.mute),Je.buttons.captions=U(E.selectors.buttons.captions),Je.progress={container:U(E.selectors.progress.container)},Je.progress.buffer=function(){var e=U(E.selectors.progress.buffer);return{bar:e,text:M.htmlElement(e)&&e.getElementsByTagName("span")[0]}}(),Je.progress.played=U(E.selectors.progress.played),Je.progress.tooltip=Je.progress.container&&Je.progress.container.querySelector("."+E.classes.tooltip),Je.volume={input:U(E.selectors.volume.input),display:U(E.selectors.volume.display)},Je.duration=U(E.selectors.duration),Je.currentTime=U(E.selectors.currentTime),Je.seekTime=X(E.selectors.seekTime),!0}catch(e){return et("It looks like there is a problem with your controls HTML",e),ee(!0),!1}}function Z(){d(Je.container,E.selectors.container.replace(".",""),Je.supported.full)}function ee(e){e&&r(E.types.html5,Je.type)?Je.media.setAttribute("controls",""):Je.media.removeAttribute("controls")}function te(e){var t=E.i18n.play;if(M.string(E.title)&&E.title.length&&(t+=", "+E.title,Je.container.setAttribute("aria-label",E.title)),Je.supported.full&&Je.buttons.play)for(var n=Je.buttons.play.length-1;n>=0;n--)Je.buttons.play[n].setAttribute("aria-label",t);M.htmlElement(e)&&e.setAttribute("title",E.i18n.frameTitle.replace("{title}",E.title))}function ne(){var t=null;Je.storage={},q.storage&&E.storage.enabled&&(e.localStorage.removeItem("plyr-volume"),t=e.localStorage.getItem(E.storage.key),t&&(/^\d+(\.\d+)?$/.test(t)?ae({volume:parseFloat(t)}):Je.storage=JSON.parse(t)))}function ae(t){q.storage&&E.storage.enabled&&(x(Je.storage,t),e.localStorage.setItem(E.storage.key,JSON.stringify(Je.storage)))}function re(){if(!Je.media)return void et("No media element found!");if(Je.supported.full&&(d(Je.container,E.classes.type.replace("{0}",Je.type),!0),r(E.types.embed,Je.type)&&d(Je.container,E.classes.type.replace("{0}","video"),!0),d(Je.container,E.classes.pip.enabled,q.pip),d(Je.container,E.classes.stopped,E.autoplay),d(Je.container,E.classes.isIos,Je.browser.isIos),d(Je.container,E.classes.isTouch,Je.browser.isTouch),"video"===Je.type)){var e=t.createElement("div");e.setAttribute("class",E.classes.videoWrapper),s(Je.media,e),Je.videoContainer=e}r(E.types.embed,Je.type)&&oe()}function oe(){var n,r=t.createElement("div"),o=Je.type+"-"+Math.floor(1e4*Math.random());switch(Je.type){case"youtube":n=w(Je.embedId);break;case"vimeo":n=T(Je.embedId);break;default:n=Je.embedId}for(var s=X('[id^="'+Je.type+'-"]'),i=s.length-1;i>=0;i--)l(s[i]);if(d(Je.media,E.classes.videoWrapper,!0),d(Je.media,E.classes.embedWrapper,!0),"youtube"===Je.type)Je.media.appendChild(r),r.setAttribute("id",o),M.object(e.YT)?le(n,r):(a(E.urls.youtube.api),e.onYouTubeReadyCallbacks=e.onYouTubeReadyCallbacks||[],e.onYouTubeReadyCallbacks.push(function(){le(n,r)}),e.onYouTubeIframeAPIReady=function(){e.onYouTubeReadyCallbacks.forEach(function(e){e()})});else if("vimeo"===Je.type)if(Je.supported.full?Je.media.appendChild(r):r=Je.media,r.setAttribute("id",o),M.object(e.Vimeo))ie(n,r);else{a(E.urls.vimeo.api);var c=e.setInterval(function(){M.object(e.Vimeo)&&(e.clearInterval(c),ie(n,r))},50)}else if("soundcloud"===Je.type){var p=t.createElement("iframe");p.loaded=!1,g(p,"load",function(){p.loaded=!0}),u(p,{src:"https://w.soundcloud.com/player/?url=https://api.soundcloud.com/tracks/"+n,id:o}),r.appendChild(p),Je.media.appendChild(r),e.SC||a(E.urls.soundcloud.api);var m=e.setInterval(function(){e.SC&&p.loaded&&(e.clearInterval(m),ue.call(p))},50)}}function se(){Je.supported.full&&(Ke(),Qe()),te(U("iframe"))}function le(t,n){Je.embed=new e.YT.Player(n.id,{videoId:t,playerVars:{autoplay:E.autoplay?1:0,controls:Je.supported.full?0:1,rel:0,showinfo:0,iv_load_policy:3,cc_load_policy:E.captions.defaultActive?1:0,cc_lang_pref:"en",wmode:"transparent",modestbranding:1,disablekb:1,origin:"*"},events:{onError:function(e){C(Je.container,"error",!0,{code:e.data,embed:e.target})},onPlaybackQualityChange:function(e){var t=e.target,n=t.getPlaybackQuality();console.warn(n)},onReady:function(t){var n=t.target;Je.media.play=function(){n.playVideo(),Je.media.paused=!1},Je.media.pause=function(){n.pauseVideo(),Je.media.paused=!0},Je.media.stop=function(){n.stopVideo(),Je.media.paused=!0},Je.media.duration=n.getDuration(),Je.media.paused=!0,Je.media.currentTime=0,Je.media.muted=n.isMuted();var a=n.getPlaybackRate(),r=n.getAvailablePlaybackRates();console.warn(a,r),E.title=n.getVideoData().title,Je.supported.full&&Je.media.querySelector("iframe").setAttribute("tabindex","-1"),se(),C(Je.media,"timeupdate"),C(Je.media,"durationchange"),e.clearInterval(ze.buffering),ze.buffering=e.setInterval(function(){Je.media.buffered=n.getVideoLoadedFraction(),(null===Je.media.lastBuffered||Je.media.lastBuffered<Je.media.buffered)&&C(Je.media,"progress"),Je.media.lastBuffered=Je.media.buffered,1===Je.media.buffered&&(e.clearInterval(ze.buffering),C(Je.media,"canplaythrough"))},200)},onStateChange:function(t){var n=t.target;switch(e.clearInterval(ze.playing),t.data){case 0:Je.media.paused=!0,C(Je.media,"ended");break;case 1:Je.media.paused=!1,Je.media.seeking&&C(Je.media,"seeked"),Je.media.seeking=!1,C(Je.media,"play"),C(Je.media,"playing"),ze.playing=e.setInterval(function(){Je.media.currentTime=n.getCurrentTime(),C(Je.media,"timeupdate")},100),Je.media.duration!==n.getDuration()&&(Je.media.duration=n.getDuration(),C(Je.media,"durationchange"));var a=n.getAvailableQualityLevels(),r=n.getPlaybackQuality();R(a,r);break;case 2:Je.media.paused=!0,C(Je.media,"pause")}C(Je.container,"statechange",!1,{code:t.data})}}})}function ie(t,n){Je.embed=new e.Vimeo.Player(n,{id:parseInt(t),loop:E.loop.active,autoplay:E.autoplay,byline:!1,portrait:!1,title:!1}),Je.media.play=function(){Je.embed.play(),Je.media.paused=!1},Je.media.pause=function(){Je.embed.pause(),Je.media.paused=!0},Je.media.stop=function(){Je.embed.stop(),Je.media.paused=!0},Je.media.paused=!0,Je.media.currentTime=0,se(),Je.embed.getCurrentTime().then(function(e){Je.media.currentTime=e,C(Je.media,"timeupdate")}),Je.embed.getDuration().then(function(e){Je.media.duration=e,C(Je.media,"durationchange")}),Je.embed.on("loaded",function(){M.htmlElement(Je.embed.element)&&Je.supported.full&&Je.embed.element.setAttribute("tabindex","-1")}),Je.embed.on("play",function(){Je.media.paused=!1,C(Je.media,"play"),C(Je.media,"playing")}),Je.embed.on("pause",function(){Je.media.paused=!0,C(Je.media,"pause")}),Je.embed.on("timeupdate",function(e){Je.media.seeking=!1,Je.media.currentTime=e.seconds,C(Je.media,"timeupdate")}),Je.embed.on("progress",function(e){Je.media.buffered=e.percent,C(Je.media,"progress"),1===parseInt(e.percent)&&C(Je.media,"canplaythrough")}),Je.embed.on("seeked",function(){Je.media.seeking=!1,C(Je.media,"seeked"),C(Je.media,"play")}),Je.embed.on("ended",function(){Je.media.paused=!0,C(Je.media,"ended")})}function ue(){Je.embed=e.SC.Widget(this),Je.embed.bind(e.SC.Widget.Events.READY,function(){Je.media.play=function(){Je.embed.play(),Je.media.paused=!1},Je.media.pause=function(){Je.embed.pause(),Je.media.paused=!0},Je.media.stop=function(){Je.embed.seekTo(0),Je.embed.pause(),Je.media.paused=!0},Je.media.paused=!0,Je.media.currentTime=0,Je.embed.getDuration(function(e){Je.media.duration=e/1e3,se()}),Je.embed.getPosition(function(e){Je.media.currentTime=e,C(Je.media,"timeupdate")}),Je.embed.bind(e.SC.Widget.Events.PLAY,function(){Je.media.paused=!1,C(Je.media,"play"),C(Je.media,"playing")}),Je.embed.bind(e.SC.Widget.Events.PAUSE,function(){Je.media.paused=!0,C(Je.media,"pause")}),Je.embed.bind(e.SC.Widget.Events.PLAY_PROGRESS,function(e){Je.media.seeking=!1,Je.media.currentTime=e.currentPosition/1e3,C(Je.media,"timeupdate")}),Je.embed.bind(e.SC.Widget.Events.LOAD_PROGRESS,function(e){Je.media.buffered=e.loadProgress,C(Je.media,"progress"),1===parseInt(e.loadProgress)&&C(Je.media,"canplaythrough")}),Je.embed.bind(e.SC.Widget.Events.FINISH,function(){Je.media.paused=!0,C(Je.media,"ended")})})}function ce(){"play"in Je.media&&Je.media.play()}function pe(){"pause"in Je.media&&Je.media.pause()}function de(e){return M.boolean(e)||(e=Je.media.paused),e?ce():pe(),e}function me(e){r(["start","end","all","none","toggle"],e)||(e="toggle");var n=Number(Je.media.currentTime);switch(e){case"start":E.loop.end&&E.loop.end<=n&&(E.loop.end=null),E.loop.start=n,E.loop.indicator.start=Je.progress.played.value;break;case"end":if(E.loop.start>=n)return;E.loop.end=n,E.loop.indicator.end=Je.progress.played.value;break;case"all":E.loop.start=0,E.loop.end=Je.media.duration-2,E.loop.indicator.start=0,E.loop.indicator.end=100;break;case"toggle":E.loop.active?(E.loop.start=0,E.loop.end=null):(E.loop.start=0,E.loop.end=Je.media.duration-2);break;default:E.loop.start=0,E.loop.end=null}E.loop.active=M.number(E.loop.start)&&M.number(E.loop.end);var a=(Me(E.loop.start,U('[data-plyr-loop="start"]')),null);M.number(E.loop.end)&&(a=Me(E.loop.end,t.querySelector('[data-loop__value="loopout"]'))),E.loop.active}function ye(e){if(M.undefined(e)&&(e=Je.storage.speed||E.defaultSpeed),!M.array(E.speeds))return void et("Invalid speeds format");if(!M.number(e)){var n=E.speeds.indexOf(E.currentSpeed);if(n!==-1){var a=n+1;a>=E.speeds.length&&(a=0),e=E.speeds[a]}else e=E.defaultSpeed}E.currentSpeed=e,Je.media.playbackRate=e,ae({speed:e}),t.querySelector('[data-menu="speed"]').innerHTML=z()}function fe(e){M.number(e)||(e=E.seekTime),ge(Je.media.currentTime-e)}function be(e){M.number(e)||(e=E.seekTime),ge(Je.media.currentTime+e)}function ge(e){var t=0,n=Je.media.paused,a=ve();M.number(e)?t=e:M.event(e)&&r(["input","change"],e.type)&&(t=e.target.value/e.target.max*a),t<0?t=0:t>a&&(t=a),Oe(t);try{Je.media.currentTime=t.toFixed(4)}catch(e){}if(r(E.types.embed,Je.type)){switch(Je.type){case"youtube":Je.embed.seekTo(t);break;case"vimeo":Je.embed.setCurrentTime(t.toFixed(0));break;case"soundcloud":Je.embed.seekTo(1e3*t)}n&&pe(),C(Je.media,"timeupdate"),Je.media.seeking=!0,C(Je.media,"seeking")}Ze("Seeking to "+Je.media.currentTime+" seconds"),Y(t)}function ve(){var e=parseInt(E.duration),t=0;return null===Je.media.duration||isNaN(Je.media.duration)||(t=Je.media.duration),isNaN(e)?t:e}function he(){d(Je.container,E.classes.playing,!Je.media.paused),d(Je.container,E.classes.stopped,Je.media.paused),Re(Je.media.paused)}function _e(){P={x:e.pageXOffset||0,y:e.pageYOffset||0}}function ke(){e.scrollTo(P.x,P.y)}function xe(e){var n=q.fullscreen;if(n){if(!e||e.type!==I.eventType)return I.isFullScreen(Je.container)?I.cancelFullScreen():(_e(),I.requestFullScreen(Je.container)),void(Je.isFullscreen=I.isFullScreen(Je.container));Je.isFullscreen=I.isFullScreen(Je.container)}else Je.isFullscreen=!Je.isFullscreen,t.body.style.overflow=Je.isFullscreen?"hidden":"";d(Je.container,E.classes.fullscreen.active,Je.isFullscreen),Q(Je.isFullscreen),Je.buttons&&Je.buttons.fullscreen&&_(Je.buttons.fullscreen,Je.isFullscreen),C(Je.container,Je.isFullscreen?"enterfullscreen":"exitfullscreen",!0),!Je.isFullscreen&&n&&ke()}function we(e){if(M.boolean(e)||(e=!Je.media.muted),_(Je.buttons.mute,e),Je.media.muted=e,0===Je.media.volume&&Te(E.volume),r(E.types.embed,Je.type)){switch(Je.type){case"youtube":Je.embed[Je.media.muted?"mute":"unMute"]();break;case"vimeo":case"soundcloud":Je.embed.setVolume(Je.media.muted?0:parseFloat(E.volume/E.volumeMax))}C(Je.media,"volumechange")}}function Te(e){var t=E.volumeMax,n=E.volumeMin;
-if(M.undefined(e)&&(e=Je.storage.volume),(null===e||isNaN(e))&&(e=E.volume),e>t&&(e=t),e<n&&(e=n),Je.media.volume=parseFloat(e/t),Je.volume.display&&(Je.volume.display.value=e),r(E.types.embed,Je.type)){switch(Je.type){case"youtube":Je.embed.setVolume(100*Je.media.volume);break;case"vimeo":case"soundcloud":Je.embed.setVolume(Je.media.volume)}C(Je.media,"volumechange")}0===e?Je.media.muted=!0:Je.media.muted&&e>0&&we()}function Ee(e){var t=Je.media.muted?0:Je.media.volume*E.volumeMax;M.number(e)||(e=E.volumeStep),Te(t+e)}function Se(e){var t=Je.media.muted?0:Je.media.volume*E.volumeMax;M.number(e)||(e=E.volumeStep),Te(t-e)}function Ae(){var e=Je.media.muted?0:Je.media.volume*E.volumeMax;Je.supported.full&&(Je.volume.input&&(Je.volume.input.value=e),Je.volume.display&&(Je.volume.display.value=e)),ae({volume:e}),d(Je.container,E.classes.muted,0===e),Je.supported.full&&Je.buttons.mute&&_(Je.buttons.mute,0===e)}function Ce(e){Je.supported.full&&Je.buttons.captions&&(M.boolean(e)||(e=Je.container.className.indexOf(E.classes.captions.active)===-1),Je.captionsEnabled=e,_(Je.buttons.captions,Je.captionsEnabled),d(Je.container,E.classes.captions.active,Je.captionsEnabled),C(Je.container,Je.captionsEnabled?"captionsenabled":"captionsdisabled",!0),ae({captionsEnabled:Je.captionsEnabled}))}function Fe(e){E.captions.selectedIndex=e,W(),H()}function Ie(e){var t="waiting"===e.type;clearTimeout(ze.loading),ze.loading=setTimeout(function(){d(Je.container,E.classes.loading,t),Re(t)},t?250:0)}function Pe(e){if(Je.supported.full){var t=Je.progress.played,n=0,a=ve();if(e)switch(e.type){case"timeupdate":case"seeking":if(Je.controls.pressed)return;n=k(Je.media.currentTime,a),"timeupdate"===e.type&&Je.buttons.seek&&(Je.buttons.seek.value=n);break;case"playing":case"progress":t=Je.progress.buffer,n=function(){var e=Je.media.buffered;return e&&e.length?k(e.end(0),a):M.number(e)?100*e:0}()}M.number(E.loop.start)&&M.number(E.loop.end)&&Je.media.currentTime>=E.loop.end&&ge(E.loop.start),Ne(t,n)}}function Ne(e,t){if(Je.supported.full){if(M.undefined(t)&&(t=0),M.undefined(e)){if(!Je.progress||!Je.progress.buffer)return;e=Je.progress.buffer}M.htmlElement(e)?e.value=t:e&&(e.bar&&(e.bar.value=t),e.text&&(e.text.innerHTML=t))}}function Me(e,t){if(t){isNaN(e)&&(e=0),Je.secs=parseInt(e%60),Je.mins=parseInt(e/60%60),Je.hours=parseInt(e/60/60%60);var n=parseInt(ve()/60/60%60)>0;Je.secs=("0"+Je.secs).slice(-2),Je.mins=("0"+Je.mins).slice(-2);var a=(n?Je.hours+":":"")+Je.mins+":"+Je.secs;return t.innerHTML=a,a}}function qe(){if(Je.supported.full){var e=ve()||0;!Je.duration&&E.displayDuration&&Je.media.paused&&Me(e,Je.currentTime),Je.duration&&Me(e,Je.duration),je()}}function Le(e){Me(Je.media.currentTime,Je.currentTime),e&&"timeupdate"===e.type&&Je.media.seeking||Pe(e)}function Oe(e){M.number(e)||(e=0);var t=ve(),n=k(e,t);Je.progress&&Je.progress.played&&(Je.progress.played.value=n),Je.buttons&&Je.buttons.seek&&(Je.buttons.seek.value=n)}function je(e){var t=ve();if(E.tooltips.seek&&Je.progress.container&&0!==t){var n=Je.progress.container.getBoundingClientRect(),a=0,o=E.classes.tooltip+"--visible";if(e)a=100/n.width*(e.pageX-n.left);else{if(!m(Je.progress.tooltip,o))return;a=Je.progress.tooltip.style.left.replace("%","")}a<0?a=0:a>100&&(a=100),Me(t/100*a,Je.progress.tooltip),Je.progress.tooltip.style.left=a+"%",e&&r(["mouseenter","mouseleave"],e.type)&&d(Je.progress.tooltip,o,"mouseenter"===e.type)}}function Re(t){if(E.hideControls&&"audio"!==Je.type){var n=0,a=!1,o=t,s=m(Je.container,E.classes.loading);if(M.boolean(t)||(t&&t.type?(a="enterfullscreen"===t.type,o=r(["mousemove","touchstart","mouseenter","focus"],t.type),r(["mousemove","touchmove"],t.type)&&(n=2e3),"focus"===t.type&&(n=3e3)):o=m(Je.container,E.classes.hideControls)),e.clearTimeout(ze.hover),o||Je.media.paused||s){if(d(Je.container,E.classes.hideControls,!1),Je.media.paused||s)return;Je.browser.isTouch&&(n=3e3)}o&&Je.media.paused||(ze.hover=e.setTimeout(function(){(!Je.controls.pressed&&!Je.controls.hover||a)&&d(Je.container,E.classes.hideControls,!0)},n))}}function De(e){if(!M.undefined(e))return void Ve(e);var t;switch(Je.type){case"youtube":t=Je.embed.getVideoUrl();break;case"vimeo":Je.embed.getVideoUrl.then(function(e){t=e});break;case"soundcloud":Je.embed.getCurrentSound(function(e){t=e.permalink_url});break;default:t=Je.media.currentSrc}return t||""}function Ve(e){function n(){if(Je.embed=null,l(Je.media),"video"===Je.type&&Je.videoContainer&&l(Je.videoContainer),Je.container&&Je.container.removeAttribute("class"),"type"in e&&(Je.type=e.type,"video"===Je.type)){var n=e.sources[0];"type"in n&&r(E.types.embed,n.type)&&(Je.type=n.type)}switch(Je.supported=A(Je.type),Je.type){case"video":Je.media=t.createElement("video");break;case"audio":Je.media=t.createElement("audio");break;case"youtube":case"vimeo":case"soundcloud":Je.media=t.createElement("div"),Je.embedId=e.sources[0].src}i(Je.container,Je.media),M.boolean(e.autoplay)&&(E.autoplay=e.autoplay),r(E.types.html5,Je.type)&&(E.crossorigin&&Je.media.setAttribute("crossorigin",""),E.autoplay&&Je.media.setAttribute("autoplay",""),"poster"in e&&Je.media.setAttribute("poster",e.poster),E.loop.active&&Je.media.setAttribute("loop","")),d(Je.container,E.classes.fullscreen.active,Je.isFullscreen),d(Je.container,E.classes.captions.active,Je.captionsEnabled),Z(),r(E.types.html5,Je.type)&&$("source",e.sources),re(),r(E.types.html5,Je.type)&&("tracks"in e&&$("track",e.tracks),Je.media.load()),(r(E.types.html5,Je.type)||r(E.types.embed,Je.type)&&!Je.supported.full)&&(Ke(),Qe()),E.title=e.title,te()}return M.object(e)&&"sources"in e&&e.sources.length?(d(Je.container,E.classes.ready,!1),pe(),Oe(),Ne(),Be(),void Xe(n,!1)):void et("Invalid source format")}function He(e){"video"===Je.type&&Je.media.setAttribute("poster",e)}function We(){function n(){var e=de(),t=Je.buttons[e?"play":"pause"],n=Je.buttons[e?"pause":"play"];if(n=n&&n.length>1?n[n.length-1]:n[0]){var a=m(t,E.classes.tabFocus);setTimeout(function(){n.focus(),a&&(d(t,E.classes.tabFocus,!1),d(n,E.classes.tabFocus,!0))},100)}}function a(){var e=t.activeElement;return e=e&&e!==t.body?t.querySelector(":focus"):null}function o(e){return e.keyCode?e.keyCode:e.which}function s(e){for(var t in Je.buttons){var n=Je.buttons[t];if(M.nodeList(n))for(var a=0;a<n.length;a++)d(n[a],E.classes.tabFocus,n[a]===e);else d(n,E.classes.tabFocus,n===e)}}function i(e){function t(){var e=Je.media.duration;M.number(e)&&ge(e/10*(s-48))}var s=o(e),l="keydown"===e.type,i=l&&s===c;if(M.number(s))if(l){var u=[48,49,50,51,52,53,54,56,57,32,75,38,40,77,39,37,70,67,73,76,79],p=[38,40];if(r(p,s)){var d=a();if(M.htmlElement(d)&&"radio"===a().type)return}switch(r(u,s)&&(e.preventDefault(),e.stopPropagation()),s){case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:i||t();break;case 32:case 75:i||n();break;case 38:Ee();break;case 40:Se();break;case 77:i||we();break;case 39:be();break;case 37:fe();break;case 70:xe();break;case 67:i||Ce();break;case 73:me("start");break;case 76:me();break;case 79:me("end")}!q.fullscreen&&Je.isFullscreen&&27===s&&xe(),c=s}else c=null}var u=Je.browser.isIE?"change":"input";if(E.keyboardShortcuts.focused){var c=null;E.keyboardShortcuts.global&&g(e,"keydown keyup",function(e){var t=o(e),n=a(),s=[48,49,50,51,52,53,54,56,57,75,77,70,67,73,76,79],l=F().length;1!==l||!r(s,t)||M.htmlElement(n)&&y(n,E.selectors.editable)||i(e)}),g(Je.container,"keydown keyup",i)}g(e,"keyup",function(e){var t=o(e),n=a();9===t&&s(n)}),g(t.body,"click",function(){d(U("."+E.classes.tabFocus),E.classes.tabFocus,!1)});for(var p in Je.buttons){var b=Je.buttons[p];g(b,"blur",function(){d(b,"tab-focus",!1)})}f(Je.buttons.play,"click",E.listeners.play,n),f(Je.buttons.pause,"click",E.listeners.pause,n),f(Je.buttons.restart,"click",E.listeners.restart,ge),f(Je.buttons.rewind,"click",E.listeners.rewind,fe),f(Je.buttons.forward,"click",E.listeners.forward,be),f(Je.buttons.speed,"click",E.listeners.speed,function(){var e=t.querySelector('[data-plyr="speed"]:checked').value;ye(Number(e))}),f(Je.buttons.seek,u,E.listeners.seek,ge),f(Je.volume.input,u,E.listeners.volume,function(){Te(Je.volume.input.value)}),f(Je.buttons.mute,"click",E.listeners.mute,we),f(Je.buttons.fullscreen,"click",E.listeners.fullscreen,xe),f(Je.buttons.loop,"click",E.listeners.loop,function(e){var t=e.target.getAttribute("data-loop__value")||e.target.getAttribute("data-loop__type");r(["start","end","all","none"],t)&&me(t)}),q.fullscreen&&g(t,I.eventType,xe),g(Je.buttons.captions,"click",Ce),g(Je.buttons.settings,"click",function(n){var a=this,r=n.target,o=t.getElementById(r.getAttribute("aria-controls")),s="false"===r.getAttribute("aria-expanded");if(M.htmlElement(o)){var i,u,c,p="tabpanel"===o.getAttribute("role");if(p){var d=a.querySelector('[role="tabpanel"][aria-hidden="false"]');c=d.parentNode,[].forEach.call(a.querySelectorAll('[aria-controls="'+d.getAttribute("id")+'"]'),function(e){e.setAttribute("aria-expanded",!1)}),c.style.width=d.scrollWidth+"px",c.style.height=d.scrollHeight+"px",d.setAttribute("aria-hidden",!0),d.setAttribute("tabindex",-1);var m=o.cloneNode(!0);m.style.position="absolute",m.style.opacity=0,m.setAttribute("aria-hidden",!1),c.appendChild(m),i=m.scrollWidth,u=m.scrollHeight,l(m)}o.setAttribute("aria-hidden",!s),r.setAttribute("aria-expanded",s),o.setAttribute("tabindex",0),p&&(c.style.width=i+"px",c.style.height=u+"px",e.setTimeout(function(){c.style.width="",c.style.height=""},300))}}),g(Je.buttons.pip,"click",function(){Je.media.webkitSetPresentationMode("picture-in-picture"===Je.media.webkitPresentationMode?"inline":"picture-in-picture")}),g(Je.progress.container,"mouseenter mouseleave mousemove",je),E.hideControls&&(g(Je.container,"mouseenter mouseleave mousemove touchstart touchend touchcancel touchmove enterfullscreen",Re),g(Je.controls,"mouseenter mouseleave",function(e){Je.controls.hover="mouseenter"===e.type}),g(Je.controls,"mousedown mouseup touchstart touchend touchcancel",function(e){Je.controls.pressed=r(["mousedown","touchstart"],e.type)}),g(Je.controls,"focus blur",Re,!0)),g(Je.volume.input,"wheel",function(e){e.preventDefault();var t=e.webkitDirectionInvertedFromDevice,n=E.volumeStep/5;(e.deltaY<0||e.deltaX>0)&&(t?Se(n):Ee(n)),(e.deltaY>0||e.deltaX<0)&&(t?Ee(n):Se(n))})}function Ye(){if(g(Je.media,"timeupdate seeking",Le),g(Je.media,"timeupdate",Y),g(Je.media,"durationchange loadedmetadata",qe),g(Je.media,"ended",function(){"video"===Je.type&&E.showPosterOnEnd&&("video"===Je.type&&W(),ge(),Je.media.load())}),g(Je.media,"progress playing",Pe),g(Je.media,"volumechange",Ae),g(Je.media,"play pause ended",he),g(Je.media,"waiting canplay seeked",Ie),E.clickToPlay&&"audio"!==Je.type){var e=U("."+E.classes.videoWrapper);if(!e)return;e.style.cursor="pointer",g(e,"click",function(){E.hideControls&&Je.browser.isTouch&&!Je.media.paused||(Je.media.paused?ce():Je.media.ended?(ge(),ce()):pe())})}E.disableContextMenu&&g(Je.media,"contextmenu",function(e){e.preventDefault()}),g(Je.media,E.events.concat(["keyup","keydown"]).join(" "),function(e){C(Je.container,e.type,!0)})}function Be(){if(r(E.types.html5,Je.type)){for(var e=Je.media.querySelectorAll("source"),t=0;t<e.length;t++)l(e[t]);Je.media.setAttribute("src","https://cdn.selz.com/plyr/blank.mp4"),Je.media.load(),Ze("Cancelled network requests")}}function Xe(n,a){function r(){M.boolean(a)||(a=!0),M.function(n)&&n.call(Ge),a&&(Je.init=!1,Je.container.parentNode.replaceChild(Ge,Je.container),t.body.style.overflow="",C(Ge,"destroyed",!0))}if(!Je.init)return null;switch(Je.type){case"youtube":e.clearInterval(ze.buffering),e.clearInterval(ze.playing),Je.embed.destroy(),r();break;case"vimeo":Je.embed.unload().then(r),e.setTimeout(r,200);break;case"video":case"audio":ee(!0),r()}}function Ue(){if(Je.init)return null;if(Je.browser=n(),M.htmlElement(Je.media)){ne();var e=b.tagName.toLowerCase();"div"===e?(Je.type=b.getAttribute("data-type"),Je.embedId=b.getAttribute("data-video-id"),b.removeAttribute("data-type"),b.removeAttribute("data-video-id")):(Je.type=e,E.crossorigin=null!==b.getAttribute("crossorigin"),E.autoplay=E.autoplay||null!==b.getAttribute("autoplay"),E.loop=E.loop||null!==b.getAttribute("loop")),Je.supported=A(Je.type),Je.supported.basic&&(Je.container=s(b,t.createElement("div")),Je.container.setAttribute("tabindex",0),Z(),Ze(""+Je.browser.name+" "+Je.browser.version),re(),(r(E.types.html5,Je.type)||r(E.types.embed,Je.type)&&!Je.supported.full)&&(Ke(),Qe(),te()),Je.init=!0)}}function Ke(){if(!Je.supported.full)return et("Basic support only",Je.type),l(U(E.selectors.controls.wrapper)),l(U(E.selectors.buttons.play)),void ee(!0);var e=!X(E.selectors.controls.wrapper).length;e&&J(),G()&&(e&&We(),Ye(),ee(),D(),H(),Te(),Ae(),ye(),me(),Le(),he())}function Qe(){e.setTimeout(function(){C(Je.media,"ready")},0),d(Je.media,N.classes.setup,!0),d(Je.container,E.classes.ready,!0),Je.media.plyr=$e,E.autoplay&&ce()}var $e,Je=this,ze={};Je.media=b;var Ge=b.cloneNode(!0),Ze=function(){L("log",arguments)},et=function(){L("warn",arguments)};return Ze("Config",E),$e={getOriginal:function(){return Ge},getContainer:function(){return Je.container},getEmbed:function(){return Je.embed},getMedia:function(){return Je.media},getType:function(){return Je.type},getDuration:ve,getCurrentTime:function(){return Je.media.currentTime},getVolume:function(){return Je.media.volume},isMuted:function(){return Je.media.muted},isReady:function(){return m(Je.container,E.classes.ready)},isLoading:function(){return m(Je.container,E.classes.loading)},isPaused:function(){return Je.media.paused},isLooping:function(){return E.loop.active},on:function(e,t){return g(Je.container,e,t),this},play:ce,pause:pe,loop:me,stop:function(){pe(),ge()},restart:ge,rewind:fe,forward:be,seek:ge,source:De,poster:He,setVolume:Te,setSpeed:ye,togglePlay:de,toggleMute:we,toggleCaptions:Ce,toggleFullscreen:xe,toggleControls:Re,setCaptionIndex:Fe,isFullscreen:function(){return Je.isFullscreen||!1},support:function(e){return q.mime(Je,e)},destroy:Xe},Ue(),Je.init?$e:null}function S(e,n){var a=new XMLHttpRequest;if(!M.string(n)||!M.htmlElement(t.querySelector("#"+n))){var r=t.createElement("div");r.setAttribute("hidden",""),M.string(n)&&r.setAttribute("id",n),t.body.insertBefore(r,t.body.childNodes[0]),"withCredentials"in a&&(a.open("GET",e,!0),a.onload=function(){r.innerHTML=a.responseText},a.send())}}function A(e){var a,r,o=n(),s=o.isIE&&o.version<=9,l=o.isIos,i=/iPhone|iPod/i.test(navigator.userAgent),u=!!t.createElement("audio").canPlayType,c=!!t.createElement("video").canPlayType;switch(e){case"video":a=c,r=a&&!s&&!i;break;case"audio":a=u,r=a&&!s;break;case"vimeo":case"youtube":case"soundcloud":a=!0,r=!s&&!l;break;default:a=u&&c,r=a&&!s}return{basic:a,full:r}}function C(e,n){function a(e,t){m(t,N.classes.hook)||r.push({target:e,media:t})}var r=[],o=[],s=[N.selectors.html5,N.selectors.embed].join(",");if(M.string(e)?e=t.querySelectorAll(e):M.htmlElement(e)?e=[e]:M.nodeList(e)||M.array(e)||M.string(e)||(M.undefined(n)&&M.object(e)&&(n=e),e=t.querySelectorAll(s)),M.nodeList(e)&&(e=Array.prototype.slice.call(e)),!A().basic||!e.length)return!1;for(var l=0;l<e.length;l++){var i=e[l],u=i.querySelectorAll(s);if(u.length)for(var c=0;c<u.length;c++)a(i,u[c]);else y(i,s)&&a(i,i)}return r.forEach(function(e){var t=e.target,a=e.media,r=!1;a===t&&(r=!0);var s={};try{s=JSON.parse(t.getAttribute("data-plyr"))}catch(e){}var l=x({},N,n,s);if(!l.enabled)return null;var i=new E(a,l);if(M.object(i)){if(l.debug){var u=l.events.concat(["setup","statechange","enterfullscreen","exitfullscreen","captionsenabled","captionsdisabled"]);g(i.getContainer(),u.join(" "),function(e){console.log([l.logPrefix,"event:",e.type].join(" "),e.detail.plyr)})}h(i.getContainer(),"setup",!0,{plyr:i}),o.push(i)}}),o}function F(e){if(M.string(e)?e=t.querySelector(e):M.undefined(e)&&(e=t.body),M.htmlElement(e)){var n=e.querySelectorAll("."+N.classes.setup),a=[];return Array.prototype.slice.call(n).forEach(function(e){M.object(e.plyr)&&a.push(e.plyr)}),a}return[]}var I,P={x:0,y:0},N={enabled:!0,debug:!1,autoplay:!1,loop:{active:!1,start:0,end:null,indicator:{start:0,end:0}},seekTime:10,volume:10,volumeMin:0,volumeMax:10,volumeStep:1,defaultSpeed:1,currentSpeed:1,speeds:[.5,1,1.5,2],duration:null,displayDuration:!0,loadSprite:!0,iconPrefix:"plyr",iconUrl:"https://cdn.plyr.io/2.0.10/plyr.svg",clickToPlay:!0,hideControls:!0,showPosterOnEnd:!1,disableContextMenu:!0,keyboardShortcuts:{focused:!0,global:!1},tooltips:{controls:!1,seek:!0},selectors:{html5:"video, audio",embed:"[data-type]",editable:"input, textarea, select, [contenteditable]",container:".plyr",controls:{container:null,wrapper:".plyr__controls"},labels:"[data-plyr]",buttons:{seek:'[data-plyr="seek"]',play:'[data-plyr="play"]',pause:'[data-plyr="pause"]',restart:'[data-plyr="restart"]',rewind:'[data-plyr="rewind"]',forward:'[data-plyr="fast-forward"]',mute:'[data-plyr="mute"]',captions:'[data-plyr="captions"]',fullscreen:'[data-plyr="fullscreen"]',settings:'[data-plyr="settings"]',pip:'[data-plyr="pip"]',airplay:'[data-plyr="airplay"]',speed:'[data-plyr="speed"]',loop:'[data-plyr="loop"]'},volume:{input:'[data-plyr="volume"]',display:".plyr__volume--display"},progress:{container:".plyr__progress",buffer:".plyr__progress--buffer",played:".plyr__progress--played",looped:".plyr__progress-loop"},captions:".plyr__captions",currentTime:".plyr__time--current",duration:".plyr__time--duration",menu:{quality:".js-plyr__menu__list--quality"}},classes:{setup:"plyr--setup",ready:"plyr--ready",videoWrapper:"plyr__video-wrapper",embedWrapper:"plyr__video-embed",type:"plyr--{0}",stopped:"plyr--stopped",playing:"plyr--playing",muted:"plyr--muted",loading:"plyr--loading",hover:"plyr--hover",tooltip:"plyr__tooltip",hidden:"plyr__sr-only",hideControls:"plyr--hide-controls",isIos:"plyr--is-ios",isTouch:"plyr--is-touch",captions:{enabled:"plyr--captions-enabled",active:"plyr--captions-active"},fullscreen:{enabled:"plyr--fullscreen-enabled",active:"plyr--fullscreen-active"},pip:{enabled:"plyr--pip-enabled",active:"plyr--pip-active"},tabFocus:"tab-focus"},captions:{defaultActive:!1,selectedIndex:0},fullscreen:{enabled:!0,fallback:!0,allowAudio:!1},storage:{enabled:!0,key:"plyr"},controls:["play-large","play","progress","current-time","mute","volume","captions","settings","pip","airplay","fullscreen"],i18n:{restart:"Restart",rewind:"Rewind {seektime} secs",play:"Play",pause:"Pause",forward:"Forward {seektime} secs",played:"played",buffered:"buffered",currentTime:"Current time",duration:"Duration",volume:"Volume",toggleMute:"Toggle Mute",toggleCaptions:"Toggle Captions",toggleFullscreen:"Toggle Fullscreen",frameTitle:"Player for {title}",captions:"Captions",settings:"Settings",speed:"Speed",quality:"Quality",loop:"Loop",loopStart:"Loop start",loopEnd:"Loop end",loopAll:"Loop all",loopNone:"No Loop"},types:{embed:["youtube","vimeo","soundcloud"],html5:["video","audio"]},urls:{vimeo:{api:"https://player.vimeo.com/api/player.js"},youtube:{api:"https://www.youtube.com/iframe_api"},soundcloud:{api:"https://w.soundcloud.com/player/api.js"}},listeners:{seek:null,play:null,pause:null,restart:null,rewind:null,forward:null,mute:null,volume:null,captions:null,fullscreen:null,speed:null,loop:null},events:["ready","ended","progress","stalled","playing","waiting","canplay","canplaythrough","loadstart","loadeddata","loadedmetadata","timeupdate","volumechange","play","pause","error","seeking","seeked","emptied"],logPrefix:""},M={object:function(e){return null!==e&&"object"==typeof e&&e.constructor===Object},array:function(e){return null!==e&&"object"==typeof e&&e.constructor===Array},number:function(e){return null!==e&&("number"==typeof e&&!isNaN(e-0)||"object"==typeof e&&e.constructor===Number)},string:function(e){return null!==e&&("string"==typeof e||"object"==typeof e&&e.constructor===String)},boolean:function(e){return null!==e&&"boolean"==typeof e},nodeList:function(e){return null!==e&&e instanceof NodeList},htmlElement:function(e){return null!==e&&e instanceof HTMLElement},function:function(e){return null!==e&&"function"==typeof e},event:function(e){return null!==e&&"object"==typeof e&&(e.constructor===Event||e.constructor===CustomEvent)},undefined:function(e){return null!==e&&"undefined"==typeof e},empty:function(e){return null===e||this.undefined(e)||(this.string(e)||this.array(e)||this.nodeList(e))&&0===e.length||this.object(e)&&0===Object.keys(e).length}};!function(){var e=function(){var e=!1;return M.function(t.cancelFullScreen)?e="":["webkit","o","moz","ms","khtml"].some(function(n){return M.function(t[n+"CancelFullScreen"])?(e=n,!0):M.function(t.msExitFullscreen)&&t.msFullscreenEnabled?(e="ms",!0):void 0}),e}();I={prefix:e,eventType:"ms"===e?"MSFullscreenChange":e+"fullscreenchange",isFullScreen:function(n){if(!q.fullscreen)return!1;switch(M.undefined(n)&&(n=t.body),this.prefix){case"":return t.fullscreenElement===n;case"moz":return t.mozFullScreenElement===n;default:return t[e+"FullscreenElement"]===n}},requestFullScreen:function(n){return!!q.fullscreen&&(M.htmlElement(n)||(n=t.body),console.log(e),""===e?n.requestFullScreen():n[e+("ms"===e?"RequestFullscreen":"RequestFullScreen")]())},cancelFullScreen:function(){return!!q.fullscreen&&(""===e?t.cancelFullScreen():t[e+("ms"===e?"ExitFullscreen":"CancelFullScreen")]())},element:function(){return q.fullscreen?""===e?t.fullscreenElement:t[e+"FullscreenElement"]:null}}}();var q={fullscreen:I.prefix!==!1,storage:function(){if(!("localStorage"in e))return!1;try{e.localStorage.setItem("___test","OK");var t=e.localStorage.getItem("___test");return e.localStorage.removeItem("___test"),"OK"===t}catch(e){return!1}return!1}(),pip:function(){return M.function(t.createElement("video").webkitSetPresentationMode)}(),airplay:function(){return M.function(e.WebKitPlaybackTargetAvailabilityEvent)}(),mime:function(e,t){var n=e.media;try{if(!M.function(n.canPlayType))return!1;if("video"===e.type)switch(t){case"video/webm":return n.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/no/,"");case"video/mp4":return n.canPlayType('video/mp4; codecs="avc1.42E01E, mp4a.40.2"').replace(/no/,"");case"video/ogg":return n.canPlayType('video/ogg; codecs="theora"').replace(/no/,"")}else if("audio"===e.type)switch(t){case"audio/mpeg":return n.canPlayType("audio/mpeg;").replace(/no/,"");case"audio/ogg":return n.canPlayType('audio/ogg; codecs="vorbis"').replace(/no/,"");case"audio/wav":return n.canPlayType('audio/wav; codecs="1"').replace(/no/,"")}}catch(e){return!1}return!1}};return{setup:C,supported:A,loadSprite:S,get:F}}),function(){function e(e,t){t=t||{bubbles:!1,cancelable:!1,detail:void 0};var n=document.createEvent("CustomEvent");return n.initCustomEvent(e,t.bubbles,t.cancelable,t.detail),n}"function"!=typeof window.CustomEvent&&(e.prototype=window.Event.prototype,window.CustomEvent=e)}(); \ No newline at end of file
+if(M.undefined(e)&&(e=Je.storage.volume),(null===e||isNaN(e))&&(e=E.volume),e>t&&(e=t),e<n&&(e=n),Je.media.volume=parseFloat(e/t),Je.volume.display&&(Je.volume.display.value=e),r(E.types.embed,Je.type)){switch(Je.type){case"youtube":Je.embed.setVolume(100*Je.media.volume);break;case"vimeo":case"soundcloud":Je.embed.setVolume(Je.media.volume)}C(Je.media,"volumechange")}0===e?Je.media.muted=!0:Je.media.muted&&e>0&&we()}function Ee(e){var t=Je.media.muted?0:Je.media.volume*E.volumeMax;M.number(e)||(e=E.volumeStep),Te(t+e)}function Se(e){var t=Je.media.muted?0:Je.media.volume*E.volumeMax;M.number(e)||(e=E.volumeStep),Te(t-e)}function Ae(){var e=Je.media.muted?0:Je.media.volume*E.volumeMax;Je.supported.full&&(Je.volume.input&&(Je.volume.input.value=e),Je.volume.display&&(Je.volume.display.value=e)),ae({volume:e}),d(Je.container,E.classes.muted,0===e),Je.supported.full&&Je.buttons.mute&&_(Je.buttons.mute,0===e)}function Ce(e){Je.supported.full&&Je.buttons.captions&&(M.boolean(e)||(e=Je.container.className.indexOf(E.classes.captions.active)===-1),Je.captionsEnabled=e,_(Je.buttons.captions,Je.captionsEnabled),d(Je.container,E.classes.captions.active,Je.captionsEnabled),C(Je.container,Je.captionsEnabled?"captionsenabled":"captionsdisabled",!0),ae({captionsEnabled:Je.captionsEnabled}))}function Fe(e){E.captions.selectedIndex=e,W(),H()}function Ie(e){var t="waiting"===e.type;clearTimeout(ze.loading),ze.loading=setTimeout(function(){d(Je.container,E.classes.loading,t),Re(t)},t?250:0)}function Pe(e){if(Je.supported.full){var t=Je.progress.played,n=0,a=ve();if(e)switch(e.type){case"timeupdate":case"seeking":if(Je.controls.pressed)return;n=k(Je.media.currentTime,a),"timeupdate"===e.type&&Je.buttons.seek&&(Je.buttons.seek.value=n);break;case"playing":case"progress":t=Je.progress.buffer,n=function(){var e=Je.media.buffered;return e&&e.length?k(e.end(0),a):M.number(e)?100*e:0}()}M.number(E.loop.start)&&M.number(E.loop.end)&&Je.media.currentTime>=E.loop.end&&ge(E.loop.start),Ne(t,n)}}function Ne(e,t){if(Je.supported.full){if(M.undefined(t)&&(t=0),M.undefined(e)){if(!Je.progress||!Je.progress.buffer)return;e=Je.progress.buffer}M.htmlElement(e)?e.value=t:e&&(e.bar&&(e.bar.value=t),e.text&&(e.text.innerHTML=t))}}function Me(e,t){if(t){isNaN(e)&&(e=0),Je.secs=parseInt(e%60),Je.mins=parseInt(e/60%60),Je.hours=parseInt(e/60/60%60);var n=parseInt(ve()/60/60%60)>0;Je.secs=("0"+Je.secs).slice(-2),Je.mins=("0"+Je.mins).slice(-2);var a=(n?Je.hours+":":"")+Je.mins+":"+Je.secs;return t.innerHTML=a,a}}function qe(){if(Je.supported.full){var e=ve()||0;!Je.duration&&E.displayDuration&&Je.media.paused&&Me(e,Je.currentTime),Je.duration&&Me(e,Je.duration),je()}}function Le(e){Me(Je.media.currentTime,Je.currentTime),e&&"timeupdate"===e.type&&Je.media.seeking||Pe(e)}function Oe(e){M.number(e)||(e=0);var t=ve(),n=k(e,t);Je.progress&&Je.progress.played&&(Je.progress.played.value=n),Je.buttons&&Je.buttons.seek&&(Je.buttons.seek.value=n)}function je(e){var t=ve();if(E.tooltips.seek&&Je.progress.container&&0!==t){var n=Je.progress.container.getBoundingClientRect(),a=0,o=E.classes.tooltip+"--visible";if(e)a=100/n.width*(e.pageX-n.left);else{if(!m(Je.progress.tooltip,o))return;a=Je.progress.tooltip.style.left.replace("%","")}a<0?a=0:a>100&&(a=100),Me(t/100*a,Je.progress.tooltip),Je.progress.tooltip.style.left=a+"%",e&&r(["mouseenter","mouseleave"],e.type)&&d(Je.progress.tooltip,o,"mouseenter"===e.type)}}function Re(t){if(E.hideControls&&"audio"!==Je.type){var n=0,a=!1,o=t,s=m(Je.container,E.classes.loading);if(M.boolean(t)||(t&&t.type?(a="enterfullscreen"===t.type,o=r(["mousemove","touchstart","mouseenter","focus"],t.type),r(["mousemove","touchmove"],t.type)&&(n=2e3),"focus"===t.type&&(n=3e3)):o=m(Je.container,E.classes.hideControls)),e.clearTimeout(ze.hover),o||Je.media.paused||s){if(d(Je.container,E.classes.hideControls,!1),Je.media.paused||s)return;Je.browser.isTouch&&(n=3e3)}o&&Je.media.paused||(ze.hover=e.setTimeout(function(){(!Je.controls.pressed&&!Je.controls.hover||a)&&d(Je.container,E.classes.hideControls,!0)},n))}}function De(e){if(!M.undefined(e))return void Ve(e);var t;switch(Je.type){case"youtube":t=Je.embed.getVideoUrl();break;case"vimeo":Je.embed.getVideoUrl.then(function(e){t=e});break;case"soundcloud":Je.embed.getCurrentSound(function(e){t=e.permalink_url});break;default:t=Je.media.currentSrc}return t||""}function Ve(e){function n(){if(Je.embed=null,l(Je.media),"video"===Je.type&&Je.videoContainer&&l(Je.videoContainer),Je.container&&Je.container.removeAttribute("class"),"type"in e&&(Je.type=e.type,"video"===Je.type)){var n=e.sources[0];"type"in n&&r(E.types.embed,n.type)&&(Je.type=n.type)}switch(Je.supported=A(Je.type),Je.type){case"video":Je.media=t.createElement("video");break;case"audio":Je.media=t.createElement("audio");break;case"youtube":case"vimeo":case"soundcloud":Je.media=t.createElement("div"),Je.embedId=e.sources[0].src}i(Je.container,Je.media),M.boolean(e.autoplay)&&(E.autoplay=e.autoplay),r(E.types.html5,Je.type)&&(E.crossorigin&&Je.media.setAttribute("crossorigin",""),E.autoplay&&Je.media.setAttribute("autoplay",""),"poster"in e&&Je.media.setAttribute("poster",e.poster),E.loop.active&&Je.media.setAttribute("loop","")),d(Je.container,E.classes.fullscreen.active,Je.isFullscreen),d(Je.container,E.classes.captions.active,Je.captionsEnabled),Z(),r(E.types.html5,Je.type)&&$("source",e.sources),re(),r(E.types.html5,Je.type)&&("tracks"in e&&$("track",e.tracks),Je.media.load()),(r(E.types.html5,Je.type)||r(E.types.embed,Je.type)&&!Je.supported.full)&&(Ke(),Qe()),E.title=e.title,te()}return M.object(e)&&"sources"in e&&e.sources.length?(d(Je.container,E.classes.ready,!1),pe(),Oe(),Ne(),Be(),void Xe(n,!1)):void et("Invalid source format")}function He(e){"video"===Je.type&&Je.media.setAttribute("poster",e)}function We(){function n(){var e=de(),t=Je.buttons[e?"play":"pause"],n=Je.buttons[e?"pause":"play"];if(n=n&&n.length>1?n[n.length-1]:n[0]){var a=m(t,E.classes.tabFocus);setTimeout(function(){n.focus(),a&&(d(t,E.classes.tabFocus,!1),d(n,E.classes.tabFocus,!0))},100)}}function a(){var e=t.activeElement;return e=e&&e!==t.body?t.querySelector(":focus"):null}function o(e){return e.keyCode?e.keyCode:e.which}function s(e){for(var t in Je.buttons){var n=Je.buttons[t];if(M.nodeList(n))for(var a=0;a<n.length;a++)d(n[a],E.classes.tabFocus,n[a]===e);else d(n,E.classes.tabFocus,n===e)}}function i(e){function t(){var e=Je.media.duration;M.number(e)&&ge(e/10*(s-48))}var s=o(e),l="keydown"===e.type,i=l&&s===c;if(M.number(s))if(l){var u=[48,49,50,51,52,53,54,56,57,32,75,38,40,77,39,37,70,67,73,76,79],p=[38,40];if(r(p,s)){var d=a();if(M.htmlElement(d)&&"radio"===a().type)return}switch(r(u,s)&&(e.preventDefault(),e.stopPropagation()),s){case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:i||t();break;case 32:case 75:i||n();break;case 38:Ee();break;case 40:Se();break;case 77:i||we();break;case 39:be();break;case 37:fe();break;case 70:xe();break;case 67:i||Ce();break;case 73:me("start");break;case 76:me();break;case 79:me("end")}!q.fullscreen&&Je.isFullscreen&&27===s&&xe(),c=s}else c=null}var u=Je.browser.isIE?"change":"input";if(E.keyboardShortcuts.focused){var c=null;E.keyboardShortcuts.global&&g(e,"keydown keyup",function(e){var t=o(e),n=a(),s=[48,49,50,51,52,53,54,56,57,75,77,70,67,73,76,79],l=F().length;1!==l||!r(s,t)||M.htmlElement(n)&&y(n,E.selectors.editable)||i(e)}),g(Je.container,"keydown keyup",i)}g(e,"keyup",function(e){var t=o(e),n=a();9===t&&s(n)}),g(t.body,"click",function(){d(U("."+E.classes.tabFocus),E.classes.tabFocus,!1)});for(var p in Je.buttons){var b=Je.buttons[p];g(b,"blur",function(){d(b,"tab-focus",!1)})}f(Je.buttons.play,"click",E.listeners.play,n),f(Je.buttons.pause,"click",E.listeners.pause,n),f(Je.buttons.restart,"click",E.listeners.restart,ge),f(Je.buttons.rewind,"click",E.listeners.rewind,fe),f(Je.buttons.forward,"click",E.listeners.forward,be),f(Je.buttons.speed,"click",E.listeners.speed,function(){var e=t.querySelector('[data-plyr="speed"]:checked').value;ye(Number(e))}),f(Je.buttons.seek,u,E.listeners.seek,ge),f(Je.volume.input,u,E.listeners.volume,function(){Te(Je.volume.input.value)}),f(Je.buttons.mute,"click",E.listeners.mute,we),f(Je.buttons.fullscreen,"click",E.listeners.fullscreen,xe),f(Je.buttons.loop,"click",E.listeners.loop,function(e){var t=e.target.getAttribute("data-loop__value")||e.target.getAttribute("data-loop__type");r(["start","end","all","none"],t)&&me(t)}),q.fullscreen&&g(t,I.eventType,xe),f(Je.buttons.captions,"click",E.listeners.captions,Ce),g(Je.buttons.settings,"click",function(n){var a=this,r=n.target,o=t.getElementById(r.getAttribute("aria-controls")),s="false"===r.getAttribute("aria-expanded");if(M.htmlElement(o)){var i,u,c,p="tabpanel"===o.getAttribute("role");if(p){var d=a.querySelector('[role="tabpanel"][aria-hidden="false"]');c=d.parentNode,[].forEach.call(a.querySelectorAll('[aria-controls="'+d.getAttribute("id")+'"]'),function(e){e.setAttribute("aria-expanded",!1)}),c.style.width=d.scrollWidth+"px",c.style.height=d.scrollHeight+"px",d.setAttribute("aria-hidden",!0),d.setAttribute("tabindex",-1);var m=o.cloneNode(!0);m.style.position="absolute",m.style.opacity=0,m.setAttribute("aria-hidden",!1),c.appendChild(m),i=m.scrollWidth,u=m.scrollHeight,l(m)}o.setAttribute("aria-hidden",!s),r.setAttribute("aria-expanded",s),o.setAttribute("tabindex",0),p&&(c.style.width=i+"px",c.style.height=u+"px",e.setTimeout(function(){c.style.width="",c.style.height=""},300))}}),g(Je.buttons.pip,"click",function(){Je.media.webkitSetPresentationMode("picture-in-picture"===Je.media.webkitPresentationMode?"inline":"picture-in-picture")}),g(Je.progress.container,"mouseenter mouseleave mousemove",je),E.hideControls&&(g(Je.container,"mouseenter mouseleave mousemove touchstart touchend touchcancel touchmove enterfullscreen",Re),g(Je.controls,"mouseenter mouseleave",function(e){Je.controls.hover="mouseenter"===e.type}),g(Je.controls,"mousedown mouseup touchstart touchend touchcancel",function(e){Je.controls.pressed=r(["mousedown","touchstart"],e.type)}),g(Je.controls,"focus blur",Re,!0)),g(Je.volume.input,"wheel",function(e){e.preventDefault();var t=e.webkitDirectionInvertedFromDevice,n=E.volumeStep/5;(e.deltaY<0||e.deltaX>0)&&(t?Se(n):Ee(n)),(e.deltaY>0||e.deltaX<0)&&(t?Ee(n):Se(n))})}function Ye(){if(g(Je.media,"timeupdate seeking",Le),g(Je.media,"timeupdate",Y),g(Je.media,"durationchange loadedmetadata",qe),g(Je.media,"ended",function(){"video"===Je.type&&E.showPosterOnEnd&&("video"===Je.type&&W(),ge(),Je.media.load())}),g(Je.media,"progress playing",Pe),g(Je.media,"volumechange",Ae),g(Je.media,"play pause ended",he),g(Je.media,"waiting canplay seeked",Ie),E.clickToPlay&&"audio"!==Je.type){var e=U("."+E.classes.videoWrapper);if(!e)return;e.style.cursor="pointer",g(e,"click",function(){E.hideControls&&Je.browser.isTouch&&!Je.media.paused||(Je.media.paused?ce():Je.media.ended?(ge(),ce()):pe())})}E.disableContextMenu&&g(Je.media,"contextmenu",function(e){e.preventDefault()}),g(Je.media,E.events.concat(["keyup","keydown"]).join(" "),function(e){C(Je.container,e.type,!0)})}function Be(){if(r(E.types.html5,Je.type)){for(var e=Je.media.querySelectorAll("source"),t=0;t<e.length;t++)l(e[t]);Je.media.setAttribute("src","https://cdn.selz.com/plyr/blank.mp4"),Je.media.load(),Ze("Cancelled network requests")}}function Xe(n,a){function r(){M.boolean(a)||(a=!0),M.function(n)&&n.call(Ge),a&&(Je.init=!1,Je.container.parentNode.replaceChild(Ge,Je.container),t.body.style.overflow="",C(Ge,"destroyed",!0))}if(!Je.init)return null;switch(Je.type){case"youtube":e.clearInterval(ze.buffering),e.clearInterval(ze.playing),Je.embed.destroy(),r();break;case"vimeo":Je.embed.unload().then(r),e.setTimeout(r,200);break;case"video":case"audio":ee(!0),r()}}function Ue(){if(Je.init)return null;if(Je.browser=n(),M.htmlElement(Je.media)){ne();var e=b.tagName.toLowerCase();"div"===e?(Je.type=b.getAttribute("data-type"),Je.embedId=b.getAttribute("data-video-id"),b.removeAttribute("data-type"),b.removeAttribute("data-video-id")):(Je.type=e,E.crossorigin=null!==b.getAttribute("crossorigin"),E.autoplay=E.autoplay||null!==b.getAttribute("autoplay"),E.loop=E.loop||null!==b.getAttribute("loop")),Je.supported=A(Je.type),Je.supported.basic&&(Je.container=s(b,t.createElement("div")),Je.container.setAttribute("tabindex",0),Z(),Ze(""+Je.browser.name+" "+Je.browser.version),re(),(r(E.types.html5,Je.type)||r(E.types.embed,Je.type)&&!Je.supported.full)&&(Ke(),Qe(),te()),Je.init=!0)}}function Ke(){if(!Je.supported.full)return et("Basic support only",Je.type),l(U(E.selectors.controls.wrapper)),l(U(E.selectors.buttons.play)),void ee(!0);var e=!X(E.selectors.controls.wrapper).length;e&&J(),G()&&(e&&We(),Ye(),ee(),D(),H(),Te(),Ae(),ye(),me(),Le(),he())}function Qe(){e.setTimeout(function(){C(Je.media,"ready")},0),d(Je.media,N.classes.setup,!0),d(Je.container,E.classes.ready,!0),Je.media.plyr=$e,E.autoplay&&ce()}var $e,Je=this,ze={};Je.media=b;var Ge=b.cloneNode(!0),Ze=function(){L("log",arguments)},et=function(){L("warn",arguments)};return Ze("Config",E),$e={getOriginal:function(){return Ge},getContainer:function(){return Je.container},getEmbed:function(){return Je.embed},getMedia:function(){return Je.media},getType:function(){return Je.type},getDuration:ve,getCurrentTime:function(){return Je.media.currentTime},getVolume:function(){return Je.media.volume},isMuted:function(){return Je.media.muted},isReady:function(){return m(Je.container,E.classes.ready)},isLoading:function(){return m(Je.container,E.classes.loading)},isPaused:function(){return Je.media.paused},isLooping:function(){return E.loop.active},on:function(e,t){return g(Je.container,e,t),this},play:ce,pause:pe,loop:me,stop:function(){pe(),ge()},restart:ge,rewind:fe,forward:be,seek:ge,source:De,poster:He,setVolume:Te,setSpeed:ye,togglePlay:de,toggleMute:we,toggleCaptions:Ce,toggleFullscreen:xe,toggleControls:Re,setCaptionIndex:Fe,isFullscreen:function(){return Je.isFullscreen||!1},support:function(e){return q.mime(Je,e)},destroy:Xe},Ue(),Je.init?$e:null}function S(e,n){var a=new XMLHttpRequest;if(!M.string(n)||!M.htmlElement(t.querySelector("#"+n))){var r=t.createElement("div");r.setAttribute("hidden",""),M.string(n)&&r.setAttribute("id",n),t.body.insertBefore(r,t.body.childNodes[0]),"withCredentials"in a&&(a.open("GET",e,!0),a.onload=function(){r.innerHTML=a.responseText},a.send())}}function A(e){var a,r,o=n(),s=o.isIE&&o.version<=9,l=o.isIos,i=/iPhone|iPod/i.test(navigator.userAgent),u=!!t.createElement("audio").canPlayType,c=!!t.createElement("video").canPlayType;switch(e){case"video":a=c,r=a&&!s&&!i;break;case"audio":a=u,r=a&&!s;break;case"vimeo":case"youtube":case"soundcloud":a=!0,r=!s&&!l;break;default:a=u&&c,r=a&&!s}return{basic:a,full:r}}function C(e,n){function a(e,t){m(t,N.classes.hook)||r.push({target:e,media:t})}var r=[],o=[],s=[N.selectors.html5,N.selectors.embed].join(",");if(M.string(e)?e=t.querySelectorAll(e):M.htmlElement(e)?e=[e]:M.nodeList(e)||M.array(e)||M.string(e)||(M.undefined(n)&&M.object(e)&&(n=e),e=t.querySelectorAll(s)),M.nodeList(e)&&(e=Array.prototype.slice.call(e)),!A().basic||!e.length)return!1;for(var l=0;l<e.length;l++){var i=e[l],u=i.querySelectorAll(s);if(u.length)for(var c=0;c<u.length;c++)a(i,u[c]);else y(i,s)&&a(i,i)}return r.forEach(function(e){var t=e.target,a=e.media,r=!1;a===t&&(r=!0);var s={};try{s=JSON.parse(t.getAttribute("data-plyr"))}catch(e){}var l=x({},N,n,s);if(!l.enabled)return null;var i=new E(a,l);if(M.object(i)){if(l.debug){var u=l.events.concat(["setup","statechange","enterfullscreen","exitfullscreen","captionsenabled","captionsdisabled"]);g(i.getContainer(),u.join(" "),function(e){console.log([l.logPrefix,"event:",e.type].join(" "),e.detail.plyr)})}h(i.getContainer(),"setup",!0,{plyr:i}),o.push(i)}}),o}function F(e){if(M.string(e)?e=t.querySelector(e):M.undefined(e)&&(e=t.body),M.htmlElement(e)){var n=e.querySelectorAll("."+N.classes.setup),a=[];return Array.prototype.slice.call(n).forEach(function(e){M.object(e.plyr)&&a.push(e.plyr)}),a}return[]}var I,P={x:0,y:0},N={enabled:!0,debug:!1,autoplay:!1,loop:{active:!1,start:0,end:null,indicator:{start:0,end:0}},seekTime:10,volume:10,volumeMin:0,volumeMax:10,volumeStep:1,defaultSpeed:1,currentSpeed:1,speeds:[.5,1,1.5,2],duration:null,displayDuration:!0,loadSprite:!0,iconPrefix:"plyr",iconUrl:"https://cdn.plyr.io/2.0.10/plyr.svg",clickToPlay:!0,hideControls:!0,showPosterOnEnd:!1,disableContextMenu:!0,keyboardShortcuts:{focused:!0,global:!1},tooltips:{controls:!1,seek:!0},selectors:{html5:"video, audio",embed:"[data-type]",editable:"input, textarea, select, [contenteditable]",container:".plyr",controls:{container:null,wrapper:".plyr__controls"},labels:"[data-plyr]",buttons:{seek:'[data-plyr="seek"]',play:'[data-plyr="play"]',pause:'[data-plyr="pause"]',restart:'[data-plyr="restart"]',rewind:'[data-plyr="rewind"]',forward:'[data-plyr="fast-forward"]',mute:'[data-plyr="mute"]',captions:'[data-plyr="captions"]',fullscreen:'[data-plyr="fullscreen"]',settings:'[data-plyr="settings"]',pip:'[data-plyr="pip"]',airplay:'[data-plyr="airplay"]',speed:'[data-plyr="speed"]',loop:'[data-plyr="loop"]'},volume:{input:'[data-plyr="volume"]',display:".plyr__volume--display"},progress:{container:".plyr__progress",buffer:".plyr__progress--buffer",played:".plyr__progress--played",looped:".plyr__progress-loop"},captions:".plyr__captions",currentTime:".plyr__time--current",duration:".plyr__time--duration",menu:{quality:".js-plyr__menu__list--quality"}},classes:{setup:"plyr--setup",ready:"plyr--ready",videoWrapper:"plyr__video-wrapper",embedWrapper:"plyr__video-embed",type:"plyr--{0}",stopped:"plyr--stopped",playing:"plyr--playing",muted:"plyr--muted",loading:"plyr--loading",hover:"plyr--hover",tooltip:"plyr__tooltip",hidden:"plyr__sr-only",hideControls:"plyr--hide-controls",isIos:"plyr--is-ios",isTouch:"plyr--is-touch",captions:{enabled:"plyr--captions-enabled",active:"plyr--captions-active"},fullscreen:{enabled:"plyr--fullscreen-enabled",active:"plyr--fullscreen-active"},pip:{enabled:"plyr--pip-enabled",active:"plyr--pip-active"},tabFocus:"tab-focus"},captions:{defaultActive:!1,selectedIndex:0},fullscreen:{enabled:!0,fallback:!0,allowAudio:!1},storage:{enabled:!0,key:"plyr"},controls:["play-large","play","progress","current-time","mute","volume","captions","settings","pip","airplay","fullscreen"],i18n:{restart:"Restart",rewind:"Rewind {seektime} secs",play:"Play",pause:"Pause",forward:"Forward {seektime} secs",played:"played",buffered:"buffered",currentTime:"Current time",duration:"Duration",volume:"Volume",toggleMute:"Toggle Mute",toggleCaptions:"Toggle Captions",toggleFullscreen:"Toggle Fullscreen",frameTitle:"Player for {title}",captions:"Captions",settings:"Settings",speed:"Speed",quality:"Quality",loop:"Loop",loopStart:"Loop start",loopEnd:"Loop end",loopAll:"Loop all",loopNone:"No Loop"},types:{embed:["youtube","vimeo","soundcloud"],html5:["video","audio"]},urls:{vimeo:{api:"https://player.vimeo.com/api/player.js"},youtube:{api:"https://www.youtube.com/iframe_api"},soundcloud:{api:"https://w.soundcloud.com/player/api.js"}},listeners:{seek:null,play:null,pause:null,restart:null,rewind:null,forward:null,mute:null,volume:null,captions:null,fullscreen:null,speed:null,loop:null},events:["ready","ended","progress","stalled","playing","waiting","canplay","canplaythrough","loadstart","loadeddata","loadedmetadata","timeupdate","volumechange","play","pause","error","seeking","seeked","emptied"],logPrefix:""},M={object:function(e){return null!==e&&"object"==typeof e&&e.constructor===Object},array:function(e){return null!==e&&"object"==typeof e&&e.constructor===Array},number:function(e){return null!==e&&("number"==typeof e&&!isNaN(e-0)||"object"==typeof e&&e.constructor===Number)},string:function(e){return null!==e&&("string"==typeof e||"object"==typeof e&&e.constructor===String)},boolean:function(e){return null!==e&&"boolean"==typeof e},nodeList:function(e){return null!==e&&e instanceof NodeList},htmlElement:function(e){return null!==e&&e instanceof HTMLElement},function:function(e){return null!==e&&"function"==typeof e},event:function(e){return null!==e&&"object"==typeof e&&(e.constructor===Event||e.constructor===CustomEvent)},undefined:function(e){return null!==e&&"undefined"==typeof e},empty:function(e){return null===e||this.undefined(e)||(this.string(e)||this.array(e)||this.nodeList(e))&&0===e.length||this.object(e)&&0===Object.keys(e).length}};!function(){var e=function(){var e=!1;return M.function(t.cancelFullScreen)?e="":["webkit","o","moz","ms","khtml"].some(function(n){return M.function(t[n+"CancelFullScreen"])?(e=n,!0):M.function(t.msExitFullscreen)&&t.msFullscreenEnabled?(e="ms",!0):void 0}),e}();I={prefix:e,eventType:"ms"===e?"MSFullscreenChange":e+"fullscreenchange",isFullScreen:function(n){if(!q.fullscreen)return!1;switch(M.undefined(n)&&(n=t.body),this.prefix){case"":return t.fullscreenElement===n;case"moz":return t.mozFullScreenElement===n;default:return t[e+"FullscreenElement"]===n}},requestFullScreen:function(n){return!!q.fullscreen&&(M.htmlElement(n)||(n=t.body),console.log(e),""===e?n.requestFullScreen():n[e+("ms"===e?"RequestFullscreen":"RequestFullScreen")]())},cancelFullScreen:function(){return!!q.fullscreen&&(""===e?t.cancelFullScreen():t[e+("ms"===e?"ExitFullscreen":"CancelFullScreen")]())},element:function(){return q.fullscreen?""===e?t.fullscreenElement:t[e+"FullscreenElement"]:null}}}();var q={fullscreen:I.prefix!==!1,storage:function(){if(!("localStorage"in e))return!1;try{e.localStorage.setItem("___test","OK");var t=e.localStorage.getItem("___test");return e.localStorage.removeItem("___test"),"OK"===t}catch(e){return!1}return!1}(),pip:function(){return M.function(t.createElement("video").webkitSetPresentationMode)}(),airplay:function(){return M.function(e.WebKitPlaybackTargetAvailabilityEvent)}(),mime:function(e,t){var n=e.media;try{if(!M.function(n.canPlayType))return!1;if("video"===e.type)switch(t){case"video/webm":return n.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/no/,"");case"video/mp4":return n.canPlayType('video/mp4; codecs="avc1.42E01E, mp4a.40.2"').replace(/no/,"");case"video/ogg":return n.canPlayType('video/ogg; codecs="theora"').replace(/no/,"")}else if("audio"===e.type)switch(t){case"audio/mpeg":return n.canPlayType("audio/mpeg;").replace(/no/,"");case"audio/ogg":return n.canPlayType('audio/ogg; codecs="vorbis"').replace(/no/,"");case"audio/wav":return n.canPlayType('audio/wav; codecs="1"').replace(/no/,"")}}catch(e){return!1}return!1}};return{setup:C,supported:A,loadSprite:S,get:F}}),function(){function e(e,t){t=t||{bubbles:!1,cancelable:!1,detail:void 0};var n=document.createEvent("CustomEvent");return n.initCustomEvent(e,t.bubbles,t.cancelable,t.detail),n}"function"!=typeof window.CustomEvent&&(e.prototype=window.Event.prototype,window.CustomEvent=e)}(); \ No newline at end of file
diff --git a/package.json b/package.json
index 08ab7709..72ed32ee 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "plyr",
- "version": "2.0.10",
+ "version": "2.0.12",
"description": "A simple, accessible and customizable HTML5, YouTube and Vimeo media player",
"homepage": "http://plyr.io",
"main": "src/js/plyr.js",
diff --git a/readme.md b/readme.md
index d7cb0e43..c417c6cc 100644
--- a/readme.md
+++ b/readme.md
@@ -1,6 +1,8 @@
# Plyr
A simple, accessible and customizable HTML5, YouTube and Vimeo media player.
+[Donate to support Plyr](#donate)
+
[Checkout the demo](https://plyr.io)
[![Image of Plyr](https://cdn.selz.com/plyr/plyr_v1.8.9.png)](https://plyr.io)
@@ -132,10 +134,10 @@ Include the `plyr.js` script before the closing `</body>` tag and then call `ply
<script>plyr.setup();</script>
```
-If you want to use our CDN for the JavaScript, you can use the following:
+If you want to use our CDN (provided by [Fastly](https://www.fastly.com/)) for the JavaScript, you can use the following:
```html
-<script src="https://cdn.plyr.io/2.0.10/plyr.js"></script>
+<script src="https://cdn.plyr.io/2.0.12/plyr.js"></script>
```
### CSS
@@ -145,14 +147,14 @@ Include the `plyr.css` stylsheet into your `<head>`
<link rel="stylesheet" href="path/to/plyr.css">
```
-If you want to use our CDN for the default CSS, you can use the following:
+If you want to use our CDN (provided by [Fastly](https://www.fastly.com/)) for the default CSS, you can use the following:
```html
-<link rel="stylesheet" href="https://cdn.plyr.io/2.0.10/plyr.css">
+<link rel="stylesheet" href="https://cdn.plyr.io/2.0.12/plyr.css">
```
### SVG Sprite
-The SVG sprite is loaded automatically from our CDN. To change this, see the [options](#Options) below. For reference, the CDN hosted SVG sprite can be found at `https://cdn.plyr.io/2.0.10/plyr.svg`.
+The SVG sprite is loaded automatically from our CDN (provided by [Fastly](https://www.fastly.com/)). To change this, see the [options](#options) below. For reference, the CDN hosted SVG sprite can be found at `https://cdn.plyr.io/2.0.12/plyr.svg`.
## Advanced
@@ -285,6 +287,12 @@ Note the single quotes encapsulating the JSON and double quotes on the object ke
<td>Specify the id prefix for the icons used in the default controls (e.g. "plyr-play" would be "plyr"). This is to prevent clashes if you're using your own SVG sprite but with the default controls. Most people can ignore this option.</td>
</tr>
<tr>
+ <td><code>blankUrl</code></td>
+ <td>String</td>
+ <td><code>https://cdn.selz.com/plyr/blank.mp4</code></td>
+ <td>Specify a URL or path to a blank video file used to properly cancel network requests. See <a href="https://github.com/Selz/plyr/issues/174">issue #174</a> for more info.</td>
+ </tr>
+ <tr>
<td><code>debug</code></td>
<td>Boolean</td>
<td><code>false</code></td>
@@ -1050,7 +1058,7 @@ Fullscreen in Plyr is supported by all browsers that [currently support it](http
&sup2; Native player used (no support for `<progress>` or `<input type="range">`) but the API is supported (v1.0.28+)
-&sup3; IE10 has no native fullscreen support, fallback can be used (see options)
+&sup3; IE10 has no native fullscreen support, fallback can be used (see [options](#options))
The `enabled` option can be used to disable certain User Agents. For example, if you don't want to use Plyr for smartphones, you could use:
@@ -1070,6 +1078,10 @@ If you find anything weird with Plyr, please let us know using the GitHub issues
## Author
Plyr is developed by [@sam_potts](https://twitter.com/sam_potts) / [sampotts.me](http://sampotts.me) with help from the awesome [contributors](https://github.com/Selz/plyr/graphs/contributors)
+## Donate
+Plyr costs money to run, not my time - I donate that for free but domains, hosting and more. Any help is appreciated...
+[Donate to support Plyr](https://www.paypal.me/pottsy/20usd)
+
## Mentions
- [ProductHunt](https://www.producthunt.com/tech/plyr)
- [The Changelog](http://thechangelog.com/plyr-simple-html5-media-player-custom-controls-webvtt-captions/)
@@ -1104,5 +1116,10 @@ Also these links helped created Plyr:
- [Media Events - W3.org](http://www.w3.org/2010/05/video/mediaevents.html)
- [Styling the `<progress>` element - hongkiat.com](http://www.hongkiat.com/blog/html5-progress-bar/)
+## Thanks
+[![Fastly](https://www.fastly.com/sites/all/themes/custom/fastly2016/logo.png)](https://www.fastly.com/)
+
+Thanks to [Fastly](https://www.fastly.com/) for providing the CDN services.
+
## Copyright and License
[The MIT license](license.md).
diff --git a/src/js/plyr.js b/src/js/plyr.js
index 2c85af51..d797f66d 100644
--- a/src/js/plyr.js
+++ b/src/js/plyr.js
@@ -3752,7 +3752,7 @@
}
// Captions
- on(plyr.buttons.captions, 'click', toggleCaptions);
+ proxy(plyr.buttons.captions, 'click', config.listeners.captions, toggleCaptions);
// Settings
on(plyr.buttons.settings, 'click', function(event) {
diff --git a/src/less/plyr.less b/src/less/plyr.less
index 16bfbf14..f4a0a754 100644
--- a/src/less/plyr.less
+++ b/src/less/plyr.less
@@ -198,7 +198,11 @@
.plyr__video-embed {
padding-bottom: 56.25%; /* 16:9 */
height: 0;
+ border-radius: inherit;
+ // Require overflow and z-index to force border-radius
overflow: hidden;
+ z-index: 0;
+
iframe {
position: absolute;
@@ -208,7 +212,6 @@
height: 100%;
border: 0;
user-select: none;
- z-index: 1;
}
// Vimeo hack
@@ -362,6 +365,7 @@
left: 0;
right: 0;
bottom: 0;
+ z-index: 2;
padding: (@plyr-control-spacing * 5) @plyr-control-spacing @plyr-control-spacing;
background: linear-gradient(fade(@plyr-video-controls-bg, 0%), fade(@plyr-video-controls-bg, 70%));
border-bottom-left-radius: inherit;
@@ -921,6 +925,10 @@
height: 100%;
width: 100%;
}
+ .plyr__video-embed {
+ // Revert overflow change
+ overflow: visible;
+ }
.plyr__controls {
position: absolute;
bottom: 0;
diff --git a/src/scss/plyr.scss b/src/scss/plyr.scss
index 08f41920..e75a2eda 100644
--- a/src/scss/plyr.scss
+++ b/src/scss/plyr.scss
@@ -181,9 +181,12 @@
.plyr__video-embed {
padding-bottom: 56.25%; /* 16:9 */
height: 0;
- overflow: hidden;
border-radius: inherit;
+ // Require overflow and z-index to force border-radius
+ overflow: hidden;
+ z-index: 0;
+
iframe {
position: absolute;
top: 0;
@@ -741,6 +744,10 @@
height: 100%;
width: 100%;
}
+ .plyr__video-embed {
+ // Revert overflow change
+ overflow: visible;
+ }
.plyr__controls {
position: absolute;
bottom: 0;