diff --git a/assets/vendor/plyr/.nvmrc b/assets/vendor/plyr/.nvmrc index 099e535..b6a7d89 100644 --- a/assets/vendor/plyr/.nvmrc +++ b/assets/vendor/plyr/.nvmrc @@ -1 +1 @@ -v12.8 +16 diff --git a/assets/vendor/plyr/changelog.md b/assets/vendor/plyr/changelog.md index 5635915..06855f6 100644 --- a/assets/vendor/plyr/changelog.md +++ b/assets/vendor/plyr/changelog.md @@ -1,3 +1,8 @@ +### v3.6.10 + +- Fix: Use `list.slash` instead of deprecated syntax +- Chore: Clean up demo + ### v3.6.9 - Fix: SASS issue with division (thanks @ROL4ND909 and @le0pard) diff --git a/assets/vendor/plyr/dist/plyr.css b/assets/vendor/plyr/dist/plyr.css index f11e447..eae5928 100644 --- a/assets/vendor/plyr/dist/plyr.css +++ b/assets/vendor/plyr/dist/plyr.css @@ -1 +1 @@ -@charset "UTF-8";@keyframes plyr-progress{to{background-position:25px 0;background-position:var(--plyr-progress-loading-size,25px) 0}}@keyframes plyr-popup{0%{opacity:.5;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes plyr-fade-in{0%{opacity:0}to{opacity:1}}.plyr{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;align-items:center;direction:ltr;display:flex;flex-direction:column;font-family:inherit;font-family:var(--plyr-font-family,inherit);font-variant-numeric:tabular-nums;font-weight:400;font-weight:var(--plyr-font-weight-regular,400);line-height:1.7;line-height:var(--plyr-line-height,1.7);max-width:100%;min-width:200px;position:relative;text-shadow:none;transition:box-shadow .3s ease;z-index:0}.plyr audio,.plyr iframe,.plyr video{display:block;height:100%;width:100%}.plyr button{font:inherit;line-height:inherit;width:auto}.plyr:focus{outline:0}.plyr--full-ui{box-sizing:border-box}.plyr--full-ui *,.plyr--full-ui :after,.plyr--full-ui :before{box-sizing:inherit}.plyr--full-ui a,.plyr--full-ui button,.plyr--full-ui input,.plyr--full-ui label{touch-action:manipulation}.plyr__badge{background:#4a5464;background:var(--plyr-badge-background,#4a5464);border-radius:2px;border-radius:var(--plyr-badge-border-radius,2px);color:#fff;color:var(--plyr-badge-text-color,#fff);font-size:9px;font-size:var(--plyr-font-size-badge,9px);line-height:1;padding:3px 4px}.plyr--full-ui ::-webkit-media-text-track-container{display:none}.plyr__captions{animation:plyr-fade-in .3s ease;bottom:0;display:none;font-size:13px;font-size:var(--plyr-font-size-small,13px);left:0;padding:10px;padding:var(--plyr-control-spacing,10px);position:absolute;text-align:center;transition:transform .4s ease-in-out;width:100%}.plyr__captions span:empty{display:none}@media (min-width:480px){.plyr__captions{font-size:15px;font-size:var(--plyr-font-size-base,15px);padding:20px;padding:calc(var(--plyr-control-spacing, 10px)*2)}}@media (min-width:768px){.plyr__captions{font-size:18px;font-size:var(--plyr-font-size-large,18px)}}.plyr--captions-active .plyr__captions{display:block}.plyr:not(.plyr--hide-controls) .plyr__controls:not(:empty)~.plyr__captions{transform:translateY(-40px);transform:translateY(calc(var(--plyr-control-spacing, 10px)*-4))}.plyr__caption{background:rgba(0,0,0,.8);background:var(--plyr-captions-background,rgba(0,0,0,.8));border-radius:2px;-webkit-box-decoration-break:clone;box-decoration-break:clone;color:#fff;color:var(--plyr-captions-text-color,#fff);line-height:185%;padding:.2em .5em;white-space:pre-wrap}.plyr__caption div{display:inline}.plyr__control{background:transparent;border:0;border-radius:3px;border-radius:var(--plyr-control-radius,3px);color:inherit;cursor:pointer;flex-shrink:0;overflow:visible;padding:7px;padding:calc(var(--plyr-control-spacing, 10px)*.7);position:relative;transition:all .3s ease}.plyr__control svg{fill:currentColor;display:block;height:18px;height:var(--plyr-control-icon-size,18px);pointer-events:none;width:18px;width:var(--plyr-control-icon-size,18px)}.plyr__control:focus{outline:0}.plyr__control.plyr__tab-focus{outline-color:#00b3ff;outline-color:var(--plyr-tab-focus-color,var(--plyr-color-main,var(--plyr-color-main,#00b3ff)));outline-offset:2px;outline-style:dotted;outline-width:3px}a.plyr__control{text-decoration:none}.plyr__control.plyr__control--pressed .icon--not-pressed,.plyr__control.plyr__control--pressed .label--not-pressed,.plyr__control:not(.plyr__control--pressed) .icon--pressed,.plyr__control:not(.plyr__control--pressed) .label--pressed,a.plyr__control:after,a.plyr__control:before{display:none}.plyr--full-ui ::-webkit-media-controls{display:none}.plyr__controls{align-items:center;display:flex;justify-content:flex-end;text-align:center}.plyr__controls .plyr__progress__container{flex:1;min-width:0}.plyr__controls .plyr__controls__item{margin-left:2.5px;margin-left:calc(var(--plyr-control-spacing, 10px)/4)}.plyr__controls .plyr__controls__item:first-child{margin-left:0;margin-right:auto}.plyr__controls .plyr__controls__item.plyr__progress__container{padding-left:2.5px;padding-left:calc(var(--plyr-control-spacing, 10px)/4)}.plyr__controls .plyr__controls__item.plyr__time{padding:0 5px;padding:0 calc(var(--plyr-control-spacing, 10px)/2)}.plyr__controls .plyr__controls__item.plyr__progress__container:first-child,.plyr__controls .plyr__controls__item.plyr__time+.plyr__time,.plyr__controls .plyr__controls__item.plyr__time:first-child{padding-left:0}.plyr [data-plyr=airplay],.plyr [data-plyr=captions],.plyr [data-plyr=fullscreen],.plyr [data-plyr=pip],.plyr__controls:empty{display:none}.plyr--airplay-supported [data-plyr=airplay],.plyr--captions-enabled [data-plyr=captions],.plyr--fullscreen-enabled [data-plyr=fullscreen],.plyr--pip-supported [data-plyr=pip]{display:inline-block}.plyr__menu{display:flex;position:relative}.plyr__menu .plyr__control svg{transition:transform .3s ease}.plyr__menu .plyr__control[aria-expanded=true] svg{transform:rotate(90deg)}.plyr__menu .plyr__control[aria-expanded=true] .plyr__tooltip{display:none}.plyr__menu__container{animation:plyr-popup .2s ease;background:hsla(0,0%,100%,.9);background:var(--plyr-menu-background,hsla(0,0%,100%,.9));border-radius:4px;bottom:100%;box-shadow:0 1px 2px rgba(0,0,0,.15);box-shadow:var(--plyr-menu-shadow,0 1px 2px rgba(0,0,0,.15));color:#4a5464;color:var(--plyr-menu-color,#4a5464);font-size:15px;font-size:var(--plyr-font-size-base,15px);margin-bottom:10px;position:absolute;right:-3px;text-align:left;white-space:nowrap;z-index:3}.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__container:after{border:4px solid transparent;border-top:var(--plyr-menu-arrow-size,4px) solid hsla(0,0%,100%,.9);border-width:var(--plyr-menu-arrow-size,4px);content:"";height:0;position:absolute;right:14px;right:calc(var(--plyr-control-icon-size, 18px)/2 + var(--plyr-control-spacing, 10px)*.7 - var(--plyr-menu-arrow-size, 4px)/2);top:100%;width:0}.plyr__menu__container [role=menu]{padding:7px;padding:calc(var(--plyr-control-spacing, 10px)*.7)}.plyr__menu__container [role=menuitem],.plyr__menu__container [role=menuitemradio]{margin-top:2px}.plyr__menu__container [role=menuitem]:first-child,.plyr__menu__container [role=menuitemradio]:first-child{margin-top:0}.plyr__menu__container .plyr__control{align-items:center;color:#4a5464;color:var(--plyr-menu-color,#4a5464);display:flex;font-size:13px;font-size:var(--plyr-font-size-menu,var(--plyr-font-size-small,13px));padding:4.66667px 10.5px;padding:calc(var(--plyr-control-spacing, 10px)*.7/1.5) calc(var(--plyr-control-spacing, 10px)*.7*1.5);-webkit-user-select:none;user-select:none;width:100%}.plyr__menu__container .plyr__control>span{align-items:inherit;display:flex;width:100%}.plyr__menu__container .plyr__control:after{border:4px solid transparent;border:var(--plyr-menu-item-arrow-size,4px) solid transparent;content:"";position:absolute;top:50%;transform:translateY(-50%)}.plyr__menu__container .plyr__control--forward{padding-right:28px;padding-right:calc(var(--plyr-control-spacing, 10px)*.7*4)}.plyr__menu__container .plyr__control--forward:after{border-left-color:#728197;border-left-color:var(--plyr-menu-arrow-color,#728197);right:6.5px;right:calc(var(--plyr-control-spacing, 10px)*.7*1.5 - var(--plyr-menu-item-arrow-size, 4px))}.plyr__menu__container .plyr__control--forward.plyr__tab-focus:after,.plyr__menu__container .plyr__control--forward:hover:after{border-left-color:currentColor}.plyr__menu__container .plyr__control--back{font-weight:400;font-weight:var(--plyr-font-weight-regular,400);margin:7px;margin:calc(var(--plyr-control-spacing, 10px)*.7);margin-bottom:3.5px;margin-bottom:calc(var(--plyr-control-spacing, 10px)*.7/2);padding-left:28px;padding-left:calc(var(--plyr-control-spacing, 10px)*.7*4);position:relative;width:calc(100% - 14px);width:calc(100% - var(--plyr-control-spacing, 10px)*.7*2)}.plyr__menu__container .plyr__control--back:after{border-right-color:#728197;border-right-color:var(--plyr-menu-arrow-color,#728197);left:6.5px;left:calc(var(--plyr-control-spacing, 10px)*.7*1.5 - var(--plyr-menu-item-arrow-size, 4px))}.plyr__menu__container .plyr__control--back:before{background:#dcdfe5;background:var(--plyr-menu-back-border-color,#dcdfe5);box-shadow:0 1px 0 #fff;box-shadow:0 1px 0 var(--plyr-menu-back-border-shadow-color,#fff);content:"";height:1px;left:0;margin-top:3.5px;margin-top:calc(var(--plyr-control-spacing, 10px)*.7/2);overflow:hidden;position:absolute;right:0;top:100%}.plyr__menu__container .plyr__control--back.plyr__tab-focus:after,.plyr__menu__container .plyr__control--back:hover:after{border-right-color:currentColor}.plyr__menu__container .plyr__control[role=menuitemradio]{padding-left:7px;padding-left:calc(var(--plyr-control-spacing, 10px)*.7)}.plyr__menu__container .plyr__control[role=menuitemradio]:after,.plyr__menu__container .plyr__control[role=menuitemradio]:before{border-radius:100%}.plyr__menu__container .plyr__control[role=menuitemradio]:before{background:rgba(0,0,0,.1);content:"";display:block;flex-shrink:0;height:16px;margin-right:10px;margin-right:var(--plyr-control-spacing,10px);transition:all .3s ease;width:16px}.plyr__menu__container .plyr__control[role=menuitemradio]:after{background:#fff;border:0;height:6px;left:12px;opacity:0;top:50%;transform:translateY(-50%) scale(0);transition:transform .3s ease,opacity .3s ease;width:6px}.plyr__menu__container .plyr__control[role=menuitemradio][aria-checked=true]:before{background:#00b3ff;background:var(--plyr-control-toggle-checked-background,var(--plyr-color-main,var(--plyr-color-main,#00b3ff)))}.plyr__menu__container .plyr__control[role=menuitemradio][aria-checked=true]:after{opacity:1;transform:translateY(-50%) scale(1)}.plyr__menu__container .plyr__control[role=menuitemradio].plyr__tab-focus:before,.plyr__menu__container .plyr__control[role=menuitemradio]:hover:before{background:rgba(35,40,47,.1)}.plyr__menu__container .plyr__menu__value{align-items:center;display:flex;margin-left:auto;margin-right:calc(-7px - -2);margin-right:calc(var(--plyr-control-spacing, 10px)*.7*-1 - -2);overflow:hidden;padding-left:24.5px;padding-left:calc(var(--plyr-control-spacing, 10px)*.7*3.5);pointer-events:none}.plyr--full-ui input[type=range]{-webkit-appearance:none;background:transparent;border:0;border-radius:26px;border-radius:calc(var(--plyr-range-thumb-height, 13px)*2);color:#00b3ff;color:var(--plyr-range-fill-background,var(--plyr-color-main,var(--plyr-color-main,#00b3ff)));display:block;height:19px;height:calc(var(--plyr-range-thumb-active-shadow-width, 3px)*2 + var(--plyr-range-thumb-height, 13px));margin:0;min-width:0;padding:0;transition:box-shadow .3s ease;width:100%}.plyr--full-ui input[type=range]::-webkit-slider-runnable-track{background:transparent;background-image:linear-gradient(90deg,currentColor 0,transparent 0);background-image:linear-gradient(to right,currentColor var(--value,0),transparent var(--value,0));border:0;border-radius:2.5px;border-radius:calc(var(--plyr-range-track-height, 5px)/2);height:5px;height:var(--plyr-range-track-height,5px);-webkit-transition:box-shadow .3s ease;transition:box-shadow .3s ease;-webkit-user-select:none;user-select:none}.plyr--full-ui input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:#fff;background:var(--plyr-range-thumb-background,#fff);border:0;border-radius:100%;box-shadow:0 1px 1px rgba(35,40,47,.15),0 0 0 1px rgba(35,40,47,.2);box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px rgba(35,40,47,.15),0 0 0 1px rgba(35,40,47,.2));height:13px;height:var(--plyr-range-thumb-height,13px);margin-top:-4px;margin-top:calc(var(--plyr-range-thumb-height, 13px)/2*-1 - var(--plyr-range-track-height, 5px)/2*-1);position:relative;-webkit-transition:all .2s ease;transition:all .2s ease;width:13px;width:var(--plyr-range-thumb-height,13px)}.plyr--full-ui input[type=range]::-moz-range-track{background:transparent;border:0;border-radius:2.5px;border-radius:calc(var(--plyr-range-track-height, 5px)/2);height:5px;height:var(--plyr-range-track-height,5px);-moz-transition:box-shadow .3s ease;transition:box-shadow .3s ease;user-select:none}.plyr--full-ui input[type=range]::-moz-range-thumb{background:#fff;background:var(--plyr-range-thumb-background,#fff);border:0;border-radius:100%;box-shadow:0 1px 1px rgba(35,40,47,.15),0 0 0 1px rgba(35,40,47,.2);box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px rgba(35,40,47,.15),0 0 0 1px rgba(35,40,47,.2));height:13px;height:var(--plyr-range-thumb-height,13px);position:relative;-moz-transition:all .2s ease;transition:all .2s ease;width:13px;width:var(--plyr-range-thumb-height,13px)}.plyr--full-ui input[type=range]::-moz-range-progress{background:currentColor;border-radius:2.5px;border-radius:calc(var(--plyr-range-track-height, 5px)/2);height:5px;height:var(--plyr-range-track-height,5px)}.plyr--full-ui input[type=range]::-ms-track{color:transparent}.plyr--full-ui input[type=range]::-ms-fill-upper,.plyr--full-ui input[type=range]::-ms-track{background:transparent;border:0;border-radius:2.5px;border-radius:calc(var(--plyr-range-track-height, 5px)/2);height:5px;height:var(--plyr-range-track-height,5px);-ms-transition:box-shadow .3s ease;transition:box-shadow .3s ease;user-select:none}.plyr--full-ui input[type=range]::-ms-fill-lower{background:transparent;background:currentColor;border:0;border-radius:2.5px;border-radius:calc(var(--plyr-range-track-height, 5px)/2);height:5px;height:var(--plyr-range-track-height,5px);-ms-transition:box-shadow .3s ease;transition:box-shadow .3s ease;user-select:none}.plyr--full-ui input[type=range]::-ms-thumb{background:#fff;background:var(--plyr-range-thumb-background,#fff);border:0;border-radius:100%;box-shadow:0 1px 1px rgba(35,40,47,.15),0 0 0 1px rgba(35,40,47,.2);box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px rgba(35,40,47,.15),0 0 0 1px rgba(35,40,47,.2));height:13px;height:var(--plyr-range-thumb-height,13px);margin-top:0;position:relative;-ms-transition:all .2s ease;transition:all .2s ease;width:13px;width:var(--plyr-range-thumb-height,13px)}.plyr--full-ui input[type=range]::-ms-tooltip{display:none}.plyr--full-ui input[type=range]:focus{outline:0}.plyr--full-ui input[type=range]::-moz-focus-outer{border:0}.plyr--full-ui input[type=range].plyr__tab-focus::-webkit-slider-runnable-track{outline-color:#00b3ff;outline-color:var(--plyr-tab-focus-color,var(--plyr-color-main,var(--plyr-color-main,#00b3ff)));outline-offset:2px;outline-style:dotted;outline-width:3px}.plyr--full-ui input[type=range].plyr__tab-focus::-moz-range-track{outline-color:#00b3ff;outline-color:var(--plyr-tab-focus-color,var(--plyr-color-main,var(--plyr-color-main,#00b3ff)));outline-offset:2px;outline-style:dotted;outline-width:3px}.plyr--full-ui input[type=range].plyr__tab-focus::-ms-track{outline-color:#00b3ff;outline-color:var(--plyr-tab-focus-color,var(--plyr-color-main,var(--plyr-color-main,#00b3ff)));outline-offset:2px;outline-style:dotted;outline-width:3px}.plyr__poster{background-color:#000;background-color:var(--plyr-video-background,var(--plyr-video-background,#000));background-position:50% 50%;background-repeat:no-repeat;background-size:contain;height:100%;left:0;opacity:0;position:absolute;top:0;transition:opacity .2s ease;width:100%;z-index:1}.plyr--stopped.plyr__poster-enabled .plyr__poster{opacity:1}.plyr--youtube.plyr--paused.plyr__poster-enabled:not(.plyr--stopped) .plyr__poster{display:none}.plyr__time{font-size:13px;font-size:var(--plyr-font-size-time,var(--plyr-font-size-small,13px))}.plyr__time+.plyr__time:before{content:"⁄";margin-right:10px;margin-right:var(--plyr-control-spacing,10px)}@media (max-width:767px){.plyr__time+.plyr__time{display:none}}.plyr__tooltip{background:hsla(0,0%,100%,.9);background:var(--plyr-tooltip-background,hsla(0,0%,100%,.9));border-radius:3px;border-radius:var(--plyr-tooltip-radius,3px);bottom:100%;box-shadow:0 1px 2px rgba(0,0,0,.15);box-shadow:var(--plyr-tooltip-shadow,0 1px 2px rgba(0,0,0,.15));color:#4a5464;color:var(--plyr-tooltip-color,#4a5464);font-size:13px;font-size:var(--plyr-font-size-small,13px);font-weight:400;font-weight:var(--plyr-font-weight-regular,400);left:50%;line-height:1.3;margin-bottom:10px;margin-bottom:calc(var(--plyr-control-spacing, 10px)/2*2);opacity:0;padding:5px 7.5px;padding:calc(var(--plyr-control-spacing, 10px)/2) calc(var(--plyr-control-spacing, 10px)/2*1.5);pointer-events:none;position:absolute;transform:translate(-50%,10px) scale(.8);transform-origin:50% 100%;transition:transform .2s ease .1s,opacity .2s ease .1s;white-space:nowrap;z-index:2}.plyr__tooltip:before{border-left:4px solid transparent;border-left:var(--plyr-tooltip-arrow-size,4px) solid transparent;border-right:4px solid transparent;border-right:var(--plyr-tooltip-arrow-size,4px) solid transparent;border-top:4px solid hsla(0,0%,100%,.9);border-top:var(--plyr-tooltip-arrow-size,4px) solid var(--plyr-tooltip-background,hsla(0,0%,100%,.9));bottom:-4px;bottom:calc(var(--plyr-tooltip-arrow-size, 4px)*-1);content:"";height:0;left:50%;position:absolute;transform:translateX(-50%);width:0;z-index:2}.plyr .plyr__control.plyr__tab-focus .plyr__tooltip,.plyr .plyr__control:hover .plyr__tooltip,.plyr__tooltip--visible{opacity:1;transform:translate(-50%) scale(1)}.plyr .plyr__control:hover .plyr__tooltip{z-index:3}.plyr__controls>.plyr__control:first-child+.plyr__control .plyr__tooltip,.plyr__controls>.plyr__control:first-child .plyr__tooltip{left:0;transform:translateY(10px) scale(.8);transform-origin:0 100%}.plyr__controls>.plyr__control:first-child+.plyr__control .plyr__tooltip:before,.plyr__controls>.plyr__control:first-child .plyr__tooltip:before{left:16px;left:calc(var(--plyr-control-icon-size, 18px)/2 + var(--plyr-control-spacing, 10px)*.7)}.plyr__controls>.plyr__control:last-child .plyr__tooltip{left:auto;right:0;transform:translateY(10px) scale(.8);transform-origin:100% 100%}.plyr__controls>.plyr__control:last-child .plyr__tooltip:before{left:auto;right:16px;right:calc(var(--plyr-control-icon-size, 18px)/2 + var(--plyr-control-spacing, 10px)*.7);transform:translateX(50%)}.plyr__controls>.plyr__control:first-child+.plyr__control.plyr__tab-focus .plyr__tooltip,.plyr__controls>.plyr__control:first-child+.plyr__control .plyr__tooltip--visible,.plyr__controls>.plyr__control:first-child+.plyr__control:hover .plyr__tooltip,.plyr__controls>.plyr__control:first-child.plyr__tab-focus .plyr__tooltip,.plyr__controls>.plyr__control:first-child .plyr__tooltip--visible,.plyr__controls>.plyr__control:first-child:hover .plyr__tooltip,.plyr__controls>.plyr__control:last-child.plyr__tab-focus .plyr__tooltip,.plyr__controls>.plyr__control:last-child .plyr__tooltip--visible,.plyr__controls>.plyr__control:last-child:hover .plyr__tooltip{transform:translate(0) scale(1)}.plyr__progress{left:6.5px;left:calc(var(--plyr-range-thumb-height, 13px)*.5);margin-right:13px;margin-right:var(--plyr-range-thumb-height,13px);position:relative}.plyr__progress__buffer,.plyr__progress input[type=range]{margin-left:-6.5px;margin-left:calc(var(--plyr-range-thumb-height, 13px)*-.5);margin-right:-6.5px;margin-right:calc(var(--plyr-range-thumb-height, 13px)*-.5);width:calc(100% + 13px);width:calc(100% + var(--plyr-range-thumb-height, 13px))}.plyr__progress input[type=range]{position:relative;z-index:2}.plyr__progress .plyr__tooltip{font-size:13px;font-size:var(--plyr-font-size-time,var(--plyr-font-size-small,13px));left:0}.plyr__progress__buffer{-webkit-appearance:none;background:transparent;border:0;border-radius:100px;height:5px;height:var(--plyr-range-track-height,5px);left:0;margin-top:-2.5px;margin-top:calc(var(--plyr-range-track-height, 5px)/2*-1);padding:0;position:absolute;top:50%}.plyr__progress__buffer::-webkit-progress-bar{background:transparent}.plyr__progress__buffer::-webkit-progress-value{background:currentColor;border-radius:100px;min-width:5px;min-width:var(--plyr-range-track-height,5px);-webkit-transition:width .2s ease;transition:width .2s ease}.plyr__progress__buffer::-moz-progress-bar{background:currentColor;border-radius:100px;min-width:5px;min-width:var(--plyr-range-track-height,5px);-moz-transition:width .2s ease;transition:width .2s ease}.plyr__progress__buffer::-ms-fill{border-radius:100px;-ms-transition:width .2s ease;transition:width .2s ease}.plyr--loading .plyr__progress__buffer{animation:plyr-progress 1s linear infinite;background-image:linear-gradient(-45deg,rgba(35,40,47,.6) 25%,transparent 0,transparent 50%,rgba(35,40,47,.6) 0,rgba(35,40,47,.6) 75%,transparent 0,transparent);background-image:linear-gradient(-45deg,var(--plyr-progress-loading-background,rgba(35,40,47,.6)) 25%,transparent 25%,transparent 50%,var(--plyr-progress-loading-background,rgba(35,40,47,.6)) 50%,var(--plyr-progress-loading-background,rgba(35,40,47,.6)) 75%,transparent 75%,transparent);background-repeat:repeat-x;background-size:25px 25px;background-size:var(--plyr-progress-loading-size,25px) var(--plyr-progress-loading-size,25px);color:transparent}.plyr--video.plyr--loading .plyr__progress__buffer{background-color:hsla(0,0%,100%,.25);background-color:var(--plyr-video-progress-buffered-background,hsla(0,0%,100%,.25))}.plyr--audio.plyr--loading .plyr__progress__buffer{background-color:rgba(193,200,209,.6);background-color:var(--plyr-audio-progress-buffered-background,rgba(193,200,209,.6))}.plyr__volume{align-items:center;display:flex;max-width:110px;min-width:80px;position:relative;width:20%}.plyr__volume input[type=range]{margin-left:5px;margin-left:calc(var(--plyr-control-spacing, 10px)/2);margin-right:5px;margin-right:calc(var(--plyr-control-spacing, 10px)/2);position:relative;z-index:2}.plyr--is-ios .plyr__volume{min-width:0;width:auto}.plyr--audio{display:block}.plyr--audio .plyr__controls{background:#fff;background:var(--plyr-audio-controls-background,#fff);border-radius:inherit;color:#4a5464;color:var(--plyr-audio-control-color,#4a5464);padding:10px;padding:var(--plyr-control-spacing,10px)}.plyr--audio .plyr__control.plyr__tab-focus,.plyr--audio .plyr__control:hover,.plyr--audio .plyr__control[aria-expanded=true]{background:#00b3ff;background:var(--plyr-audio-control-background-hover,var(--plyr-color-main,var(--plyr-color-main,#00b3ff)));color:#fff;color:var(--plyr-audio-control-color-hover,#fff)}.plyr--full-ui.plyr--audio input[type=range]::-webkit-slider-runnable-track{background-color:rgba(193,200,209,.6);background-color:var(--plyr-audio-range-track-background,var(--plyr-audio-progress-buffered-background,rgba(193,200,209,.6)))}.plyr--full-ui.plyr--audio input[type=range]::-moz-range-track{background-color:rgba(193,200,209,.6);background-color:var(--plyr-audio-range-track-background,var(--plyr-audio-progress-buffered-background,rgba(193,200,209,.6)))}.plyr--full-ui.plyr--audio input[type=range]::-ms-track{background-color:rgba(193,200,209,.6);background-color:var(--plyr-audio-range-track-background,var(--plyr-audio-progress-buffered-background,rgba(193,200,209,.6)))}.plyr--full-ui.plyr--audio input[type=range]:active::-webkit-slider-thumb{box-shadow:0 1px 1px rgba(35,40,47,.15),0 0 0 1px rgba(35,40,47,.2),0 0 0 3px rgba(35,40,47,.1);box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px rgba(35,40,47,.15),0 0 0 1px rgba(35,40,47,.2)),0 0 0 var(--plyr-range-thumb-active-shadow-width,3px) var(--plyr-audio-range-thumb-active-shadow-color,rgba(35,40,47,.1))}.plyr--full-ui.plyr--audio input[type=range]:active::-moz-range-thumb{box-shadow:0 1px 1px rgba(35,40,47,.15),0 0 0 1px rgba(35,40,47,.2),0 0 0 3px rgba(35,40,47,.1);box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px rgba(35,40,47,.15),0 0 0 1px rgba(35,40,47,.2)),0 0 0 var(--plyr-range-thumb-active-shadow-width,3px) var(--plyr-audio-range-thumb-active-shadow-color,rgba(35,40,47,.1))}.plyr--full-ui.plyr--audio input[type=range]:active::-ms-thumb{box-shadow:0 1px 1px rgba(35,40,47,.15),0 0 0 1px rgba(35,40,47,.2),0 0 0 3px rgba(35,40,47,.1);box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px rgba(35,40,47,.15),0 0 0 1px rgba(35,40,47,.2)),0 0 0 var(--plyr-range-thumb-active-shadow-width,3px) var(--plyr-audio-range-thumb-active-shadow-color,rgba(35,40,47,.1))}.plyr--audio .plyr__progress__buffer{color:rgba(193,200,209,.6);color:var(--plyr-audio-progress-buffered-background,rgba(193,200,209,.6))}.plyr--video{background:#000;background:var(--plyr-video-background,var(--plyr-video-background,#000));overflow:hidden}.plyr--video.plyr--menu-open{overflow:visible}.plyr__video-wrapper{background:#000;background:var(--plyr-video-background,var(--plyr-video-background,#000));height:100%;margin:auto;overflow:hidden;position:relative;width:100%}.plyr__video-embed,.plyr__video-wrapper--fixed-ratio{aspect-ratio:16/9}@supports not (aspect-ratio:16/9){.plyr__video-embed,.plyr__video-wrapper--fixed-ratio{height:0;padding-bottom:56.25%;position:relative}}.plyr__video-embed iframe,.plyr__video-wrapper--fixed-ratio video{border:0;height:100%;left:0;position:absolute;top:0;width:100%}.plyr--full-ui .plyr__video-embed>.plyr__video-embed__container{padding-bottom:240%;position:relative;transform:translateY(-38.28125%)}.plyr--video .plyr__controls{background:linear-gradient(transparent,rgba(0,0,0,.75));background:var(--plyr-video-controls-background,linear-gradient(transparent,rgba(0,0,0,.75)));border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;bottom:0;color:#fff;color:var(--plyr-video-control-color,#fff);left:0;padding:5px;padding:calc(var(--plyr-control-spacing, 10px)/2);padding-top:20px;padding-top:calc(var(--plyr-control-spacing, 10px)*2);position:absolute;right:0;transition:opacity .4s ease-in-out,transform .4s ease-in-out;z-index:3}@media (min-width:480px){.plyr--video .plyr__controls{padding:10px;padding:var(--plyr-control-spacing,10px);padding-top:35px;padding-top:calc(var(--plyr-control-spacing, 10px)*3.5)}}.plyr--video.plyr--hide-controls .plyr__controls{opacity:0;pointer-events:none;transform:translateY(100%)}.plyr--video .plyr__control.plyr__tab-focus,.plyr--video .plyr__control:hover,.plyr--video .plyr__control[aria-expanded=true]{background:#00b3ff;background:var(--plyr-video-control-background-hover,var(--plyr-color-main,var(--plyr-color-main,#00b3ff)));color:#fff;color:var(--plyr-video-control-color-hover,#fff)}.plyr__control--overlaid{background:#00b3ff;background:var(--plyr-video-control-background-hover,var(--plyr-color-main,var(--plyr-color-main,#00b3ff)));border:0;border-radius:100%;color:#fff;color:var(--plyr-video-control-color,#fff);display:none;left:50%;opacity:.9;padding:15px;padding:calc(var(--plyr-control-spacing, 10px)*1.5);position:absolute;top:50%;transform:translate(-50%,-50%);transition:.3s;z-index:2}.plyr__control--overlaid svg{left:2px;position:relative}.plyr__control--overlaid:focus,.plyr__control--overlaid:hover{opacity:1}.plyr--playing .plyr__control--overlaid{opacity:0;visibility:hidden}.plyr--full-ui.plyr--video .plyr__control--overlaid{display:block}.plyr--full-ui.plyr--video input[type=range]::-webkit-slider-runnable-track{background-color:hsla(0,0%,100%,.25);background-color:var(--plyr-video-range-track-background,var(--plyr-video-progress-buffered-background,hsla(0,0%,100%,.25)))}.plyr--full-ui.plyr--video input[type=range]::-moz-range-track{background-color:hsla(0,0%,100%,.25);background-color:var(--plyr-video-range-track-background,var(--plyr-video-progress-buffered-background,hsla(0,0%,100%,.25)))}.plyr--full-ui.plyr--video input[type=range]::-ms-track{background-color:hsla(0,0%,100%,.25);background-color:var(--plyr-video-range-track-background,var(--plyr-video-progress-buffered-background,hsla(0,0%,100%,.25)))}.plyr--full-ui.plyr--video input[type=range]:active::-webkit-slider-thumb{box-shadow:0 1px 1px rgba(35,40,47,.15),0 0 0 1px rgba(35,40,47,.2),0 0 0 3px hsla(0,0%,100%,.5);box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px rgba(35,40,47,.15),0 0 0 1px rgba(35,40,47,.2)),0 0 0 var(--plyr-range-thumb-active-shadow-width,3px) var(--plyr-audio-range-thumb-active-shadow-color,hsla(0,0%,100%,.5))}.plyr--full-ui.plyr--video input[type=range]:active::-moz-range-thumb{box-shadow:0 1px 1px rgba(35,40,47,.15),0 0 0 1px rgba(35,40,47,.2),0 0 0 3px hsla(0,0%,100%,.5);box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px rgba(35,40,47,.15),0 0 0 1px rgba(35,40,47,.2)),0 0 0 var(--plyr-range-thumb-active-shadow-width,3px) var(--plyr-audio-range-thumb-active-shadow-color,hsla(0,0%,100%,.5))}.plyr--full-ui.plyr--video input[type=range]:active::-ms-thumb{box-shadow:0 1px 1px rgba(35,40,47,.15),0 0 0 1px rgba(35,40,47,.2),0 0 0 3px hsla(0,0%,100%,.5);box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px rgba(35,40,47,.15),0 0 0 1px rgba(35,40,47,.2)),0 0 0 var(--plyr-range-thumb-active-shadow-width,3px) var(--plyr-audio-range-thumb-active-shadow-color,hsla(0,0%,100%,.5))}.plyr--video .plyr__progress__buffer{color:hsla(0,0%,100%,.25);color:var(--plyr-video-progress-buffered-background,hsla(0,0%,100%,.25))}.plyr:fullscreen{background:#000;border-radius:0!important;height:100%;margin:0;width:100%}.plyr:fullscreen video{height:100%}.plyr:fullscreen .plyr__control .icon--exit-fullscreen{display:block}.plyr:fullscreen .plyr__control .icon--exit-fullscreen+svg{display:none}.plyr:fullscreen.plyr--hide-controls{cursor:none}@media (min-width:1024px){.plyr:-webkit-full-screen .plyr__captions{font-size:21px;font-size:var(--plyr-font-size-xlarge,21px)}.plyr:fullscreen .plyr__captions{font-size:21px;font-size:var(--plyr-font-size-xlarge,21px)}}.plyr:-webkit-full-screen{background:#000;border-radius:0!important;height:100%;margin:0;width:100%}.plyr:-webkit-full-screen video{height:100%}.plyr:-webkit-full-screen .plyr__control .icon--exit-fullscreen{display:block}.plyr:-webkit-full-screen .plyr__control .icon--exit-fullscreen+svg{display:none}.plyr:-webkit-full-screen.plyr--hide-controls{cursor:none}@media (min-width:1024px){.plyr:-webkit-full-screen .plyr__captions{font-size:21px;font-size:var(--plyr-font-size-xlarge,21px)}}.plyr:-moz-full-screen{background:#000;border-radius:0!important;height:100%;margin:0;width:100%}.plyr:-moz-full-screen video{height:100%}.plyr:-moz-full-screen .plyr__control .icon--exit-fullscreen{display:block}.plyr:-moz-full-screen .plyr__control .icon--exit-fullscreen+svg{display:none}.plyr:-moz-full-screen.plyr--hide-controls{cursor:none}@media (min-width:1024px){.plyr:-moz-full-screen .plyr__captions{font-size:21px;font-size:var(--plyr-font-size-xlarge,21px)}}.plyr:-ms-fullscreen{background:#000;border-radius:0!important;height:100%;margin:0;width:100%}.plyr:-ms-fullscreen video{height:100%}.plyr:-ms-fullscreen .plyr__control .icon--exit-fullscreen{display:block}.plyr:-ms-fullscreen .plyr__control .icon--exit-fullscreen+svg{display:none}.plyr:-ms-fullscreen.plyr--hide-controls{cursor:none}@media (min-width:1024px){.plyr:-ms-fullscreen .plyr__captions{font-size:21px;font-size:var(--plyr-font-size-xlarge,21px)}}.plyr--fullscreen-fallback{background:#000;border-radius:0!important;bottom:0;display:block;height:100%;left:0;margin:0;position:fixed;right:0;top:0;width:100%;z-index:10000000}.plyr--fullscreen-fallback video{height:100%}.plyr--fullscreen-fallback .plyr__control .icon--exit-fullscreen{display:block}.plyr--fullscreen-fallback .plyr__control .icon--exit-fullscreen+svg{display:none}.plyr--fullscreen-fallback.plyr--hide-controls{cursor:none}@media (min-width:1024px){.plyr--fullscreen-fallback .plyr__captions{font-size:21px;font-size:var(--plyr-font-size-xlarge,21px)}}.plyr__ads{border-radius:inherit;bottom:0;cursor:pointer;left:0;overflow:hidden;position:absolute;right:0;top:0;z-index:-1}.plyr__ads>div,.plyr__ads>div iframe{height:100%;position:absolute;width:100%}.plyr__ads:after{background:#23282f;border-radius:2px;bottom:10px;bottom:var(--plyr-control-spacing,10px);color:#fff;content:attr(data-badge-text);font-size:11px;padding:2px 6px;pointer-events:none;position:absolute;right:10px;right:var(--plyr-control-spacing,10px);z-index:3}.plyr__ads:empty:after{display:none}.plyr__cues{background:currentColor;display:block;height:5px;height:var(--plyr-range-track-height,5px);left:0;margin:-var(--plyr-range-track-height,5px)/2 0 0;opacity:.8;position:absolute;top:50%;width:3px;z-index:3}.plyr__preview-thumb{background-color:hsla(0,0%,100%,.9);background-color:var(--plyr-tooltip-background,hsla(0,0%,100%,.9));border-radius:3px;bottom:100%;box-shadow:0 1px 2px rgba(0,0,0,.15);box-shadow:var(--plyr-tooltip-shadow,0 1px 2px rgba(0,0,0,.15));margin-bottom:10px;margin-bottom:calc(var(--plyr-control-spacing, 10px)/2*2);opacity:0;padding:3px;padding:var(--plyr-tooltip-radius,3px);pointer-events:none;position:absolute;transform:translateY(10px) scale(.8);transform-origin:50% 100%;transition:transform .2s ease .1s,opacity .2s ease .1s;z-index:2}.plyr__preview-thumb--is-shown{opacity:1;transform:translate(0) scale(1)}.plyr__preview-thumb:before{border-left:4px solid transparent;border-left:var(--plyr-tooltip-arrow-size,4px) solid transparent;border-right:4px solid transparent;border-right:var(--plyr-tooltip-arrow-size,4px) solid transparent;border-top:4px solid hsla(0,0%,100%,.9);border-top:var(--plyr-tooltip-arrow-size,4px) solid var(--plyr-tooltip-background,hsla(0,0%,100%,.9));bottom:-4px;bottom:calc(var(--plyr-tooltip-arrow-size, 4px)*-1);content:"";height:0;left:50%;position:absolute;transform:translateX(-50%);width:0;z-index:2}.plyr__preview-thumb__image-container{background:#c1c8d1;border-radius:2px;border-radius:calc(var(--plyr-tooltip-radius, 3px) - 1px);overflow:hidden;position:relative;z-index:0}.plyr__preview-thumb__image-container img{height:100%;left:0;max-height:none;max-width:none;position:absolute;top:0;width:100%}.plyr__preview-thumb__time-container{bottom:6px;left:0;position:absolute;right:0;white-space:nowrap;z-index:3}.plyr__preview-thumb__time-container span{background-color:rgba(0,0,0,.55);border-radius:2px;border-radius:calc(var(--plyr-tooltip-radius, 3px) - 1px);color:#fff;font-size:13px;font-size:var(--plyr-font-size-time,var(--plyr-font-size-small,13px));padding:3px 6px}.plyr__preview-scrubbing{bottom:0;filter:blur(1px);height:100%;left:0;margin:auto;opacity:0;overflow:hidden;pointer-events:none;position:absolute;right:0;top:0;transition:opacity .3s ease;width:100%;z-index:1}.plyr__preview-scrubbing--is-shown{opacity:1}.plyr__preview-scrubbing img{height:100%;left:0;max-height:none;max-width:none;-o-object-fit:contain;object-fit:contain;position:absolute;top:0;width:100%}.plyr--no-transition{transition:none!important}.plyr__sr-only{clip:rect(1px,1px,1px,1px);border:0!important;height:1px!important;overflow:hidden;padding:0!important;position:absolute!important;width:1px!important}.plyr [hidden]{display:none!important} \ No newline at end of file +@charset "UTF-8";@keyframes plyr-progress{to{background-position:25px 0;background-position:var(--plyr-progress-loading-size,25px) 0}}@keyframes plyr-popup{0%{opacity:.5;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes plyr-fade-in{0%{opacity:0}to{opacity:1}}.plyr{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;align-items:center;direction:ltr;display:flex;flex-direction:column;font-family:inherit;font-family:var(--plyr-font-family,inherit);font-variant-numeric:tabular-nums;font-weight:400;font-weight:var(--plyr-font-weight-regular,400);line-height:1.7;line-height:var(--plyr-line-height,1.7);max-width:100%;min-width:200px;position:relative;text-shadow:none;transition:box-shadow .3s ease;z-index:0}.plyr audio,.plyr iframe,.plyr video{display:block;height:100%;width:100%}.plyr button{font:inherit;line-height:inherit;width:auto}.plyr:focus{outline:0}.plyr--full-ui{box-sizing:border-box}.plyr--full-ui *,.plyr--full-ui :after,.plyr--full-ui :before{box-sizing:inherit}.plyr--full-ui a,.plyr--full-ui button,.plyr--full-ui input,.plyr--full-ui label{touch-action:manipulation}.plyr__badge{background:#4a5464;background:var(--plyr-badge-background,#4a5464);border-radius:2px;border-radius:var(--plyr-badge-border-radius,2px);color:#fff;color:var(--plyr-badge-text-color,#fff);font-size:9px;font-size:var(--plyr-font-size-badge,9px);line-height:1;padding:3px 4px}.plyr--full-ui ::-webkit-media-text-track-container{display:none}.plyr__captions{animation:plyr-fade-in .3s ease;bottom:0;display:none;font-size:13px;font-size:var(--plyr-font-size-small,13px);left:0;padding:10px;padding:var(--plyr-control-spacing,10px);position:absolute;text-align:center;transition:transform .4s ease-in-out;width:100%}.plyr__captions span:empty{display:none}@media (min-width:480px){.plyr__captions{font-size:15px;font-size:var(--plyr-font-size-base,15px);padding:20px;padding:calc(var(--plyr-control-spacing, 10px)*2)}}@media (min-width:768px){.plyr__captions{font-size:18px;font-size:var(--plyr-font-size-large,18px)}}.plyr--captions-active .plyr__captions{display:block}.plyr:not(.plyr--hide-controls) .plyr__controls:not(:empty)~.plyr__captions{transform:translateY(-40px);transform:translateY(calc(var(--plyr-control-spacing, 10px)*-4))}.plyr__caption{background:rgba(0,0,0,.8);background:var(--plyr-captions-background,rgba(0,0,0,.8));border-radius:2px;-webkit-box-decoration-break:clone;box-decoration-break:clone;color:#fff;color:var(--plyr-captions-text-color,#fff);line-height:185%;padding:.2em .5em;white-space:pre-wrap}.plyr__caption div{display:inline}.plyr__control{background:transparent;border:0;border-radius:3px;border-radius:var(--plyr-control-radius,3px);color:inherit;cursor:pointer;flex-shrink:0;overflow:visible;padding:7px;padding:calc(var(--plyr-control-spacing, 10px)*.7);position:relative;transition:all .3s ease}.plyr__control svg{fill:currentColor;display:block;height:18px;height:var(--plyr-control-icon-size,18px);pointer-events:none;width:18px;width:var(--plyr-control-icon-size,18px)}.plyr__control:focus{outline:0}.plyr__control.plyr__tab-focus{outline-color:#00b3ff;outline-color:var(--plyr-tab-focus-color,var(--plyr-color-main,var(--plyr-color-main,#00b3ff)));outline-offset:2px;outline-style:dotted;outline-width:3px}a.plyr__control{text-decoration:none}.plyr__control.plyr__control--pressed .icon--not-pressed,.plyr__control.plyr__control--pressed .label--not-pressed,.plyr__control:not(.plyr__control--pressed) .icon--pressed,.plyr__control:not(.plyr__control--pressed) .label--pressed,a.plyr__control:after,a.plyr__control:before{display:none}.plyr--full-ui ::-webkit-media-controls{display:none}.plyr__controls{align-items:center;display:flex;justify-content:flex-end;text-align:center}.plyr__controls .plyr__progress__container{flex:1;min-width:0}.plyr__controls .plyr__controls__item{margin-left:2.5px;margin-left:calc(var(--plyr-control-spacing, 10px)/4)}.plyr__controls .plyr__controls__item:first-child{margin-left:0;margin-right:auto}.plyr__controls .plyr__controls__item.plyr__progress__container{padding-left:2.5px;padding-left:calc(var(--plyr-control-spacing, 10px)/4)}.plyr__controls .plyr__controls__item.plyr__time{padding:0 5px;padding:0 calc(var(--plyr-control-spacing, 10px)/2)}.plyr__controls .plyr__controls__item.plyr__progress__container:first-child,.plyr__controls .plyr__controls__item.plyr__time+.plyr__time,.plyr__controls .plyr__controls__item.plyr__time:first-child{padding-left:0}.plyr [data-plyr=airplay],.plyr [data-plyr=captions],.plyr [data-plyr=fullscreen],.plyr [data-plyr=pip],.plyr__controls:empty{display:none}.plyr--airplay-supported [data-plyr=airplay],.plyr--captions-enabled [data-plyr=captions],.plyr--fullscreen-enabled [data-plyr=fullscreen],.plyr--pip-supported [data-plyr=pip]{display:inline-block}.plyr__menu{display:flex;position:relative}.plyr__menu .plyr__control svg{transition:transform .3s ease}.plyr__menu .plyr__control[aria-expanded=true] svg{transform:rotate(90deg)}.plyr__menu .plyr__control[aria-expanded=true] .plyr__tooltip{display:none}.plyr__menu__container{animation:plyr-popup .2s ease;background:hsla(0,0%,100%,.9);background:var(--plyr-menu-background,hsla(0,0%,100%,.9));border-radius:4px;bottom:100%;box-shadow:0 1px 2px rgba(0,0,0,.15);box-shadow:var(--plyr-menu-shadow,0 1px 2px rgba(0,0,0,.15));color:#4a5464;color:var(--plyr-menu-color,#4a5464);font-size:15px;font-size:var(--plyr-font-size-base,15px);margin-bottom:10px;position:absolute;right:-3px;text-align:left;white-space:nowrap;z-index:3}.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__container:after{border:4px solid transparent;border-top:var(--plyr-menu-arrow-size,4px) solid hsla(0,0%,100%,.9);border-width:var(--plyr-menu-arrow-size,4px);content:"";height:0;position:absolute;right:14px;right:calc(var(--plyr-control-icon-size, 18px)/2 + var(--plyr-control-spacing, 10px)*.7 - var(--plyr-menu-arrow-size, 4px)/2);top:100%;width:0}.plyr__menu__container [role=menu]{padding:7px;padding:calc(var(--plyr-control-spacing, 10px)*.7)}.plyr__menu__container [role=menuitem],.plyr__menu__container [role=menuitemradio]{margin-top:2px}.plyr__menu__container [role=menuitem]:first-child,.plyr__menu__container [role=menuitemradio]:first-child{margin-top:0}.plyr__menu__container .plyr__control{align-items:center;color:#4a5464;color:var(--plyr-menu-color,#4a5464);display:flex;font-size:13px;font-size:var(--plyr-font-size-menu,var(--plyr-font-size-small,13px));padding:4.66667px 10.5px;padding:calc(var(--plyr-control-spacing, 10px)*.7/1.5) calc(var(--plyr-control-spacing, 10px)*.7*1.5);-webkit-user-select:none;user-select:none;width:100%}.plyr__menu__container .plyr__control>span{align-items:inherit;display:flex;width:100%}.plyr__menu__container .plyr__control:after{border:4px solid transparent;border:var(--plyr-menu-item-arrow-size,4px) solid transparent;content:"";position:absolute;top:50%;transform:translateY(-50%)}.plyr__menu__container .plyr__control--forward{padding-right:28px;padding-right:calc(var(--plyr-control-spacing, 10px)*.7*4)}.plyr__menu__container .plyr__control--forward:after{border-left-color:#728197;border-left-color:var(--plyr-menu-arrow-color,#728197);right:6.5px;right:calc(var(--plyr-control-spacing, 10px)*.7*1.5 - var(--plyr-menu-item-arrow-size, 4px))}.plyr__menu__container .plyr__control--forward.plyr__tab-focus:after,.plyr__menu__container .plyr__control--forward:hover:after{border-left-color:currentColor}.plyr__menu__container .plyr__control--back{font-weight:400;font-weight:var(--plyr-font-weight-regular,400);margin:7px;margin:calc(var(--plyr-control-spacing, 10px)*.7);margin-bottom:3.5px;margin-bottom:calc(var(--plyr-control-spacing, 10px)*.7/2);padding-left:28px;padding-left:calc(var(--plyr-control-spacing, 10px)*.7*4);position:relative;width:calc(100% - 14px);width:calc(100% - var(--plyr-control-spacing, 10px)*.7*2)}.plyr__menu__container .plyr__control--back:after{border-right-color:#728197;border-right-color:var(--plyr-menu-arrow-color,#728197);left:6.5px;left:calc(var(--plyr-control-spacing, 10px)*.7*1.5 - var(--plyr-menu-item-arrow-size, 4px))}.plyr__menu__container .plyr__control--back:before{background:#dcdfe5;background:var(--plyr-menu-back-border-color,#dcdfe5);box-shadow:0 1px 0 #fff;box-shadow:0 1px 0 var(--plyr-menu-back-border-shadow-color,#fff);content:"";height:1px;left:0;margin-top:3.5px;margin-top:calc(var(--plyr-control-spacing, 10px)*.7/2);overflow:hidden;position:absolute;right:0;top:100%}.plyr__menu__container .plyr__control--back.plyr__tab-focus:after,.plyr__menu__container .plyr__control--back:hover:after{border-right-color:currentColor}.plyr__menu__container .plyr__control[role=menuitemradio]{padding-left:7px;padding-left:calc(var(--plyr-control-spacing, 10px)*.7)}.plyr__menu__container .plyr__control[role=menuitemradio]:after,.plyr__menu__container .plyr__control[role=menuitemradio]:before{border-radius:100%}.plyr__menu__container .plyr__control[role=menuitemradio]:before{background:rgba(0,0,0,.1);content:"";display:block;flex-shrink:0;height:16px;margin-right:10px;margin-right:var(--plyr-control-spacing,10px);transition:all .3s ease;width:16px}.plyr__menu__container .plyr__control[role=menuitemradio]:after{background:#fff;border:0;height:6px;left:12px;opacity:0;top:50%;transform:translateY(-50%) scale(0);transition:transform .3s ease,opacity .3s ease;width:6px}.plyr__menu__container .plyr__control[role=menuitemradio][aria-checked=true]:before{background:#00b3ff;background:var(--plyr-control-toggle-checked-background,var(--plyr-color-main,var(--plyr-color-main,#00b3ff)))}.plyr__menu__container .plyr__control[role=menuitemradio][aria-checked=true]:after{opacity:1;transform:translateY(-50%) scale(1)}.plyr__menu__container .plyr__control[role=menuitemradio].plyr__tab-focus:before,.plyr__menu__container .plyr__control[role=menuitemradio]:hover:before{background:rgba(35,40,47,.1)}.plyr__menu__container .plyr__menu__value{align-items:center;display:flex;margin-left:auto;margin-right:calc(-7px - -2);margin-right:calc(var(--plyr-control-spacing, 10px)*.7*-1 - -2);overflow:hidden;padding-left:24.5px;padding-left:calc(var(--plyr-control-spacing, 10px)*.7*3.5);pointer-events:none}.plyr--full-ui input[type=range]{-webkit-appearance:none;background:transparent;border:0;border-radius:26px;border-radius:calc(var(--plyr-range-thumb-height, 13px)*2);color:#00b3ff;color:var(--plyr-range-fill-background,var(--plyr-color-main,var(--plyr-color-main,#00b3ff)));display:block;height:19px;height:calc(var(--plyr-range-thumb-active-shadow-width, 3px)*2 + var(--plyr-range-thumb-height, 13px));margin:0;min-width:0;padding:0;transition:box-shadow .3s ease;width:100%}.plyr--full-ui input[type=range]::-webkit-slider-runnable-track{background:transparent;background-image:linear-gradient(90deg,currentColor 0,transparent 0);background-image:linear-gradient(to right,currentColor var(--value,0),transparent var(--value,0));border:0;border-radius:2.5px;border-radius:calc(var(--plyr-range-track-height, 5px)/2);height:5px;height:var(--plyr-range-track-height,5px);-webkit-transition:box-shadow .3s ease;transition:box-shadow .3s ease;-webkit-user-select:none;user-select:none}.plyr--full-ui input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:#fff;background:var(--plyr-range-thumb-background,#fff);border:0;border-radius:100%;box-shadow:0 1px 1px rgba(35,40,47,.15),0 0 0 1px rgba(35,40,47,.2);box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px rgba(35,40,47,.15),0 0 0 1px rgba(35,40,47,.2));height:13px;height:var(--plyr-range-thumb-height,13px);margin-top:-4px;margin-top:calc(var(--plyr-range-thumb-height, 13px)/2*-1 - var(--plyr-range-track-height, 5px)/2*-1);position:relative;-webkit-transition:all .2s ease;transition:all .2s ease;width:13px;width:var(--plyr-range-thumb-height,13px)}.plyr--full-ui input[type=range]::-moz-range-track{background:transparent;border:0;border-radius:2.5px;border-radius:calc(var(--plyr-range-track-height, 5px)/2);height:5px;height:var(--plyr-range-track-height,5px);-moz-transition:box-shadow .3s ease;transition:box-shadow .3s ease;user-select:none}.plyr--full-ui input[type=range]::-moz-range-thumb{background:#fff;background:var(--plyr-range-thumb-background,#fff);border:0;border-radius:100%;box-shadow:0 1px 1px rgba(35,40,47,.15),0 0 0 1px rgba(35,40,47,.2);box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px rgba(35,40,47,.15),0 0 0 1px rgba(35,40,47,.2));height:13px;height:var(--plyr-range-thumb-height,13px);position:relative;-moz-transition:all .2s ease;transition:all .2s ease;width:13px;width:var(--plyr-range-thumb-height,13px)}.plyr--full-ui input[type=range]::-moz-range-progress{background:currentColor;border-radius:2.5px;border-radius:calc(var(--plyr-range-track-height, 5px)/2);height:5px;height:var(--plyr-range-track-height,5px)}.plyr--full-ui input[type=range]::-ms-track{color:transparent}.plyr--full-ui input[type=range]::-ms-fill-upper,.plyr--full-ui input[type=range]::-ms-track{background:transparent;border:0;border-radius:2.5px;border-radius:calc(var(--plyr-range-track-height, 5px)/2);height:5px;height:var(--plyr-range-track-height,5px);-ms-transition:box-shadow .3s ease;transition:box-shadow .3s ease;user-select:none}.plyr--full-ui input[type=range]::-ms-fill-lower{background:transparent;background:currentColor;border:0;border-radius:2.5px;border-radius:calc(var(--plyr-range-track-height, 5px)/2);height:5px;height:var(--plyr-range-track-height,5px);-ms-transition:box-shadow .3s ease;transition:box-shadow .3s ease;user-select:none}.plyr--full-ui input[type=range]::-ms-thumb{background:#fff;background:var(--plyr-range-thumb-background,#fff);border:0;border-radius:100%;box-shadow:0 1px 1px rgba(35,40,47,.15),0 0 0 1px rgba(35,40,47,.2);box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px rgba(35,40,47,.15),0 0 0 1px rgba(35,40,47,.2));height:13px;height:var(--plyr-range-thumb-height,13px);margin-top:0;position:relative;-ms-transition:all .2s ease;transition:all .2s ease;width:13px;width:var(--plyr-range-thumb-height,13px)}.plyr--full-ui input[type=range]::-ms-tooltip{display:none}.plyr--full-ui input[type=range]:focus{outline:0}.plyr--full-ui input[type=range]::-moz-focus-outer{border:0}.plyr--full-ui input[type=range].plyr__tab-focus::-webkit-slider-runnable-track{outline-color:#00b3ff;outline-color:var(--plyr-tab-focus-color,var(--plyr-color-main,var(--plyr-color-main,#00b3ff)));outline-offset:2px;outline-style:dotted;outline-width:3px}.plyr--full-ui input[type=range].plyr__tab-focus::-moz-range-track{outline-color:#00b3ff;outline-color:var(--plyr-tab-focus-color,var(--plyr-color-main,var(--plyr-color-main,#00b3ff)));outline-offset:2px;outline-style:dotted;outline-width:3px}.plyr--full-ui input[type=range].plyr__tab-focus::-ms-track{outline-color:#00b3ff;outline-color:var(--plyr-tab-focus-color,var(--plyr-color-main,var(--plyr-color-main,#00b3ff)));outline-offset:2px;outline-style:dotted;outline-width:3px}.plyr__poster{background-color:#000;background-color:var(--plyr-video-background,var(--plyr-video-background,#000));background-position:50% 50%;background-repeat:no-repeat;background-size:contain;height:100%;left:0;opacity:0;position:absolute;top:0;transition:opacity .2s ease;width:100%;z-index:1}.plyr--stopped.plyr__poster-enabled .plyr__poster{opacity:1}.plyr--youtube.plyr--paused.plyr__poster-enabled:not(.plyr--stopped) .plyr__poster{display:none}.plyr__time{font-size:13px;font-size:var(--plyr-font-size-time,var(--plyr-font-size-small,13px))}.plyr__time+.plyr__time:before{content:"⁄";margin-right:10px;margin-right:var(--plyr-control-spacing,10px)}@media (max-width:767px){.plyr__time+.plyr__time{display:none}}.plyr__tooltip{background:hsla(0,0%,100%,.9);background:var(--plyr-tooltip-background,hsla(0,0%,100%,.9));border-radius:3px;border-radius:var(--plyr-tooltip-radius,3px);bottom:100%;box-shadow:0 1px 2px rgba(0,0,0,.15);box-shadow:var(--plyr-tooltip-shadow,0 1px 2px rgba(0,0,0,.15));color:#4a5464;color:var(--plyr-tooltip-color,#4a5464);font-size:13px;font-size:var(--plyr-font-size-small,13px);font-weight:400;font-weight:var(--plyr-font-weight-regular,400);left:50%;line-height:1.3;margin-bottom:10px;margin-bottom:calc(var(--plyr-control-spacing, 10px)/2*2);opacity:0;padding:5px 7.5px;padding:calc(var(--plyr-control-spacing, 10px)/2) calc(var(--plyr-control-spacing, 10px)/2*1.5);pointer-events:none;position:absolute;transform:translate(-50%,10px) scale(.8);transform-origin:50% 100%;transition:transform .2s ease .1s,opacity .2s ease .1s;white-space:nowrap;z-index:2}.plyr__tooltip:before{border-left:4px solid transparent;border-left:var(--plyr-tooltip-arrow-size,4px) solid transparent;border-right:4px solid transparent;border-right:var(--plyr-tooltip-arrow-size,4px) solid transparent;border-top:4px solid hsla(0,0%,100%,.9);border-top:var(--plyr-tooltip-arrow-size,4px) solid var(--plyr-tooltip-background,hsla(0,0%,100%,.9));bottom:-4px;bottom:calc(var(--plyr-tooltip-arrow-size, 4px)*-1);content:"";height:0;left:50%;position:absolute;transform:translateX(-50%);width:0;z-index:2}.plyr .plyr__control.plyr__tab-focus .plyr__tooltip,.plyr .plyr__control:hover .plyr__tooltip,.plyr__tooltip--visible{opacity:1;transform:translate(-50%) scale(1)}.plyr .plyr__control:hover .plyr__tooltip{z-index:3}.plyr__controls>.plyr__control:first-child+.plyr__control .plyr__tooltip,.plyr__controls>.plyr__control:first-child .plyr__tooltip{left:0;transform:translateY(10px) scale(.8);transform-origin:0 100%}.plyr__controls>.plyr__control:first-child+.plyr__control .plyr__tooltip:before,.plyr__controls>.plyr__control:first-child .plyr__tooltip:before{left:16px;left:calc(var(--plyr-control-icon-size, 18px)/2 + var(--plyr-control-spacing, 10px)*.7)}.plyr__controls>.plyr__control:last-child .plyr__tooltip{left:auto;right:0;transform:translateY(10px) scale(.8);transform-origin:100% 100%}.plyr__controls>.plyr__control:last-child .plyr__tooltip:before{left:auto;right:16px;right:calc(var(--plyr-control-icon-size, 18px)/2 + var(--plyr-control-spacing, 10px)*.7);transform:translateX(50%)}.plyr__controls>.plyr__control:first-child+.plyr__control.plyr__tab-focus .plyr__tooltip,.plyr__controls>.plyr__control:first-child+.plyr__control .plyr__tooltip--visible,.plyr__controls>.plyr__control:first-child+.plyr__control:hover .plyr__tooltip,.plyr__controls>.plyr__control:first-child.plyr__tab-focus .plyr__tooltip,.plyr__controls>.plyr__control:first-child .plyr__tooltip--visible,.plyr__controls>.plyr__control:first-child:hover .plyr__tooltip,.plyr__controls>.plyr__control:last-child.plyr__tab-focus .plyr__tooltip,.plyr__controls>.plyr__control:last-child .plyr__tooltip--visible,.plyr__controls>.plyr__control:last-child:hover .plyr__tooltip{transform:translate(0) scale(1)}.plyr__progress{left:6.5px;left:calc(var(--plyr-range-thumb-height, 13px)*.5);margin-right:13px;margin-right:var(--plyr-range-thumb-height,13px);position:relative}.plyr__progress__buffer,.plyr__progress input[type=range]{margin-left:-6.5px;margin-left:calc(var(--plyr-range-thumb-height, 13px)*-.5);margin-right:-6.5px;margin-right:calc(var(--plyr-range-thumb-height, 13px)*-.5);width:calc(100% + 13px);width:calc(100% + var(--plyr-range-thumb-height, 13px))}.plyr__progress input[type=range]{position:relative;z-index:2}.plyr__progress .plyr__tooltip{font-size:13px;font-size:var(--plyr-font-size-time,var(--plyr-font-size-small,13px));left:0}.plyr__progress__buffer{-webkit-appearance:none;background:transparent;border:0;border-radius:100px;height:5px;height:var(--plyr-range-track-height,5px);left:0;margin-top:-2.5px;margin-top:calc(var(--plyr-range-track-height, 5px)/2*-1);padding:0;position:absolute;top:50%}.plyr__progress__buffer::-webkit-progress-bar{background:transparent}.plyr__progress__buffer::-webkit-progress-value{background:currentColor;border-radius:100px;min-width:5px;min-width:var(--plyr-range-track-height,5px);-webkit-transition:width .2s ease;transition:width .2s ease}.plyr__progress__buffer::-moz-progress-bar{background:currentColor;border-radius:100px;min-width:5px;min-width:var(--plyr-range-track-height,5px);-moz-transition:width .2s ease;transition:width .2s ease}.plyr__progress__buffer::-ms-fill{border-radius:100px;-ms-transition:width .2s ease;transition:width .2s ease}.plyr--loading .plyr__progress__buffer{animation:plyr-progress 1s linear infinite;background-image:linear-gradient(-45deg,rgba(35,40,47,.6) 25%,transparent 0,transparent 50%,rgba(35,40,47,.6) 0,rgba(35,40,47,.6) 75%,transparent 0,transparent);background-image:linear-gradient(-45deg,var(--plyr-progress-loading-background,rgba(35,40,47,.6)) 25%,transparent 25%,transparent 50%,var(--plyr-progress-loading-background,rgba(35,40,47,.6)) 50%,var(--plyr-progress-loading-background,rgba(35,40,47,.6)) 75%,transparent 75%,transparent);background-repeat:repeat-x;background-size:25px 25px;background-size:var(--plyr-progress-loading-size,25px) var(--plyr-progress-loading-size,25px);color:transparent}.plyr--video.plyr--loading .plyr__progress__buffer{background-color:hsla(0,0%,100%,.25);background-color:var(--plyr-video-progress-buffered-background,hsla(0,0%,100%,.25))}.plyr--audio.plyr--loading .plyr__progress__buffer{background-color:rgba(193,200,209,.6);background-color:var(--plyr-audio-progress-buffered-background,rgba(193,200,209,.6))}.plyr__volume{align-items:center;display:flex;max-width:110px;min-width:80px;position:relative;width:20%}.plyr__volume input[type=range]{margin-left:5px;margin-left:calc(var(--plyr-control-spacing, 10px)/2);margin-right:5px;margin-right:calc(var(--plyr-control-spacing, 10px)/2);position:relative;z-index:2}.plyr--is-ios .plyr__volume{min-width:0;width:auto}.plyr--audio{display:block}.plyr--audio .plyr__controls{background:#fff;background:var(--plyr-audio-controls-background,#fff);border-radius:inherit;color:#4a5464;color:var(--plyr-audio-control-color,#4a5464);padding:10px;padding:var(--plyr-control-spacing,10px)}.plyr--audio .plyr__control.plyr__tab-focus,.plyr--audio .plyr__control:hover,.plyr--audio .plyr__control[aria-expanded=true]{background:#00b3ff;background:var(--plyr-audio-control-background-hover,var(--plyr-color-main,var(--plyr-color-main,#00b3ff)));color:#fff;color:var(--plyr-audio-control-color-hover,#fff)}.plyr--full-ui.plyr--audio input[type=range]::-webkit-slider-runnable-track{background-color:rgba(193,200,209,.6);background-color:var(--plyr-audio-range-track-background,var(--plyr-audio-progress-buffered-background,rgba(193,200,209,.6)))}.plyr--full-ui.plyr--audio input[type=range]::-moz-range-track{background-color:rgba(193,200,209,.6);background-color:var(--plyr-audio-range-track-background,var(--plyr-audio-progress-buffered-background,rgba(193,200,209,.6)))}.plyr--full-ui.plyr--audio input[type=range]::-ms-track{background-color:rgba(193,200,209,.6);background-color:var(--plyr-audio-range-track-background,var(--plyr-audio-progress-buffered-background,rgba(193,200,209,.6)))}.plyr--full-ui.plyr--audio input[type=range]:active::-webkit-slider-thumb{box-shadow:0 1px 1px rgba(35,40,47,.15),0 0 0 1px rgba(35,40,47,.2),0 0 0 3px rgba(35,40,47,.1);box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px rgba(35,40,47,.15),0 0 0 1px rgba(35,40,47,.2)),0 0 0 var(--plyr-range-thumb-active-shadow-width,3px) var(--plyr-audio-range-thumb-active-shadow-color,rgba(35,40,47,.1))}.plyr--full-ui.plyr--audio input[type=range]:active::-moz-range-thumb{box-shadow:0 1px 1px rgba(35,40,47,.15),0 0 0 1px rgba(35,40,47,.2),0 0 0 3px rgba(35,40,47,.1);box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px rgba(35,40,47,.15),0 0 0 1px rgba(35,40,47,.2)),0 0 0 var(--plyr-range-thumb-active-shadow-width,3px) var(--plyr-audio-range-thumb-active-shadow-color,rgba(35,40,47,.1))}.plyr--full-ui.plyr--audio input[type=range]:active::-ms-thumb{box-shadow:0 1px 1px rgba(35,40,47,.15),0 0 0 1px rgba(35,40,47,.2),0 0 0 3px rgba(35,40,47,.1);box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px rgba(35,40,47,.15),0 0 0 1px rgba(35,40,47,.2)),0 0 0 var(--plyr-range-thumb-active-shadow-width,3px) var(--plyr-audio-range-thumb-active-shadow-color,rgba(35,40,47,.1))}.plyr--audio .plyr__progress__buffer{color:rgba(193,200,209,.6);color:var(--plyr-audio-progress-buffered-background,rgba(193,200,209,.6))}.plyr--video{background:#000;background:var(--plyr-video-background,var(--plyr-video-background,#000));overflow:hidden}.plyr--video.plyr--menu-open{overflow:visible}.plyr__video-wrapper{background:#000;background:var(--plyr-video-background,var(--plyr-video-background,#000));height:100%;margin:auto;overflow:hidden;position:relative;width:100%}.plyr__video-embed,.plyr__video-wrapper--fixed-ratio{aspect-ratio:16/9}@supports not (aspect-ratio:16/9){.plyr__video-embed,.plyr__video-wrapper--fixed-ratio{height:0;padding-bottom:56.25%;position:relative}}.plyr__video-embed iframe,.plyr__video-wrapper--fixed-ratio video{border:0;height:100%;left:0;position:absolute;top:0;width:100%}.plyr--full-ui .plyr__video-embed>.plyr__video-embed__container{padding-bottom:240%;position:relative;transform:translateY(-38.28125%)}.plyr--video .plyr__controls{background:linear-gradient(transparent,rgba(0,0,0,.75));background:var(--plyr-video-controls-background,linear-gradient(transparent,rgba(0,0,0,.75)));border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;bottom:0;color:#fff;color:var(--plyr-video-control-color,#fff);left:0;padding:5px;padding:calc(var(--plyr-control-spacing, 10px)/2);padding-top:20px;padding-top:calc(var(--plyr-control-spacing, 10px)*2);position:absolute;right:0;transition:opacity .4s ease-in-out,transform .4s ease-in-out;z-index:3}@media (min-width:480px){.plyr--video .plyr__controls{padding:10px;padding:var(--plyr-control-spacing,10px);padding-top:35px;padding-top:calc(var(--plyr-control-spacing, 10px)*3.5)}}.plyr--video.plyr--hide-controls .plyr__controls{opacity:0;pointer-events:none;transform:translateY(100%)}.plyr--video .plyr__control.plyr__tab-focus,.plyr--video .plyr__control:hover,.plyr--video .plyr__control[aria-expanded=true]{background:#00b3ff;background:var(--plyr-video-control-background-hover,var(--plyr-color-main,var(--plyr-color-main,#00b3ff)));color:#fff;color:var(--plyr-video-control-color-hover,#fff)}.plyr__control--overlaid{background:#00b3ff;background:var(--plyr-video-control-background-hover,var(--plyr-color-main,var(--plyr-color-main,#00b3ff)));border:0;border-radius:100%;color:#fff;color:var(--plyr-video-control-color,#fff);display:none;left:50%;opacity:.9;padding:15px;padding:calc(var(--plyr-control-spacing, 10px)*1.5);position:absolute;top:50%;transform:translate(-50%,-50%);transition:.3s;z-index:2}.plyr__control--overlaid svg{left:2px;position:relative}.plyr__control--overlaid:focus,.plyr__control--overlaid:hover{opacity:1}.plyr--playing .plyr__control--overlaid{opacity:0;visibility:hidden}.plyr--full-ui.plyr--video .plyr__control--overlaid{display:block}.plyr--full-ui.plyr--video input[type=range]::-webkit-slider-runnable-track{background-color:hsla(0,0%,100%,.25);background-color:var(--plyr-video-range-track-background,var(--plyr-video-progress-buffered-background,hsla(0,0%,100%,.25)))}.plyr--full-ui.plyr--video input[type=range]::-moz-range-track{background-color:hsla(0,0%,100%,.25);background-color:var(--plyr-video-range-track-background,var(--plyr-video-progress-buffered-background,hsla(0,0%,100%,.25)))}.plyr--full-ui.plyr--video input[type=range]::-ms-track{background-color:hsla(0,0%,100%,.25);background-color:var(--plyr-video-range-track-background,var(--plyr-video-progress-buffered-background,hsla(0,0%,100%,.25)))}.plyr--full-ui.plyr--video input[type=range]:active::-webkit-slider-thumb{box-shadow:0 1px 1px rgba(35,40,47,.15),0 0 0 1px rgba(35,40,47,.2),0 0 0 3px hsla(0,0%,100%,.5);box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px rgba(35,40,47,.15),0 0 0 1px rgba(35,40,47,.2)),0 0 0 var(--plyr-range-thumb-active-shadow-width,3px) var(--plyr-audio-range-thumb-active-shadow-color,hsla(0,0%,100%,.5))}.plyr--full-ui.plyr--video input[type=range]:active::-moz-range-thumb{box-shadow:0 1px 1px rgba(35,40,47,.15),0 0 0 1px rgba(35,40,47,.2),0 0 0 3px hsla(0,0%,100%,.5);box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px rgba(35,40,47,.15),0 0 0 1px rgba(35,40,47,.2)),0 0 0 var(--plyr-range-thumb-active-shadow-width,3px) var(--plyr-audio-range-thumb-active-shadow-color,hsla(0,0%,100%,.5))}.plyr--full-ui.plyr--video input[type=range]:active::-ms-thumb{box-shadow:0 1px 1px rgba(35,40,47,.15),0 0 0 1px rgba(35,40,47,.2),0 0 0 3px hsla(0,0%,100%,.5);box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px rgba(35,40,47,.15),0 0 0 1px rgba(35,40,47,.2)),0 0 0 var(--plyr-range-thumb-active-shadow-width,3px) var(--plyr-audio-range-thumb-active-shadow-color,hsla(0,0%,100%,.5))}.plyr--video .plyr__progress__buffer{color:hsla(0,0%,100%,.25);color:var(--plyr-video-progress-buffered-background,hsla(0,0%,100%,.25))}.plyr:fullscreen{background:#000;border-radius:0!important;height:100%;margin:0;width:100%}.plyr:fullscreen video{height:100%}.plyr:fullscreen .plyr__control .icon--exit-fullscreen{display:block}.plyr:fullscreen .plyr__control .icon--exit-fullscreen+svg{display:none}.plyr:fullscreen.plyr--hide-controls{cursor:none}@media (min-width:1024px){.plyr:-webkit-full-screen .plyr__captions{font-size:21px;font-size:var(--plyr-font-size-xlarge,21px)}.plyr:fullscreen .plyr__captions{font-size:21px;font-size:var(--plyr-font-size-xlarge,21px)}}.plyr:-webkit-full-screen{background:#000;border-radius:0!important;height:100%;margin:0;width:100%}.plyr:-webkit-full-screen video{height:100%}.plyr:-webkit-full-screen .plyr__control .icon--exit-fullscreen{display:block}.plyr:-webkit-full-screen .plyr__control .icon--exit-fullscreen+svg{display:none}.plyr:-webkit-full-screen.plyr--hide-controls{cursor:none}@media (min-width:1024px){.plyr:-webkit-full-screen .plyr__captions{font-size:21px;font-size:var(--plyr-font-size-xlarge,21px)}}.plyr:-moz-full-screen{background:#000;border-radius:0!important;height:100%;margin:0;width:100%}.plyr:-moz-full-screen video{height:100%}.plyr:-moz-full-screen .plyr__control .icon--exit-fullscreen{display:block}.plyr:-moz-full-screen .plyr__control .icon--exit-fullscreen+svg{display:none}.plyr:-moz-full-screen.plyr--hide-controls{cursor:none}@media (min-width:1024px){.plyr:-moz-full-screen .plyr__captions{font-size:21px;font-size:var(--plyr-font-size-xlarge,21px)}}.plyr:-ms-fullscreen{background:#000;border-radius:0!important;height:100%;margin:0;width:100%}.plyr:-ms-fullscreen video{height:100%}.plyr:-ms-fullscreen .plyr__control .icon--exit-fullscreen{display:block}.plyr:-ms-fullscreen .plyr__control .icon--exit-fullscreen+svg{display:none}.plyr:-ms-fullscreen.plyr--hide-controls{cursor:none}@media (min-width:1024px){.plyr:-ms-fullscreen .plyr__captions{font-size:21px;font-size:var(--plyr-font-size-xlarge,21px)}}.plyr--fullscreen-fallback{background:#000;border-radius:0!important;bottom:0;display:block;height:100%;left:0;margin:0;position:fixed;right:0;top:0;width:100%;z-index:10000000}.plyr--fullscreen-fallback video{height:100%}.plyr--fullscreen-fallback .plyr__control .icon--exit-fullscreen{display:block}.plyr--fullscreen-fallback .plyr__control .icon--exit-fullscreen+svg{display:none}.plyr--fullscreen-fallback.plyr--hide-controls{cursor:none}@media (min-width:1024px){.plyr--fullscreen-fallback .plyr__captions{font-size:21px;font-size:var(--plyr-font-size-xlarge,21px)}}.plyr__ads{border-radius:inherit;bottom:0;cursor:pointer;left:0;overflow:hidden;position:absolute;right:0;top:0;z-index:-1}.plyr__ads>div,.plyr__ads>div iframe{height:100%;position:absolute;width:100%}.plyr__ads:after{background:#23282f;border-radius:2px;bottom:10px;bottom:var(--plyr-control-spacing,10px);color:#fff;content:attr(data-badge-text);font-size:11px;padding:2px 6px;pointer-events:none;position:absolute;right:10px;right:var(--plyr-control-spacing,10px);z-index:3}.plyr__ads:empty:after{display:none}.plyr__cues{background:currentColor;display:block;height:5px;height:var(--plyr-range-track-height,5px);left:0;margin:-var(--plyr-range-track-height,5px) /2 0 0;opacity:.8;position:absolute;top:50%;width:3px;z-index:3}.plyr__preview-thumb{background-color:hsla(0,0%,100%,.9);background-color:var(--plyr-tooltip-background,hsla(0,0%,100%,.9));border-radius:3px;bottom:100%;box-shadow:0 1px 2px rgba(0,0,0,.15);box-shadow:var(--plyr-tooltip-shadow,0 1px 2px rgba(0,0,0,.15));margin-bottom:10px;margin-bottom:calc(var(--plyr-control-spacing, 10px)/2*2);opacity:0;padding:3px;padding:var(--plyr-tooltip-radius,3px);pointer-events:none;position:absolute;transform:translateY(10px) scale(.8);transform-origin:50% 100%;transition:transform .2s ease .1s,opacity .2s ease .1s;z-index:2}.plyr__preview-thumb--is-shown{opacity:1;transform:translate(0) scale(1)}.plyr__preview-thumb:before{border-left:4px solid transparent;border-left:var(--plyr-tooltip-arrow-size,4px) solid transparent;border-right:4px solid transparent;border-right:var(--plyr-tooltip-arrow-size,4px) solid transparent;border-top:4px solid hsla(0,0%,100%,.9);border-top:var(--plyr-tooltip-arrow-size,4px) solid var(--plyr-tooltip-background,hsla(0,0%,100%,.9));bottom:-4px;bottom:calc(var(--plyr-tooltip-arrow-size, 4px)*-1);content:"";height:0;left:50%;position:absolute;transform:translateX(-50%);width:0;z-index:2}.plyr__preview-thumb__image-container{background:#c1c8d1;border-radius:2px;border-radius:calc(var(--plyr-tooltip-radius, 3px) - 1px);overflow:hidden;position:relative;z-index:0}.plyr__preview-thumb__image-container img{height:100%;left:0;max-height:none;max-width:none;position:absolute;top:0;width:100%}.plyr__preview-thumb__time-container{bottom:6px;left:0;position:absolute;right:0;white-space:nowrap;z-index:3}.plyr__preview-thumb__time-container span{background-color:rgba(0,0,0,.55);border-radius:2px;border-radius:calc(var(--plyr-tooltip-radius, 3px) - 1px);color:#fff;font-size:13px;font-size:var(--plyr-font-size-time,var(--plyr-font-size-small,13px));padding:3px 6px}.plyr__preview-scrubbing{bottom:0;filter:blur(1px);height:100%;left:0;margin:auto;opacity:0;overflow:hidden;pointer-events:none;position:absolute;right:0;top:0;transition:opacity .3s ease;width:100%;z-index:1}.plyr__preview-scrubbing--is-shown{opacity:1}.plyr__preview-scrubbing img{height:100%;left:0;max-height:none;max-width:none;-o-object-fit:contain;object-fit:contain;position:absolute;top:0;width:100%}.plyr--no-transition{transition:none!important}.plyr__sr-only{clip:rect(1px,1px,1px,1px);border:0!important;height:1px!important;overflow:hidden;padding:0!important;position:absolute!important;width:1px!important}.plyr [hidden]{display:none!important} \ No newline at end of file diff --git a/assets/vendor/plyr/dist/plyr.js b/assets/vendor/plyr/dist/plyr.js index b35efb7..8867836 100644 --- a/assets/vendor/plyr/dist/plyr.js +++ b/assets/vendor/plyr/dist/plyr.js @@ -1081,7 +1081,7 @@ typeof navigator === "object" && (function (global, factory) { set(input) { if (player.quality === input) { return; - } // If we're using an an external handler... + } // If we're using an external handler... if (player.config.quality.forced && is.function(player.config.quality.onChange)) { @@ -3372,7 +3372,7 @@ typeof navigator === "object" && (function (global, factory) { // Sprite (for icons) loadSprite: true, iconPrefix: 'plyr', - iconUrl: 'https://cdn.plyr.io/3.6.9/plyr.svg', + iconUrl: 'https://cdn.plyr.io/3.6.10/plyr.svg', // Blank video (used to prevent errors on source change) blankVideo: 'https://cdn.plyr.io/static/blank.mp4', // Quality default diff --git a/assets/vendor/plyr/dist/plyr.min.js b/assets/vendor/plyr/dist/plyr.min.js index 9be8519..e36ce33 100644 --- a/assets/vendor/plyr/dist/plyr.min.js +++ b/assets/vendor/plyr/dist/plyr.min.js @@ -1,2 +1,2 @@ -"object"==typeof navigator&&function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define("Plyr",t):(e="undefined"!=typeof globalThis?globalThis:e||self).Plyr=t()}(this,(function(){"use strict";function e(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function t(e,t){for(var i=0;it){var i=function(e){var t="".concat(e).match(/(?:\.(\d+))?(?:[eE]([+-]?\d+))?$/);return t?Math.max(0,(t[1]?t[1].length:0)-(t[2]?+t[2]:0)):0}(t);return parseFloat(e.toFixed(i))}return Math.round(e/t)*t}var T=function(){function e(t,i){(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")})(this,e),b(t)?this.element=t:p(t)&&(this.element=document.querySelector(t)),b(this.element)&&v(this.element.rangeTouch)&&(this.config=n({},a,{},i),this.init())}return function(e,i,s){i&&t(e.prototype,i),s&&t(e,s)}(e,[{key:"init",value:function(){e.enabled&&(this.config.addCSS&&(this.element.style.userSelect="none",this.element.style.webKitUserSelect="none",this.element.style.touchAction="manipulation"),this.listeners(!0),this.element.rangeTouch=this)}},{key:"destroy",value:function(){e.enabled&&(this.config.addCSS&&(this.element.style.userSelect="",this.element.style.webKitUserSelect="",this.element.style.touchAction=""),this.listeners(!1),this.element.rangeTouch=null)}},{key:"listeners",value:function(e){var t=this,i=e?"addEventListener":"removeEventListener";["touchstart","touchmove","touchend"].forEach((function(e){t.element[i](e,(function(e){return t.set(e)}),!1)}))}},{key:"get",value:function(t){if(!e.enabled||!y(t))return null;var i,s=t.target,n=t.changedTouches[0],a=parseFloat(s.getAttribute("min"))||0,l=parseFloat(s.getAttribute("max"))||100,o=parseFloat(s.getAttribute("step"))||1,r=s.getBoundingClientRect(),c=100/r.width*(this.config.thumbWidth/2)/100;return 0>(i=100/r.width*(n.clientX-r.left))?i=0:100i?i-=(100-2*i)*c:50null!=e?e.constructor:null,C=(e,t)=>Boolean(e&&t&&e instanceof t),A=e=>null==e,S=e=>k(e)===Object,E=e=>k(e)===String,P=e=>k(e)===Function,N=e=>Array.isArray(e),x=e=>C(e,NodeList),M=e=>A(e)||(E(e)||N(e)||x(e))&&!e.length||S(e)&&!Object.keys(e).length;var I=A,L=S,$=e=>k(e)===Number&&!Number.isNaN(e),_=E,O=e=>k(e)===Boolean,j=P,q=N,D=x,H=e=>null!==e&&"object"==typeof e&&1===e.nodeType&&"object"==typeof e.style&&"object"==typeof e.ownerDocument,F=e=>C(e,Event),R=e=>C(e,KeyboardEvent),V=e=>C(e,TextTrack)||!A(e)&&E(e.kind),B=e=>C(e,Promise)&&P(e.then),U=e=>{if(C(e,window.URL))return!0;if(!E(e))return!1;let t=e;e.startsWith("http://")&&e.startsWith("https://")||(t=`http://${e}`);try{return!M(new URL(t).hostname)}catch(e){return!1}},W=M;const z=(()=>{const e=document.createElement("span"),t={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"},i=Object.keys(t).find((t=>void 0!==e.style[t]));return!!_(i)&&t[i]})();function K(e,t){setTimeout((()=>{try{e.hidden=!0,e.offsetHeight,e.hidden=!1}catch(e){}}),t)}const Y={isIE:Boolean(window.document.documentMode),isEdge:window.navigator.userAgent.includes("Edge"),isWebkit:"WebkitAppearance"in document.documentElement.style&&!/Edge/.test(navigator.userAgent),isIPhone:/(iPhone|iPod)/gi.test(navigator.platform),isIos:"MacIntel"===navigator.platform&&navigator.maxTouchPoints>1||/(iPad|iPhone|iPod)/gi.test(navigator.platform)};function Q(e,t){return t.split(".").reduce(((e,t)=>e&&e[t]),e)}function X(e={},...t){if(!t.length)return e;const i=t.shift();return L(i)?(Object.keys(i).forEach((t=>{L(i[t])?(Object.keys(e).includes(t)||Object.assign(e,{[t]:{}}),X(e[t],i[t])):Object.assign(e,{[t]:i[t]})})),X(e,...t)):e}function J(e,t){const i=e.length?e:[e];Array.from(i).reverse().forEach(((e,i)=>{const s=i>0?t.cloneNode(!0):t,n=e.parentNode,a=e.nextSibling;s.appendChild(e),a?n.insertBefore(s,a):n.appendChild(s)}))}function G(e,t){H(e)&&!W(t)&&Object.entries(t).filter((([,e])=>!I(e))).forEach((([t,i])=>e.setAttribute(t,i)))}function Z(e,t,i){const s=document.createElement(e);return L(t)&&G(s,t),_(i)&&(s.innerText=i),s}function ee(e,t,i,s){H(t)&&t.appendChild(Z(e,i,s))}function te(e){D(e)||q(e)?Array.from(e).forEach(te):H(e)&&H(e.parentNode)&&e.parentNode.removeChild(e)}function ie(e){if(!H(e))return;let{length:t}=e.childNodes;for(;t>0;)e.removeChild(e.lastChild),t-=1}function se(e,t){return H(t)&&H(t.parentNode)&&H(e)?(t.parentNode.replaceChild(e,t),e):null}function ne(e,t){if(!_(e)||W(e))return{};const i={},s=X({},t);return e.split(",").forEach((e=>{const t=e.trim(),n=t.replace(".",""),a=t.replace(/[[\]]/g,"").split("="),[l]=a,o=a.length>1?a[1].replace(/["']/g,""):"";switch(t.charAt(0)){case".":_(s.class)?i.class=`${s.class} ${n}`:i.class=n;break;case"#":i.id=t.replace("#","");break;case"[":i[l]=o}})),X(s,i)}function ae(e,t){if(!H(e))return;let i=t;O(i)||(i=!e.hidden),e.hidden=i}function le(e,t,i){if(D(e))return Array.from(e).map((e=>le(e,t,i)));if(H(e)){let s="toggle";return void 0!==i&&(s=i?"add":"remove"),e.classList[s](t),e.classList.contains(t)}return!1}function oe(e,t){return H(e)&&e.classList.contains(t)}function re(e,t){const{prototype:i}=Element;return(i.matches||i.webkitMatchesSelector||i.mozMatchesSelector||i.msMatchesSelector||function(){return Array.from(document.querySelectorAll(t)).includes(this)}).call(e,t)}function ce(e){return this.elements.container.querySelectorAll(e)}function he(e){return this.elements.container.querySelector(e)}function ue(e=null,t=!1){H(e)&&(e.focus({preventScroll:!0}),t&&le(e,this.config.classNames.tabFocus))}const de={"audio/ogg":"vorbis","audio/wav":"1","video/webm":"vp8, vorbis","video/mp4":"avc1.42E01E, mp4a.40.2","video/ogg":"theora"},me={audio:"canPlayType"in document.createElement("audio"),video:"canPlayType"in document.createElement("video"),check(e,t,i){const s=Y.isIPhone&&i&&me.playsinline,n=me[e]||"html5"!==t;return{api:n,ui:n&&me.rangeInput&&("video"!==e||!Y.isIPhone||s)}},pip:!(Y.isIPhone||!j(Z("video").webkitSetPresentationMode)&&(!document.pictureInPictureEnabled||Z("video").disablePictureInPicture)),airplay:j(window.WebKitPlaybackTargetAvailabilityEvent),playsinline:"playsInline"in document.createElement("video"),mime(e){if(W(e))return!1;const[t]=e.split("/");let i=e;if(!this.isHTML5||t!==this.type)return!1;Object.keys(de).includes(i)&&(i+=`; codecs="${de[e]}"`);try{return Boolean(i&&this.media.canPlayType(i).replace(/no/,""))}catch(e){return!1}},textTracks:"textTracks"in document.createElement("video"),rangeInput:(()=>{const e=document.createElement("input");return e.type="range","range"===e.type})(),touch:"ontouchstart"in document.documentElement,transitions:!1!==z,reducedMotion:"matchMedia"in window&&window.matchMedia("(prefers-reduced-motion)").matches},pe=(()=>{let e=!1;try{const t=Object.defineProperty({},"passive",{get:()=>(e=!0,null)});window.addEventListener("test",null,t),window.removeEventListener("test",null,t)}catch(e){}return e})();function ge(e,t,i,s=!1,n=!0,a=!1){if(!e||!("addEventListener"in e)||W(t)||!j(i))return;const l=t.split(" ");let o=a;pe&&(o={passive:n,capture:a}),l.forEach((t=>{this&&this.eventListeners&&s&&this.eventListeners.push({element:e,type:t,callback:i,options:o}),e[s?"addEventListener":"removeEventListener"](t,i,o)}))}function fe(e,t="",i,s=!0,n=!1){ge.call(this,e,t,i,!0,s,n)}function be(e,t="",i,s=!0,n=!1){ge.call(this,e,t,i,!1,s,n)}function ye(e,t="",i,s=!0,n=!1){const a=(...l)=>{be(e,t,a,s,n),i.apply(this,l)};ge.call(this,e,t,a,!0,s,n)}function ve(e,t="",i=!1,s={}){if(!H(e)||W(t))return;const n=new CustomEvent(t,{bubbles:i,detail:{...s,plyr:this}});e.dispatchEvent(n)}function we(){this&&this.eventListeners&&(this.eventListeners.forEach((e=>{const{element:t,type:i,callback:s,options:n}=e;t.removeEventListener(i,s,n)})),this.eventListeners=[])}function Te(){return new Promise((e=>this.ready?setTimeout(e,0):fe.call(this,this.elements.container,"ready",e))).then((()=>{}))}function ke(e){B(e)&&e.then(null,(()=>{}))}function Ce(e){return q(e)?e.filter(((t,i)=>e.indexOf(t)===i)):e}function Ae(e,t){return q(e)&&e.length?e.reduce(((e,i)=>Math.abs(i-t)({...e,[t/i]:[t,i]})),{});function Pe(e){if(!(q(e)||_(e)&&e.includes(":")))return!1;return(q(e)?e:e.split(":")).map(Number).every($)}function Ne(e){if(!q(e)||!e.every($))return null;const[t,i]=e,s=(e,t)=>0===t?e:s(t,e%t),n=s(t,i);return[t/n,i/n]}function xe(e){const t=e=>Pe(e)?e.split(":").map(Number):null;let i=t(e);if(null===i&&(i=t(this.config.ratio)),null===i&&!W(this.embed)&&q(this.embed.ratio)&&({ratio:i}=this.embed),null===i&&this.isHTML5){const{videoWidth:e,videoHeight:t}=this.media;i=[e,t]}return Ne(i)}function Me(e){if(!this.isVideo)return{};const{wrapper:t}=this.elements,i=xe.call(this,e);if(!q(i))return{};const[s,n]=Ne(i),a=100/s*n;if(Se(`aspect-ratio: ${s}/${n}`)?t.style.aspectRatio=`${s}/${n}`:t.style.paddingBottom=`${a}%`,this.isVimeo&&!this.config.vimeo.premium&&this.supported.ui){const e=100/this.media.offsetWidth*parseInt(window.getComputedStyle(this.media).paddingBottom,10),i=(e-a)/(e/50);this.fullscreen.active?t.style.paddingBottom=null:this.media.style.transform=`translateY(-${i}%)`}else this.isHTML5&&t.classList.add(this.config.classNames.videoFixedRatio);return{padding:a,ratio:i}}function Ie(e,t,i=.05){const s=e/t,n=Ae(Object.keys(Ee),s);return Math.abs(n-s)<=i?Ee[n]:[e,t]}const Le={getSources(){if(!this.isHTML5)return[];return Array.from(this.media.querySelectorAll("source")).filter((e=>{const t=e.getAttribute("type");return!!W(t)||me.mime.call(this,t)}))},getQualityOptions(){return this.config.quality.forced?this.config.quality.options:Le.getSources.call(this).map((e=>Number(e.getAttribute("size")))).filter(Boolean)},setup(){if(!this.isHTML5)return;const e=this;e.options.speed=e.config.speed.options,W(this.config.ratio)||Me.call(e),Object.defineProperty(e.media,"quality",{get(){const t=Le.getSources.call(e).find((t=>t.getAttribute("src")===e.source));return t&&Number(t.getAttribute("size"))},set(t){if(e.quality!==t){if(e.config.quality.forced&&j(e.config.quality.onChange))e.config.quality.onChange(t);else{const i=Le.getSources.call(e).find((e=>Number(e.getAttribute("size"))===t));if(!i)return;const{currentTime:s,paused:n,preload:a,readyState:l,playbackRate:o}=e.media;e.media.src=i.getAttribute("src"),("none"!==a||l)&&(e.once("loadedmetadata",(()=>{e.speed=o,e.currentTime=s,n||ke(e.play())})),e.media.load())}ve.call(e,e.media,"qualitychange",!1,{quality:t})}}})},cancelRequests(){this.isHTML5&&(te(Le.getSources.call(this)),this.media.setAttribute("src",this.config.blankVideo),this.media.load(),this.debug.log("Cancelled network requests"))}};function $e(e,...t){return W(e)?e:e.toString().replace(/{(\d+)}/g,((e,i)=>t[i].toString()))}const _e=(e="",t="",i="")=>e.replace(new RegExp(t.toString().replace(/([.*+?^=!:${}()|[\]/\\])/g,"\\$1"),"g"),i.toString()),Oe=(e="")=>e.toString().replace(/\w\S*/g,(e=>e.charAt(0).toUpperCase()+e.substr(1).toLowerCase()));function je(e=""){let t=e.toString();return t=function(e=""){let t=e.toString();return t=_e(t,"-"," "),t=_e(t,"_"," "),t=Oe(t),_e(t," ","")}(t),t.charAt(0).toLowerCase()+t.slice(1)}function qe(e){const t=document.createElement("div");return t.appendChild(e),t.innerHTML}const De={pip:"PIP",airplay:"AirPlay",html5:"HTML5",vimeo:"Vimeo",youtube:"YouTube"},He={get(e="",t={}){if(W(e)||W(t))return"";let i=Q(t.i18n,e);if(W(i))return Object.keys(De).includes(e)?De[e]:"";const s={"{seektime}":t.seekTime,"{title}":t.title};return Object.entries(s).forEach((([e,t])=>{i=_e(i,e,t)})),i}};class Fe{constructor(t){e(this,"get",(e=>{if(!Fe.supported||!this.enabled)return null;const t=window.localStorage.getItem(this.key);if(W(t))return null;const i=JSON.parse(t);return _(e)&&e.length?i[e]:i})),e(this,"set",(e=>{if(!Fe.supported||!this.enabled)return;if(!L(e))return;let t=this.get();W(t)&&(t={}),X(t,e);try{window.localStorage.setItem(this.key,JSON.stringify(t))}catch(e){}})),this.enabled=t.config.storage.enabled,this.key=t.config.storage.key}static get supported(){try{if(!("localStorage"in window))return!1;const e="___test";return window.localStorage.setItem(e,e),window.localStorage.removeItem(e),!0}catch(e){return!1}}}function Re(e,t="text"){return new Promise(((i,s)=>{try{const s=new XMLHttpRequest;if(!("withCredentials"in s))return;s.addEventListener("load",(()=>{if("text"===t)try{i(JSON.parse(s.responseText))}catch(e){i(s.responseText)}else i(s.response)})),s.addEventListener("error",(()=>{throw new Error(s.status)})),s.open("GET",e,!0),s.responseType=t,s.send()}catch(e){s(e)}}))}function Ve(e,t){if(!_(e))return;const i=_(t);let s=!1;const n=()=>null!==document.getElementById(t),a=(e,t)=>{e.innerHTML=t,i&&n()||document.body.insertAdjacentElement("afterbegin",e)};if(!i||!n()){const n=Fe.supported,l=document.createElement("div");if(l.setAttribute("hidden",""),i&&l.setAttribute("id",t),n){const e=window.localStorage.getItem(`cache-${t}`);if(s=null!==e,s){const t=JSON.parse(e);a(l,t.content)}}Re(e).then((e=>{if(!W(e)){if(n)try{window.localStorage.setItem(`cache-${t}`,JSON.stringify({content:e}))}catch(e){}a(l,e)}})).catch((()=>{}))}}const Be=e=>Math.trunc(e/60/60%60,10);function Ue(e=0,t=!1,i=!1){if(!$(e))return Ue(void 0,t,i);const s=e=>`0${e}`.slice(-2);let n=Be(e);const a=(l=e,Math.trunc(l/60%60,10));var l;const o=(e=>Math.trunc(e%60,10))(e);return n=t||n>0?`${n}:`:"",`${i&&e>0?"-":""}${n}${s(a)}:${s(o)}`}const We={getIconUrl(){const e=new URL(this.config.iconUrl,window.location),t=window.location.host?window.location.host:window.top.location.host,i=e.host!==t||Y.isIE&&!window.svg4everybody;return{url:this.config.iconUrl,cors:i}},findElements(){try{return this.elements.controls=he.call(this,this.config.selectors.controls.wrapper),this.elements.buttons={play:ce.call(this,this.config.selectors.buttons.play),pause:he.call(this,this.config.selectors.buttons.pause),restart:he.call(this,this.config.selectors.buttons.restart),rewind:he.call(this,this.config.selectors.buttons.rewind),fastForward:he.call(this,this.config.selectors.buttons.fastForward),mute:he.call(this,this.config.selectors.buttons.mute),pip:he.call(this,this.config.selectors.buttons.pip),airplay:he.call(this,this.config.selectors.buttons.airplay),settings:he.call(this,this.config.selectors.buttons.settings),captions:he.call(this,this.config.selectors.buttons.captions),fullscreen:he.call(this,this.config.selectors.buttons.fullscreen)},this.elements.progress=he.call(this,this.config.selectors.progress),this.elements.inputs={seek:he.call(this,this.config.selectors.inputs.seek),volume:he.call(this,this.config.selectors.inputs.volume)},this.elements.display={buffer:he.call(this,this.config.selectors.display.buffer),currentTime:he.call(this,this.config.selectors.display.currentTime),duration:he.call(this,this.config.selectors.display.duration)},H(this.elements.progress)&&(this.elements.display.seekTooltip=this.elements.progress.querySelector(`.${this.config.classNames.tooltip}`)),!0}catch(e){return this.debug.warn("It looks like there is a problem with your custom controls HTML",e),this.toggleNativeControls(!0),!1}},createIcon(e,t){const i="http://www.w3.org/2000/svg",s=We.getIconUrl.call(this),n=`${s.cors?"":s.url}#${this.config.iconPrefix}`,a=document.createElementNS(i,"svg");G(a,X(t,{"aria-hidden":"true",focusable:"false"}));const l=document.createElementNS(i,"use"),o=`${n}-${e}`;return"href"in l&&l.setAttributeNS("http://www.w3.org/1999/xlink","href",o),l.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",o),a.appendChild(l),a},createLabel(e,t={}){const i=He.get(e,this.config);return Z("span",{...t,class:[t.class,this.config.classNames.hidden].filter(Boolean).join(" ")},i)},createBadge(e){if(W(e))return null;const t=Z("span",{class:this.config.classNames.menu.value});return t.appendChild(Z("span",{class:this.config.classNames.menu.badge},e)),t},createButton(e,t){const i=X({},t);let s=je(e);const n={element:"button",toggle:!1,label:null,icon:null,labelPressed:null,iconPressed:null};switch(["element","icon","label"].forEach((e=>{Object.keys(i).includes(e)&&(n[e]=i[e],delete i[e])})),"button"!==n.element||Object.keys(i).includes("type")||(i.type="button"),Object.keys(i).includes("class")?i.class.split(" ").some((e=>e===this.config.classNames.control))||X(i,{class:`${i.class} ${this.config.classNames.control}`}):i.class=this.config.classNames.control,e){case"play":n.toggle=!0,n.label="play",n.labelPressed="pause",n.icon="play",n.iconPressed="pause";break;case"mute":n.toggle=!0,n.label="mute",n.labelPressed="unmute",n.icon="volume",n.iconPressed="muted";break;case"captions":n.toggle=!0,n.label="enableCaptions",n.labelPressed="disableCaptions",n.icon="captions-off",n.iconPressed="captions-on";break;case"fullscreen":n.toggle=!0,n.label="enterFullscreen",n.labelPressed="exitFullscreen",n.icon="enter-fullscreen",n.iconPressed="exit-fullscreen";break;case"play-large":i.class+=` ${this.config.classNames.control}--overlaid`,s="play",n.label="play",n.icon="play";break;default:W(n.label)&&(n.label=s),W(n.icon)&&(n.icon=e)}const a=Z(n.element);return n.toggle?(a.appendChild(We.createIcon.call(this,n.iconPressed,{class:"icon--pressed"})),a.appendChild(We.createIcon.call(this,n.icon,{class:"icon--not-pressed"})),a.appendChild(We.createLabel.call(this,n.labelPressed,{class:"label--pressed"})),a.appendChild(We.createLabel.call(this,n.label,{class:"label--not-pressed"}))):(a.appendChild(We.createIcon.call(this,n.icon)),a.appendChild(We.createLabel.call(this,n.label))),X(i,ne(this.config.selectors.buttons[s],i)),G(a,i),"play"===s?(q(this.elements.buttons[s])||(this.elements.buttons[s]=[]),this.elements.buttons[s].push(a)):this.elements.buttons[s]=a,a},createRange(e,t){const i=Z("input",X(ne(this.config.selectors.inputs[e]),{type:"range",min:0,max:100,step:.01,value:0,autocomplete:"off",role:"slider","aria-label":He.get(e,this.config),"aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":0},t));return this.elements.inputs[e]=i,We.updateRangeFill.call(this,i),T.setup(i),i},createProgress(e,t){const i=Z("progress",X(ne(this.config.selectors.display[e]),{min:0,max:100,value:0,role:"progressbar","aria-hidden":!0},t));if("volume"!==e){i.appendChild(Z("span",null,"0"));const t={played:"played",buffer:"buffered"}[e],s=t?He.get(t,this.config):"";i.innerText=`% ${s.toLowerCase()}`}return this.elements.display[e]=i,i},createTime(e,t){const i=ne(this.config.selectors.display[e],t),s=Z("div",X(i,{class:`${i.class?i.class:""} ${this.config.classNames.display.time} `.trim(),"aria-label":He.get(e,this.config)}),"00:00");return this.elements.display[e]=s,s},bindMenuItemShortcuts(e,t){fe.call(this,e,"keydown keyup",(i=>{if(![32,38,39,40].includes(i.which))return;if(i.preventDefault(),i.stopPropagation(),"keydown"===i.type)return;const s=re(e,'[role="menuitemradio"]');if(!s&&[32,39].includes(i.which))We.showMenuPanel.call(this,t,!0);else{let t;32!==i.which&&(40===i.which||s&&39===i.which?(t=e.nextElementSibling,H(t)||(t=e.parentNode.firstElementChild)):(t=e.previousElementSibling,H(t)||(t=e.parentNode.lastElementChild)),ue.call(this,t,!0))}}),!1),fe.call(this,e,"keyup",(e=>{13===e.which&&We.focusFirstMenuItem.call(this,null,!0)}))},createMenuItem({value:e,list:t,type:i,title:s,badge:n=null,checked:a=!1}){const l=ne(this.config.selectors.inputs[i]),o=Z("button",X(l,{type:"button",role:"menuitemradio",class:`${this.config.classNames.control} ${l.class?l.class:""}`.trim(),"aria-checked":a,value:e})),r=Z("span");r.innerHTML=s,H(n)&&r.appendChild(n),o.appendChild(r),Object.defineProperty(o,"checked",{enumerable:!0,get:()=>"true"===o.getAttribute("aria-checked"),set(e){e&&Array.from(o.parentNode.children).filter((e=>re(e,'[role="menuitemradio"]'))).forEach((e=>e.setAttribute("aria-checked","false"))),o.setAttribute("aria-checked",e?"true":"false")}}),this.listeners.bind(o,"click keyup",(t=>{if(!R(t)||32===t.which){switch(t.preventDefault(),t.stopPropagation(),o.checked=!0,i){case"language":this.currentTrack=Number(e);break;case"quality":this.quality=e;break;case"speed":this.speed=parseFloat(e)}We.showMenuPanel.call(this,"home",R(t))}}),i,!1),We.bindMenuItemShortcuts.call(this,o,i),t.appendChild(o)},formatTime(e=0,t=!1){if(!$(e))return e;return Ue(e,Be(this.duration)>0,t)},updateTimeDisplay(e=null,t=0,i=!1){H(e)&&$(t)&&(e.innerText=We.formatTime(t,i))},updateVolume(){this.supported.ui&&(H(this.elements.inputs.volume)&&We.setRange.call(this,this.elements.inputs.volume,this.muted?0:this.volume),H(this.elements.buttons.mute)&&(this.elements.buttons.mute.pressed=this.muted||0===this.volume))},setRange(e,t=0){H(e)&&(e.value=t,We.updateRangeFill.call(this,e))},updateProgress(e){if(!this.supported.ui||!F(e))return;let t=0;const i=(e,t)=>{const i=$(t)?t:0,s=H(e)?e:this.elements.display.buffer;if(H(s)){s.value=i;const e=s.getElementsByTagName("span")[0];H(e)&&(e.childNodes[0].nodeValue=i)}};if(e)switch(e.type){case"timeupdate":case"seeking":case"seeked":s=this.currentTime,n=this.duration,t=0===s||0===n||Number.isNaN(s)||Number.isNaN(n)?0:(s/n*100).toFixed(2),"timeupdate"===e.type&&We.setRange.call(this,this.elements.inputs.seek,t);break;case"playing":case"progress":i(this.elements.display.buffer,100*this.buffered)}var s,n},updateRangeFill(e){const t=F(e)?e.target:e;if(H(t)&&"range"===t.getAttribute("type")){if(re(t,this.config.selectors.inputs.seek)){t.setAttribute("aria-valuenow",this.currentTime);const e=We.formatTime(this.currentTime),i=We.formatTime(this.duration),s=He.get("seekLabel",this.config);t.setAttribute("aria-valuetext",s.replace("{currentTime}",e).replace("{duration}",i))}else if(re(t,this.config.selectors.inputs.volume)){const e=100*t.value;t.setAttribute("aria-valuenow",e),t.setAttribute("aria-valuetext",`${e.toFixed(1)}%`)}else t.setAttribute("aria-valuenow",t.value);Y.isWebkit&&t.style.setProperty("--value",t.value/t.max*100+"%")}},updateSeekTooltip(e){if(!this.config.tooltips.seek||!H(this.elements.inputs.seek)||!H(this.elements.display.seekTooltip)||0===this.duration)return;const t=`${this.config.classNames.tooltip}--visible`,i=e=>le(this.elements.display.seekTooltip,t,e);if(this.touch)return void i(!1);let s=0;const n=this.elements.progress.getBoundingClientRect();if(F(e))s=100/n.width*(e.pageX-n.left);else{if(!oe(this.elements.display.seekTooltip,t))return;s=parseFloat(this.elements.display.seekTooltip.style.left,10)}s<0?s=0:s>100&&(s=100),We.updateTimeDisplay.call(this,this.elements.display.seekTooltip,this.duration/100*s),this.elements.display.seekTooltip.style.left=`${s}%`,F(e)&&["mouseenter","mouseleave"].includes(e.type)&&i("mouseenter"===e.type)},timeUpdate(e){const t=!H(this.elements.display.duration)&&this.config.invertTime;We.updateTimeDisplay.call(this,this.elements.display.currentTime,t?this.duration-this.currentTime:this.currentTime,t),e&&"timeupdate"===e.type&&this.media.seeking||We.updateProgress.call(this,e)},durationUpdate(){if(!this.supported.ui||!this.config.invertTime&&this.currentTime)return;if(this.duration>=2**32)return ae(this.elements.display.currentTime,!0),void ae(this.elements.progress,!0);H(this.elements.inputs.seek)&&this.elements.inputs.seek.setAttribute("aria-valuemax",this.duration);const e=H(this.elements.display.duration);!e&&this.config.displayDuration&&this.paused&&We.updateTimeDisplay.call(this,this.elements.display.currentTime,this.duration),e&&We.updateTimeDisplay.call(this,this.elements.display.duration,this.duration),We.updateSeekTooltip.call(this)},toggleMenuButton(e,t){ae(this.elements.settings.buttons[e],!t)},updateSetting(e,t,i){const s=this.elements.settings.panels[e];let n=null,a=t;if("captions"===e)n=this.currentTrack;else{if(n=W(i)?this[e]:i,W(n)&&(n=this.config[e].default),!W(this.options[e])&&!this.options[e].includes(n))return void this.debug.warn(`Unsupported value of '${n}' for ${e}`);if(!this.config[e].options.includes(n))return void this.debug.warn(`Disabled value of '${n}' for ${e}`)}if(H(a)||(a=s&&s.querySelector('[role="menu"]')),!H(a))return;this.elements.settings.buttons[e].querySelector(`.${this.config.classNames.menu.value}`).innerHTML=We.getLabel.call(this,e,n);const l=a&&a.querySelector(`[value="${n}"]`);H(l)&&(l.checked=!0)},getLabel(e,t){switch(e){case"speed":return 1===t?He.get("normal",this.config):`${t}×`;case"quality":if($(t)){const e=He.get(`qualityLabel.${t}`,this.config);return e.length?e:`${t}p`}return Oe(t);case"captions":return Ye.getLabel.call(this);default:return null}},setQualityMenu(e){if(!H(this.elements.settings.panels.quality))return;const t="quality",i=this.elements.settings.panels.quality.querySelector('[role="menu"]');q(e)&&(this.options.quality=Ce(e).filter((e=>this.config.quality.options.includes(e))));const s=!W(this.options.quality)&&this.options.quality.length>1;if(We.toggleMenuButton.call(this,t,s),ie(i),We.checkMenu.call(this),!s)return;const n=e=>{const t=He.get(`qualityBadge.${e}`,this.config);return t.length?We.createBadge.call(this,t):null};this.options.quality.sort(((e,t)=>{const i=this.config.quality.options;return i.indexOf(e)>i.indexOf(t)?1:-1})).forEach((e=>{We.createMenuItem.call(this,{value:e,list:i,type:t,title:We.getLabel.call(this,"quality",e),badge:n(e)})})),We.updateSetting.call(this,t,i)},setCaptionsMenu(){if(!H(this.elements.settings.panels.captions))return;const e="captions",t=this.elements.settings.panels.captions.querySelector('[role="menu"]'),i=Ye.getTracks.call(this),s=Boolean(i.length);if(We.toggleMenuButton.call(this,e,s),ie(t),We.checkMenu.call(this),!s)return;const n=i.map(((e,i)=>({value:i,checked:this.captions.toggled&&this.currentTrack===i,title:Ye.getLabel.call(this,e),badge:e.language&&We.createBadge.call(this,e.language.toUpperCase()),list:t,type:"language"})));n.unshift({value:-1,checked:!this.captions.toggled,title:He.get("disabled",this.config),list:t,type:"language"}),n.forEach(We.createMenuItem.bind(this)),We.updateSetting.call(this,e,t)},setSpeedMenu(){if(!H(this.elements.settings.panels.speed))return;const e="speed",t=this.elements.settings.panels.speed.querySelector('[role="menu"]');this.options.speed=this.options.speed.filter((e=>e>=this.minimumSpeed&&e<=this.maximumSpeed));const i=!W(this.options.speed)&&this.options.speed.length>1;We.toggleMenuButton.call(this,e,i),ie(t),We.checkMenu.call(this),i&&(this.options.speed.forEach((i=>{We.createMenuItem.call(this,{value:i,list:t,type:e,title:We.getLabel.call(this,"speed",i)})})),We.updateSetting.call(this,e,t))},checkMenu(){const{buttons:e}=this.elements.settings,t=!W(e)&&Object.values(e).some((e=>!e.hidden));ae(this.elements.settings.menu,!t)},focusFirstMenuItem(e,t=!1){if(this.elements.settings.popup.hidden)return;let i=e;H(i)||(i=Object.values(this.elements.settings.panels).find((e=>!e.hidden)));const s=i.querySelector('[role^="menuitem"]');ue.call(this,s,t)},toggleMenu(e){const{popup:t}=this.elements.settings,i=this.elements.buttons.settings;if(!H(t)||!H(i))return;const{hidden:s}=t;let n=s;if(O(e))n=e;else if(R(e)&&27===e.which)n=!1;else if(F(e)){const s=j(e.composedPath)?e.composedPath()[0]:e.target,a=t.contains(s);if(a||!a&&e.target!==i&&n)return}i.setAttribute("aria-expanded",n),ae(t,!n),le(this.elements.container,this.config.classNames.menu.open,n),n&&R(e)?We.focusFirstMenuItem.call(this,null,!0):n||s||ue.call(this,i,R(e))},getMenuSize(e){const t=e.cloneNode(!0);t.style.position="absolute",t.style.opacity=0,t.removeAttribute("hidden"),e.parentNode.appendChild(t);const i=t.scrollWidth,s=t.scrollHeight;return te(t),{width:i,height:s}},showMenuPanel(e="",t=!1){const i=this.elements.container.querySelector(`#plyr-settings-${this.id}-${e}`);if(!H(i))return;const s=i.parentNode,n=Array.from(s.children).find((e=>!e.hidden));if(me.transitions&&!me.reducedMotion){s.style.width=`${n.scrollWidth}px`,s.style.height=`${n.scrollHeight}px`;const e=We.getMenuSize.call(this,i),t=e=>{e.target===s&&["width","height"].includes(e.propertyName)&&(s.style.width="",s.style.height="",be.call(this,s,z,t))};fe.call(this,s,z,t),s.style.width=`${e.width}px`,s.style.height=`${e.height}px`}ae(n,!0),ae(i,!1),We.focusFirstMenuItem.call(this,i,t)},setDownloadUrl(){const e=this.elements.buttons.download;H(e)&&e.setAttribute("href",this.download)},create(e){const{bindMenuItemShortcuts:t,createButton:i,createProgress:s,createRange:n,createTime:a,setQualityMenu:l,setSpeedMenu:o,showMenuPanel:r}=We;this.elements.controls=null,q(this.config.controls)&&this.config.controls.includes("play-large")&&this.elements.container.appendChild(i.call(this,"play-large"));const c=Z("div",ne(this.config.selectors.controls.wrapper));this.elements.controls=c;const h={class:"plyr__controls__item"};return Ce(q(this.config.controls)?this.config.controls:[]).forEach((l=>{if("restart"===l&&c.appendChild(i.call(this,"restart",h)),"rewind"===l&&c.appendChild(i.call(this,"rewind",h)),"play"===l&&c.appendChild(i.call(this,"play",h)),"fast-forward"===l&&c.appendChild(i.call(this,"fast-forward",h)),"progress"===l){const t=Z("div",{class:`${h.class} plyr__progress__container`}),i=Z("div",ne(this.config.selectors.progress));if(i.appendChild(n.call(this,"seek",{id:`plyr-seek-${e.id}`})),i.appendChild(s.call(this,"buffer")),this.config.tooltips.seek){const e=Z("span",{class:this.config.classNames.tooltip},"00:00");i.appendChild(e),this.elements.display.seekTooltip=e}this.elements.progress=i,t.appendChild(this.elements.progress),c.appendChild(t)}if("current-time"===l&&c.appendChild(a.call(this,"currentTime",h)),"duration"===l&&c.appendChild(a.call(this,"duration",h)),"mute"===l||"volume"===l){let{volume:t}=this.elements;if(H(t)&&c.contains(t)||(t=Z("div",X({},h,{class:`${h.class} plyr__volume`.trim()})),this.elements.volume=t,c.appendChild(t)),"mute"===l&&t.appendChild(i.call(this,"mute")),"volume"===l&&!Y.isIos){const i={max:1,step:.05,value:this.config.volume};t.appendChild(n.call(this,"volume",X(i,{id:`plyr-volume-${e.id}`})))}}if("captions"===l&&c.appendChild(i.call(this,"captions",h)),"settings"===l&&!W(this.config.settings)){const s=Z("div",X({},h,{class:`${h.class} plyr__menu`.trim(),hidden:""}));s.appendChild(i.call(this,"settings",{"aria-haspopup":!0,"aria-controls":`plyr-settings-${e.id}`,"aria-expanded":!1}));const n=Z("div",{class:"plyr__menu__container",id:`plyr-settings-${e.id}`,hidden:""}),a=Z("div"),l=Z("div",{id:`plyr-settings-${e.id}-home`}),o=Z("div",{role:"menu"});l.appendChild(o),a.appendChild(l),this.elements.settings.panels.home=l,this.config.settings.forEach((i=>{const s=Z("button",X(ne(this.config.selectors.buttons.settings),{type:"button",class:`${this.config.classNames.control} ${this.config.classNames.control}--forward`,role:"menuitem","aria-haspopup":!0,hidden:""}));t.call(this,s,i),fe.call(this,s,"click",(()=>{r.call(this,i,!1)}));const n=Z("span",null,He.get(i,this.config)),l=Z("span",{class:this.config.classNames.menu.value});l.innerHTML=e[i],n.appendChild(l),s.appendChild(n),o.appendChild(s);const c=Z("div",{id:`plyr-settings-${e.id}-${i}`,hidden:""}),h=Z("button",{type:"button",class:`${this.config.classNames.control} ${this.config.classNames.control}--back`});h.appendChild(Z("span",{"aria-hidden":!0},He.get(i,this.config))),h.appendChild(Z("span",{class:this.config.classNames.hidden},He.get("menuBack",this.config))),fe.call(this,c,"keydown",(e=>{37===e.which&&(e.preventDefault(),e.stopPropagation(),r.call(this,"home",!0))}),!1),fe.call(this,h,"click",(()=>{r.call(this,"home",!1)})),c.appendChild(h),c.appendChild(Z("div",{role:"menu"})),a.appendChild(c),this.elements.settings.buttons[i]=s,this.elements.settings.panels[i]=c})),n.appendChild(a),s.appendChild(n),c.appendChild(s),this.elements.settings.popup=n,this.elements.settings.menu=s}if("pip"===l&&me.pip&&c.appendChild(i.call(this,"pip",h)),"airplay"===l&&me.airplay&&c.appendChild(i.call(this,"airplay",h)),"download"===l){const e=X({},h,{element:"a",href:this.download,target:"_blank"});this.isHTML5&&(e.download="");const{download:t}=this.config.urls;!U(t)&&this.isEmbed&&X(e,{icon:`logo-${this.provider}`,label:this.provider}),c.appendChild(i.call(this,"download",e))}"fullscreen"===l&&c.appendChild(i.call(this,"fullscreen",h))})),this.isHTML5&&l.call(this,Le.getQualityOptions.call(this)),o.call(this),c},inject(){if(this.config.loadSprite){const e=We.getIconUrl.call(this);e.cors&&Ve(e.url,"sprite-plyr")}this.id=Math.floor(1e4*Math.random());let e=null;this.elements.controls=null;const t={id:this.id,seektime:this.config.seekTime,title:this.config.title};let i=!0;j(this.config.controls)&&(this.config.controls=this.config.controls.call(this,t)),this.config.controls||(this.config.controls=[]),H(this.config.controls)||_(this.config.controls)?e=this.config.controls:(e=We.create.call(this,{id:this.id,seektime:this.config.seekTime,speed:this.speed,quality:this.quality,captions:Ye.getLabel.call(this)}),i=!1);let s;i&&_(this.config.controls)&&(e=(e=>{let i=e;return Object.entries(t).forEach((([e,t])=>{i=_e(i,`{${e}}`,t)})),i})(e)),_(this.config.selectors.controls.container)&&(s=document.querySelector(this.config.selectors.controls.container)),H(s)||(s=this.elements.container);if(s[H(e)?"insertAdjacentElement":"insertAdjacentHTML"]("afterbegin",e),H(this.elements.controls)||We.findElements.call(this),!W(this.elements.buttons)){const e=e=>{const t=this.config.classNames.controlPressed;Object.defineProperty(e,"pressed",{enumerable:!0,get:()=>oe(e,t),set(i=!1){le(e,t,i)}})};Object.values(this.elements.buttons).filter(Boolean).forEach((t=>{q(t)||D(t)?Array.from(t).filter(Boolean).forEach(e):e(t)}))}if(Y.isEdge&&K(s),this.config.tooltips.controls){const{classNames:e,selectors:t}=this.config,i=`${t.controls.wrapper} ${t.labels} .${e.hidden}`,s=ce.call(this,i);Array.from(s).forEach((e=>{le(e,this.config.classNames.hidden,!1),le(e,this.config.classNames.tooltip,!0)}))}}};function ze(e,t=!0){let i=e;if(t){const e=document.createElement("a");e.href=i,i=e.href}try{return new URL(i)}catch(e){return null}}function Ke(e){const t=new URLSearchParams;return L(e)&&Object.entries(e).forEach((([e,i])=>{t.set(e,i)})),t}const Ye={setup(){if(!this.supported.ui)return;if(!this.isVideo||this.isYouTube||this.isHTML5&&!me.textTracks)return void(q(this.config.controls)&&this.config.controls.includes("settings")&&this.config.settings.includes("captions")&&We.setCaptionsMenu.call(this));var e,t;if(H(this.elements.captions)||(this.elements.captions=Z("div",ne(this.config.selectors.captions)),e=this.elements.captions,t=this.elements.wrapper,H(e)&&H(t)&&t.parentNode.insertBefore(e,t.nextSibling)),Y.isIE&&window.URL){const e=this.media.querySelectorAll("track");Array.from(e).forEach((e=>{const t=e.getAttribute("src"),i=ze(t);null!==i&&i.hostname!==window.location.href.hostname&&["http:","https:"].includes(i.protocol)&&Re(t,"blob").then((t=>{e.setAttribute("src",window.URL.createObjectURL(t))})).catch((()=>{te(e)}))}))}const i=Ce((navigator.languages||[navigator.language||navigator.userLanguage||"en"]).map((e=>e.split("-")[0])));let s=(this.storage.get("language")||this.config.captions.language||"auto").toLowerCase();"auto"===s&&([s]=i);let n=this.storage.get("captions");if(O(n)||({active:n}=this.config.captions),Object.assign(this.captions,{toggled:!1,active:n,language:s,languages:i}),this.isHTML5){const e=this.config.captions.update?"addtrack removetrack":"removetrack";fe.call(this,this.media.textTracks,e,Ye.update.bind(this))}setTimeout(Ye.update.bind(this),0)},update(){const e=Ye.getTracks.call(this,!0),{active:t,language:i,meta:s,currentTrackNode:n}=this.captions,a=Boolean(e.find((e=>e.language===i)));this.isHTML5&&this.isVideo&&e.filter((e=>!s.get(e))).forEach((e=>{this.debug.log("Track added",e),s.set(e,{default:"showing"===e.mode}),"showing"===e.mode&&(e.mode="hidden"),fe.call(this,e,"cuechange",(()=>Ye.updateCues.call(this)))})),(a&&this.language!==i||!e.includes(n))&&(Ye.setLanguage.call(this,i),Ye.toggle.call(this,t&&a)),this.elements&&le(this.elements.container,this.config.classNames.captions.enabled,!W(e)),q(this.config.controls)&&this.config.controls.includes("settings")&&this.config.settings.includes("captions")&&We.setCaptionsMenu.call(this)},toggle(e,t=!0){if(!this.supported.ui)return;const{toggled:i}=this.captions,s=this.config.classNames.captions.active,n=I(e)?!i:e;if(n!==i){if(t||(this.captions.active=n,this.storage.set({captions:n})),!this.language&&n&&!t){const e=Ye.getTracks.call(this),t=Ye.findTrack.call(this,[this.captions.language,...this.captions.languages],!0);return this.captions.language=t.language,void Ye.set.call(this,e.indexOf(t))}this.elements.buttons.captions&&(this.elements.buttons.captions.pressed=n),le(this.elements.container,s,n),this.captions.toggled=n,We.updateSetting.call(this,"captions"),ve.call(this,this.media,n?"captionsenabled":"captionsdisabled")}setTimeout((()=>{n&&this.captions.toggled&&(this.captions.currentTrackNode.mode="hidden")}))},set(e,t=!0){const i=Ye.getTracks.call(this);if(-1!==e)if($(e))if(e in i){if(this.captions.currentTrack!==e){this.captions.currentTrack=e;const s=i[e],{language:n}=s||{};this.captions.currentTrackNode=s,We.updateSetting.call(this,"captions"),t||(this.captions.language=n,this.storage.set({language:n})),this.isVimeo&&this.embed.enableTextTrack(n),ve.call(this,this.media,"languagechange")}Ye.toggle.call(this,!0,t),this.isHTML5&&this.isVideo&&Ye.updateCues.call(this)}else this.debug.warn("Track not found",e);else this.debug.warn("Invalid caption argument",e);else Ye.toggle.call(this,!1,t)},setLanguage(e,t=!0){if(!_(e))return void this.debug.warn("Invalid language argument",e);const i=e.toLowerCase();this.captions.language=i;const s=Ye.getTracks.call(this),n=Ye.findTrack.call(this,[i]);Ye.set.call(this,s.indexOf(n),t)},getTracks(e=!1){return Array.from((this.media||{}).textTracks||[]).filter((t=>!this.isHTML5||e||this.captions.meta.has(t))).filter((e=>["captions","subtitles"].includes(e.kind)))},findTrack(e,t=!1){const i=Ye.getTracks.call(this),s=e=>Number((this.captions.meta.get(e)||{}).default),n=Array.from(i).sort(((e,t)=>s(t)-s(e)));let a;return e.every((e=>(a=n.find((t=>t.language===e)),!a))),a||(t?n[0]:void 0)},getCurrentTrack(){return Ye.getTracks.call(this)[this.currentTrack]},getLabel(e){let t=e;return!V(t)&&me.textTracks&&this.captions.toggled&&(t=Ye.getCurrentTrack.call(this)),V(t)?W(t.label)?W(t.language)?He.get("enabled",this.config):e.language.toUpperCase():t.label:He.get("disabled",this.config)},updateCues(e){if(!this.supported.ui)return;if(!H(this.elements.captions))return void this.debug.warn("No captions element to render to");if(!I(e)&&!Array.isArray(e))return void this.debug.warn("updateCues: Invalid input",e);let t=e;if(!t){const e=Ye.getCurrentTrack.call(this);t=Array.from((e||{}).activeCues||[]).map((e=>e.getCueAsHTML())).map(qe)}const i=t.map((e=>e.trim())).join("\n");if(i!==this.elements.captions.innerHTML){ie(this.elements.captions);const e=Z("span",ne(this.config.selectors.caption));e.innerHTML=i,this.elements.captions.appendChild(e),ve.call(this,this.media,"cuechange")}}},Qe={enabled:!0,title:"",debug:!1,autoplay:!1,autopause:!0,playsinline:!0,seekTime:10,volume:1,muted:!1,duration:null,displayDuration:!0,invertTime:!0,toggleInvert:!0,ratio:null,clickToPlay:!0,hideControls:!0,resetOnEnd:!1,disableContextMenu:!0,loadSprite:!0,iconPrefix:"plyr",iconUrl:"https://cdn.plyr.io/3.6.9/plyr.svg",blankVideo:"https://cdn.plyr.io/static/blank.mp4",quality:{default:576,options:[4320,2880,2160,1440,1080,720,576,480,360,240],forced:!1,onChange:null},loop:{active:!1},speed:{selected:1,options:[.5,.75,1,1.25,1.5,1.75,2,4]},keyboard:{focused:!0,global:!1},tooltips:{controls:!1,seek:!0},captions:{active:!1,language:"auto",update:!1},fullscreen:{enabled:!0,fallback:!0,iosNative:!1},storage:{enabled:!0,key:"plyr"},controls:["play-large","play","progress","current-time","mute","volume","captions","settings","pip","airplay","fullscreen"],settings:["captions","quality","speed"],i18n:{restart:"Restart",rewind:"Rewind {seektime}s",play:"Play",pause:"Pause",fastForward:"Forward {seektime}s",seek:"Seek",seekLabel:"{currentTime} of {duration}",played:"Played",buffered:"Buffered",currentTime:"Current time",duration:"Duration",volume:"Volume",mute:"Mute",unmute:"Unmute",enableCaptions:"Enable captions",disableCaptions:"Disable captions",download:"Download",enterFullscreen:"Enter fullscreen",exitFullscreen:"Exit fullscreen",frameTitle:"Player for {title}",captions:"Captions",settings:"Settings",pip:"PIP",menuBack:"Go back to previous menu",speed:"Speed",normal:"Normal",quality:"Quality",loop:"Loop",start:"Start",end:"End",all:"All",reset:"Reset",disabled:"Disabled",enabled:"Enabled",advertisement:"Ad",qualityBadge:{2160:"4K",1440:"HD",1080:"HD",720:"HD",576:"SD",480:"SD"}},urls:{download:null,vimeo:{sdk:"https://player.vimeo.com/api/player.js",iframe:"https://player.vimeo.com/video/{0}?{1}",api:"https://vimeo.com/api/oembed.json?url={0}"},youtube:{sdk:"https://www.youtube.com/iframe_api",api:"https://noembed.com/embed?url=https://www.youtube.com/watch?v={0}"},googleIMA:{sdk:"https://imasdk.googleapis.com/js/sdkloader/ima3.js"}},listeners:{seek:null,play:null,pause:null,restart:null,rewind:null,fastForward:null,mute:null,volume:null,captions:null,download:null,fullscreen:null,pip:null,airplay:null,speed:null,quality:null,loop:null,language:null},events:["ended","progress","stalled","playing","waiting","canplay","canplaythrough","loadstart","loadeddata","loadedmetadata","timeupdate","volumechange","play","pause","error","seeking","seeked","emptied","ratechange","cuechange","download","enterfullscreen","exitfullscreen","captionsenabled","captionsdisabled","languagechange","controlshidden","controlsshown","ready","statechange","qualitychange","adsloaded","adscontentpause","adscontentresume","adstarted","adsmidpoint","adscomplete","adsallcomplete","adsimpression","adsclick"],selectors:{editable:"input, textarea, select, [contenteditable]",container:".plyr",controls:{container:null,wrapper:".plyr__controls"},labels:"[data-plyr]",buttons:{play:'[data-plyr="play"]',pause:'[data-plyr="pause"]',restart:'[data-plyr="restart"]',rewind:'[data-plyr="rewind"]',fastForward:'[data-plyr="fast-forward"]',mute:'[data-plyr="mute"]',captions:'[data-plyr="captions"]',download:'[data-plyr="download"]',fullscreen:'[data-plyr="fullscreen"]',pip:'[data-plyr="pip"]',airplay:'[data-plyr="airplay"]',settings:'[data-plyr="settings"]',loop:'[data-plyr="loop"]'},inputs:{seek:'[data-plyr="seek"]',volume:'[data-plyr="volume"]',speed:'[data-plyr="speed"]',language:'[data-plyr="language"]',quality:'[data-plyr="quality"]'},display:{currentTime:".plyr__time--current",duration:".plyr__time--duration",buffer:".plyr__progress__buffer",loop:".plyr__progress__loop",volume:".plyr__volume--display"},progress:".plyr__progress",captions:".plyr__captions",caption:".plyr__caption"},classNames:{type:"plyr--{0}",provider:"plyr--{0}",video:"plyr__video-wrapper",embed:"plyr__video-embed",videoFixedRatio:"plyr__video-wrapper--fixed-ratio",embedContainer:"plyr__video-embed__container",poster:"plyr__poster",posterEnabled:"plyr__poster-enabled",ads:"plyr__ads",control:"plyr__control",controlPressed:"plyr__control--pressed",playing:"plyr--playing",paused:"plyr--paused",stopped:"plyr--stopped",loading:"plyr--loading",hover:"plyr--hover",tooltip:"plyr__tooltip",cues:"plyr__cues",hidden:"plyr__sr-only",hideControls:"plyr--hide-controls",isIos:"plyr--is-ios",isTouch:"plyr--is-touch",uiSupported:"plyr--full-ui",noTransition:"plyr--no-transition",display:{time:"plyr__time"},menu:{value:"plyr__menu__value",badge:"plyr__badge",open:"plyr--menu-open"},captions:{enabled:"plyr--captions-enabled",active:"plyr--captions-active"},fullscreen:{enabled:"plyr--fullscreen-enabled",fallback:"plyr--fullscreen-fallback"},pip:{supported:"plyr--pip-supported",active:"plyr--pip-active"},airplay:{supported:"plyr--airplay-supported",active:"plyr--airplay-active"},tabFocus:"plyr__tab-focus",previewThumbnails:{thumbContainer:"plyr__preview-thumb",thumbContainerShown:"plyr__preview-thumb--is-shown",imageContainer:"plyr__preview-thumb__image-container",timeContainer:"plyr__preview-thumb__time-container",scrubbingContainer:"plyr__preview-scrubbing",scrubbingContainerShown:"plyr__preview-scrubbing--is-shown"}},attributes:{embed:{provider:"data-plyr-provider",id:"data-plyr-embed-id",hash:"data-plyr-embed-hash"}},ads:{enabled:!1,publisherId:"",tagUrl:""},previewThumbnails:{enabled:!1,src:""},vimeo:{byline:!1,portrait:!1,title:!1,speed:!0,transparent:!1,customControls:!0,referrerPolicy:null,premium:!1},youtube:{rel:0,showinfo:0,iv_load_policy:3,modestbranding:1,customControls:!0,noCookie:!1}},Xe="picture-in-picture",Je="inline",Ge={html5:"html5",youtube:"youtube",vimeo:"vimeo"},Ze="audio",et="video";const tt=()=>{};class it{constructor(e=!1){this.enabled=window.console&&e,this.enabled&&this.log("Debugging enabled")}get log(){return this.enabled?Function.prototype.bind.call(console.log,console):tt}get warn(){return this.enabled?Function.prototype.bind.call(console.warn,console):tt}get error(){return this.enabled?Function.prototype.bind.call(console.error,console):tt}}class st{constructor(t){e(this,"onChange",(()=>{if(!this.enabled)return;const e=this.player.elements.buttons.fullscreen;H(e)&&(e.pressed=this.active);const t=this.target===this.player.media?this.target:this.player.elements.container;ve.call(this.player,t,this.active?"enterfullscreen":"exitfullscreen",!0)})),e(this,"toggleFallback",((e=!1)=>{if(e?this.scrollPosition={x:window.scrollX||0,y:window.scrollY||0}:window.scrollTo(this.scrollPosition.x,this.scrollPosition.y),document.body.style.overflow=e?"hidden":"",le(this.target,this.player.config.classNames.fullscreen.fallback,e),Y.isIos){let t=document.head.querySelector('meta[name="viewport"]');const i="viewport-fit=cover";t||(t=document.createElement("meta"),t.setAttribute("name","viewport"));const s=_(t.content)&&t.content.includes(i);e?(this.cleanupViewport=!s,s||(t.content+=`,${i}`)):this.cleanupViewport&&(t.content=t.content.split(",").filter((e=>e.trim()!==i)).join(","))}this.onChange()})),e(this,"trapFocus",(e=>{if(Y.isIos||!this.active||"Tab"!==e.key||9!==e.keyCode)return;const t=document.activeElement,i=ce.call(this.player,"a[href], button:not(:disabled), input:not(:disabled), [tabindex]"),[s]=i,n=i[i.length-1];t!==n||e.shiftKey?t===s&&e.shiftKey&&(n.focus(),e.preventDefault()):(s.focus(),e.preventDefault())})),e(this,"update",(()=>{if(this.enabled){let e;e=this.forceFallback?"Fallback (forced)":st.native?"Native":"Fallback",this.player.debug.log(`${e} fullscreen enabled`)}else this.player.debug.log("Fullscreen not supported and fallback disabled");le(this.player.elements.container,this.player.config.classNames.fullscreen.enabled,this.enabled)})),e(this,"enter",(()=>{this.enabled&&(Y.isIos&&this.player.config.fullscreen.iosNative?this.player.isVimeo?this.player.embed.requestFullscreen():this.target.webkitEnterFullscreen():!st.native||this.forceFallback?this.toggleFallback(!0):this.prefix?W(this.prefix)||this.target[`${this.prefix}Request${this.property}`]():this.target.requestFullscreen({navigationUI:"hide"}))})),e(this,"exit",(()=>{if(this.enabled)if(Y.isIos&&this.player.config.fullscreen.iosNative)this.target.webkitExitFullscreen(),ke(this.player.play());else if(!st.native||this.forceFallback)this.toggleFallback(!1);else if(this.prefix){if(!W(this.prefix)){const e="moz"===this.prefix?"Cancel":"Exit";document[`${this.prefix}${e}${this.property}`]()}}else(document.cancelFullScreen||document.exitFullscreen).call(document)})),e(this,"toggle",(()=>{this.active?this.exit():this.enter()})),this.player=t,this.prefix=st.prefix,this.property=st.property,this.scrollPosition={x:0,y:0},this.forceFallback="force"===t.config.fullscreen.fallback,this.player.elements.fullscreen=t.config.fullscreen.container&&function(e,t){const{prototype:i}=Element;return(i.closest||function(){let e=this;do{if(re.matches(e,t))return e;e=e.parentElement||e.parentNode}while(null!==e&&1===e.nodeType);return null}).call(e,t)}(this.player.elements.container,t.config.fullscreen.container),fe.call(this.player,document,"ms"===this.prefix?"MSFullscreenChange":`${this.prefix}fullscreenchange`,(()=>{this.onChange()})),fe.call(this.player,this.player.elements.container,"dblclick",(e=>{H(this.player.elements.controls)&&this.player.elements.controls.contains(e.target)||this.player.listeners.proxy(e,this.toggle,"fullscreen")})),fe.call(this,this.player.elements.container,"keydown",(e=>this.trapFocus(e))),this.update()}static get native(){return!!(document.fullscreenEnabled||document.webkitFullscreenEnabled||document.mozFullScreenEnabled||document.msFullscreenEnabled)}get usingNative(){return st.native&&!this.forceFallback}static get prefix(){if(j(document.exitFullscreen))return"";let e="";return["webkit","moz","ms"].some((t=>!(!j(document[`${t}ExitFullscreen`])&&!j(document[`${t}CancelFullScreen`]))&&(e=t,!0))),e}static get property(){return"moz"===this.prefix?"FullScreen":"Fullscreen"}get enabled(){return(st.native||this.player.config.fullscreen.fallback)&&this.player.config.fullscreen.enabled&&this.player.supported.ui&&this.player.isVideo}get active(){if(!this.enabled)return!1;if(!st.native||this.forceFallback)return oe(this.target,this.player.config.classNames.fullscreen.fallback);const e=this.prefix?this.target.getRootNode()[`${this.prefix}${this.property}Element`]:this.target.getRootNode().fullscreenElement;return e&&e.shadowRoot?e===this.target.getRootNode().host:e===this.target}get target(){return Y.isIos&&this.player.config.fullscreen.iosNative?this.player.media:this.player.elements.fullscreen||this.player.elements.container}}function nt(e,t=1){return new Promise(((i,s)=>{const n=new Image,a=()=>{delete n.onload,delete n.onerror,(n.naturalWidth>=t?i:s)(n)};Object.assign(n,{onload:a,onerror:a,src:e})}))}const at={addStyleHook(){le(this.elements.container,this.config.selectors.container.replace(".",""),!0),le(this.elements.container,this.config.classNames.uiSupported,this.supported.ui)},toggleNativeControls(e=!1){e&&this.isHTML5?this.media.setAttribute("controls",""):this.media.removeAttribute("controls")},build(){if(this.listeners.media(),!this.supported.ui)return this.debug.warn(`Basic support only for ${this.provider} ${this.type}`),void at.toggleNativeControls.call(this,!0);H(this.elements.controls)||(We.inject.call(this),this.listeners.controls()),at.toggleNativeControls.call(this),this.isHTML5&&Ye.setup.call(this),this.volume=null,this.muted=null,this.loop=null,this.quality=null,this.speed=null,We.updateVolume.call(this),We.timeUpdate.call(this),We.durationUpdate.call(this),at.checkPlaying.call(this),le(this.elements.container,this.config.classNames.pip.supported,me.pip&&this.isHTML5&&this.isVideo),le(this.elements.container,this.config.classNames.airplay.supported,me.airplay&&this.isHTML5),le(this.elements.container,this.config.classNames.isIos,Y.isIos),le(this.elements.container,this.config.classNames.isTouch,this.touch),this.ready=!0,setTimeout((()=>{ve.call(this,this.media,"ready")}),0),at.setTitle.call(this),this.poster&&at.setPoster.call(this,this.poster,!1).catch((()=>{})),this.config.duration&&We.durationUpdate.call(this)},setTitle(){let e=He.get("play",this.config);if(_(this.config.title)&&!W(this.config.title)&&(e+=`, ${this.config.title}`),Array.from(this.elements.buttons.play||[]).forEach((t=>{t.setAttribute("aria-label",e)})),this.isEmbed){const e=he.call(this,"iframe");if(!H(e))return;const t=W(this.config.title)?"video":this.config.title,i=He.get("frameTitle",this.config);e.setAttribute("title",i.replace("{title}",t))}},togglePoster(e){le(this.elements.container,this.config.classNames.posterEnabled,e)},setPoster(e,t=!0){return t&&this.poster?Promise.reject(new Error("Poster already set")):(this.media.setAttribute("data-poster",e),this.elements.poster.removeAttribute("hidden"),Te.call(this).then((()=>nt(e))).catch((t=>{throw e===this.poster&&at.togglePoster.call(this,!1),t})).then((()=>{if(e!==this.poster)throw new Error("setPoster cancelled by later call to setPoster")})).then((()=>(Object.assign(this.elements.poster.style,{backgroundImage:`url('${e}')`,backgroundSize:""}),at.togglePoster.call(this,!0),e))))},checkPlaying(e){le(this.elements.container,this.config.classNames.playing,this.playing),le(this.elements.container,this.config.classNames.paused,this.paused),le(this.elements.container,this.config.classNames.stopped,this.stopped),Array.from(this.elements.buttons.play||[]).forEach((e=>{Object.assign(e,{pressed:this.playing}),e.setAttribute("aria-label",He.get(this.playing?"pause":"play",this.config))})),F(e)&&"timeupdate"===e.type||at.toggleControls.call(this)},checkLoading(e){this.loading=["stalled","waiting"].includes(e.type),clearTimeout(this.timers.loading),this.timers.loading=setTimeout((()=>{le(this.elements.container,this.config.classNames.loading,this.loading),at.toggleControls.call(this)}),this.loading?250:0)},toggleControls(e){const{controls:t}=this.elements;if(t&&this.config.hideControls){const i=this.touch&&this.lastSeekTime+2e3>Date.now();this.toggleControls(Boolean(e||this.loading||this.paused||t.pressed||t.hover||i))}},migrateStyles(){Object.values({...this.media.style}).filter((e=>!W(e)&&_(e)&&e.startsWith("--plyr"))).forEach((e=>{this.elements.container.style.setProperty(e,this.media.style.getPropertyValue(e)),this.media.style.removeProperty(e)})),W(this.media.style)&&this.media.removeAttribute("style")}};class lt{constructor(t){e(this,"firstTouch",(()=>{const{player:e}=this,{elements:t}=e;e.touch=!0,le(t.container,e.config.classNames.isTouch,!0)})),e(this,"setTabFocus",(e=>{const{player:t}=this,{elements:i}=t;if(clearTimeout(this.focusTimer),"keydown"===e.type&&9!==e.which)return;"keydown"===e.type&&(this.lastKeyDown=e.timeStamp);const s=e.timeStamp-this.lastKeyDown<=20;("focus"!==e.type||s)&&((()=>{const e=t.config.classNames.tabFocus;le(ce.call(t,`.${e}`),e,!1)})(),"focusout"!==e.type&&(this.focusTimer=setTimeout((()=>{const e=document.activeElement;i.container.contains(e)&&le(document.activeElement,t.config.classNames.tabFocus,!0)}),10)))})),e(this,"global",((e=!0)=>{const{player:t}=this;t.config.keyboard.global&&ge.call(t,window,"keydown keyup",this.handleKey,e,!1),ge.call(t,document.body,"click",this.toggleMenu,e),ye.call(t,document.body,"touchstart",this.firstTouch),ge.call(t,document.body,"keydown focus blur focusout",this.setTabFocus,e,!1,!0)})),e(this,"container",(()=>{const{player:e}=this,{config:t,elements:i,timers:s}=e;!t.keyboard.global&&t.keyboard.focused&&fe.call(e,i.container,"keydown keyup",this.handleKey,!1),fe.call(e,i.container,"mousemove mouseleave touchstart touchmove enterfullscreen exitfullscreen",(t=>{const{controls:n}=i;n&&"enterfullscreen"===t.type&&(n.pressed=!1,n.hover=!1);let a=0;["touchstart","touchmove","mousemove"].includes(t.type)&&(at.toggleControls.call(e,!0),a=e.touch?3e3:2e3),clearTimeout(s.controls),s.controls=setTimeout((()=>at.toggleControls.call(e,!1)),a)}));const n=()=>{if(!e.isVimeo||e.config.vimeo.premium)return;const t=i.wrapper,{active:s}=e.fullscreen,[n,a]=xe.call(e),l=Se(`aspect-ratio: ${n} / ${a}`);if(!s)return void(l?(t.style.width=null,t.style.height=null):(t.style.maxWidth=null,t.style.margin=null));const[o,r]=[Math.max(document.documentElement.clientWidth||0,window.innerWidth||0),Math.max(document.documentElement.clientHeight||0,window.innerHeight||0)],c=o/r>n/a;l?(t.style.width=c?"auto":"100%",t.style.height=c?"100%":"auto"):(t.style.maxWidth=c?r/a*n+"px":null,t.style.margin=c?"0 auto":null)},a=()=>{clearTimeout(s.resized),s.resized=setTimeout(n,50)};fe.call(e,i.container,"enterfullscreen exitfullscreen",(t=>{const{target:s}=e.fullscreen;if(s!==i.container)return;if(!e.isEmbed&&W(e.config.ratio))return;n();("enterfullscreen"===t.type?fe:be).call(e,window,"resize",a)}))})),e(this,"media",(()=>{const{player:e}=this,{elements:t}=e;if(fe.call(e,e.media,"timeupdate seeking seeked",(t=>We.timeUpdate.call(e,t))),fe.call(e,e.media,"durationchange loadeddata loadedmetadata",(t=>We.durationUpdate.call(e,t))),fe.call(e,e.media,"ended",(()=>{e.isHTML5&&e.isVideo&&e.config.resetOnEnd&&(e.restart(),e.pause())})),fe.call(e,e.media,"progress playing seeking seeked",(t=>We.updateProgress.call(e,t))),fe.call(e,e.media,"volumechange",(t=>We.updateVolume.call(e,t))),fe.call(e,e.media,"playing play pause ended emptied timeupdate",(t=>at.checkPlaying.call(e,t))),fe.call(e,e.media,"waiting canplay seeked playing",(t=>at.checkLoading.call(e,t))),e.supported.ui&&e.config.clickToPlay&&!e.isAudio){const i=he.call(e,`.${e.config.classNames.video}`);if(!H(i))return;fe.call(e,t.container,"click",(s=>{([t.container,i].includes(s.target)||i.contains(s.target))&&(e.touch&&e.config.hideControls||(e.ended?(this.proxy(s,e.restart,"restart"),this.proxy(s,(()=>{ke(e.play())}),"play")):this.proxy(s,(()=>{ke(e.togglePlay())}),"play")))}))}e.supported.ui&&e.config.disableContextMenu&&fe.call(e,t.wrapper,"contextmenu",(e=>{e.preventDefault()}),!1),fe.call(e,e.media,"volumechange",(()=>{e.storage.set({volume:e.volume,muted:e.muted})})),fe.call(e,e.media,"ratechange",(()=>{We.updateSetting.call(e,"speed"),e.storage.set({speed:e.speed})})),fe.call(e,e.media,"qualitychange",(t=>{We.updateSetting.call(e,"quality",null,t.detail.quality)})),fe.call(e,e.media,"ready qualitychange",(()=>{We.setDownloadUrl.call(e)}));const i=e.config.events.concat(["keyup","keydown"]).join(" ");fe.call(e,e.media,i,(i=>{let{detail:s={}}=i;"error"===i.type&&(s=e.media.error),ve.call(e,t.container,i.type,!0,s)}))})),e(this,"proxy",((e,t,i)=>{const{player:s}=this,n=s.config.listeners[i];let a=!0;j(n)&&(a=n.call(s,e)),!1!==a&&j(t)&&t.call(s,e)})),e(this,"bind",((e,t,i,s,n=!0)=>{const{player:a}=this,l=a.config.listeners[s],o=j(l);fe.call(a,e,t,(e=>this.proxy(e,i,s)),n&&!o)})),e(this,"controls",(()=>{const{player:e}=this,{elements:t}=e,i=Y.isIE?"change":"input";if(t.buttons.play&&Array.from(t.buttons.play).forEach((t=>{this.bind(t,"click",(()=>{ke(e.togglePlay())}),"play")})),this.bind(t.buttons.restart,"click",e.restart,"restart"),this.bind(t.buttons.rewind,"click",(()=>{e.lastSeekTime=Date.now(),e.rewind()}),"rewind"),this.bind(t.buttons.fastForward,"click",(()=>{e.lastSeekTime=Date.now(),e.forward()}),"fastForward"),this.bind(t.buttons.mute,"click",(()=>{e.muted=!e.muted}),"mute"),this.bind(t.buttons.captions,"click",(()=>e.toggleCaptions())),this.bind(t.buttons.download,"click",(()=>{ve.call(e,e.media,"download")}),"download"),this.bind(t.buttons.fullscreen,"click",(()=>{e.fullscreen.toggle()}),"fullscreen"),this.bind(t.buttons.pip,"click",(()=>{e.pip="toggle"}),"pip"),this.bind(t.buttons.airplay,"click",e.airplay,"airplay"),this.bind(t.buttons.settings,"click",(t=>{t.stopPropagation(),t.preventDefault(),We.toggleMenu.call(e,t)}),null,!1),this.bind(t.buttons.settings,"keyup",(t=>{const i=t.which;[13,32].includes(i)&&(13!==i?(t.preventDefault(),t.stopPropagation(),We.toggleMenu.call(e,t)):We.focusFirstMenuItem.call(e,null,!0))}),null,!1),this.bind(t.settings.menu,"keydown",(t=>{27===t.which&&We.toggleMenu.call(e,t)})),this.bind(t.inputs.seek,"mousedown mousemove",(e=>{const i=t.progress.getBoundingClientRect(),s=100/i.width*(e.pageX-i.left);e.currentTarget.setAttribute("seek-value",s)})),this.bind(t.inputs.seek,"mousedown mouseup keydown keyup touchstart touchend",(t=>{const i=t.currentTarget,s=t.keyCode?t.keyCode:t.which,n="play-on-seeked";if(R(t)&&39!==s&&37!==s)return;e.lastSeekTime=Date.now();const a=i.hasAttribute(n),l=["mouseup","touchend","keyup"].includes(t.type);a&&l?(i.removeAttribute(n),ke(e.play())):!l&&e.playing&&(i.setAttribute(n,""),e.pause())})),Y.isIos){const t=ce.call(e,'input[type="range"]');Array.from(t).forEach((e=>this.bind(e,i,(e=>K(e.target)))))}this.bind(t.inputs.seek,i,(t=>{const i=t.currentTarget;let s=i.getAttribute("seek-value");W(s)&&(s=i.value),i.removeAttribute("seek-value"),e.currentTime=s/i.max*e.duration}),"seek"),this.bind(t.progress,"mouseenter mouseleave mousemove",(t=>We.updateSeekTooltip.call(e,t))),this.bind(t.progress,"mousemove touchmove",(t=>{const{previewThumbnails:i}=e;i&&i.loaded&&i.startMove(t)})),this.bind(t.progress,"mouseleave touchend click",(()=>{const{previewThumbnails:t}=e;t&&t.loaded&&t.endMove(!1,!0)})),this.bind(t.progress,"mousedown touchstart",(t=>{const{previewThumbnails:i}=e;i&&i.loaded&&i.startScrubbing(t)})),this.bind(t.progress,"mouseup touchend",(t=>{const{previewThumbnails:i}=e;i&&i.loaded&&i.endScrubbing(t)})),Y.isWebkit&&Array.from(ce.call(e,'input[type="range"]')).forEach((t=>{this.bind(t,"input",(t=>We.updateRangeFill.call(e,t.target)))})),e.config.toggleInvert&&!H(t.display.duration)&&this.bind(t.display.currentTime,"click",(()=>{0!==e.currentTime&&(e.config.invertTime=!e.config.invertTime,We.timeUpdate.call(e))})),this.bind(t.inputs.volume,i,(t=>{e.volume=t.target.value}),"volume"),this.bind(t.controls,"mouseenter mouseleave",(i=>{t.controls.hover=!e.touch&&"mouseenter"===i.type})),t.fullscreen&&Array.from(t.fullscreen.children).filter((e=>!e.contains(t.container))).forEach((i=>{this.bind(i,"mouseenter mouseleave",(i=>{t.controls&&(t.controls.hover=!e.touch&&"mouseenter"===i.type)}))})),this.bind(t.controls,"mousedown mouseup touchstart touchend touchcancel",(e=>{t.controls.pressed=["mousedown","touchstart"].includes(e.type)})),this.bind(t.controls,"focusin",(()=>{const{config:i,timers:s}=e;le(t.controls,i.classNames.noTransition,!0),at.toggleControls.call(e,!0),setTimeout((()=>{le(t.controls,i.classNames.noTransition,!1)}),0);const n=this.touch?3e3:4e3;clearTimeout(s.controls),s.controls=setTimeout((()=>at.toggleControls.call(e,!1)),n)})),this.bind(t.inputs.volume,"wheel",(t=>{const i=t.webkitDirectionInvertedFromDevice,[s,n]=[t.deltaX,-t.deltaY].map((e=>i?-e:e)),a=Math.sign(Math.abs(s)>Math.abs(n)?s:n);e.increaseVolume(a/50);const{volume:l}=e.media;(1===a&&l<1||-1===a&&l>0)&&t.preventDefault()}),"volume",!1)})),this.player=t,this.lastKey=null,this.focusTimer=null,this.lastKeyDown=null,this.handleKey=this.handleKey.bind(this),this.toggleMenu=this.toggleMenu.bind(this),this.setTabFocus=this.setTabFocus.bind(this),this.firstTouch=this.firstTouch.bind(this)}handleKey(e){const{player:t}=this,{elements:i}=t,s=e.keyCode?e.keyCode:e.which,n="keydown"===e.type,a=n&&s===this.lastKey;if(e.altKey||e.ctrlKey||e.metaKey||e.shiftKey)return;if(!$(s))return;if(n){const n=document.activeElement;if(H(n)){const{editable:s}=t.config.selectors,{seek:a}=i.inputs;if(n!==a&&re(n,s))return;if(32===e.which&&re(n,'button, [role^="menuitem"]'))return}switch([32,37,38,39,40,48,49,50,51,52,53,54,56,57,67,70,73,75,76,77,79].includes(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:a||(t.currentTime=t.duration/10*(s-48));break;case 32:case 75:a||ke(t.togglePlay());break;case 38:t.increaseVolume(.1);break;case 40:t.decreaseVolume(.1);break;case 77:a||(t.muted=!t.muted);break;case 39:t.forward();break;case 37:t.rewind();break;case 70:t.fullscreen.toggle();break;case 67:a||t.toggleCaptions();break;case 76:t.loop=!t.loop}27===s&&!t.fullscreen.usingNative&&t.fullscreen.active&&t.fullscreen.toggle(),this.lastKey=s}else this.lastKey=null}toggleMenu(e){We.toggleMenu.call(this.player,e)}}"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self&&self;var ot=function(e,t){return e(t={exports:{}},t.exports),t.exports}((function(e,t){e.exports=function(){var e=function(){},t={},i={},s={};function n(e,t){e=e.push?e:[e];var n,a,l,o=[],r=e.length,c=r;for(n=function(e,i){i.length&&o.push(e),--c||t(o)};r--;)a=e[r],(l=i[a])?n(a,l):(s[a]=s[a]||[]).push(n)}function a(e,t){if(e){var n=s[e];if(i[e]=t,n)for(;n.length;)n[0](e,t),n.splice(0,1)}}function l(t,i){t.call&&(t={success:t}),i.length?(t.error||e)(i):(t.success||e)(t)}function o(t,i,s,n){var a,l,r=document,c=s.async,h=(s.numRetries||0)+1,u=s.before||e,d=t.replace(/[\?|#].*$/,""),m=t.replace(/^(css|img)!/,"");n=n||0,/(^css!|\.css$)/.test(d)?((l=r.createElement("link")).rel="stylesheet",l.href=m,(a="hideFocus"in l)&&l.relList&&(a=0,l.rel="preload",l.as="style")):/(^img!|\.(png|gif|jpg|svg|webp)$)/.test(d)?(l=r.createElement("img")).src=m:((l=r.createElement("script")).src=t,l.async=void 0===c||c),l.onload=l.onerror=l.onbeforeload=function(e){var r=e.type[0];if(a)try{l.sheet.cssText.length||(r="e")}catch(e){18!=e.code&&(r="e")}if("e"==r){if((n+=1){ot(e,{success:t,error:i})}))}function ct(e){e&&!this.embed.hasPlayed&&(this.embed.hasPlayed=!0),this.media.paused===e&&(this.media.paused=!e,ve.call(this,this.media,e?"play":"pause"))}const ht={setup(){const e=this;le(e.elements.wrapper,e.config.classNames.embed,!0),e.options.speed=e.config.speed.options,Me.call(e),L(window.Vimeo)?ht.ready.call(e):rt(e.config.urls.vimeo.sdk).then((()=>{ht.ready.call(e)})).catch((t=>{e.debug.warn("Vimeo SDK (player.js) failed to load",t)}))},ready(){const e=this,t=e.config.vimeo,{premium:i,referrerPolicy:s,...n}=t;let a=e.media.getAttribute("src"),l="";W(a)?(a=e.media.getAttribute(e.config.attributes.embed.id),l=e.media.getAttribute(e.config.attributes.embed.hash)):l=function(e){const t=e.match(/^.*(?:vimeo.com\/|video\/)(?:\d+)(?:\?.*&*h=|\/)+(?[\d,a-f]+)/);return t?t.groups.hash:null}(a);const o=l?{h:l}:{};i&&Object.assign(n,{controls:!1,sidedock:!1});const r=Ke({loop:e.config.loop.active,autoplay:e.autoplay,muted:e.muted,gesture:"media",playsinline:!this.config.fullscreen.iosNative,...o,...n}),c=W(h=a)?null:$(Number(h))?h:h.match(/^.*(vimeo.com\/|video\/)(\d+).*/)?RegExp.$2:h;var h;const u=Z("iframe"),d=$e(e.config.urls.vimeo.iframe,c,r);if(u.setAttribute("src",d),u.setAttribute("allowfullscreen",""),u.setAttribute("allow",["autoplay","fullscreen","picture-in-picture","encrypted-media","accelerometer","gyroscope"].join("; ")),W(s)||u.setAttribute("referrerPolicy",s),i||!t.customControls)u.setAttribute("data-poster",e.poster),e.media=se(u,e.media);else{const t=Z("div",{class:e.config.classNames.embedContainer,"data-poster":e.poster});t.appendChild(u),e.media=se(t,e.media)}t.customControls||Re($e(e.config.urls.vimeo.api,d)).then((t=>{!W(t)&&t.thumbnail_url&&at.setPoster.call(e,t.thumbnail_url).catch((()=>{}))})),e.embed=new window.Vimeo.Player(u,{autopause:e.config.autopause,muted:e.muted}),e.media.paused=!0,e.media.currentTime=0,e.supported.ui&&e.embed.disableTextTrack(),e.media.play=()=>(ct.call(e,!0),e.embed.play()),e.media.pause=()=>(ct.call(e,!1),e.embed.pause()),e.media.stop=()=>{e.pause(),e.currentTime=0};let{currentTime:m}=e.media;Object.defineProperty(e.media,"currentTime",{get:()=>m,set(t){const{embed:i,media:s,paused:n,volume:a}=e,l=n&&!i.hasPlayed;s.seeking=!0,ve.call(e,s,"seeking"),Promise.resolve(l&&i.setVolume(0)).then((()=>i.setCurrentTime(t))).then((()=>l&&i.pause())).then((()=>l&&i.setVolume(a))).catch((()=>{}))}});let p=e.config.speed.selected;Object.defineProperty(e.media,"playbackRate",{get:()=>p,set(t){e.embed.setPlaybackRate(t).then((()=>{p=t,ve.call(e,e.media,"ratechange")})).catch((()=>{e.options.speed=[1]}))}});let{volume:g}=e.config;Object.defineProperty(e.media,"volume",{get:()=>g,set(t){e.embed.setVolume(t).then((()=>{g=t,ve.call(e,e.media,"volumechange")}))}});let{muted:f}=e.config;Object.defineProperty(e.media,"muted",{get:()=>f,set(t){const i=!!O(t)&&t;e.embed.setVolume(i?0:e.config.volume).then((()=>{f=i,ve.call(e,e.media,"volumechange")}))}});let b,{loop:y}=e.config;Object.defineProperty(e.media,"loop",{get:()=>y,set(t){const i=O(t)?t:e.config.loop.active;e.embed.setLoop(i).then((()=>{y=i}))}}),e.embed.getVideoUrl().then((t=>{b=t,We.setDownloadUrl.call(e)})).catch((e=>{this.debug.warn(e)})),Object.defineProperty(e.media,"currentSrc",{get:()=>b}),Object.defineProperty(e.media,"ended",{get:()=>e.currentTime===e.duration}),Promise.all([e.embed.getVideoWidth(),e.embed.getVideoHeight()]).then((t=>{const[i,s]=t;e.embed.ratio=Ie(i,s),Me.call(this)})),e.embed.setAutopause(e.config.autopause).then((t=>{e.config.autopause=t})),e.embed.getVideoTitle().then((t=>{e.config.title=t,at.setTitle.call(this)})),e.embed.getCurrentTime().then((t=>{m=t,ve.call(e,e.media,"timeupdate")})),e.embed.getDuration().then((t=>{e.media.duration=t,ve.call(e,e.media,"durationchange")})),e.embed.getTextTracks().then((t=>{e.media.textTracks=t,Ye.setup.call(e)})),e.embed.on("cuechange",(({cues:t=[]})=>{const i=t.map((e=>function(e){const t=document.createDocumentFragment(),i=document.createElement("div");return t.appendChild(i),i.innerHTML=e,t.firstChild.innerText}(e.text)));Ye.updateCues.call(e,i)})),e.embed.on("loaded",(()=>{if(e.embed.getPaused().then((t=>{ct.call(e,!t),t||ve.call(e,e.media,"playing")})),H(e.embed.element)&&e.supported.ui){e.embed.element.setAttribute("tabindex",-1)}})),e.embed.on("bufferstart",(()=>{ve.call(e,e.media,"waiting")})),e.embed.on("bufferend",(()=>{ve.call(e,e.media,"playing")})),e.embed.on("play",(()=>{ct.call(e,!0),ve.call(e,e.media,"playing")})),e.embed.on("pause",(()=>{ct.call(e,!1)})),e.embed.on("timeupdate",(t=>{e.media.seeking=!1,m=t.seconds,ve.call(e,e.media,"timeupdate")})),e.embed.on("progress",(t=>{e.media.buffered=t.percent,ve.call(e,e.media,"progress"),1===parseInt(t.percent,10)&&ve.call(e,e.media,"canplaythrough"),e.embed.getDuration().then((t=>{t!==e.media.duration&&(e.media.duration=t,ve.call(e,e.media,"durationchange"))}))})),e.embed.on("seeked",(()=>{e.media.seeking=!1,ve.call(e,e.media,"seeked")})),e.embed.on("ended",(()=>{e.media.paused=!0,ve.call(e,e.media,"ended")})),e.embed.on("error",(t=>{e.media.error=t,ve.call(e,e.media,"error")})),t.customControls&&setTimeout((()=>at.build.call(e)),0)}};function ut(e){e&&!this.embed.hasPlayed&&(this.embed.hasPlayed=!0),this.media.paused===e&&(this.media.paused=!e,ve.call(this,this.media,e?"play":"pause"))}function dt(e){return e.noCookie?"https://www.youtube-nocookie.com":"http:"===window.location.protocol?"http://www.youtube.com":void 0}const mt={setup(){if(le(this.elements.wrapper,this.config.classNames.embed,!0),L(window.YT)&&j(window.YT.Player))mt.ready.call(this);else{const e=window.onYouTubeIframeAPIReady;window.onYouTubeIframeAPIReady=()=>{j(e)&&e(),mt.ready.call(this)},rt(this.config.urls.youtube.sdk).catch((e=>{this.debug.warn("YouTube API failed to load",e)}))}},getTitle(e){Re($e(this.config.urls.youtube.api,e)).then((e=>{if(L(e)){const{title:t,height:i,width:s}=e;this.config.title=t,at.setTitle.call(this),this.embed.ratio=Ie(s,i)}Me.call(this)})).catch((()=>{Me.call(this)}))},ready(){const e=this,t=e.config.youtube,i=e.media&&e.media.getAttribute("id");if(!W(i)&&i.startsWith("youtube-"))return;let s=e.media.getAttribute("src");W(s)&&(s=e.media.getAttribute(this.config.attributes.embed.id));const n=W(a=s)?null:a.match(/^.*(youtu.be\/|v\/|u\/\w\/|embed\/|watch\?v=|&v=)([^#&?]*).*/)?RegExp.$2:a;var a;const l=Z("div",{id:`${e.provider}-${Math.floor(1e4*Math.random())}`,"data-poster":t.customControls?e.poster:void 0});if(e.media=se(l,e.media),t.customControls){const t=e=>`https://i.ytimg.com/vi/${n}/${e}default.jpg`;nt(t("maxres"),121).catch((()=>nt(t("sd"),121))).catch((()=>nt(t("hq")))).then((t=>at.setPoster.call(e,t.src))).then((t=>{t.includes("maxres")||(e.elements.poster.style.backgroundSize="cover")})).catch((()=>{}))}e.embed=new window.YT.Player(e.media,{videoId:n,host:dt(t),playerVars:X({},{autoplay:e.config.autoplay?1:0,hl:e.config.hl,controls:e.supported.ui&&t.customControls?0:1,disablekb:1,playsinline:e.config.fullscreen.iosNative?0:1,cc_load_policy:e.captions.active?1:0,cc_lang_pref:e.config.captions.language,widget_referrer:window?window.location.href:null},t),events:{onError(t){if(!e.media.error){const i=t.data,s={2:"The request contains an invalid parameter value. For example, this error occurs if you specify a video ID that does not have 11 characters, or if the video ID contains invalid characters, such as exclamation points or asterisks.",5:"The requested content cannot be played in an HTML5 player or another error related to the HTML5 player has occurred.",100:"The video requested was not found. This error occurs when a video has been removed (for any reason) or has been marked as private.",101:"The owner of the requested video does not allow it to be played in embedded players.",150:"The owner of the requested video does not allow it to be played in embedded players."}[i]||"An unknown error occured";e.media.error={code:i,message:s},ve.call(e,e.media,"error")}},onPlaybackRateChange(t){const i=t.target;e.media.playbackRate=i.getPlaybackRate(),ve.call(e,e.media,"ratechange")},onReady(i){if(j(e.media.play))return;const s=i.target;mt.getTitle.call(e,n),e.media.play=()=>{ut.call(e,!0),s.playVideo()},e.media.pause=()=>{ut.call(e,!1),s.pauseVideo()},e.media.stop=()=>{s.stopVideo()},e.media.duration=s.getDuration(),e.media.paused=!0,e.media.currentTime=0,Object.defineProperty(e.media,"currentTime",{get:()=>Number(s.getCurrentTime()),set(t){e.paused&&!e.embed.hasPlayed&&e.embed.mute(),e.media.seeking=!0,ve.call(e,e.media,"seeking"),s.seekTo(t)}}),Object.defineProperty(e.media,"playbackRate",{get:()=>s.getPlaybackRate(),set(e){s.setPlaybackRate(e)}});let{volume:a}=e.config;Object.defineProperty(e.media,"volume",{get:()=>a,set(t){a=t,s.setVolume(100*a),ve.call(e,e.media,"volumechange")}});let{muted:l}=e.config;Object.defineProperty(e.media,"muted",{get:()=>l,set(t){const i=O(t)?t:l;l=i,s[i?"mute":"unMute"](),s.setVolume(100*a),ve.call(e,e.media,"volumechange")}}),Object.defineProperty(e.media,"currentSrc",{get:()=>s.getVideoUrl()}),Object.defineProperty(e.media,"ended",{get:()=>e.currentTime===e.duration});const o=s.getAvailablePlaybackRates();e.options.speed=o.filter((t=>e.config.speed.options.includes(t))),e.supported.ui&&t.customControls&&e.media.setAttribute("tabindex",-1),ve.call(e,e.media,"timeupdate"),ve.call(e,e.media,"durationchange"),clearInterval(e.timers.buffering),e.timers.buffering=setInterval((()=>{e.media.buffered=s.getVideoLoadedFraction(),(null===e.media.lastBuffered||e.media.lastBufferedat.build.call(e)),50)},onStateChange(i){const s=i.target;clearInterval(e.timers.playing);switch(e.media.seeking&&[1,2].includes(i.data)&&(e.media.seeking=!1,ve.call(e,e.media,"seeked")),i.data){case-1:ve.call(e,e.media,"timeupdate"),e.media.buffered=s.getVideoLoadedFraction(),ve.call(e,e.media,"progress");break;case 0:ut.call(e,!1),e.media.loop?(s.stopVideo(),s.playVideo()):ve.call(e,e.media,"ended");break;case 1:t.customControls&&!e.config.autoplay&&e.media.paused&&!e.embed.hasPlayed?e.media.pause():(ut.call(e,!0),ve.call(e,e.media,"playing"),e.timers.playing=setInterval((()=>{ve.call(e,e.media,"timeupdate")}),50),e.media.duration!==s.getDuration()&&(e.media.duration=s.getDuration(),ve.call(e,e.media,"durationchange")));break;case 2:e.muted||e.embed.unMute(),ut.call(e,!1);break;case 3:ve.call(e,e.media,"waiting")}ve.call(e,e.elements.container,"statechange",!1,{code:i.data})}}})}},pt={setup(){this.media?(le(this.elements.container,this.config.classNames.type.replace("{0}",this.type),!0),le(this.elements.container,this.config.classNames.provider.replace("{0}",this.provider),!0),this.isEmbed&&le(this.elements.container,this.config.classNames.type.replace("{0}","video"),!0),this.isVideo&&(this.elements.wrapper=Z("div",{class:this.config.classNames.video}),J(this.media,this.elements.wrapper),this.elements.poster=Z("div",{class:this.config.classNames.poster}),this.elements.wrapper.appendChild(this.elements.poster)),this.isHTML5?Le.setup.call(this):this.isYouTube?mt.setup.call(this):this.isVimeo&&ht.setup.call(this)):this.debug.warn("No media element found!")}};class gt{constructor(t){e(this,"load",(()=>{this.enabled&&(L(window.google)&&L(window.google.ima)?this.ready():rt(this.player.config.urls.googleIMA.sdk).then((()=>{this.ready()})).catch((()=>{this.trigger("error",new Error("Google IMA SDK failed to load"))})))})),e(this,"ready",(()=>{var e;this.enabled||((e=this).manager&&e.manager.destroy(),e.elements.displayContainer&&e.elements.displayContainer.destroy(),e.elements.container.remove()),this.startSafetyTimer(12e3,"ready()"),this.managerPromise.then((()=>{this.clearSafetyTimer("onAdsManagerLoaded()")})),this.listeners(),this.setupIMA()})),e(this,"setupIMA",(()=>{this.elements.container=Z("div",{class:this.player.config.classNames.ads}),this.player.elements.container.appendChild(this.elements.container),google.ima.settings.setVpaidMode(google.ima.ImaSdkSettings.VpaidMode.ENABLED),google.ima.settings.setLocale(this.player.config.ads.language),google.ima.settings.setDisableCustomPlaybackForIOS10Plus(this.player.config.playsinline),this.elements.displayContainer=new google.ima.AdDisplayContainer(this.elements.container,this.player.media),this.loader=new google.ima.AdsLoader(this.elements.displayContainer),this.loader.addEventListener(google.ima.AdsManagerLoadedEvent.Type.ADS_MANAGER_LOADED,(e=>this.onAdsManagerLoaded(e)),!1),this.loader.addEventListener(google.ima.AdErrorEvent.Type.AD_ERROR,(e=>this.onAdError(e)),!1),this.requestAds()})),e(this,"requestAds",(()=>{const{container:e}=this.player.elements;try{const t=new google.ima.AdsRequest;t.adTagUrl=this.tagUrl,t.linearAdSlotWidth=e.offsetWidth,t.linearAdSlotHeight=e.offsetHeight,t.nonLinearAdSlotWidth=e.offsetWidth,t.nonLinearAdSlotHeight=e.offsetHeight,t.forceNonLinearFullSlot=!1,t.setAdWillPlayMuted(!this.player.muted),this.loader.requestAds(t)}catch(e){this.onAdError(e)}})),e(this,"pollCountdown",((e=!1)=>{if(!e)return clearInterval(this.countdownTimer),void this.elements.container.removeAttribute("data-badge-text");this.countdownTimer=setInterval((()=>{const e=Ue(Math.max(this.manager.getRemainingTime(),0)),t=`${He.get("advertisement",this.player.config)} - ${e}`;this.elements.container.setAttribute("data-badge-text",t)}),100)})),e(this,"onAdsManagerLoaded",(e=>{if(!this.enabled)return;const t=new google.ima.AdsRenderingSettings;t.restoreCustomPlaybackStateOnAdBreakComplete=!0,t.enablePreloading=!0,this.manager=e.getAdsManager(this.player,t),this.cuePoints=this.manager.getCuePoints(),this.manager.addEventListener(google.ima.AdErrorEvent.Type.AD_ERROR,(e=>this.onAdError(e))),Object.keys(google.ima.AdEvent.Type).forEach((e=>{this.manager.addEventListener(google.ima.AdEvent.Type[e],(e=>this.onAdEvent(e)))})),this.trigger("loaded")})),e(this,"addCuePoints",(()=>{W(this.cuePoints)||this.cuePoints.forEach((e=>{if(0!==e&&-1!==e&&e{const{container:t}=this.player.elements,i=e.getAd(),s=e.getAdData();switch((e=>{ve.call(this.player,this.player.media,`ads${e.replace(/_/g,"").toLowerCase()}`)})(e.type),e.type){case google.ima.AdEvent.Type.LOADED:this.trigger("loaded"),this.pollCountdown(!0),i.isLinear()||(i.width=t.offsetWidth,i.height=t.offsetHeight);break;case google.ima.AdEvent.Type.STARTED:this.manager.setVolume(this.player.volume);break;case google.ima.AdEvent.Type.ALL_ADS_COMPLETED:this.player.ended?this.loadAds():this.loader.contentComplete();break;case google.ima.AdEvent.Type.CONTENT_PAUSE_REQUESTED:this.pauseContent();break;case google.ima.AdEvent.Type.CONTENT_RESUME_REQUESTED:this.pollCountdown(),this.resumeContent();break;case google.ima.AdEvent.Type.LOG:s.adError&&this.player.debug.warn(`Non-fatal ad error: ${s.adError.getMessage()}`)}})),e(this,"onAdError",(e=>{this.cancel(),this.player.debug.warn("Ads error",e)})),e(this,"listeners",(()=>{const{container:e}=this.player.elements;let t;this.player.on("canplay",(()=>{this.addCuePoints()})),this.player.on("ended",(()=>{this.loader.contentComplete()})),this.player.on("timeupdate",(()=>{t=this.player.currentTime})),this.player.on("seeked",(()=>{const e=this.player.currentTime;W(this.cuePoints)||this.cuePoints.forEach(((i,s)=>{t{this.manager&&this.manager.resize(e.offsetWidth,e.offsetHeight,google.ima.ViewMode.NORMAL)}))})),e(this,"play",(()=>{const{container:e}=this.player.elements;this.managerPromise||this.resumeContent(),this.managerPromise.then((()=>{this.manager.setVolume(this.player.volume),this.elements.displayContainer.initialize();try{this.initialized||(this.manager.init(e.offsetWidth,e.offsetHeight,google.ima.ViewMode.NORMAL),this.manager.start()),this.initialized=!0}catch(e){this.onAdError(e)}})).catch((()=>{}))})),e(this,"resumeContent",(()=>{this.elements.container.style.zIndex="",this.playing=!1,ke(this.player.media.play())})),e(this,"pauseContent",(()=>{this.elements.container.style.zIndex=3,this.playing=!0,this.player.media.pause()})),e(this,"cancel",(()=>{this.initialized&&this.resumeContent(),this.trigger("error"),this.loadAds()})),e(this,"loadAds",(()=>{this.managerPromise.then((()=>{this.manager&&this.manager.destroy(),this.managerPromise=new Promise((e=>{this.on("loaded",e),this.player.debug.log(this.manager)})),this.initialized=!1,this.requestAds()})).catch((()=>{}))})),e(this,"trigger",((e,...t)=>{const i=this.events[e];q(i)&&i.forEach((e=>{j(e)&&e.apply(this,t)}))})),e(this,"on",((e,t)=>(q(this.events[e])||(this.events[e]=[]),this.events[e].push(t),this))),e(this,"startSafetyTimer",((e,t)=>{this.player.debug.log(`Safety timer invoked from: ${t}`),this.safetyTimer=setTimeout((()=>{this.cancel(),this.clearSafetyTimer("startSafetyTimer()")}),e)})),e(this,"clearSafetyTimer",(e=>{I(this.safetyTimer)||(this.player.debug.log(`Safety timer cleared from: ${e}`),clearTimeout(this.safetyTimer),this.safetyTimer=null)})),this.player=t,this.config=t.config.ads,this.playing=!1,this.initialized=!1,this.elements={container:null,displayContainer:null},this.manager=null,this.loader=null,this.cuePoints=null,this.events={},this.safetyTimer=null,this.countdownTimer=null,this.managerPromise=new Promise(((e,t)=>{this.on("loaded",e),this.on("error",t)})),this.load()}get enabled(){const{config:e}=this;return this.player.isHTML5&&this.player.isVideo&&e.enabled&&(!W(e.publisherId)||U(e.tagUrl))}get tagUrl(){const{config:e}=this;if(U(e.tagUrl))return e.tagUrl;return`https://go.aniview.com/api/adserver6/vast/?${Ke({AV_PUBLISHERID:"58c25bb0073ef448b1087ad6",AV_CHANNELID:"5a0458dc28a06145e4519d21",AV_URL:window.location.hostname,cb:Date.now(),AV_WIDTH:640,AV_HEIGHT:480,AV_CDIM2:e.publisherId})}`}}const ft=e=>{const t=[];return e.split(/\r\n\r\n|\n\n|\r\r/).forEach((e=>{const i={};e.split(/\r\n|\n|\r/).forEach((e=>{if($(i.startTime)){if(!W(e.trim())&&W(i.text)){const t=e.trim().split("#xywh=");[i.text]=t,t[1]&&([i.x,i.y,i.w,i.h]=t[1].split(","))}}else{const t=e.match(/([0-9]{2})?:?([0-9]{2}):([0-9]{2}).([0-9]{2,3})( ?--> ?)([0-9]{2})?:?([0-9]{2}):([0-9]{2}).([0-9]{2,3})/);t&&(i.startTime=60*Number(t[1]||0)*60+60*Number(t[2])+Number(t[3])+Number(`0.${t[4]}`),i.endTime=60*Number(t[6]||0)*60+60*Number(t[7])+Number(t[8])+Number(`0.${t[9]}`))}})),i.text&&t.push(i)})),t},bt=(e,t)=>{const i={};return e>t.width/t.height?(i.width=t.width,i.height=1/e*t.width):(i.height=t.height,i.width=e*t.height),i};class yt{constructor(t){e(this,"load",(()=>{this.player.elements.display.seekTooltip&&(this.player.elements.display.seekTooltip.hidden=this.enabled),this.enabled&&this.getThumbnails().then((()=>{this.enabled&&(this.render(),this.determineContainerAutoSizing(),this.loaded=!0)}))})),e(this,"getThumbnails",(()=>new Promise((e=>{const{src:t}=this.player.config.previewThumbnails;if(W(t))throw new Error("Missing previewThumbnails.src config attribute");const i=()=>{this.thumbnails.sort(((e,t)=>e.height-t.height)),this.player.debug.log("Preview thumbnails",this.thumbnails),e()};if(j(t))t((e=>{this.thumbnails=e,i()}));else{const e=(_(t)?[t]:t).map((e=>this.getThumbnail(e)));Promise.all(e).then(i)}})))),e(this,"getThumbnail",(e=>new Promise((t=>{Re(e).then((i=>{const s={frames:ft(i),height:null,urlPrefix:""};s.frames[0].text.startsWith("/")||s.frames[0].text.startsWith("http://")||s.frames[0].text.startsWith("https://")||(s.urlPrefix=e.substring(0,e.lastIndexOf("/")+1));const n=new Image;n.onload=()=>{s.height=n.naturalHeight,s.width=n.naturalWidth,this.thumbnails.push(s),t()},n.src=s.urlPrefix+s.frames[0].text}))})))),e(this,"startMove",(e=>{if(this.loaded&&F(e)&&["touchmove","mousemove"].includes(e.type)&&this.player.media.duration){if("touchmove"===e.type)this.seekTime=this.player.media.duration*(this.player.elements.inputs.seek.value/100);else{const t=this.player.elements.progress.getBoundingClientRect(),i=100/t.width*(e.pageX-t.left);this.seekTime=this.player.media.duration*(i/100),this.seekTime<0&&(this.seekTime=0),this.seekTime>this.player.media.duration-1&&(this.seekTime=this.player.media.duration-1),this.mousePosX=e.pageX,this.elements.thumb.time.innerText=Ue(this.seekTime)}this.showImageAtCurrentTime()}})),e(this,"endMove",(()=>{this.toggleThumbContainer(!1,!0)})),e(this,"startScrubbing",(e=>{(I(e.button)||!1===e.button||0===e.button)&&(this.mouseDown=!0,this.player.media.duration&&(this.toggleScrubbingContainer(!0),this.toggleThumbContainer(!1,!0),this.showImageAtCurrentTime()))})),e(this,"endScrubbing",(()=>{this.mouseDown=!1,Math.ceil(this.lastTime)===Math.ceil(this.player.media.currentTime)?this.toggleScrubbingContainer(!1):ye.call(this.player,this.player.media,"timeupdate",(()=>{this.mouseDown||this.toggleScrubbingContainer(!1)}))})),e(this,"listeners",(()=>{this.player.on("play",(()=>{this.toggleThumbContainer(!1,!0)})),this.player.on("seeked",(()=>{this.toggleThumbContainer(!1)})),this.player.on("timeupdate",(()=>{this.lastTime=this.player.media.currentTime}))})),e(this,"render",(()=>{this.elements.thumb.container=Z("div",{class:this.player.config.classNames.previewThumbnails.thumbContainer}),this.elements.thumb.imageContainer=Z("div",{class:this.player.config.classNames.previewThumbnails.imageContainer}),this.elements.thumb.container.appendChild(this.elements.thumb.imageContainer);const e=Z("div",{class:this.player.config.classNames.previewThumbnails.timeContainer});this.elements.thumb.time=Z("span",{},"00:00"),e.appendChild(this.elements.thumb.time),this.elements.thumb.container.appendChild(e),H(this.player.elements.progress)&&this.player.elements.progress.appendChild(this.elements.thumb.container),this.elements.scrubbing.container=Z("div",{class:this.player.config.classNames.previewThumbnails.scrubbingContainer}),this.player.elements.wrapper.appendChild(this.elements.scrubbing.container)})),e(this,"destroy",(()=>{this.elements.thumb.container&&this.elements.thumb.container.remove(),this.elements.scrubbing.container&&this.elements.scrubbing.container.remove()})),e(this,"showImageAtCurrentTime",(()=>{this.mouseDown?this.setScrubbingContainerSize():this.setThumbContainerSizeAndPos();const e=this.thumbnails[0].frames.findIndex((e=>this.seekTime>=e.startTime&&this.seekTime<=e.endTime)),t=e>=0;let i=0;this.mouseDown||this.toggleThumbContainer(t),t&&(this.thumbnails.forEach(((t,s)=>{this.loadedImages.includes(t.frames[e].text)&&(i=s)})),e!==this.showingThumb&&(this.showingThumb=e,this.loadImage(i)))})),e(this,"loadImage",((e=0)=>{const t=this.showingThumb,i=this.thumbnails[e],{urlPrefix:s}=i,n=i.frames[t],a=i.frames[t].text,l=s+a;if(this.currentImageElement&&this.currentImageElement.dataset.filename===a)this.showImage(this.currentImageElement,n,e,t,a,!1),this.currentImageElement.dataset.index=t,this.removeOldImages(this.currentImageElement);else{this.loadingImage&&this.usingSprites&&(this.loadingImage.onload=null);const i=new Image;i.src=l,i.dataset.index=t,i.dataset.filename=a,this.showingThumbFilename=a,this.player.debug.log(`Loading image: ${l}`),i.onload=()=>this.showImage(i,n,e,t,a,!0),this.loadingImage=i,this.removeOldImages(i)}})),e(this,"showImage",((e,t,i,s,n,a=!0)=>{this.player.debug.log(`Showing thumb: ${n}. num: ${s}. qual: ${i}. newimg: ${a}`),this.setImageSizeAndOffset(e,t),a&&(this.currentImageContainer.appendChild(e),this.currentImageElement=e,this.loadedImages.includes(n)||this.loadedImages.push(n)),this.preloadNearby(s,!0).then(this.preloadNearby(s,!1)).then(this.getHigherQuality(i,e,t,n))})),e(this,"removeOldImages",(e=>{Array.from(this.currentImageContainer.children).forEach((t=>{if("img"!==t.tagName.toLowerCase())return;const i=this.usingSprites?500:1e3;if(t.dataset.index!==e.dataset.index&&!t.dataset.deleting){t.dataset.deleting=!0;const{currentImageContainer:e}=this;setTimeout((()=>{e.removeChild(t),this.player.debug.log(`Removing thumb: ${t.dataset.filename}`)}),i)}}))})),e(this,"preloadNearby",((e,t=!0)=>new Promise((i=>{setTimeout((()=>{const s=this.thumbnails[0].frames[e].text;if(this.showingThumbFilename===s){let n;n=t?this.thumbnails[0].frames.slice(e):this.thumbnails[0].frames.slice(0,e).reverse();let a=!1;n.forEach((e=>{const t=e.text;if(t!==s&&!this.loadedImages.includes(t)){a=!0,this.player.debug.log(`Preloading thumb filename: ${t}`);const{urlPrefix:e}=this.thumbnails[0],s=e+t,n=new Image;n.src=s,n.onload=()=>{this.player.debug.log(`Preloaded thumb filename: ${t}`),this.loadedImages.includes(t)||this.loadedImages.push(t),i()}}})),a||i()}}),300)})))),e(this,"getHigherQuality",((e,t,i,s)=>{if(e{this.showingThumbFilename===s&&(this.player.debug.log(`Showing higher quality thumb for: ${s}`),this.loadImage(e+1))}),300)}})),e(this,"toggleThumbContainer",((e=!1,t=!1)=>{const i=this.player.config.classNames.previewThumbnails.thumbContainerShown;this.elements.thumb.container.classList.toggle(i,e),!e&&t&&(this.showingThumb=null,this.showingThumbFilename=null)})),e(this,"toggleScrubbingContainer",((e=!1)=>{const t=this.player.config.classNames.previewThumbnails.scrubbingContainerShown;this.elements.scrubbing.container.classList.toggle(t,e),e||(this.showingThumb=null,this.showingThumbFilename=null)})),e(this,"determineContainerAutoSizing",(()=>{(this.elements.thumb.imageContainer.clientHeight>20||this.elements.thumb.imageContainer.clientWidth>20)&&(this.sizeSpecifiedInCSS=!0)})),e(this,"setThumbContainerSizeAndPos",(()=>{if(this.sizeSpecifiedInCSS){if(this.elements.thumb.imageContainer.clientHeight>20&&this.elements.thumb.imageContainer.clientWidth<20){const e=Math.floor(this.elements.thumb.imageContainer.clientHeight*this.thumbAspectRatio);this.elements.thumb.imageContainer.style.width=`${e}px`}else if(this.elements.thumb.imageContainer.clientHeight<20&&this.elements.thumb.imageContainer.clientWidth>20){const e=Math.floor(this.elements.thumb.imageContainer.clientWidth/this.thumbAspectRatio);this.elements.thumb.imageContainer.style.height=`${e}px`}}else{const e=Math.floor(this.thumbContainerHeight*this.thumbAspectRatio);this.elements.thumb.imageContainer.style.height=`${this.thumbContainerHeight}px`,this.elements.thumb.imageContainer.style.width=`${e}px`}this.setThumbContainerPos()})),e(this,"setThumbContainerPos",(()=>{const e=this.player.elements.progress.getBoundingClientRect(),t=this.player.elements.container.getBoundingClientRect(),{container:i}=this.elements.thumb,s=t.left-e.left+10,n=t.right-e.left-i.clientWidth-10;let a=this.mousePosX-e.left-i.clientWidth/2;an&&(a=n),i.style.left=`${a}px`})),e(this,"setScrubbingContainerSize",(()=>{const{width:e,height:t}=bt(this.thumbAspectRatio,{width:this.player.media.clientWidth,height:this.player.media.clientHeight});this.elements.scrubbing.container.style.width=`${e}px`,this.elements.scrubbing.container.style.height=`${t}px`})),e(this,"setImageSizeAndOffset",((e,t)=>{if(!this.usingSprites)return;const i=this.thumbContainerHeight/t.h;e.style.height=e.naturalHeight*i+"px",e.style.width=e.naturalWidth*i+"px",e.style.left=`-${t.x*i}px`,e.style.top=`-${t.y*i}px`})),this.player=t,this.thumbnails=[],this.loaded=!1,this.lastMouseMoveTime=Date.now(),this.mouseDown=!1,this.loadedImages=[],this.elements={thumb:{},scrubbing:{}},this.load()}get enabled(){return this.player.isHTML5&&this.player.isVideo&&this.player.config.previewThumbnails.enabled}get currentImageContainer(){return this.mouseDown?this.elements.scrubbing.container:this.elements.thumb.imageContainer}get usingSprites(){return Object.keys(this.thumbnails[0].frames[0]).includes("w")}get thumbAspectRatio(){return this.usingSprites?this.thumbnails[0].frames[0].w/this.thumbnails[0].frames[0].h:this.thumbnails[0].width/this.thumbnails[0].height}get thumbContainerHeight(){if(this.mouseDown){const{height:e}=bt(this.thumbAspectRatio,{width:this.player.media.clientWidth,height:this.player.media.clientHeight});return e}return this.sizeSpecifiedInCSS?this.elements.thumb.imageContainer.clientHeight:Math.floor(this.player.media.clientWidth/this.thumbAspectRatio/4)}get currentImageElement(){return this.mouseDown?this.currentScrubbingImageElement:this.currentThumbnailImageElement}set currentImageElement(e){this.mouseDown?this.currentScrubbingImageElement=e:this.currentThumbnailImageElement=e}}const vt={insertElements(e,t){_(t)?ee(e,this.media,{src:t}):q(t)&&t.forEach((t=>{ee(e,this.media,t)}))},change(e){Q(e,"sources.length")?(Le.cancelRequests.call(this),this.destroy.call(this,(()=>{this.options.quality=[],te(this.media),this.media=null,H(this.elements.container)&&this.elements.container.removeAttribute("class");const{sources:t,type:i}=e,[{provider:s=Ge.html5,src:n}]=t,a="html5"===s?i:"div",l="html5"===s?{}:{src:n};Object.assign(this,{provider:s,type:i,supported:me.check(i,s,this.config.playsinline),media:Z(a,l)}),this.elements.container.appendChild(this.media),O(e.autoplay)&&(this.config.autoplay=e.autoplay),this.isHTML5&&(this.config.crossorigin&&this.media.setAttribute("crossorigin",""),this.config.autoplay&&this.media.setAttribute("autoplay",""),W(e.poster)||(this.poster=e.poster),this.config.loop.active&&this.media.setAttribute("loop",""),this.config.muted&&this.media.setAttribute("muted",""),this.config.playsinline&&this.media.setAttribute("playsinline","")),at.addStyleHook.call(this),this.isHTML5&&vt.insertElements.call(this,"source",t),this.config.title=e.title,pt.setup.call(this),this.isHTML5&&Object.keys(e).includes("tracks")&&vt.insertElements.call(this,"track",e.tracks),(this.isHTML5||this.isEmbed&&!this.supported.ui)&&at.build.call(this),this.isHTML5&&this.media.load(),W(e.previewThumbnails)||(Object.assign(this.config.previewThumbnails,e.previewThumbnails),this.previewThumbnails&&this.previewThumbnails.loaded&&(this.previewThumbnails.destroy(),this.previewThumbnails=null),this.config.previewThumbnails.enabled&&(this.previewThumbnails=new yt(this))),this.fullscreen.update()}),!0)):this.debug.warn("Invalid source format")}};class wt{constructor(t,i){if(e(this,"play",(()=>j(this.media.play)?(this.ads&&this.ads.enabled&&this.ads.managerPromise.then((()=>this.ads.play())).catch((()=>ke(this.media.play()))),this.media.play()):null)),e(this,"pause",(()=>this.playing&&j(this.media.pause)?this.media.pause():null)),e(this,"togglePlay",(e=>(O(e)?e:!this.playing)?this.play():this.pause())),e(this,"stop",(()=>{this.isHTML5?(this.pause(),this.restart()):j(this.media.stop)&&this.media.stop()})),e(this,"restart",(()=>{this.currentTime=0})),e(this,"rewind",(e=>{this.currentTime-=$(e)?e:this.config.seekTime})),e(this,"forward",(e=>{this.currentTime+=$(e)?e:this.config.seekTime})),e(this,"increaseVolume",(e=>{const t=this.media.muted?0:this.volume;this.volume=t+($(e)?e:0)})),e(this,"decreaseVolume",(e=>{this.increaseVolume(-e)})),e(this,"airplay",(()=>{me.airplay&&this.media.webkitShowPlaybackTargetPicker()})),e(this,"toggleControls",(e=>{if(this.supported.ui&&!this.isAudio){const t=oe(this.elements.container,this.config.classNames.hideControls),i=void 0===e?void 0:!e,s=le(this.elements.container,this.config.classNames.hideControls,i);if(s&&q(this.config.controls)&&this.config.controls.includes("settings")&&!W(this.config.settings)&&We.toggleMenu.call(this,!1),s!==t){const e=s?"controlshidden":"controlsshown";ve.call(this,this.media,e)}return!s}return!1})),e(this,"on",((e,t)=>{fe.call(this,this.elements.container,e,t)})),e(this,"once",((e,t)=>{ye.call(this,this.elements.container,e,t)})),e(this,"off",((e,t)=>{be(this.elements.container,e,t)})),e(this,"destroy",((e,t=!1)=>{if(!this.ready)return;const i=()=>{document.body.style.overflow="",this.embed=null,t?(Object.keys(this.elements).length&&(te(this.elements.buttons.play),te(this.elements.captions),te(this.elements.controls),te(this.elements.wrapper),this.elements.buttons.play=null,this.elements.captions=null,this.elements.controls=null,this.elements.wrapper=null),j(e)&&e()):(we.call(this),Le.cancelRequests.call(this),se(this.elements.original,this.elements.container),ve.call(this,this.elements.original,"destroyed",!0),j(e)&&e.call(this.elements.original),this.ready=!1,setTimeout((()=>{this.elements=null,this.media=null}),200))};this.stop(),clearTimeout(this.timers.loading),clearTimeout(this.timers.controls),clearTimeout(this.timers.resized),this.isHTML5?(at.toggleNativeControls.call(this,!0),i()):this.isYouTube?(clearInterval(this.timers.buffering),clearInterval(this.timers.playing),null!==this.embed&&j(this.embed.destroy)&&this.embed.destroy(),i()):this.isVimeo&&(null!==this.embed&&this.embed.unload().then(i),setTimeout(i,200))})),e(this,"supports",(e=>me.mime.call(this,e))),this.timers={},this.ready=!1,this.loading=!1,this.failed=!1,this.touch=me.touch,this.media=t,_(this.media)&&(this.media=document.querySelectorAll(this.media)),(window.jQuery&&this.media instanceof jQuery||D(this.media)||q(this.media))&&(this.media=this.media[0]),this.config=X({},Qe,wt.defaults,i||{},(()=>{try{return JSON.parse(this.media.getAttribute("data-plyr-config"))}catch(e){return{}}})()),this.elements={container:null,fullscreen:null,captions:null,buttons:{},display:{},progress:{},inputs:{},settings:{popup:null,menu:null,panels:{},buttons:{}}},this.captions={active:null,currentTrack:-1,meta:new WeakMap},this.fullscreen={active:!1},this.options={speed:[],quality:[]},this.debug=new it(this.config.debug),this.debug.log("Config",this.config),this.debug.log("Support",me),I(this.media)||!H(this.media))return void this.debug.error("Setup failed: no suitable element passed");if(this.media.plyr)return void this.debug.warn("Target already setup");if(!this.config.enabled)return void this.debug.error("Setup failed: disabled by config");if(!me.check().api)return void this.debug.error("Setup failed: no support");const s=this.media.cloneNode(!0);s.autoplay=!1,this.elements.original=s;const n=this.media.tagName.toLowerCase();let a=null,l=null;switch(n){case"div":if(a=this.media.querySelector("iframe"),H(a)){if(l=ze(a.getAttribute("src")),this.provider=function(e){return/^(https?:\/\/)?(www\.)?(youtube\.com|youtube-nocookie\.com|youtu\.?be)\/.+$/.test(e)?Ge.youtube:/^https?:\/\/player.vimeo.com\/video\/\d{0,9}(?=\b|\/)/.test(e)?Ge.vimeo:null}(l.toString()),this.elements.container=this.media,this.media=a,this.elements.container.className="",l.search.length){const e=["1","true"];e.includes(l.searchParams.get("autoplay"))&&(this.config.autoplay=!0),e.includes(l.searchParams.get("loop"))&&(this.config.loop.active=!0),this.isYouTube?(this.config.playsinline=e.includes(l.searchParams.get("playsinline")),this.config.youtube.hl=l.searchParams.get("hl")):this.config.playsinline=!0}}else this.provider=this.media.getAttribute(this.config.attributes.embed.provider),this.media.removeAttribute(this.config.attributes.embed.provider);if(W(this.provider)||!Object.values(Ge).includes(this.provider))return void this.debug.error("Setup failed: Invalid provider");this.type=et;break;case"video":case"audio":this.type=n,this.provider=Ge.html5,this.media.hasAttribute("crossorigin")&&(this.config.crossorigin=!0),this.media.hasAttribute("autoplay")&&(this.config.autoplay=!0),(this.media.hasAttribute("playsinline")||this.media.hasAttribute("webkit-playsinline"))&&(this.config.playsinline=!0),this.media.hasAttribute("muted")&&(this.config.muted=!0),this.media.hasAttribute("loop")&&(this.config.loop.active=!0);break;default:return void this.debug.error("Setup failed: unsupported type")}this.supported=me.check(this.type,this.provider,this.config.playsinline),this.supported.api?(this.eventListeners=[],this.listeners=new lt(this),this.storage=new Fe(this),this.media.plyr=this,H(this.elements.container)||(this.elements.container=Z("div",{tabindex:0}),J(this.media,this.elements.container)),at.migrateStyles.call(this),at.addStyleHook.call(this),pt.setup.call(this),this.config.debug&&fe.call(this,this.elements.container,this.config.events.join(" "),(e=>{this.debug.log(`event: ${e.type}`)})),this.fullscreen=new st(this),(this.isHTML5||this.isEmbed&&!this.supported.ui)&&at.build.call(this),this.listeners.container(),this.listeners.global(),this.config.ads.enabled&&(this.ads=new gt(this)),this.isHTML5&&this.config.autoplay&&this.once("canplay",(()=>ke(this.play()))),this.lastSeekTime=0,this.config.previewThumbnails.enabled&&(this.previewThumbnails=new yt(this))):this.debug.error("Setup failed: no support")}get isHTML5(){return this.provider===Ge.html5}get isEmbed(){return this.isYouTube||this.isVimeo}get isYouTube(){return this.provider===Ge.youtube}get isVimeo(){return this.provider===Ge.vimeo}get isVideo(){return this.type===et}get isAudio(){return this.type===Ze}get playing(){return Boolean(this.ready&&!this.paused&&!this.ended)}get paused(){return Boolean(this.media.paused)}get stopped(){return Boolean(this.paused&&0===this.currentTime)}get ended(){return Boolean(this.media.ended)}set currentTime(e){if(!this.duration)return;const t=$(e)&&e>0;this.media.currentTime=t?Math.min(e,this.duration):0,this.debug.log(`Seeking to ${this.currentTime} seconds`)}get currentTime(){return Number(this.media.currentTime)}get buffered(){const{buffered:e}=this.media;return $(e)?e:e&&e.length&&this.duration>0?e.end(0)/this.duration:0}get seeking(){return Boolean(this.media.seeking)}get duration(){const e=parseFloat(this.config.duration),t=(this.media||{}).duration,i=$(t)&&t!==1/0?t:0;return e||i}set volume(e){let t=e;_(t)&&(t=Number(t)),$(t)||(t=this.storage.get("volume")),$(t)||({volume:t}=this.config),t>1&&(t=1),t<0&&(t=0),this.config.volume=t,this.media.volume=t,!W(e)&&this.muted&&t>0&&(this.muted=!1)}get volume(){return Number(this.media.volume)}set muted(e){let t=e;O(t)||(t=this.storage.get("muted")),O(t)||(t=this.config.muted),this.config.muted=t,this.media.muted=t}get muted(){return Boolean(this.media.muted)}get hasAudio(){return!this.isHTML5||(!!this.isAudio||(Boolean(this.media.mozHasAudio)||Boolean(this.media.webkitAudioDecodedByteCount)||Boolean(this.media.audioTracks&&this.media.audioTracks.length)))}set speed(e){let t=null;$(e)&&(t=e),$(t)||(t=this.storage.get("speed")),$(t)||(t=this.config.speed.selected);const{minimumSpeed:i,maximumSpeed:s}=this;t=function(e=0,t=0,i=255){return Math.min(Math.max(e,t),i)}(t,i,s),this.config.speed.selected=t,setTimeout((()=>{this.media&&(this.media.playbackRate=t)}),0)}get speed(){return Number(this.media.playbackRate)}get minimumSpeed(){return this.isYouTube?Math.min(...this.options.speed):this.isVimeo?.5:.0625}get maximumSpeed(){return this.isYouTube?Math.max(...this.options.speed):this.isVimeo?2:16}set quality(e){const t=this.config.quality,i=this.options.quality;if(!i.length)return;let s=[!W(e)&&Number(e),this.storage.get("quality"),t.selected,t.default].find($),n=!0;if(!i.includes(s)){const e=Ae(i,s);this.debug.warn(`Unsupported quality option: ${s}, using ${e} instead`),s=e,n=!1}t.selected=s,this.media.quality=s,n&&this.storage.set({quality:s})}get quality(){return this.media.quality}set loop(e){const t=O(e)?e:this.config.loop.active;this.config.loop.active=t,this.media.loop=t}get loop(){return Boolean(this.media.loop)}set source(e){vt.change.call(this,e)}get source(){return this.media.currentSrc}get download(){const{download:e}=this.config.urls;return U(e)?e:this.source}set download(e){U(e)&&(this.config.urls.download=e,We.setDownloadUrl.call(this))}set poster(e){this.isVideo?at.setPoster.call(this,e,!1).catch((()=>{})):this.debug.warn("Poster can only be set for video")}get poster(){return this.isVideo?this.media.getAttribute("poster")||this.media.getAttribute("data-poster"):null}get ratio(){if(!this.isVideo)return null;const e=Ne(xe.call(this));return q(e)?e.join(":"):e}set ratio(e){this.isVideo?_(e)&&Pe(e)?(this.config.ratio=Ne(e),Me.call(this)):this.debug.error(`Invalid aspect ratio specified (${e})`):this.debug.warn("Aspect ratio can only be set for video")}set autoplay(e){const t=O(e)?e:this.config.autoplay;this.config.autoplay=t}get autoplay(){return Boolean(this.config.autoplay)}toggleCaptions(e){Ye.toggle.call(this,e,!1)}set currentTrack(e){Ye.set.call(this,e,!1),Ye.setup()}get currentTrack(){const{toggled:e,currentTrack:t}=this.captions;return e?t:-1}set language(e){Ye.setLanguage.call(this,e,!1)}get language(){return(Ye.getCurrentTrack.call(this)||{}).language}set pip(e){if(!me.pip)return;const t=O(e)?e:!this.pip;j(this.media.webkitSetPresentationMode)&&this.media.webkitSetPresentationMode(t?Xe:Je),j(this.media.requestPictureInPicture)&&(!this.pip&&t?this.media.requestPictureInPicture():this.pip&&!t&&document.exitPictureInPicture())}get pip(){return me.pip?W(this.media.webkitPresentationMode)?this.media===document.pictureInPictureElement:this.media.webkitPresentationMode===Xe:null}setPreviewThumbnails(e){this.previewThumbnails&&this.previewThumbnails.loaded&&(this.previewThumbnails.destroy(),this.previewThumbnails=null),Object.assign(this.config.previewThumbnails,e),this.config.previewThumbnails.enabled&&(this.previewThumbnails=new yt(this))}static supported(e,t,i){return me.check(e,t,i)}static loadSprite(e,t){return Ve(e,t)}static setup(e,t={}){let i=null;return _(e)?i=Array.from(document.querySelectorAll(e)):D(e)?i=Array.from(e):q(e)&&(i=e.filter(H)),W(i)?null:i.map((e=>new wt(e,t)))}}var Tt;return wt.defaults=(Tt=Qe,JSON.parse(JSON.stringify(Tt))),wt})); +"object"==typeof navigator&&function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define("Plyr",t):(e="undefined"!=typeof globalThis?globalThis:e||self).Plyr=t()}(this,(function(){"use strict";function e(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function t(e,t){for(var i=0;it){var i=function(e){var t="".concat(e).match(/(?:\.(\d+))?(?:[eE]([+-]?\d+))?$/);return t?Math.max(0,(t[1]?t[1].length:0)-(t[2]?+t[2]:0)):0}(t);return parseFloat(e.toFixed(i))}return Math.round(e/t)*t}var T=function(){function e(t,i){(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")})(this,e),b(t)?this.element=t:p(t)&&(this.element=document.querySelector(t)),b(this.element)&&v(this.element.rangeTouch)&&(this.config=n({},a,{},i),this.init())}return function(e,i,s){i&&t(e.prototype,i),s&&t(e,s)}(e,[{key:"init",value:function(){e.enabled&&(this.config.addCSS&&(this.element.style.userSelect="none",this.element.style.webKitUserSelect="none",this.element.style.touchAction="manipulation"),this.listeners(!0),this.element.rangeTouch=this)}},{key:"destroy",value:function(){e.enabled&&(this.config.addCSS&&(this.element.style.userSelect="",this.element.style.webKitUserSelect="",this.element.style.touchAction=""),this.listeners(!1),this.element.rangeTouch=null)}},{key:"listeners",value:function(e){var t=this,i=e?"addEventListener":"removeEventListener";["touchstart","touchmove","touchend"].forEach((function(e){t.element[i](e,(function(e){return t.set(e)}),!1)}))}},{key:"get",value:function(t){if(!e.enabled||!y(t))return null;var i,s=t.target,n=t.changedTouches[0],a=parseFloat(s.getAttribute("min"))||0,l=parseFloat(s.getAttribute("max"))||100,o=parseFloat(s.getAttribute("step"))||1,r=s.getBoundingClientRect(),c=100/r.width*(this.config.thumbWidth/2)/100;return 0>(i=100/r.width*(n.clientX-r.left))?i=0:100i?i-=(100-2*i)*c:50null!=e?e.constructor:null,C=(e,t)=>Boolean(e&&t&&e instanceof t),A=e=>null==e,S=e=>k(e)===Object,E=e=>k(e)===String,P=e=>k(e)===Function,N=e=>Array.isArray(e),x=e=>C(e,NodeList),M=e=>A(e)||(E(e)||N(e)||x(e))&&!e.length||S(e)&&!Object.keys(e).length;var I=A,L=S,$=e=>k(e)===Number&&!Number.isNaN(e),_=E,O=e=>k(e)===Boolean,j=P,q=N,D=x,H=e=>null!==e&&"object"==typeof e&&1===e.nodeType&&"object"==typeof e.style&&"object"==typeof e.ownerDocument,F=e=>C(e,Event),R=e=>C(e,KeyboardEvent),V=e=>C(e,TextTrack)||!A(e)&&E(e.kind),B=e=>C(e,Promise)&&P(e.then),U=e=>{if(C(e,window.URL))return!0;if(!E(e))return!1;let t=e;e.startsWith("http://")&&e.startsWith("https://")||(t=`http://${e}`);try{return!M(new URL(t).hostname)}catch(e){return!1}},W=M;const z=(()=>{const e=document.createElement("span"),t={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"},i=Object.keys(t).find((t=>void 0!==e.style[t]));return!!_(i)&&t[i]})();function K(e,t){setTimeout((()=>{try{e.hidden=!0,e.offsetHeight,e.hidden=!1}catch(e){}}),t)}const Y={isIE:Boolean(window.document.documentMode),isEdge:window.navigator.userAgent.includes("Edge"),isWebkit:"WebkitAppearance"in document.documentElement.style&&!/Edge/.test(navigator.userAgent),isIPhone:/(iPhone|iPod)/gi.test(navigator.platform),isIos:"MacIntel"===navigator.platform&&navigator.maxTouchPoints>1||/(iPad|iPhone|iPod)/gi.test(navigator.platform)};function Q(e,t){return t.split(".").reduce(((e,t)=>e&&e[t]),e)}function X(e={},...t){if(!t.length)return e;const i=t.shift();return L(i)?(Object.keys(i).forEach((t=>{L(i[t])?(Object.keys(e).includes(t)||Object.assign(e,{[t]:{}}),X(e[t],i[t])):Object.assign(e,{[t]:i[t]})})),X(e,...t)):e}function J(e,t){const i=e.length?e:[e];Array.from(i).reverse().forEach(((e,i)=>{const s=i>0?t.cloneNode(!0):t,n=e.parentNode,a=e.nextSibling;s.appendChild(e),a?n.insertBefore(s,a):n.appendChild(s)}))}function G(e,t){H(e)&&!W(t)&&Object.entries(t).filter((([,e])=>!I(e))).forEach((([t,i])=>e.setAttribute(t,i)))}function Z(e,t,i){const s=document.createElement(e);return L(t)&&G(s,t),_(i)&&(s.innerText=i),s}function ee(e,t,i,s){H(t)&&t.appendChild(Z(e,i,s))}function te(e){D(e)||q(e)?Array.from(e).forEach(te):H(e)&&H(e.parentNode)&&e.parentNode.removeChild(e)}function ie(e){if(!H(e))return;let{length:t}=e.childNodes;for(;t>0;)e.removeChild(e.lastChild),t-=1}function se(e,t){return H(t)&&H(t.parentNode)&&H(e)?(t.parentNode.replaceChild(e,t),e):null}function ne(e,t){if(!_(e)||W(e))return{};const i={},s=X({},t);return e.split(",").forEach((e=>{const t=e.trim(),n=t.replace(".",""),a=t.replace(/[[\]]/g,"").split("="),[l]=a,o=a.length>1?a[1].replace(/["']/g,""):"";switch(t.charAt(0)){case".":_(s.class)?i.class=`${s.class} ${n}`:i.class=n;break;case"#":i.id=t.replace("#","");break;case"[":i[l]=o}})),X(s,i)}function ae(e,t){if(!H(e))return;let i=t;O(i)||(i=!e.hidden),e.hidden=i}function le(e,t,i){if(D(e))return Array.from(e).map((e=>le(e,t,i)));if(H(e)){let s="toggle";return void 0!==i&&(s=i?"add":"remove"),e.classList[s](t),e.classList.contains(t)}return!1}function oe(e,t){return H(e)&&e.classList.contains(t)}function re(e,t){const{prototype:i}=Element;return(i.matches||i.webkitMatchesSelector||i.mozMatchesSelector||i.msMatchesSelector||function(){return Array.from(document.querySelectorAll(t)).includes(this)}).call(e,t)}function ce(e){return this.elements.container.querySelectorAll(e)}function he(e){return this.elements.container.querySelector(e)}function ue(e=null,t=!1){H(e)&&(e.focus({preventScroll:!0}),t&&le(e,this.config.classNames.tabFocus))}const de={"audio/ogg":"vorbis","audio/wav":"1","video/webm":"vp8, vorbis","video/mp4":"avc1.42E01E, mp4a.40.2","video/ogg":"theora"},me={audio:"canPlayType"in document.createElement("audio"),video:"canPlayType"in document.createElement("video"),check(e,t,i){const s=Y.isIPhone&&i&&me.playsinline,n=me[e]||"html5"!==t;return{api:n,ui:n&&me.rangeInput&&("video"!==e||!Y.isIPhone||s)}},pip:!(Y.isIPhone||!j(Z("video").webkitSetPresentationMode)&&(!document.pictureInPictureEnabled||Z("video").disablePictureInPicture)),airplay:j(window.WebKitPlaybackTargetAvailabilityEvent),playsinline:"playsInline"in document.createElement("video"),mime(e){if(W(e))return!1;const[t]=e.split("/");let i=e;if(!this.isHTML5||t!==this.type)return!1;Object.keys(de).includes(i)&&(i+=`; codecs="${de[e]}"`);try{return Boolean(i&&this.media.canPlayType(i).replace(/no/,""))}catch(e){return!1}},textTracks:"textTracks"in document.createElement("video"),rangeInput:(()=>{const e=document.createElement("input");return e.type="range","range"===e.type})(),touch:"ontouchstart"in document.documentElement,transitions:!1!==z,reducedMotion:"matchMedia"in window&&window.matchMedia("(prefers-reduced-motion)").matches},pe=(()=>{let e=!1;try{const t=Object.defineProperty({},"passive",{get:()=>(e=!0,null)});window.addEventListener("test",null,t),window.removeEventListener("test",null,t)}catch(e){}return e})();function ge(e,t,i,s=!1,n=!0,a=!1){if(!e||!("addEventListener"in e)||W(t)||!j(i))return;const l=t.split(" ");let o=a;pe&&(o={passive:n,capture:a}),l.forEach((t=>{this&&this.eventListeners&&s&&this.eventListeners.push({element:e,type:t,callback:i,options:o}),e[s?"addEventListener":"removeEventListener"](t,i,o)}))}function fe(e,t="",i,s=!0,n=!1){ge.call(this,e,t,i,!0,s,n)}function be(e,t="",i,s=!0,n=!1){ge.call(this,e,t,i,!1,s,n)}function ye(e,t="",i,s=!0,n=!1){const a=(...l)=>{be(e,t,a,s,n),i.apply(this,l)};ge.call(this,e,t,a,!0,s,n)}function ve(e,t="",i=!1,s={}){if(!H(e)||W(t))return;const n=new CustomEvent(t,{bubbles:i,detail:{...s,plyr:this}});e.dispatchEvent(n)}function we(){this&&this.eventListeners&&(this.eventListeners.forEach((e=>{const{element:t,type:i,callback:s,options:n}=e;t.removeEventListener(i,s,n)})),this.eventListeners=[])}function Te(){return new Promise((e=>this.ready?setTimeout(e,0):fe.call(this,this.elements.container,"ready",e))).then((()=>{}))}function ke(e){B(e)&&e.then(null,(()=>{}))}function Ce(e){return q(e)?e.filter(((t,i)=>e.indexOf(t)===i)):e}function Ae(e,t){return q(e)&&e.length?e.reduce(((e,i)=>Math.abs(i-t)({...e,[t/i]:[t,i]})),{});function Pe(e){if(!(q(e)||_(e)&&e.includes(":")))return!1;return(q(e)?e:e.split(":")).map(Number).every($)}function Ne(e){if(!q(e)||!e.every($))return null;const[t,i]=e,s=(e,t)=>0===t?e:s(t,e%t),n=s(t,i);return[t/n,i/n]}function xe(e){const t=e=>Pe(e)?e.split(":").map(Number):null;let i=t(e);if(null===i&&(i=t(this.config.ratio)),null===i&&!W(this.embed)&&q(this.embed.ratio)&&({ratio:i}=this.embed),null===i&&this.isHTML5){const{videoWidth:e,videoHeight:t}=this.media;i=[e,t]}return Ne(i)}function Me(e){if(!this.isVideo)return{};const{wrapper:t}=this.elements,i=xe.call(this,e);if(!q(i))return{};const[s,n]=Ne(i),a=100/s*n;if(Se(`aspect-ratio: ${s}/${n}`)?t.style.aspectRatio=`${s}/${n}`:t.style.paddingBottom=`${a}%`,this.isVimeo&&!this.config.vimeo.premium&&this.supported.ui){const e=100/this.media.offsetWidth*parseInt(window.getComputedStyle(this.media).paddingBottom,10),i=(e-a)/(e/50);this.fullscreen.active?t.style.paddingBottom=null:this.media.style.transform=`translateY(-${i}%)`}else this.isHTML5&&t.classList.add(this.config.classNames.videoFixedRatio);return{padding:a,ratio:i}}function Ie(e,t,i=.05){const s=e/t,n=Ae(Object.keys(Ee),s);return Math.abs(n-s)<=i?Ee[n]:[e,t]}const Le={getSources(){if(!this.isHTML5)return[];return Array.from(this.media.querySelectorAll("source")).filter((e=>{const t=e.getAttribute("type");return!!W(t)||me.mime.call(this,t)}))},getQualityOptions(){return this.config.quality.forced?this.config.quality.options:Le.getSources.call(this).map((e=>Number(e.getAttribute("size")))).filter(Boolean)},setup(){if(!this.isHTML5)return;const e=this;e.options.speed=e.config.speed.options,W(this.config.ratio)||Me.call(e),Object.defineProperty(e.media,"quality",{get(){const t=Le.getSources.call(e).find((t=>t.getAttribute("src")===e.source));return t&&Number(t.getAttribute("size"))},set(t){if(e.quality!==t){if(e.config.quality.forced&&j(e.config.quality.onChange))e.config.quality.onChange(t);else{const i=Le.getSources.call(e).find((e=>Number(e.getAttribute("size"))===t));if(!i)return;const{currentTime:s,paused:n,preload:a,readyState:l,playbackRate:o}=e.media;e.media.src=i.getAttribute("src"),("none"!==a||l)&&(e.once("loadedmetadata",(()=>{e.speed=o,e.currentTime=s,n||ke(e.play())})),e.media.load())}ve.call(e,e.media,"qualitychange",!1,{quality:t})}}})},cancelRequests(){this.isHTML5&&(te(Le.getSources.call(this)),this.media.setAttribute("src",this.config.blankVideo),this.media.load(),this.debug.log("Cancelled network requests"))}};function $e(e,...t){return W(e)?e:e.toString().replace(/{(\d+)}/g,((e,i)=>t[i].toString()))}const _e=(e="",t="",i="")=>e.replace(new RegExp(t.toString().replace(/([.*+?^=!:${}()|[\]/\\])/g,"\\$1"),"g"),i.toString()),Oe=(e="")=>e.toString().replace(/\w\S*/g,(e=>e.charAt(0).toUpperCase()+e.substr(1).toLowerCase()));function je(e=""){let t=e.toString();return t=function(e=""){let t=e.toString();return t=_e(t,"-"," "),t=_e(t,"_"," "),t=Oe(t),_e(t," ","")}(t),t.charAt(0).toLowerCase()+t.slice(1)}function qe(e){const t=document.createElement("div");return t.appendChild(e),t.innerHTML}const De={pip:"PIP",airplay:"AirPlay",html5:"HTML5",vimeo:"Vimeo",youtube:"YouTube"},He={get(e="",t={}){if(W(e)||W(t))return"";let i=Q(t.i18n,e);if(W(i))return Object.keys(De).includes(e)?De[e]:"";const s={"{seektime}":t.seekTime,"{title}":t.title};return Object.entries(s).forEach((([e,t])=>{i=_e(i,e,t)})),i}};class Fe{constructor(t){e(this,"get",(e=>{if(!Fe.supported||!this.enabled)return null;const t=window.localStorage.getItem(this.key);if(W(t))return null;const i=JSON.parse(t);return _(e)&&e.length?i[e]:i})),e(this,"set",(e=>{if(!Fe.supported||!this.enabled)return;if(!L(e))return;let t=this.get();W(t)&&(t={}),X(t,e);try{window.localStorage.setItem(this.key,JSON.stringify(t))}catch(e){}})),this.enabled=t.config.storage.enabled,this.key=t.config.storage.key}static get supported(){try{if(!("localStorage"in window))return!1;const e="___test";return window.localStorage.setItem(e,e),window.localStorage.removeItem(e),!0}catch(e){return!1}}}function Re(e,t="text"){return new Promise(((i,s)=>{try{const s=new XMLHttpRequest;if(!("withCredentials"in s))return;s.addEventListener("load",(()=>{if("text"===t)try{i(JSON.parse(s.responseText))}catch(e){i(s.responseText)}else i(s.response)})),s.addEventListener("error",(()=>{throw new Error(s.status)})),s.open("GET",e,!0),s.responseType=t,s.send()}catch(e){s(e)}}))}function Ve(e,t){if(!_(e))return;const i=_(t);let s=!1;const n=()=>null!==document.getElementById(t),a=(e,t)=>{e.innerHTML=t,i&&n()||document.body.insertAdjacentElement("afterbegin",e)};if(!i||!n()){const n=Fe.supported,l=document.createElement("div");if(l.setAttribute("hidden",""),i&&l.setAttribute("id",t),n){const e=window.localStorage.getItem(`cache-${t}`);if(s=null!==e,s){const t=JSON.parse(e);a(l,t.content)}}Re(e).then((e=>{if(!W(e)){if(n)try{window.localStorage.setItem(`cache-${t}`,JSON.stringify({content:e}))}catch(e){}a(l,e)}})).catch((()=>{}))}}const Be=e=>Math.trunc(e/60/60%60,10);function Ue(e=0,t=!1,i=!1){if(!$(e))return Ue(void 0,t,i);const s=e=>`0${e}`.slice(-2);let n=Be(e);const a=(l=e,Math.trunc(l/60%60,10));var l;const o=(e=>Math.trunc(e%60,10))(e);return n=t||n>0?`${n}:`:"",`${i&&e>0?"-":""}${n}${s(a)}:${s(o)}`}const We={getIconUrl(){const e=new URL(this.config.iconUrl,window.location),t=window.location.host?window.location.host:window.top.location.host,i=e.host!==t||Y.isIE&&!window.svg4everybody;return{url:this.config.iconUrl,cors:i}},findElements(){try{return this.elements.controls=he.call(this,this.config.selectors.controls.wrapper),this.elements.buttons={play:ce.call(this,this.config.selectors.buttons.play),pause:he.call(this,this.config.selectors.buttons.pause),restart:he.call(this,this.config.selectors.buttons.restart),rewind:he.call(this,this.config.selectors.buttons.rewind),fastForward:he.call(this,this.config.selectors.buttons.fastForward),mute:he.call(this,this.config.selectors.buttons.mute),pip:he.call(this,this.config.selectors.buttons.pip),airplay:he.call(this,this.config.selectors.buttons.airplay),settings:he.call(this,this.config.selectors.buttons.settings),captions:he.call(this,this.config.selectors.buttons.captions),fullscreen:he.call(this,this.config.selectors.buttons.fullscreen)},this.elements.progress=he.call(this,this.config.selectors.progress),this.elements.inputs={seek:he.call(this,this.config.selectors.inputs.seek),volume:he.call(this,this.config.selectors.inputs.volume)},this.elements.display={buffer:he.call(this,this.config.selectors.display.buffer),currentTime:he.call(this,this.config.selectors.display.currentTime),duration:he.call(this,this.config.selectors.display.duration)},H(this.elements.progress)&&(this.elements.display.seekTooltip=this.elements.progress.querySelector(`.${this.config.classNames.tooltip}`)),!0}catch(e){return this.debug.warn("It looks like there is a problem with your custom controls HTML",e),this.toggleNativeControls(!0),!1}},createIcon(e,t){const i="http://www.w3.org/2000/svg",s=We.getIconUrl.call(this),n=`${s.cors?"":s.url}#${this.config.iconPrefix}`,a=document.createElementNS(i,"svg");G(a,X(t,{"aria-hidden":"true",focusable:"false"}));const l=document.createElementNS(i,"use"),o=`${n}-${e}`;return"href"in l&&l.setAttributeNS("http://www.w3.org/1999/xlink","href",o),l.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",o),a.appendChild(l),a},createLabel(e,t={}){const i=He.get(e,this.config);return Z("span",{...t,class:[t.class,this.config.classNames.hidden].filter(Boolean).join(" ")},i)},createBadge(e){if(W(e))return null;const t=Z("span",{class:this.config.classNames.menu.value});return t.appendChild(Z("span",{class:this.config.classNames.menu.badge},e)),t},createButton(e,t){const i=X({},t);let s=je(e);const n={element:"button",toggle:!1,label:null,icon:null,labelPressed:null,iconPressed:null};switch(["element","icon","label"].forEach((e=>{Object.keys(i).includes(e)&&(n[e]=i[e],delete i[e])})),"button"!==n.element||Object.keys(i).includes("type")||(i.type="button"),Object.keys(i).includes("class")?i.class.split(" ").some((e=>e===this.config.classNames.control))||X(i,{class:`${i.class} ${this.config.classNames.control}`}):i.class=this.config.classNames.control,e){case"play":n.toggle=!0,n.label="play",n.labelPressed="pause",n.icon="play",n.iconPressed="pause";break;case"mute":n.toggle=!0,n.label="mute",n.labelPressed="unmute",n.icon="volume",n.iconPressed="muted";break;case"captions":n.toggle=!0,n.label="enableCaptions",n.labelPressed="disableCaptions",n.icon="captions-off",n.iconPressed="captions-on";break;case"fullscreen":n.toggle=!0,n.label="enterFullscreen",n.labelPressed="exitFullscreen",n.icon="enter-fullscreen",n.iconPressed="exit-fullscreen";break;case"play-large":i.class+=` ${this.config.classNames.control}--overlaid`,s="play",n.label="play",n.icon="play";break;default:W(n.label)&&(n.label=s),W(n.icon)&&(n.icon=e)}const a=Z(n.element);return n.toggle?(a.appendChild(We.createIcon.call(this,n.iconPressed,{class:"icon--pressed"})),a.appendChild(We.createIcon.call(this,n.icon,{class:"icon--not-pressed"})),a.appendChild(We.createLabel.call(this,n.labelPressed,{class:"label--pressed"})),a.appendChild(We.createLabel.call(this,n.label,{class:"label--not-pressed"}))):(a.appendChild(We.createIcon.call(this,n.icon)),a.appendChild(We.createLabel.call(this,n.label))),X(i,ne(this.config.selectors.buttons[s],i)),G(a,i),"play"===s?(q(this.elements.buttons[s])||(this.elements.buttons[s]=[]),this.elements.buttons[s].push(a)):this.elements.buttons[s]=a,a},createRange(e,t){const i=Z("input",X(ne(this.config.selectors.inputs[e]),{type:"range",min:0,max:100,step:.01,value:0,autocomplete:"off",role:"slider","aria-label":He.get(e,this.config),"aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":0},t));return this.elements.inputs[e]=i,We.updateRangeFill.call(this,i),T.setup(i),i},createProgress(e,t){const i=Z("progress",X(ne(this.config.selectors.display[e]),{min:0,max:100,value:0,role:"progressbar","aria-hidden":!0},t));if("volume"!==e){i.appendChild(Z("span",null,"0"));const t={played:"played",buffer:"buffered"}[e],s=t?He.get(t,this.config):"";i.innerText=`% ${s.toLowerCase()}`}return this.elements.display[e]=i,i},createTime(e,t){const i=ne(this.config.selectors.display[e],t),s=Z("div",X(i,{class:`${i.class?i.class:""} ${this.config.classNames.display.time} `.trim(),"aria-label":He.get(e,this.config)}),"00:00");return this.elements.display[e]=s,s},bindMenuItemShortcuts(e,t){fe.call(this,e,"keydown keyup",(i=>{if(![32,38,39,40].includes(i.which))return;if(i.preventDefault(),i.stopPropagation(),"keydown"===i.type)return;const s=re(e,'[role="menuitemradio"]');if(!s&&[32,39].includes(i.which))We.showMenuPanel.call(this,t,!0);else{let t;32!==i.which&&(40===i.which||s&&39===i.which?(t=e.nextElementSibling,H(t)||(t=e.parentNode.firstElementChild)):(t=e.previousElementSibling,H(t)||(t=e.parentNode.lastElementChild)),ue.call(this,t,!0))}}),!1),fe.call(this,e,"keyup",(e=>{13===e.which&&We.focusFirstMenuItem.call(this,null,!0)}))},createMenuItem({value:e,list:t,type:i,title:s,badge:n=null,checked:a=!1}){const l=ne(this.config.selectors.inputs[i]),o=Z("button",X(l,{type:"button",role:"menuitemradio",class:`${this.config.classNames.control} ${l.class?l.class:""}`.trim(),"aria-checked":a,value:e})),r=Z("span");r.innerHTML=s,H(n)&&r.appendChild(n),o.appendChild(r),Object.defineProperty(o,"checked",{enumerable:!0,get:()=>"true"===o.getAttribute("aria-checked"),set(e){e&&Array.from(o.parentNode.children).filter((e=>re(e,'[role="menuitemradio"]'))).forEach((e=>e.setAttribute("aria-checked","false"))),o.setAttribute("aria-checked",e?"true":"false")}}),this.listeners.bind(o,"click keyup",(t=>{if(!R(t)||32===t.which){switch(t.preventDefault(),t.stopPropagation(),o.checked=!0,i){case"language":this.currentTrack=Number(e);break;case"quality":this.quality=e;break;case"speed":this.speed=parseFloat(e)}We.showMenuPanel.call(this,"home",R(t))}}),i,!1),We.bindMenuItemShortcuts.call(this,o,i),t.appendChild(o)},formatTime(e=0,t=!1){if(!$(e))return e;return Ue(e,Be(this.duration)>0,t)},updateTimeDisplay(e=null,t=0,i=!1){H(e)&&$(t)&&(e.innerText=We.formatTime(t,i))},updateVolume(){this.supported.ui&&(H(this.elements.inputs.volume)&&We.setRange.call(this,this.elements.inputs.volume,this.muted?0:this.volume),H(this.elements.buttons.mute)&&(this.elements.buttons.mute.pressed=this.muted||0===this.volume))},setRange(e,t=0){H(e)&&(e.value=t,We.updateRangeFill.call(this,e))},updateProgress(e){if(!this.supported.ui||!F(e))return;let t=0;const i=(e,t)=>{const i=$(t)?t:0,s=H(e)?e:this.elements.display.buffer;if(H(s)){s.value=i;const e=s.getElementsByTagName("span")[0];H(e)&&(e.childNodes[0].nodeValue=i)}};if(e)switch(e.type){case"timeupdate":case"seeking":case"seeked":s=this.currentTime,n=this.duration,t=0===s||0===n||Number.isNaN(s)||Number.isNaN(n)?0:(s/n*100).toFixed(2),"timeupdate"===e.type&&We.setRange.call(this,this.elements.inputs.seek,t);break;case"playing":case"progress":i(this.elements.display.buffer,100*this.buffered)}var s,n},updateRangeFill(e){const t=F(e)?e.target:e;if(H(t)&&"range"===t.getAttribute("type")){if(re(t,this.config.selectors.inputs.seek)){t.setAttribute("aria-valuenow",this.currentTime);const e=We.formatTime(this.currentTime),i=We.formatTime(this.duration),s=He.get("seekLabel",this.config);t.setAttribute("aria-valuetext",s.replace("{currentTime}",e).replace("{duration}",i))}else if(re(t,this.config.selectors.inputs.volume)){const e=100*t.value;t.setAttribute("aria-valuenow",e),t.setAttribute("aria-valuetext",`${e.toFixed(1)}%`)}else t.setAttribute("aria-valuenow",t.value);Y.isWebkit&&t.style.setProperty("--value",t.value/t.max*100+"%")}},updateSeekTooltip(e){if(!this.config.tooltips.seek||!H(this.elements.inputs.seek)||!H(this.elements.display.seekTooltip)||0===this.duration)return;const t=`${this.config.classNames.tooltip}--visible`,i=e=>le(this.elements.display.seekTooltip,t,e);if(this.touch)return void i(!1);let s=0;const n=this.elements.progress.getBoundingClientRect();if(F(e))s=100/n.width*(e.pageX-n.left);else{if(!oe(this.elements.display.seekTooltip,t))return;s=parseFloat(this.elements.display.seekTooltip.style.left,10)}s<0?s=0:s>100&&(s=100),We.updateTimeDisplay.call(this,this.elements.display.seekTooltip,this.duration/100*s),this.elements.display.seekTooltip.style.left=`${s}%`,F(e)&&["mouseenter","mouseleave"].includes(e.type)&&i("mouseenter"===e.type)},timeUpdate(e){const t=!H(this.elements.display.duration)&&this.config.invertTime;We.updateTimeDisplay.call(this,this.elements.display.currentTime,t?this.duration-this.currentTime:this.currentTime,t),e&&"timeupdate"===e.type&&this.media.seeking||We.updateProgress.call(this,e)},durationUpdate(){if(!this.supported.ui||!this.config.invertTime&&this.currentTime)return;if(this.duration>=2**32)return ae(this.elements.display.currentTime,!0),void ae(this.elements.progress,!0);H(this.elements.inputs.seek)&&this.elements.inputs.seek.setAttribute("aria-valuemax",this.duration);const e=H(this.elements.display.duration);!e&&this.config.displayDuration&&this.paused&&We.updateTimeDisplay.call(this,this.elements.display.currentTime,this.duration),e&&We.updateTimeDisplay.call(this,this.elements.display.duration,this.duration),We.updateSeekTooltip.call(this)},toggleMenuButton(e,t){ae(this.elements.settings.buttons[e],!t)},updateSetting(e,t,i){const s=this.elements.settings.panels[e];let n=null,a=t;if("captions"===e)n=this.currentTrack;else{if(n=W(i)?this[e]:i,W(n)&&(n=this.config[e].default),!W(this.options[e])&&!this.options[e].includes(n))return void this.debug.warn(`Unsupported value of '${n}' for ${e}`);if(!this.config[e].options.includes(n))return void this.debug.warn(`Disabled value of '${n}' for ${e}`)}if(H(a)||(a=s&&s.querySelector('[role="menu"]')),!H(a))return;this.elements.settings.buttons[e].querySelector(`.${this.config.classNames.menu.value}`).innerHTML=We.getLabel.call(this,e,n);const l=a&&a.querySelector(`[value="${n}"]`);H(l)&&(l.checked=!0)},getLabel(e,t){switch(e){case"speed":return 1===t?He.get("normal",this.config):`${t}×`;case"quality":if($(t)){const e=He.get(`qualityLabel.${t}`,this.config);return e.length?e:`${t}p`}return Oe(t);case"captions":return Ye.getLabel.call(this);default:return null}},setQualityMenu(e){if(!H(this.elements.settings.panels.quality))return;const t="quality",i=this.elements.settings.panels.quality.querySelector('[role="menu"]');q(e)&&(this.options.quality=Ce(e).filter((e=>this.config.quality.options.includes(e))));const s=!W(this.options.quality)&&this.options.quality.length>1;if(We.toggleMenuButton.call(this,t,s),ie(i),We.checkMenu.call(this),!s)return;const n=e=>{const t=He.get(`qualityBadge.${e}`,this.config);return t.length?We.createBadge.call(this,t):null};this.options.quality.sort(((e,t)=>{const i=this.config.quality.options;return i.indexOf(e)>i.indexOf(t)?1:-1})).forEach((e=>{We.createMenuItem.call(this,{value:e,list:i,type:t,title:We.getLabel.call(this,"quality",e),badge:n(e)})})),We.updateSetting.call(this,t,i)},setCaptionsMenu(){if(!H(this.elements.settings.panels.captions))return;const e="captions",t=this.elements.settings.panels.captions.querySelector('[role="menu"]'),i=Ye.getTracks.call(this),s=Boolean(i.length);if(We.toggleMenuButton.call(this,e,s),ie(t),We.checkMenu.call(this),!s)return;const n=i.map(((e,i)=>({value:i,checked:this.captions.toggled&&this.currentTrack===i,title:Ye.getLabel.call(this,e),badge:e.language&&We.createBadge.call(this,e.language.toUpperCase()),list:t,type:"language"})));n.unshift({value:-1,checked:!this.captions.toggled,title:He.get("disabled",this.config),list:t,type:"language"}),n.forEach(We.createMenuItem.bind(this)),We.updateSetting.call(this,e,t)},setSpeedMenu(){if(!H(this.elements.settings.panels.speed))return;const e="speed",t=this.elements.settings.panels.speed.querySelector('[role="menu"]');this.options.speed=this.options.speed.filter((e=>e>=this.minimumSpeed&&e<=this.maximumSpeed));const i=!W(this.options.speed)&&this.options.speed.length>1;We.toggleMenuButton.call(this,e,i),ie(t),We.checkMenu.call(this),i&&(this.options.speed.forEach((i=>{We.createMenuItem.call(this,{value:i,list:t,type:e,title:We.getLabel.call(this,"speed",i)})})),We.updateSetting.call(this,e,t))},checkMenu(){const{buttons:e}=this.elements.settings,t=!W(e)&&Object.values(e).some((e=>!e.hidden));ae(this.elements.settings.menu,!t)},focusFirstMenuItem(e,t=!1){if(this.elements.settings.popup.hidden)return;let i=e;H(i)||(i=Object.values(this.elements.settings.panels).find((e=>!e.hidden)));const s=i.querySelector('[role^="menuitem"]');ue.call(this,s,t)},toggleMenu(e){const{popup:t}=this.elements.settings,i=this.elements.buttons.settings;if(!H(t)||!H(i))return;const{hidden:s}=t;let n=s;if(O(e))n=e;else if(R(e)&&27===e.which)n=!1;else if(F(e)){const s=j(e.composedPath)?e.composedPath()[0]:e.target,a=t.contains(s);if(a||!a&&e.target!==i&&n)return}i.setAttribute("aria-expanded",n),ae(t,!n),le(this.elements.container,this.config.classNames.menu.open,n),n&&R(e)?We.focusFirstMenuItem.call(this,null,!0):n||s||ue.call(this,i,R(e))},getMenuSize(e){const t=e.cloneNode(!0);t.style.position="absolute",t.style.opacity=0,t.removeAttribute("hidden"),e.parentNode.appendChild(t);const i=t.scrollWidth,s=t.scrollHeight;return te(t),{width:i,height:s}},showMenuPanel(e="",t=!1){const i=this.elements.container.querySelector(`#plyr-settings-${this.id}-${e}`);if(!H(i))return;const s=i.parentNode,n=Array.from(s.children).find((e=>!e.hidden));if(me.transitions&&!me.reducedMotion){s.style.width=`${n.scrollWidth}px`,s.style.height=`${n.scrollHeight}px`;const e=We.getMenuSize.call(this,i),t=e=>{e.target===s&&["width","height"].includes(e.propertyName)&&(s.style.width="",s.style.height="",be.call(this,s,z,t))};fe.call(this,s,z,t),s.style.width=`${e.width}px`,s.style.height=`${e.height}px`}ae(n,!0),ae(i,!1),We.focusFirstMenuItem.call(this,i,t)},setDownloadUrl(){const e=this.elements.buttons.download;H(e)&&e.setAttribute("href",this.download)},create(e){const{bindMenuItemShortcuts:t,createButton:i,createProgress:s,createRange:n,createTime:a,setQualityMenu:l,setSpeedMenu:o,showMenuPanel:r}=We;this.elements.controls=null,q(this.config.controls)&&this.config.controls.includes("play-large")&&this.elements.container.appendChild(i.call(this,"play-large"));const c=Z("div",ne(this.config.selectors.controls.wrapper));this.elements.controls=c;const h={class:"plyr__controls__item"};return Ce(q(this.config.controls)?this.config.controls:[]).forEach((l=>{if("restart"===l&&c.appendChild(i.call(this,"restart",h)),"rewind"===l&&c.appendChild(i.call(this,"rewind",h)),"play"===l&&c.appendChild(i.call(this,"play",h)),"fast-forward"===l&&c.appendChild(i.call(this,"fast-forward",h)),"progress"===l){const t=Z("div",{class:`${h.class} plyr__progress__container`}),i=Z("div",ne(this.config.selectors.progress));if(i.appendChild(n.call(this,"seek",{id:`plyr-seek-${e.id}`})),i.appendChild(s.call(this,"buffer")),this.config.tooltips.seek){const e=Z("span",{class:this.config.classNames.tooltip},"00:00");i.appendChild(e),this.elements.display.seekTooltip=e}this.elements.progress=i,t.appendChild(this.elements.progress),c.appendChild(t)}if("current-time"===l&&c.appendChild(a.call(this,"currentTime",h)),"duration"===l&&c.appendChild(a.call(this,"duration",h)),"mute"===l||"volume"===l){let{volume:t}=this.elements;if(H(t)&&c.contains(t)||(t=Z("div",X({},h,{class:`${h.class} plyr__volume`.trim()})),this.elements.volume=t,c.appendChild(t)),"mute"===l&&t.appendChild(i.call(this,"mute")),"volume"===l&&!Y.isIos){const i={max:1,step:.05,value:this.config.volume};t.appendChild(n.call(this,"volume",X(i,{id:`plyr-volume-${e.id}`})))}}if("captions"===l&&c.appendChild(i.call(this,"captions",h)),"settings"===l&&!W(this.config.settings)){const s=Z("div",X({},h,{class:`${h.class} plyr__menu`.trim(),hidden:""}));s.appendChild(i.call(this,"settings",{"aria-haspopup":!0,"aria-controls":`plyr-settings-${e.id}`,"aria-expanded":!1}));const n=Z("div",{class:"plyr__menu__container",id:`plyr-settings-${e.id}`,hidden:""}),a=Z("div"),l=Z("div",{id:`plyr-settings-${e.id}-home`}),o=Z("div",{role:"menu"});l.appendChild(o),a.appendChild(l),this.elements.settings.panels.home=l,this.config.settings.forEach((i=>{const s=Z("button",X(ne(this.config.selectors.buttons.settings),{type:"button",class:`${this.config.classNames.control} ${this.config.classNames.control}--forward`,role:"menuitem","aria-haspopup":!0,hidden:""}));t.call(this,s,i),fe.call(this,s,"click",(()=>{r.call(this,i,!1)}));const n=Z("span",null,He.get(i,this.config)),l=Z("span",{class:this.config.classNames.menu.value});l.innerHTML=e[i],n.appendChild(l),s.appendChild(n),o.appendChild(s);const c=Z("div",{id:`plyr-settings-${e.id}-${i}`,hidden:""}),h=Z("button",{type:"button",class:`${this.config.classNames.control} ${this.config.classNames.control}--back`});h.appendChild(Z("span",{"aria-hidden":!0},He.get(i,this.config))),h.appendChild(Z("span",{class:this.config.classNames.hidden},He.get("menuBack",this.config))),fe.call(this,c,"keydown",(e=>{37===e.which&&(e.preventDefault(),e.stopPropagation(),r.call(this,"home",!0))}),!1),fe.call(this,h,"click",(()=>{r.call(this,"home",!1)})),c.appendChild(h),c.appendChild(Z("div",{role:"menu"})),a.appendChild(c),this.elements.settings.buttons[i]=s,this.elements.settings.panels[i]=c})),n.appendChild(a),s.appendChild(n),c.appendChild(s),this.elements.settings.popup=n,this.elements.settings.menu=s}if("pip"===l&&me.pip&&c.appendChild(i.call(this,"pip",h)),"airplay"===l&&me.airplay&&c.appendChild(i.call(this,"airplay",h)),"download"===l){const e=X({},h,{element:"a",href:this.download,target:"_blank"});this.isHTML5&&(e.download="");const{download:t}=this.config.urls;!U(t)&&this.isEmbed&&X(e,{icon:`logo-${this.provider}`,label:this.provider}),c.appendChild(i.call(this,"download",e))}"fullscreen"===l&&c.appendChild(i.call(this,"fullscreen",h))})),this.isHTML5&&l.call(this,Le.getQualityOptions.call(this)),o.call(this),c},inject(){if(this.config.loadSprite){const e=We.getIconUrl.call(this);e.cors&&Ve(e.url,"sprite-plyr")}this.id=Math.floor(1e4*Math.random());let e=null;this.elements.controls=null;const t={id:this.id,seektime:this.config.seekTime,title:this.config.title};let i=!0;j(this.config.controls)&&(this.config.controls=this.config.controls.call(this,t)),this.config.controls||(this.config.controls=[]),H(this.config.controls)||_(this.config.controls)?e=this.config.controls:(e=We.create.call(this,{id:this.id,seektime:this.config.seekTime,speed:this.speed,quality:this.quality,captions:Ye.getLabel.call(this)}),i=!1);let s;i&&_(this.config.controls)&&(e=(e=>{let i=e;return Object.entries(t).forEach((([e,t])=>{i=_e(i,`{${e}}`,t)})),i})(e)),_(this.config.selectors.controls.container)&&(s=document.querySelector(this.config.selectors.controls.container)),H(s)||(s=this.elements.container);if(s[H(e)?"insertAdjacentElement":"insertAdjacentHTML"]("afterbegin",e),H(this.elements.controls)||We.findElements.call(this),!W(this.elements.buttons)){const e=e=>{const t=this.config.classNames.controlPressed;Object.defineProperty(e,"pressed",{enumerable:!0,get:()=>oe(e,t),set(i=!1){le(e,t,i)}})};Object.values(this.elements.buttons).filter(Boolean).forEach((t=>{q(t)||D(t)?Array.from(t).filter(Boolean).forEach(e):e(t)}))}if(Y.isEdge&&K(s),this.config.tooltips.controls){const{classNames:e,selectors:t}=this.config,i=`${t.controls.wrapper} ${t.labels} .${e.hidden}`,s=ce.call(this,i);Array.from(s).forEach((e=>{le(e,this.config.classNames.hidden,!1),le(e,this.config.classNames.tooltip,!0)}))}}};function ze(e,t=!0){let i=e;if(t){const e=document.createElement("a");e.href=i,i=e.href}try{return new URL(i)}catch(e){return null}}function Ke(e){const t=new URLSearchParams;return L(e)&&Object.entries(e).forEach((([e,i])=>{t.set(e,i)})),t}const Ye={setup(){if(!this.supported.ui)return;if(!this.isVideo||this.isYouTube||this.isHTML5&&!me.textTracks)return void(q(this.config.controls)&&this.config.controls.includes("settings")&&this.config.settings.includes("captions")&&We.setCaptionsMenu.call(this));var e,t;if(H(this.elements.captions)||(this.elements.captions=Z("div",ne(this.config.selectors.captions)),e=this.elements.captions,t=this.elements.wrapper,H(e)&&H(t)&&t.parentNode.insertBefore(e,t.nextSibling)),Y.isIE&&window.URL){const e=this.media.querySelectorAll("track");Array.from(e).forEach((e=>{const t=e.getAttribute("src"),i=ze(t);null!==i&&i.hostname!==window.location.href.hostname&&["http:","https:"].includes(i.protocol)&&Re(t,"blob").then((t=>{e.setAttribute("src",window.URL.createObjectURL(t))})).catch((()=>{te(e)}))}))}const i=Ce((navigator.languages||[navigator.language||navigator.userLanguage||"en"]).map((e=>e.split("-")[0])));let s=(this.storage.get("language")||this.config.captions.language||"auto").toLowerCase();"auto"===s&&([s]=i);let n=this.storage.get("captions");if(O(n)||({active:n}=this.config.captions),Object.assign(this.captions,{toggled:!1,active:n,language:s,languages:i}),this.isHTML5){const e=this.config.captions.update?"addtrack removetrack":"removetrack";fe.call(this,this.media.textTracks,e,Ye.update.bind(this))}setTimeout(Ye.update.bind(this),0)},update(){const e=Ye.getTracks.call(this,!0),{active:t,language:i,meta:s,currentTrackNode:n}=this.captions,a=Boolean(e.find((e=>e.language===i)));this.isHTML5&&this.isVideo&&e.filter((e=>!s.get(e))).forEach((e=>{this.debug.log("Track added",e),s.set(e,{default:"showing"===e.mode}),"showing"===e.mode&&(e.mode="hidden"),fe.call(this,e,"cuechange",(()=>Ye.updateCues.call(this)))})),(a&&this.language!==i||!e.includes(n))&&(Ye.setLanguage.call(this,i),Ye.toggle.call(this,t&&a)),this.elements&&le(this.elements.container,this.config.classNames.captions.enabled,!W(e)),q(this.config.controls)&&this.config.controls.includes("settings")&&this.config.settings.includes("captions")&&We.setCaptionsMenu.call(this)},toggle(e,t=!0){if(!this.supported.ui)return;const{toggled:i}=this.captions,s=this.config.classNames.captions.active,n=I(e)?!i:e;if(n!==i){if(t||(this.captions.active=n,this.storage.set({captions:n})),!this.language&&n&&!t){const e=Ye.getTracks.call(this),t=Ye.findTrack.call(this,[this.captions.language,...this.captions.languages],!0);return this.captions.language=t.language,void Ye.set.call(this,e.indexOf(t))}this.elements.buttons.captions&&(this.elements.buttons.captions.pressed=n),le(this.elements.container,s,n),this.captions.toggled=n,We.updateSetting.call(this,"captions"),ve.call(this,this.media,n?"captionsenabled":"captionsdisabled")}setTimeout((()=>{n&&this.captions.toggled&&(this.captions.currentTrackNode.mode="hidden")}))},set(e,t=!0){const i=Ye.getTracks.call(this);if(-1!==e)if($(e))if(e in i){if(this.captions.currentTrack!==e){this.captions.currentTrack=e;const s=i[e],{language:n}=s||{};this.captions.currentTrackNode=s,We.updateSetting.call(this,"captions"),t||(this.captions.language=n,this.storage.set({language:n})),this.isVimeo&&this.embed.enableTextTrack(n),ve.call(this,this.media,"languagechange")}Ye.toggle.call(this,!0,t),this.isHTML5&&this.isVideo&&Ye.updateCues.call(this)}else this.debug.warn("Track not found",e);else this.debug.warn("Invalid caption argument",e);else Ye.toggle.call(this,!1,t)},setLanguage(e,t=!0){if(!_(e))return void this.debug.warn("Invalid language argument",e);const i=e.toLowerCase();this.captions.language=i;const s=Ye.getTracks.call(this),n=Ye.findTrack.call(this,[i]);Ye.set.call(this,s.indexOf(n),t)},getTracks(e=!1){return Array.from((this.media||{}).textTracks||[]).filter((t=>!this.isHTML5||e||this.captions.meta.has(t))).filter((e=>["captions","subtitles"].includes(e.kind)))},findTrack(e,t=!1){const i=Ye.getTracks.call(this),s=e=>Number((this.captions.meta.get(e)||{}).default),n=Array.from(i).sort(((e,t)=>s(t)-s(e)));let a;return e.every((e=>(a=n.find((t=>t.language===e)),!a))),a||(t?n[0]:void 0)},getCurrentTrack(){return Ye.getTracks.call(this)[this.currentTrack]},getLabel(e){let t=e;return!V(t)&&me.textTracks&&this.captions.toggled&&(t=Ye.getCurrentTrack.call(this)),V(t)?W(t.label)?W(t.language)?He.get("enabled",this.config):e.language.toUpperCase():t.label:He.get("disabled",this.config)},updateCues(e){if(!this.supported.ui)return;if(!H(this.elements.captions))return void this.debug.warn("No captions element to render to");if(!I(e)&&!Array.isArray(e))return void this.debug.warn("updateCues: Invalid input",e);let t=e;if(!t){const e=Ye.getCurrentTrack.call(this);t=Array.from((e||{}).activeCues||[]).map((e=>e.getCueAsHTML())).map(qe)}const i=t.map((e=>e.trim())).join("\n");if(i!==this.elements.captions.innerHTML){ie(this.elements.captions);const e=Z("span",ne(this.config.selectors.caption));e.innerHTML=i,this.elements.captions.appendChild(e),ve.call(this,this.media,"cuechange")}}},Qe={enabled:!0,title:"",debug:!1,autoplay:!1,autopause:!0,playsinline:!0,seekTime:10,volume:1,muted:!1,duration:null,displayDuration:!0,invertTime:!0,toggleInvert:!0,ratio:null,clickToPlay:!0,hideControls:!0,resetOnEnd:!1,disableContextMenu:!0,loadSprite:!0,iconPrefix:"plyr",iconUrl:"https://cdn.plyr.io/3.6.10/plyr.svg",blankVideo:"https://cdn.plyr.io/static/blank.mp4",quality:{default:576,options:[4320,2880,2160,1440,1080,720,576,480,360,240],forced:!1,onChange:null},loop:{active:!1},speed:{selected:1,options:[.5,.75,1,1.25,1.5,1.75,2,4]},keyboard:{focused:!0,global:!1},tooltips:{controls:!1,seek:!0},captions:{active:!1,language:"auto",update:!1},fullscreen:{enabled:!0,fallback:!0,iosNative:!1},storage:{enabled:!0,key:"plyr"},controls:["play-large","play","progress","current-time","mute","volume","captions","settings","pip","airplay","fullscreen"],settings:["captions","quality","speed"],i18n:{restart:"Restart",rewind:"Rewind {seektime}s",play:"Play",pause:"Pause",fastForward:"Forward {seektime}s",seek:"Seek",seekLabel:"{currentTime} of {duration}",played:"Played",buffered:"Buffered",currentTime:"Current time",duration:"Duration",volume:"Volume",mute:"Mute",unmute:"Unmute",enableCaptions:"Enable captions",disableCaptions:"Disable captions",download:"Download",enterFullscreen:"Enter fullscreen",exitFullscreen:"Exit fullscreen",frameTitle:"Player for {title}",captions:"Captions",settings:"Settings",pip:"PIP",menuBack:"Go back to previous menu",speed:"Speed",normal:"Normal",quality:"Quality",loop:"Loop",start:"Start",end:"End",all:"All",reset:"Reset",disabled:"Disabled",enabled:"Enabled",advertisement:"Ad",qualityBadge:{2160:"4K",1440:"HD",1080:"HD",720:"HD",576:"SD",480:"SD"}},urls:{download:null,vimeo:{sdk:"https://player.vimeo.com/api/player.js",iframe:"https://player.vimeo.com/video/{0}?{1}",api:"https://vimeo.com/api/oembed.json?url={0}"},youtube:{sdk:"https://www.youtube.com/iframe_api",api:"https://noembed.com/embed?url=https://www.youtube.com/watch?v={0}"},googleIMA:{sdk:"https://imasdk.googleapis.com/js/sdkloader/ima3.js"}},listeners:{seek:null,play:null,pause:null,restart:null,rewind:null,fastForward:null,mute:null,volume:null,captions:null,download:null,fullscreen:null,pip:null,airplay:null,speed:null,quality:null,loop:null,language:null},events:["ended","progress","stalled","playing","waiting","canplay","canplaythrough","loadstart","loadeddata","loadedmetadata","timeupdate","volumechange","play","pause","error","seeking","seeked","emptied","ratechange","cuechange","download","enterfullscreen","exitfullscreen","captionsenabled","captionsdisabled","languagechange","controlshidden","controlsshown","ready","statechange","qualitychange","adsloaded","adscontentpause","adscontentresume","adstarted","adsmidpoint","adscomplete","adsallcomplete","adsimpression","adsclick"],selectors:{editable:"input, textarea, select, [contenteditable]",container:".plyr",controls:{container:null,wrapper:".plyr__controls"},labels:"[data-plyr]",buttons:{play:'[data-plyr="play"]',pause:'[data-plyr="pause"]',restart:'[data-plyr="restart"]',rewind:'[data-plyr="rewind"]',fastForward:'[data-plyr="fast-forward"]',mute:'[data-plyr="mute"]',captions:'[data-plyr="captions"]',download:'[data-plyr="download"]',fullscreen:'[data-plyr="fullscreen"]',pip:'[data-plyr="pip"]',airplay:'[data-plyr="airplay"]',settings:'[data-plyr="settings"]',loop:'[data-plyr="loop"]'},inputs:{seek:'[data-plyr="seek"]',volume:'[data-plyr="volume"]',speed:'[data-plyr="speed"]',language:'[data-plyr="language"]',quality:'[data-plyr="quality"]'},display:{currentTime:".plyr__time--current",duration:".plyr__time--duration",buffer:".plyr__progress__buffer",loop:".plyr__progress__loop",volume:".plyr__volume--display"},progress:".plyr__progress",captions:".plyr__captions",caption:".plyr__caption"},classNames:{type:"plyr--{0}",provider:"plyr--{0}",video:"plyr__video-wrapper",embed:"plyr__video-embed",videoFixedRatio:"plyr__video-wrapper--fixed-ratio",embedContainer:"plyr__video-embed__container",poster:"plyr__poster",posterEnabled:"plyr__poster-enabled",ads:"plyr__ads",control:"plyr__control",controlPressed:"plyr__control--pressed",playing:"plyr--playing",paused:"plyr--paused",stopped:"plyr--stopped",loading:"plyr--loading",hover:"plyr--hover",tooltip:"plyr__tooltip",cues:"plyr__cues",hidden:"plyr__sr-only",hideControls:"plyr--hide-controls",isIos:"plyr--is-ios",isTouch:"plyr--is-touch",uiSupported:"plyr--full-ui",noTransition:"plyr--no-transition",display:{time:"plyr__time"},menu:{value:"plyr__menu__value",badge:"plyr__badge",open:"plyr--menu-open"},captions:{enabled:"plyr--captions-enabled",active:"plyr--captions-active"},fullscreen:{enabled:"plyr--fullscreen-enabled",fallback:"plyr--fullscreen-fallback"},pip:{supported:"plyr--pip-supported",active:"plyr--pip-active"},airplay:{supported:"plyr--airplay-supported",active:"plyr--airplay-active"},tabFocus:"plyr__tab-focus",previewThumbnails:{thumbContainer:"plyr__preview-thumb",thumbContainerShown:"plyr__preview-thumb--is-shown",imageContainer:"plyr__preview-thumb__image-container",timeContainer:"plyr__preview-thumb__time-container",scrubbingContainer:"plyr__preview-scrubbing",scrubbingContainerShown:"plyr__preview-scrubbing--is-shown"}},attributes:{embed:{provider:"data-plyr-provider",id:"data-plyr-embed-id",hash:"data-plyr-embed-hash"}},ads:{enabled:!1,publisherId:"",tagUrl:""},previewThumbnails:{enabled:!1,src:""},vimeo:{byline:!1,portrait:!1,title:!1,speed:!0,transparent:!1,customControls:!0,referrerPolicy:null,premium:!1},youtube:{rel:0,showinfo:0,iv_load_policy:3,modestbranding:1,customControls:!0,noCookie:!1}},Xe="picture-in-picture",Je="inline",Ge={html5:"html5",youtube:"youtube",vimeo:"vimeo"},Ze="audio",et="video";const tt=()=>{};class it{constructor(e=!1){this.enabled=window.console&&e,this.enabled&&this.log("Debugging enabled")}get log(){return this.enabled?Function.prototype.bind.call(console.log,console):tt}get warn(){return this.enabled?Function.prototype.bind.call(console.warn,console):tt}get error(){return this.enabled?Function.prototype.bind.call(console.error,console):tt}}class st{constructor(t){e(this,"onChange",(()=>{if(!this.enabled)return;const e=this.player.elements.buttons.fullscreen;H(e)&&(e.pressed=this.active);const t=this.target===this.player.media?this.target:this.player.elements.container;ve.call(this.player,t,this.active?"enterfullscreen":"exitfullscreen",!0)})),e(this,"toggleFallback",((e=!1)=>{if(e?this.scrollPosition={x:window.scrollX||0,y:window.scrollY||0}:window.scrollTo(this.scrollPosition.x,this.scrollPosition.y),document.body.style.overflow=e?"hidden":"",le(this.target,this.player.config.classNames.fullscreen.fallback,e),Y.isIos){let t=document.head.querySelector('meta[name="viewport"]');const i="viewport-fit=cover";t||(t=document.createElement("meta"),t.setAttribute("name","viewport"));const s=_(t.content)&&t.content.includes(i);e?(this.cleanupViewport=!s,s||(t.content+=`,${i}`)):this.cleanupViewport&&(t.content=t.content.split(",").filter((e=>e.trim()!==i)).join(","))}this.onChange()})),e(this,"trapFocus",(e=>{if(Y.isIos||!this.active||"Tab"!==e.key||9!==e.keyCode)return;const t=document.activeElement,i=ce.call(this.player,"a[href], button:not(:disabled), input:not(:disabled), [tabindex]"),[s]=i,n=i[i.length-1];t!==n||e.shiftKey?t===s&&e.shiftKey&&(n.focus(),e.preventDefault()):(s.focus(),e.preventDefault())})),e(this,"update",(()=>{if(this.enabled){let e;e=this.forceFallback?"Fallback (forced)":st.native?"Native":"Fallback",this.player.debug.log(`${e} fullscreen enabled`)}else this.player.debug.log("Fullscreen not supported and fallback disabled");le(this.player.elements.container,this.player.config.classNames.fullscreen.enabled,this.enabled)})),e(this,"enter",(()=>{this.enabled&&(Y.isIos&&this.player.config.fullscreen.iosNative?this.player.isVimeo?this.player.embed.requestFullscreen():this.target.webkitEnterFullscreen():!st.native||this.forceFallback?this.toggleFallback(!0):this.prefix?W(this.prefix)||this.target[`${this.prefix}Request${this.property}`]():this.target.requestFullscreen({navigationUI:"hide"}))})),e(this,"exit",(()=>{if(this.enabled)if(Y.isIos&&this.player.config.fullscreen.iosNative)this.target.webkitExitFullscreen(),ke(this.player.play());else if(!st.native||this.forceFallback)this.toggleFallback(!1);else if(this.prefix){if(!W(this.prefix)){const e="moz"===this.prefix?"Cancel":"Exit";document[`${this.prefix}${e}${this.property}`]()}}else(document.cancelFullScreen||document.exitFullscreen).call(document)})),e(this,"toggle",(()=>{this.active?this.exit():this.enter()})),this.player=t,this.prefix=st.prefix,this.property=st.property,this.scrollPosition={x:0,y:0},this.forceFallback="force"===t.config.fullscreen.fallback,this.player.elements.fullscreen=t.config.fullscreen.container&&function(e,t){const{prototype:i}=Element;return(i.closest||function(){let e=this;do{if(re.matches(e,t))return e;e=e.parentElement||e.parentNode}while(null!==e&&1===e.nodeType);return null}).call(e,t)}(this.player.elements.container,t.config.fullscreen.container),fe.call(this.player,document,"ms"===this.prefix?"MSFullscreenChange":`${this.prefix}fullscreenchange`,(()=>{this.onChange()})),fe.call(this.player,this.player.elements.container,"dblclick",(e=>{H(this.player.elements.controls)&&this.player.elements.controls.contains(e.target)||this.player.listeners.proxy(e,this.toggle,"fullscreen")})),fe.call(this,this.player.elements.container,"keydown",(e=>this.trapFocus(e))),this.update()}static get native(){return!!(document.fullscreenEnabled||document.webkitFullscreenEnabled||document.mozFullScreenEnabled||document.msFullscreenEnabled)}get usingNative(){return st.native&&!this.forceFallback}static get prefix(){if(j(document.exitFullscreen))return"";let e="";return["webkit","moz","ms"].some((t=>!(!j(document[`${t}ExitFullscreen`])&&!j(document[`${t}CancelFullScreen`]))&&(e=t,!0))),e}static get property(){return"moz"===this.prefix?"FullScreen":"Fullscreen"}get enabled(){return(st.native||this.player.config.fullscreen.fallback)&&this.player.config.fullscreen.enabled&&this.player.supported.ui&&this.player.isVideo}get active(){if(!this.enabled)return!1;if(!st.native||this.forceFallback)return oe(this.target,this.player.config.classNames.fullscreen.fallback);const e=this.prefix?this.target.getRootNode()[`${this.prefix}${this.property}Element`]:this.target.getRootNode().fullscreenElement;return e&&e.shadowRoot?e===this.target.getRootNode().host:e===this.target}get target(){return Y.isIos&&this.player.config.fullscreen.iosNative?this.player.media:this.player.elements.fullscreen||this.player.elements.container}}function nt(e,t=1){return new Promise(((i,s)=>{const n=new Image,a=()=>{delete n.onload,delete n.onerror,(n.naturalWidth>=t?i:s)(n)};Object.assign(n,{onload:a,onerror:a,src:e})}))}const at={addStyleHook(){le(this.elements.container,this.config.selectors.container.replace(".",""),!0),le(this.elements.container,this.config.classNames.uiSupported,this.supported.ui)},toggleNativeControls(e=!1){e&&this.isHTML5?this.media.setAttribute("controls",""):this.media.removeAttribute("controls")},build(){if(this.listeners.media(),!this.supported.ui)return this.debug.warn(`Basic support only for ${this.provider} ${this.type}`),void at.toggleNativeControls.call(this,!0);H(this.elements.controls)||(We.inject.call(this),this.listeners.controls()),at.toggleNativeControls.call(this),this.isHTML5&&Ye.setup.call(this),this.volume=null,this.muted=null,this.loop=null,this.quality=null,this.speed=null,We.updateVolume.call(this),We.timeUpdate.call(this),We.durationUpdate.call(this),at.checkPlaying.call(this),le(this.elements.container,this.config.classNames.pip.supported,me.pip&&this.isHTML5&&this.isVideo),le(this.elements.container,this.config.classNames.airplay.supported,me.airplay&&this.isHTML5),le(this.elements.container,this.config.classNames.isIos,Y.isIos),le(this.elements.container,this.config.classNames.isTouch,this.touch),this.ready=!0,setTimeout((()=>{ve.call(this,this.media,"ready")}),0),at.setTitle.call(this),this.poster&&at.setPoster.call(this,this.poster,!1).catch((()=>{})),this.config.duration&&We.durationUpdate.call(this)},setTitle(){let e=He.get("play",this.config);if(_(this.config.title)&&!W(this.config.title)&&(e+=`, ${this.config.title}`),Array.from(this.elements.buttons.play||[]).forEach((t=>{t.setAttribute("aria-label",e)})),this.isEmbed){const e=he.call(this,"iframe");if(!H(e))return;const t=W(this.config.title)?"video":this.config.title,i=He.get("frameTitle",this.config);e.setAttribute("title",i.replace("{title}",t))}},togglePoster(e){le(this.elements.container,this.config.classNames.posterEnabled,e)},setPoster(e,t=!0){return t&&this.poster?Promise.reject(new Error("Poster already set")):(this.media.setAttribute("data-poster",e),this.elements.poster.removeAttribute("hidden"),Te.call(this).then((()=>nt(e))).catch((t=>{throw e===this.poster&&at.togglePoster.call(this,!1),t})).then((()=>{if(e!==this.poster)throw new Error("setPoster cancelled by later call to setPoster")})).then((()=>(Object.assign(this.elements.poster.style,{backgroundImage:`url('${e}')`,backgroundSize:""}),at.togglePoster.call(this,!0),e))))},checkPlaying(e){le(this.elements.container,this.config.classNames.playing,this.playing),le(this.elements.container,this.config.classNames.paused,this.paused),le(this.elements.container,this.config.classNames.stopped,this.stopped),Array.from(this.elements.buttons.play||[]).forEach((e=>{Object.assign(e,{pressed:this.playing}),e.setAttribute("aria-label",He.get(this.playing?"pause":"play",this.config))})),F(e)&&"timeupdate"===e.type||at.toggleControls.call(this)},checkLoading(e){this.loading=["stalled","waiting"].includes(e.type),clearTimeout(this.timers.loading),this.timers.loading=setTimeout((()=>{le(this.elements.container,this.config.classNames.loading,this.loading),at.toggleControls.call(this)}),this.loading?250:0)},toggleControls(e){const{controls:t}=this.elements;if(t&&this.config.hideControls){const i=this.touch&&this.lastSeekTime+2e3>Date.now();this.toggleControls(Boolean(e||this.loading||this.paused||t.pressed||t.hover||i))}},migrateStyles(){Object.values({...this.media.style}).filter((e=>!W(e)&&_(e)&&e.startsWith("--plyr"))).forEach((e=>{this.elements.container.style.setProperty(e,this.media.style.getPropertyValue(e)),this.media.style.removeProperty(e)})),W(this.media.style)&&this.media.removeAttribute("style")}};class lt{constructor(t){e(this,"firstTouch",(()=>{const{player:e}=this,{elements:t}=e;e.touch=!0,le(t.container,e.config.classNames.isTouch,!0)})),e(this,"setTabFocus",(e=>{const{player:t}=this,{elements:i}=t;if(clearTimeout(this.focusTimer),"keydown"===e.type&&9!==e.which)return;"keydown"===e.type&&(this.lastKeyDown=e.timeStamp);const s=e.timeStamp-this.lastKeyDown<=20;("focus"!==e.type||s)&&((()=>{const e=t.config.classNames.tabFocus;le(ce.call(t,`.${e}`),e,!1)})(),"focusout"!==e.type&&(this.focusTimer=setTimeout((()=>{const e=document.activeElement;i.container.contains(e)&&le(document.activeElement,t.config.classNames.tabFocus,!0)}),10)))})),e(this,"global",((e=!0)=>{const{player:t}=this;t.config.keyboard.global&&ge.call(t,window,"keydown keyup",this.handleKey,e,!1),ge.call(t,document.body,"click",this.toggleMenu,e),ye.call(t,document.body,"touchstart",this.firstTouch),ge.call(t,document.body,"keydown focus blur focusout",this.setTabFocus,e,!1,!0)})),e(this,"container",(()=>{const{player:e}=this,{config:t,elements:i,timers:s}=e;!t.keyboard.global&&t.keyboard.focused&&fe.call(e,i.container,"keydown keyup",this.handleKey,!1),fe.call(e,i.container,"mousemove mouseleave touchstart touchmove enterfullscreen exitfullscreen",(t=>{const{controls:n}=i;n&&"enterfullscreen"===t.type&&(n.pressed=!1,n.hover=!1);let a=0;["touchstart","touchmove","mousemove"].includes(t.type)&&(at.toggleControls.call(e,!0),a=e.touch?3e3:2e3),clearTimeout(s.controls),s.controls=setTimeout((()=>at.toggleControls.call(e,!1)),a)}));const n=()=>{if(!e.isVimeo||e.config.vimeo.premium)return;const t=i.wrapper,{active:s}=e.fullscreen,[n,a]=xe.call(e),l=Se(`aspect-ratio: ${n} / ${a}`);if(!s)return void(l?(t.style.width=null,t.style.height=null):(t.style.maxWidth=null,t.style.margin=null));const[o,r]=[Math.max(document.documentElement.clientWidth||0,window.innerWidth||0),Math.max(document.documentElement.clientHeight||0,window.innerHeight||0)],c=o/r>n/a;l?(t.style.width=c?"auto":"100%",t.style.height=c?"100%":"auto"):(t.style.maxWidth=c?r/a*n+"px":null,t.style.margin=c?"0 auto":null)},a=()=>{clearTimeout(s.resized),s.resized=setTimeout(n,50)};fe.call(e,i.container,"enterfullscreen exitfullscreen",(t=>{const{target:s}=e.fullscreen;if(s!==i.container)return;if(!e.isEmbed&&W(e.config.ratio))return;n();("enterfullscreen"===t.type?fe:be).call(e,window,"resize",a)}))})),e(this,"media",(()=>{const{player:e}=this,{elements:t}=e;if(fe.call(e,e.media,"timeupdate seeking seeked",(t=>We.timeUpdate.call(e,t))),fe.call(e,e.media,"durationchange loadeddata loadedmetadata",(t=>We.durationUpdate.call(e,t))),fe.call(e,e.media,"ended",(()=>{e.isHTML5&&e.isVideo&&e.config.resetOnEnd&&(e.restart(),e.pause())})),fe.call(e,e.media,"progress playing seeking seeked",(t=>We.updateProgress.call(e,t))),fe.call(e,e.media,"volumechange",(t=>We.updateVolume.call(e,t))),fe.call(e,e.media,"playing play pause ended emptied timeupdate",(t=>at.checkPlaying.call(e,t))),fe.call(e,e.media,"waiting canplay seeked playing",(t=>at.checkLoading.call(e,t))),e.supported.ui&&e.config.clickToPlay&&!e.isAudio){const i=he.call(e,`.${e.config.classNames.video}`);if(!H(i))return;fe.call(e,t.container,"click",(s=>{([t.container,i].includes(s.target)||i.contains(s.target))&&(e.touch&&e.config.hideControls||(e.ended?(this.proxy(s,e.restart,"restart"),this.proxy(s,(()=>{ke(e.play())}),"play")):this.proxy(s,(()=>{ke(e.togglePlay())}),"play")))}))}e.supported.ui&&e.config.disableContextMenu&&fe.call(e,t.wrapper,"contextmenu",(e=>{e.preventDefault()}),!1),fe.call(e,e.media,"volumechange",(()=>{e.storage.set({volume:e.volume,muted:e.muted})})),fe.call(e,e.media,"ratechange",(()=>{We.updateSetting.call(e,"speed"),e.storage.set({speed:e.speed})})),fe.call(e,e.media,"qualitychange",(t=>{We.updateSetting.call(e,"quality",null,t.detail.quality)})),fe.call(e,e.media,"ready qualitychange",(()=>{We.setDownloadUrl.call(e)}));const i=e.config.events.concat(["keyup","keydown"]).join(" ");fe.call(e,e.media,i,(i=>{let{detail:s={}}=i;"error"===i.type&&(s=e.media.error),ve.call(e,t.container,i.type,!0,s)}))})),e(this,"proxy",((e,t,i)=>{const{player:s}=this,n=s.config.listeners[i];let a=!0;j(n)&&(a=n.call(s,e)),!1!==a&&j(t)&&t.call(s,e)})),e(this,"bind",((e,t,i,s,n=!0)=>{const{player:a}=this,l=a.config.listeners[s],o=j(l);fe.call(a,e,t,(e=>this.proxy(e,i,s)),n&&!o)})),e(this,"controls",(()=>{const{player:e}=this,{elements:t}=e,i=Y.isIE?"change":"input";if(t.buttons.play&&Array.from(t.buttons.play).forEach((t=>{this.bind(t,"click",(()=>{ke(e.togglePlay())}),"play")})),this.bind(t.buttons.restart,"click",e.restart,"restart"),this.bind(t.buttons.rewind,"click",(()=>{e.lastSeekTime=Date.now(),e.rewind()}),"rewind"),this.bind(t.buttons.fastForward,"click",(()=>{e.lastSeekTime=Date.now(),e.forward()}),"fastForward"),this.bind(t.buttons.mute,"click",(()=>{e.muted=!e.muted}),"mute"),this.bind(t.buttons.captions,"click",(()=>e.toggleCaptions())),this.bind(t.buttons.download,"click",(()=>{ve.call(e,e.media,"download")}),"download"),this.bind(t.buttons.fullscreen,"click",(()=>{e.fullscreen.toggle()}),"fullscreen"),this.bind(t.buttons.pip,"click",(()=>{e.pip="toggle"}),"pip"),this.bind(t.buttons.airplay,"click",e.airplay,"airplay"),this.bind(t.buttons.settings,"click",(t=>{t.stopPropagation(),t.preventDefault(),We.toggleMenu.call(e,t)}),null,!1),this.bind(t.buttons.settings,"keyup",(t=>{const i=t.which;[13,32].includes(i)&&(13!==i?(t.preventDefault(),t.stopPropagation(),We.toggleMenu.call(e,t)):We.focusFirstMenuItem.call(e,null,!0))}),null,!1),this.bind(t.settings.menu,"keydown",(t=>{27===t.which&&We.toggleMenu.call(e,t)})),this.bind(t.inputs.seek,"mousedown mousemove",(e=>{const i=t.progress.getBoundingClientRect(),s=100/i.width*(e.pageX-i.left);e.currentTarget.setAttribute("seek-value",s)})),this.bind(t.inputs.seek,"mousedown mouseup keydown keyup touchstart touchend",(t=>{const i=t.currentTarget,s=t.keyCode?t.keyCode:t.which,n="play-on-seeked";if(R(t)&&39!==s&&37!==s)return;e.lastSeekTime=Date.now();const a=i.hasAttribute(n),l=["mouseup","touchend","keyup"].includes(t.type);a&&l?(i.removeAttribute(n),ke(e.play())):!l&&e.playing&&(i.setAttribute(n,""),e.pause())})),Y.isIos){const t=ce.call(e,'input[type="range"]');Array.from(t).forEach((e=>this.bind(e,i,(e=>K(e.target)))))}this.bind(t.inputs.seek,i,(t=>{const i=t.currentTarget;let s=i.getAttribute("seek-value");W(s)&&(s=i.value),i.removeAttribute("seek-value"),e.currentTime=s/i.max*e.duration}),"seek"),this.bind(t.progress,"mouseenter mouseleave mousemove",(t=>We.updateSeekTooltip.call(e,t))),this.bind(t.progress,"mousemove touchmove",(t=>{const{previewThumbnails:i}=e;i&&i.loaded&&i.startMove(t)})),this.bind(t.progress,"mouseleave touchend click",(()=>{const{previewThumbnails:t}=e;t&&t.loaded&&t.endMove(!1,!0)})),this.bind(t.progress,"mousedown touchstart",(t=>{const{previewThumbnails:i}=e;i&&i.loaded&&i.startScrubbing(t)})),this.bind(t.progress,"mouseup touchend",(t=>{const{previewThumbnails:i}=e;i&&i.loaded&&i.endScrubbing(t)})),Y.isWebkit&&Array.from(ce.call(e,'input[type="range"]')).forEach((t=>{this.bind(t,"input",(t=>We.updateRangeFill.call(e,t.target)))})),e.config.toggleInvert&&!H(t.display.duration)&&this.bind(t.display.currentTime,"click",(()=>{0!==e.currentTime&&(e.config.invertTime=!e.config.invertTime,We.timeUpdate.call(e))})),this.bind(t.inputs.volume,i,(t=>{e.volume=t.target.value}),"volume"),this.bind(t.controls,"mouseenter mouseleave",(i=>{t.controls.hover=!e.touch&&"mouseenter"===i.type})),t.fullscreen&&Array.from(t.fullscreen.children).filter((e=>!e.contains(t.container))).forEach((i=>{this.bind(i,"mouseenter mouseleave",(i=>{t.controls&&(t.controls.hover=!e.touch&&"mouseenter"===i.type)}))})),this.bind(t.controls,"mousedown mouseup touchstart touchend touchcancel",(e=>{t.controls.pressed=["mousedown","touchstart"].includes(e.type)})),this.bind(t.controls,"focusin",(()=>{const{config:i,timers:s}=e;le(t.controls,i.classNames.noTransition,!0),at.toggleControls.call(e,!0),setTimeout((()=>{le(t.controls,i.classNames.noTransition,!1)}),0);const n=this.touch?3e3:4e3;clearTimeout(s.controls),s.controls=setTimeout((()=>at.toggleControls.call(e,!1)),n)})),this.bind(t.inputs.volume,"wheel",(t=>{const i=t.webkitDirectionInvertedFromDevice,[s,n]=[t.deltaX,-t.deltaY].map((e=>i?-e:e)),a=Math.sign(Math.abs(s)>Math.abs(n)?s:n);e.increaseVolume(a/50);const{volume:l}=e.media;(1===a&&l<1||-1===a&&l>0)&&t.preventDefault()}),"volume",!1)})),this.player=t,this.lastKey=null,this.focusTimer=null,this.lastKeyDown=null,this.handleKey=this.handleKey.bind(this),this.toggleMenu=this.toggleMenu.bind(this),this.setTabFocus=this.setTabFocus.bind(this),this.firstTouch=this.firstTouch.bind(this)}handleKey(e){const{player:t}=this,{elements:i}=t,s=e.keyCode?e.keyCode:e.which,n="keydown"===e.type,a=n&&s===this.lastKey;if(e.altKey||e.ctrlKey||e.metaKey||e.shiftKey)return;if(!$(s))return;if(n){const n=document.activeElement;if(H(n)){const{editable:s}=t.config.selectors,{seek:a}=i.inputs;if(n!==a&&re(n,s))return;if(32===e.which&&re(n,'button, [role^="menuitem"]'))return}switch([32,37,38,39,40,48,49,50,51,52,53,54,56,57,67,70,73,75,76,77,79].includes(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:a||(t.currentTime=t.duration/10*(s-48));break;case 32:case 75:a||ke(t.togglePlay());break;case 38:t.increaseVolume(.1);break;case 40:t.decreaseVolume(.1);break;case 77:a||(t.muted=!t.muted);break;case 39:t.forward();break;case 37:t.rewind();break;case 70:t.fullscreen.toggle();break;case 67:a||t.toggleCaptions();break;case 76:t.loop=!t.loop}27===s&&!t.fullscreen.usingNative&&t.fullscreen.active&&t.fullscreen.toggle(),this.lastKey=s}else this.lastKey=null}toggleMenu(e){We.toggleMenu.call(this.player,e)}}"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self&&self;var ot=function(e,t){return e(t={exports:{}},t.exports),t.exports}((function(e,t){e.exports=function(){var e=function(){},t={},i={},s={};function n(e,t){e=e.push?e:[e];var n,a,l,o=[],r=e.length,c=r;for(n=function(e,i){i.length&&o.push(e),--c||t(o)};r--;)a=e[r],(l=i[a])?n(a,l):(s[a]=s[a]||[]).push(n)}function a(e,t){if(e){var n=s[e];if(i[e]=t,n)for(;n.length;)n[0](e,t),n.splice(0,1)}}function l(t,i){t.call&&(t={success:t}),i.length?(t.error||e)(i):(t.success||e)(t)}function o(t,i,s,n){var a,l,r=document,c=s.async,h=(s.numRetries||0)+1,u=s.before||e,d=t.replace(/[\?|#].*$/,""),m=t.replace(/^(css|img)!/,"");n=n||0,/(^css!|\.css$)/.test(d)?((l=r.createElement("link")).rel="stylesheet",l.href=m,(a="hideFocus"in l)&&l.relList&&(a=0,l.rel="preload",l.as="style")):/(^img!|\.(png|gif|jpg|svg|webp)$)/.test(d)?(l=r.createElement("img")).src=m:((l=r.createElement("script")).src=t,l.async=void 0===c||c),l.onload=l.onerror=l.onbeforeload=function(e){var r=e.type[0];if(a)try{l.sheet.cssText.length||(r="e")}catch(e){18!=e.code&&(r="e")}if("e"==r){if((n+=1){ot(e,{success:t,error:i})}))}function ct(e){e&&!this.embed.hasPlayed&&(this.embed.hasPlayed=!0),this.media.paused===e&&(this.media.paused=!e,ve.call(this,this.media,e?"play":"pause"))}const ht={setup(){const e=this;le(e.elements.wrapper,e.config.classNames.embed,!0),e.options.speed=e.config.speed.options,Me.call(e),L(window.Vimeo)?ht.ready.call(e):rt(e.config.urls.vimeo.sdk).then((()=>{ht.ready.call(e)})).catch((t=>{e.debug.warn("Vimeo SDK (player.js) failed to load",t)}))},ready(){const e=this,t=e.config.vimeo,{premium:i,referrerPolicy:s,...n}=t;let a=e.media.getAttribute("src"),l="";W(a)?(a=e.media.getAttribute(e.config.attributes.embed.id),l=e.media.getAttribute(e.config.attributes.embed.hash)):l=function(e){const t=e.match(/^.*(?:vimeo.com\/|video\/)(?:\d+)(?:\?.*&*h=|\/)+(?[\d,a-f]+)/);return t?t.groups.hash:null}(a);const o=l?{h:l}:{};i&&Object.assign(n,{controls:!1,sidedock:!1});const r=Ke({loop:e.config.loop.active,autoplay:e.autoplay,muted:e.muted,gesture:"media",playsinline:!this.config.fullscreen.iosNative,...o,...n}),c=W(h=a)?null:$(Number(h))?h:h.match(/^.*(vimeo.com\/|video\/)(\d+).*/)?RegExp.$2:h;var h;const u=Z("iframe"),d=$e(e.config.urls.vimeo.iframe,c,r);if(u.setAttribute("src",d),u.setAttribute("allowfullscreen",""),u.setAttribute("allow",["autoplay","fullscreen","picture-in-picture","encrypted-media","accelerometer","gyroscope"].join("; ")),W(s)||u.setAttribute("referrerPolicy",s),i||!t.customControls)u.setAttribute("data-poster",e.poster),e.media=se(u,e.media);else{const t=Z("div",{class:e.config.classNames.embedContainer,"data-poster":e.poster});t.appendChild(u),e.media=se(t,e.media)}t.customControls||Re($e(e.config.urls.vimeo.api,d)).then((t=>{!W(t)&&t.thumbnail_url&&at.setPoster.call(e,t.thumbnail_url).catch((()=>{}))})),e.embed=new window.Vimeo.Player(u,{autopause:e.config.autopause,muted:e.muted}),e.media.paused=!0,e.media.currentTime=0,e.supported.ui&&e.embed.disableTextTrack(),e.media.play=()=>(ct.call(e,!0),e.embed.play()),e.media.pause=()=>(ct.call(e,!1),e.embed.pause()),e.media.stop=()=>{e.pause(),e.currentTime=0};let{currentTime:m}=e.media;Object.defineProperty(e.media,"currentTime",{get:()=>m,set(t){const{embed:i,media:s,paused:n,volume:a}=e,l=n&&!i.hasPlayed;s.seeking=!0,ve.call(e,s,"seeking"),Promise.resolve(l&&i.setVolume(0)).then((()=>i.setCurrentTime(t))).then((()=>l&&i.pause())).then((()=>l&&i.setVolume(a))).catch((()=>{}))}});let p=e.config.speed.selected;Object.defineProperty(e.media,"playbackRate",{get:()=>p,set(t){e.embed.setPlaybackRate(t).then((()=>{p=t,ve.call(e,e.media,"ratechange")})).catch((()=>{e.options.speed=[1]}))}});let{volume:g}=e.config;Object.defineProperty(e.media,"volume",{get:()=>g,set(t){e.embed.setVolume(t).then((()=>{g=t,ve.call(e,e.media,"volumechange")}))}});let{muted:f}=e.config;Object.defineProperty(e.media,"muted",{get:()=>f,set(t){const i=!!O(t)&&t;e.embed.setVolume(i?0:e.config.volume).then((()=>{f=i,ve.call(e,e.media,"volumechange")}))}});let b,{loop:y}=e.config;Object.defineProperty(e.media,"loop",{get:()=>y,set(t){const i=O(t)?t:e.config.loop.active;e.embed.setLoop(i).then((()=>{y=i}))}}),e.embed.getVideoUrl().then((t=>{b=t,We.setDownloadUrl.call(e)})).catch((e=>{this.debug.warn(e)})),Object.defineProperty(e.media,"currentSrc",{get:()=>b}),Object.defineProperty(e.media,"ended",{get:()=>e.currentTime===e.duration}),Promise.all([e.embed.getVideoWidth(),e.embed.getVideoHeight()]).then((t=>{const[i,s]=t;e.embed.ratio=Ie(i,s),Me.call(this)})),e.embed.setAutopause(e.config.autopause).then((t=>{e.config.autopause=t})),e.embed.getVideoTitle().then((t=>{e.config.title=t,at.setTitle.call(this)})),e.embed.getCurrentTime().then((t=>{m=t,ve.call(e,e.media,"timeupdate")})),e.embed.getDuration().then((t=>{e.media.duration=t,ve.call(e,e.media,"durationchange")})),e.embed.getTextTracks().then((t=>{e.media.textTracks=t,Ye.setup.call(e)})),e.embed.on("cuechange",(({cues:t=[]})=>{const i=t.map((e=>function(e){const t=document.createDocumentFragment(),i=document.createElement("div");return t.appendChild(i),i.innerHTML=e,t.firstChild.innerText}(e.text)));Ye.updateCues.call(e,i)})),e.embed.on("loaded",(()=>{if(e.embed.getPaused().then((t=>{ct.call(e,!t),t||ve.call(e,e.media,"playing")})),H(e.embed.element)&&e.supported.ui){e.embed.element.setAttribute("tabindex",-1)}})),e.embed.on("bufferstart",(()=>{ve.call(e,e.media,"waiting")})),e.embed.on("bufferend",(()=>{ve.call(e,e.media,"playing")})),e.embed.on("play",(()=>{ct.call(e,!0),ve.call(e,e.media,"playing")})),e.embed.on("pause",(()=>{ct.call(e,!1)})),e.embed.on("timeupdate",(t=>{e.media.seeking=!1,m=t.seconds,ve.call(e,e.media,"timeupdate")})),e.embed.on("progress",(t=>{e.media.buffered=t.percent,ve.call(e,e.media,"progress"),1===parseInt(t.percent,10)&&ve.call(e,e.media,"canplaythrough"),e.embed.getDuration().then((t=>{t!==e.media.duration&&(e.media.duration=t,ve.call(e,e.media,"durationchange"))}))})),e.embed.on("seeked",(()=>{e.media.seeking=!1,ve.call(e,e.media,"seeked")})),e.embed.on("ended",(()=>{e.media.paused=!0,ve.call(e,e.media,"ended")})),e.embed.on("error",(t=>{e.media.error=t,ve.call(e,e.media,"error")})),t.customControls&&setTimeout((()=>at.build.call(e)),0)}};function ut(e){e&&!this.embed.hasPlayed&&(this.embed.hasPlayed=!0),this.media.paused===e&&(this.media.paused=!e,ve.call(this,this.media,e?"play":"pause"))}function dt(e){return e.noCookie?"https://www.youtube-nocookie.com":"http:"===window.location.protocol?"http://www.youtube.com":void 0}const mt={setup(){if(le(this.elements.wrapper,this.config.classNames.embed,!0),L(window.YT)&&j(window.YT.Player))mt.ready.call(this);else{const e=window.onYouTubeIframeAPIReady;window.onYouTubeIframeAPIReady=()=>{j(e)&&e(),mt.ready.call(this)},rt(this.config.urls.youtube.sdk).catch((e=>{this.debug.warn("YouTube API failed to load",e)}))}},getTitle(e){Re($e(this.config.urls.youtube.api,e)).then((e=>{if(L(e)){const{title:t,height:i,width:s}=e;this.config.title=t,at.setTitle.call(this),this.embed.ratio=Ie(s,i)}Me.call(this)})).catch((()=>{Me.call(this)}))},ready(){const e=this,t=e.config.youtube,i=e.media&&e.media.getAttribute("id");if(!W(i)&&i.startsWith("youtube-"))return;let s=e.media.getAttribute("src");W(s)&&(s=e.media.getAttribute(this.config.attributes.embed.id));const n=W(a=s)?null:a.match(/^.*(youtu.be\/|v\/|u\/\w\/|embed\/|watch\?v=|&v=)([^#&?]*).*/)?RegExp.$2:a;var a;const l=Z("div",{id:`${e.provider}-${Math.floor(1e4*Math.random())}`,"data-poster":t.customControls?e.poster:void 0});if(e.media=se(l,e.media),t.customControls){const t=e=>`https://i.ytimg.com/vi/${n}/${e}default.jpg`;nt(t("maxres"),121).catch((()=>nt(t("sd"),121))).catch((()=>nt(t("hq")))).then((t=>at.setPoster.call(e,t.src))).then((t=>{t.includes("maxres")||(e.elements.poster.style.backgroundSize="cover")})).catch((()=>{}))}e.embed=new window.YT.Player(e.media,{videoId:n,host:dt(t),playerVars:X({},{autoplay:e.config.autoplay?1:0,hl:e.config.hl,controls:e.supported.ui&&t.customControls?0:1,disablekb:1,playsinline:e.config.fullscreen.iosNative?0:1,cc_load_policy:e.captions.active?1:0,cc_lang_pref:e.config.captions.language,widget_referrer:window?window.location.href:null},t),events:{onError(t){if(!e.media.error){const i=t.data,s={2:"The request contains an invalid parameter value. For example, this error occurs if you specify a video ID that does not have 11 characters, or if the video ID contains invalid characters, such as exclamation points or asterisks.",5:"The requested content cannot be played in an HTML5 player or another error related to the HTML5 player has occurred.",100:"The video requested was not found. This error occurs when a video has been removed (for any reason) or has been marked as private.",101:"The owner of the requested video does not allow it to be played in embedded players.",150:"The owner of the requested video does not allow it to be played in embedded players."}[i]||"An unknown error occured";e.media.error={code:i,message:s},ve.call(e,e.media,"error")}},onPlaybackRateChange(t){const i=t.target;e.media.playbackRate=i.getPlaybackRate(),ve.call(e,e.media,"ratechange")},onReady(i){if(j(e.media.play))return;const s=i.target;mt.getTitle.call(e,n),e.media.play=()=>{ut.call(e,!0),s.playVideo()},e.media.pause=()=>{ut.call(e,!1),s.pauseVideo()},e.media.stop=()=>{s.stopVideo()},e.media.duration=s.getDuration(),e.media.paused=!0,e.media.currentTime=0,Object.defineProperty(e.media,"currentTime",{get:()=>Number(s.getCurrentTime()),set(t){e.paused&&!e.embed.hasPlayed&&e.embed.mute(),e.media.seeking=!0,ve.call(e,e.media,"seeking"),s.seekTo(t)}}),Object.defineProperty(e.media,"playbackRate",{get:()=>s.getPlaybackRate(),set(e){s.setPlaybackRate(e)}});let{volume:a}=e.config;Object.defineProperty(e.media,"volume",{get:()=>a,set(t){a=t,s.setVolume(100*a),ve.call(e,e.media,"volumechange")}});let{muted:l}=e.config;Object.defineProperty(e.media,"muted",{get:()=>l,set(t){const i=O(t)?t:l;l=i,s[i?"mute":"unMute"](),s.setVolume(100*a),ve.call(e,e.media,"volumechange")}}),Object.defineProperty(e.media,"currentSrc",{get:()=>s.getVideoUrl()}),Object.defineProperty(e.media,"ended",{get:()=>e.currentTime===e.duration});const o=s.getAvailablePlaybackRates();e.options.speed=o.filter((t=>e.config.speed.options.includes(t))),e.supported.ui&&t.customControls&&e.media.setAttribute("tabindex",-1),ve.call(e,e.media,"timeupdate"),ve.call(e,e.media,"durationchange"),clearInterval(e.timers.buffering),e.timers.buffering=setInterval((()=>{e.media.buffered=s.getVideoLoadedFraction(),(null===e.media.lastBuffered||e.media.lastBufferedat.build.call(e)),50)},onStateChange(i){const s=i.target;clearInterval(e.timers.playing);switch(e.media.seeking&&[1,2].includes(i.data)&&(e.media.seeking=!1,ve.call(e,e.media,"seeked")),i.data){case-1:ve.call(e,e.media,"timeupdate"),e.media.buffered=s.getVideoLoadedFraction(),ve.call(e,e.media,"progress");break;case 0:ut.call(e,!1),e.media.loop?(s.stopVideo(),s.playVideo()):ve.call(e,e.media,"ended");break;case 1:t.customControls&&!e.config.autoplay&&e.media.paused&&!e.embed.hasPlayed?e.media.pause():(ut.call(e,!0),ve.call(e,e.media,"playing"),e.timers.playing=setInterval((()=>{ve.call(e,e.media,"timeupdate")}),50),e.media.duration!==s.getDuration()&&(e.media.duration=s.getDuration(),ve.call(e,e.media,"durationchange")));break;case 2:e.muted||e.embed.unMute(),ut.call(e,!1);break;case 3:ve.call(e,e.media,"waiting")}ve.call(e,e.elements.container,"statechange",!1,{code:i.data})}}})}},pt={setup(){this.media?(le(this.elements.container,this.config.classNames.type.replace("{0}",this.type),!0),le(this.elements.container,this.config.classNames.provider.replace("{0}",this.provider),!0),this.isEmbed&&le(this.elements.container,this.config.classNames.type.replace("{0}","video"),!0),this.isVideo&&(this.elements.wrapper=Z("div",{class:this.config.classNames.video}),J(this.media,this.elements.wrapper),this.elements.poster=Z("div",{class:this.config.classNames.poster}),this.elements.wrapper.appendChild(this.elements.poster)),this.isHTML5?Le.setup.call(this):this.isYouTube?mt.setup.call(this):this.isVimeo&&ht.setup.call(this)):this.debug.warn("No media element found!")}};class gt{constructor(t){e(this,"load",(()=>{this.enabled&&(L(window.google)&&L(window.google.ima)?this.ready():rt(this.player.config.urls.googleIMA.sdk).then((()=>{this.ready()})).catch((()=>{this.trigger("error",new Error("Google IMA SDK failed to load"))})))})),e(this,"ready",(()=>{var e;this.enabled||((e=this).manager&&e.manager.destroy(),e.elements.displayContainer&&e.elements.displayContainer.destroy(),e.elements.container.remove()),this.startSafetyTimer(12e3,"ready()"),this.managerPromise.then((()=>{this.clearSafetyTimer("onAdsManagerLoaded()")})),this.listeners(),this.setupIMA()})),e(this,"setupIMA",(()=>{this.elements.container=Z("div",{class:this.player.config.classNames.ads}),this.player.elements.container.appendChild(this.elements.container),google.ima.settings.setVpaidMode(google.ima.ImaSdkSettings.VpaidMode.ENABLED),google.ima.settings.setLocale(this.player.config.ads.language),google.ima.settings.setDisableCustomPlaybackForIOS10Plus(this.player.config.playsinline),this.elements.displayContainer=new google.ima.AdDisplayContainer(this.elements.container,this.player.media),this.loader=new google.ima.AdsLoader(this.elements.displayContainer),this.loader.addEventListener(google.ima.AdsManagerLoadedEvent.Type.ADS_MANAGER_LOADED,(e=>this.onAdsManagerLoaded(e)),!1),this.loader.addEventListener(google.ima.AdErrorEvent.Type.AD_ERROR,(e=>this.onAdError(e)),!1),this.requestAds()})),e(this,"requestAds",(()=>{const{container:e}=this.player.elements;try{const t=new google.ima.AdsRequest;t.adTagUrl=this.tagUrl,t.linearAdSlotWidth=e.offsetWidth,t.linearAdSlotHeight=e.offsetHeight,t.nonLinearAdSlotWidth=e.offsetWidth,t.nonLinearAdSlotHeight=e.offsetHeight,t.forceNonLinearFullSlot=!1,t.setAdWillPlayMuted(!this.player.muted),this.loader.requestAds(t)}catch(e){this.onAdError(e)}})),e(this,"pollCountdown",((e=!1)=>{if(!e)return clearInterval(this.countdownTimer),void this.elements.container.removeAttribute("data-badge-text");this.countdownTimer=setInterval((()=>{const e=Ue(Math.max(this.manager.getRemainingTime(),0)),t=`${He.get("advertisement",this.player.config)} - ${e}`;this.elements.container.setAttribute("data-badge-text",t)}),100)})),e(this,"onAdsManagerLoaded",(e=>{if(!this.enabled)return;const t=new google.ima.AdsRenderingSettings;t.restoreCustomPlaybackStateOnAdBreakComplete=!0,t.enablePreloading=!0,this.manager=e.getAdsManager(this.player,t),this.cuePoints=this.manager.getCuePoints(),this.manager.addEventListener(google.ima.AdErrorEvent.Type.AD_ERROR,(e=>this.onAdError(e))),Object.keys(google.ima.AdEvent.Type).forEach((e=>{this.manager.addEventListener(google.ima.AdEvent.Type[e],(e=>this.onAdEvent(e)))})),this.trigger("loaded")})),e(this,"addCuePoints",(()=>{W(this.cuePoints)||this.cuePoints.forEach((e=>{if(0!==e&&-1!==e&&e{const{container:t}=this.player.elements,i=e.getAd(),s=e.getAdData();switch((e=>{ve.call(this.player,this.player.media,`ads${e.replace(/_/g,"").toLowerCase()}`)})(e.type),e.type){case google.ima.AdEvent.Type.LOADED:this.trigger("loaded"),this.pollCountdown(!0),i.isLinear()||(i.width=t.offsetWidth,i.height=t.offsetHeight);break;case google.ima.AdEvent.Type.STARTED:this.manager.setVolume(this.player.volume);break;case google.ima.AdEvent.Type.ALL_ADS_COMPLETED:this.player.ended?this.loadAds():this.loader.contentComplete();break;case google.ima.AdEvent.Type.CONTENT_PAUSE_REQUESTED:this.pauseContent();break;case google.ima.AdEvent.Type.CONTENT_RESUME_REQUESTED:this.pollCountdown(),this.resumeContent();break;case google.ima.AdEvent.Type.LOG:s.adError&&this.player.debug.warn(`Non-fatal ad error: ${s.adError.getMessage()}`)}})),e(this,"onAdError",(e=>{this.cancel(),this.player.debug.warn("Ads error",e)})),e(this,"listeners",(()=>{const{container:e}=this.player.elements;let t;this.player.on("canplay",(()=>{this.addCuePoints()})),this.player.on("ended",(()=>{this.loader.contentComplete()})),this.player.on("timeupdate",(()=>{t=this.player.currentTime})),this.player.on("seeked",(()=>{const e=this.player.currentTime;W(this.cuePoints)||this.cuePoints.forEach(((i,s)=>{t{this.manager&&this.manager.resize(e.offsetWidth,e.offsetHeight,google.ima.ViewMode.NORMAL)}))})),e(this,"play",(()=>{const{container:e}=this.player.elements;this.managerPromise||this.resumeContent(),this.managerPromise.then((()=>{this.manager.setVolume(this.player.volume),this.elements.displayContainer.initialize();try{this.initialized||(this.manager.init(e.offsetWidth,e.offsetHeight,google.ima.ViewMode.NORMAL),this.manager.start()),this.initialized=!0}catch(e){this.onAdError(e)}})).catch((()=>{}))})),e(this,"resumeContent",(()=>{this.elements.container.style.zIndex="",this.playing=!1,ke(this.player.media.play())})),e(this,"pauseContent",(()=>{this.elements.container.style.zIndex=3,this.playing=!0,this.player.media.pause()})),e(this,"cancel",(()=>{this.initialized&&this.resumeContent(),this.trigger("error"),this.loadAds()})),e(this,"loadAds",(()=>{this.managerPromise.then((()=>{this.manager&&this.manager.destroy(),this.managerPromise=new Promise((e=>{this.on("loaded",e),this.player.debug.log(this.manager)})),this.initialized=!1,this.requestAds()})).catch((()=>{}))})),e(this,"trigger",((e,...t)=>{const i=this.events[e];q(i)&&i.forEach((e=>{j(e)&&e.apply(this,t)}))})),e(this,"on",((e,t)=>(q(this.events[e])||(this.events[e]=[]),this.events[e].push(t),this))),e(this,"startSafetyTimer",((e,t)=>{this.player.debug.log(`Safety timer invoked from: ${t}`),this.safetyTimer=setTimeout((()=>{this.cancel(),this.clearSafetyTimer("startSafetyTimer()")}),e)})),e(this,"clearSafetyTimer",(e=>{I(this.safetyTimer)||(this.player.debug.log(`Safety timer cleared from: ${e}`),clearTimeout(this.safetyTimer),this.safetyTimer=null)})),this.player=t,this.config=t.config.ads,this.playing=!1,this.initialized=!1,this.elements={container:null,displayContainer:null},this.manager=null,this.loader=null,this.cuePoints=null,this.events={},this.safetyTimer=null,this.countdownTimer=null,this.managerPromise=new Promise(((e,t)=>{this.on("loaded",e),this.on("error",t)})),this.load()}get enabled(){const{config:e}=this;return this.player.isHTML5&&this.player.isVideo&&e.enabled&&(!W(e.publisherId)||U(e.tagUrl))}get tagUrl(){const{config:e}=this;if(U(e.tagUrl))return e.tagUrl;return`https://go.aniview.com/api/adserver6/vast/?${Ke({AV_PUBLISHERID:"58c25bb0073ef448b1087ad6",AV_CHANNELID:"5a0458dc28a06145e4519d21",AV_URL:window.location.hostname,cb:Date.now(),AV_WIDTH:640,AV_HEIGHT:480,AV_CDIM2:e.publisherId})}`}}const ft=e=>{const t=[];return e.split(/\r\n\r\n|\n\n|\r\r/).forEach((e=>{const i={};e.split(/\r\n|\n|\r/).forEach((e=>{if($(i.startTime)){if(!W(e.trim())&&W(i.text)){const t=e.trim().split("#xywh=");[i.text]=t,t[1]&&([i.x,i.y,i.w,i.h]=t[1].split(","))}}else{const t=e.match(/([0-9]{2})?:?([0-9]{2}):([0-9]{2}).([0-9]{2,3})( ?--> ?)([0-9]{2})?:?([0-9]{2}):([0-9]{2}).([0-9]{2,3})/);t&&(i.startTime=60*Number(t[1]||0)*60+60*Number(t[2])+Number(t[3])+Number(`0.${t[4]}`),i.endTime=60*Number(t[6]||0)*60+60*Number(t[7])+Number(t[8])+Number(`0.${t[9]}`))}})),i.text&&t.push(i)})),t},bt=(e,t)=>{const i={};return e>t.width/t.height?(i.width=t.width,i.height=1/e*t.width):(i.height=t.height,i.width=e*t.height),i};class yt{constructor(t){e(this,"load",(()=>{this.player.elements.display.seekTooltip&&(this.player.elements.display.seekTooltip.hidden=this.enabled),this.enabled&&this.getThumbnails().then((()=>{this.enabled&&(this.render(),this.determineContainerAutoSizing(),this.loaded=!0)}))})),e(this,"getThumbnails",(()=>new Promise((e=>{const{src:t}=this.player.config.previewThumbnails;if(W(t))throw new Error("Missing previewThumbnails.src config attribute");const i=()=>{this.thumbnails.sort(((e,t)=>e.height-t.height)),this.player.debug.log("Preview thumbnails",this.thumbnails),e()};if(j(t))t((e=>{this.thumbnails=e,i()}));else{const e=(_(t)?[t]:t).map((e=>this.getThumbnail(e)));Promise.all(e).then(i)}})))),e(this,"getThumbnail",(e=>new Promise((t=>{Re(e).then((i=>{const s={frames:ft(i),height:null,urlPrefix:""};s.frames[0].text.startsWith("/")||s.frames[0].text.startsWith("http://")||s.frames[0].text.startsWith("https://")||(s.urlPrefix=e.substring(0,e.lastIndexOf("/")+1));const n=new Image;n.onload=()=>{s.height=n.naturalHeight,s.width=n.naturalWidth,this.thumbnails.push(s),t()},n.src=s.urlPrefix+s.frames[0].text}))})))),e(this,"startMove",(e=>{if(this.loaded&&F(e)&&["touchmove","mousemove"].includes(e.type)&&this.player.media.duration){if("touchmove"===e.type)this.seekTime=this.player.media.duration*(this.player.elements.inputs.seek.value/100);else{const t=this.player.elements.progress.getBoundingClientRect(),i=100/t.width*(e.pageX-t.left);this.seekTime=this.player.media.duration*(i/100),this.seekTime<0&&(this.seekTime=0),this.seekTime>this.player.media.duration-1&&(this.seekTime=this.player.media.duration-1),this.mousePosX=e.pageX,this.elements.thumb.time.innerText=Ue(this.seekTime)}this.showImageAtCurrentTime()}})),e(this,"endMove",(()=>{this.toggleThumbContainer(!1,!0)})),e(this,"startScrubbing",(e=>{(I(e.button)||!1===e.button||0===e.button)&&(this.mouseDown=!0,this.player.media.duration&&(this.toggleScrubbingContainer(!0),this.toggleThumbContainer(!1,!0),this.showImageAtCurrentTime()))})),e(this,"endScrubbing",(()=>{this.mouseDown=!1,Math.ceil(this.lastTime)===Math.ceil(this.player.media.currentTime)?this.toggleScrubbingContainer(!1):ye.call(this.player,this.player.media,"timeupdate",(()=>{this.mouseDown||this.toggleScrubbingContainer(!1)}))})),e(this,"listeners",(()=>{this.player.on("play",(()=>{this.toggleThumbContainer(!1,!0)})),this.player.on("seeked",(()=>{this.toggleThumbContainer(!1)})),this.player.on("timeupdate",(()=>{this.lastTime=this.player.media.currentTime}))})),e(this,"render",(()=>{this.elements.thumb.container=Z("div",{class:this.player.config.classNames.previewThumbnails.thumbContainer}),this.elements.thumb.imageContainer=Z("div",{class:this.player.config.classNames.previewThumbnails.imageContainer}),this.elements.thumb.container.appendChild(this.elements.thumb.imageContainer);const e=Z("div",{class:this.player.config.classNames.previewThumbnails.timeContainer});this.elements.thumb.time=Z("span",{},"00:00"),e.appendChild(this.elements.thumb.time),this.elements.thumb.container.appendChild(e),H(this.player.elements.progress)&&this.player.elements.progress.appendChild(this.elements.thumb.container),this.elements.scrubbing.container=Z("div",{class:this.player.config.classNames.previewThumbnails.scrubbingContainer}),this.player.elements.wrapper.appendChild(this.elements.scrubbing.container)})),e(this,"destroy",(()=>{this.elements.thumb.container&&this.elements.thumb.container.remove(),this.elements.scrubbing.container&&this.elements.scrubbing.container.remove()})),e(this,"showImageAtCurrentTime",(()=>{this.mouseDown?this.setScrubbingContainerSize():this.setThumbContainerSizeAndPos();const e=this.thumbnails[0].frames.findIndex((e=>this.seekTime>=e.startTime&&this.seekTime<=e.endTime)),t=e>=0;let i=0;this.mouseDown||this.toggleThumbContainer(t),t&&(this.thumbnails.forEach(((t,s)=>{this.loadedImages.includes(t.frames[e].text)&&(i=s)})),e!==this.showingThumb&&(this.showingThumb=e,this.loadImage(i)))})),e(this,"loadImage",((e=0)=>{const t=this.showingThumb,i=this.thumbnails[e],{urlPrefix:s}=i,n=i.frames[t],a=i.frames[t].text,l=s+a;if(this.currentImageElement&&this.currentImageElement.dataset.filename===a)this.showImage(this.currentImageElement,n,e,t,a,!1),this.currentImageElement.dataset.index=t,this.removeOldImages(this.currentImageElement);else{this.loadingImage&&this.usingSprites&&(this.loadingImage.onload=null);const i=new Image;i.src=l,i.dataset.index=t,i.dataset.filename=a,this.showingThumbFilename=a,this.player.debug.log(`Loading image: ${l}`),i.onload=()=>this.showImage(i,n,e,t,a,!0),this.loadingImage=i,this.removeOldImages(i)}})),e(this,"showImage",((e,t,i,s,n,a=!0)=>{this.player.debug.log(`Showing thumb: ${n}. num: ${s}. qual: ${i}. newimg: ${a}`),this.setImageSizeAndOffset(e,t),a&&(this.currentImageContainer.appendChild(e),this.currentImageElement=e,this.loadedImages.includes(n)||this.loadedImages.push(n)),this.preloadNearby(s,!0).then(this.preloadNearby(s,!1)).then(this.getHigherQuality(i,e,t,n))})),e(this,"removeOldImages",(e=>{Array.from(this.currentImageContainer.children).forEach((t=>{if("img"!==t.tagName.toLowerCase())return;const i=this.usingSprites?500:1e3;if(t.dataset.index!==e.dataset.index&&!t.dataset.deleting){t.dataset.deleting=!0;const{currentImageContainer:e}=this;setTimeout((()=>{e.removeChild(t),this.player.debug.log(`Removing thumb: ${t.dataset.filename}`)}),i)}}))})),e(this,"preloadNearby",((e,t=!0)=>new Promise((i=>{setTimeout((()=>{const s=this.thumbnails[0].frames[e].text;if(this.showingThumbFilename===s){let n;n=t?this.thumbnails[0].frames.slice(e):this.thumbnails[0].frames.slice(0,e).reverse();let a=!1;n.forEach((e=>{const t=e.text;if(t!==s&&!this.loadedImages.includes(t)){a=!0,this.player.debug.log(`Preloading thumb filename: ${t}`);const{urlPrefix:e}=this.thumbnails[0],s=e+t,n=new Image;n.src=s,n.onload=()=>{this.player.debug.log(`Preloaded thumb filename: ${t}`),this.loadedImages.includes(t)||this.loadedImages.push(t),i()}}})),a||i()}}),300)})))),e(this,"getHigherQuality",((e,t,i,s)=>{if(e{this.showingThumbFilename===s&&(this.player.debug.log(`Showing higher quality thumb for: ${s}`),this.loadImage(e+1))}),300)}})),e(this,"toggleThumbContainer",((e=!1,t=!1)=>{const i=this.player.config.classNames.previewThumbnails.thumbContainerShown;this.elements.thumb.container.classList.toggle(i,e),!e&&t&&(this.showingThumb=null,this.showingThumbFilename=null)})),e(this,"toggleScrubbingContainer",((e=!1)=>{const t=this.player.config.classNames.previewThumbnails.scrubbingContainerShown;this.elements.scrubbing.container.classList.toggle(t,e),e||(this.showingThumb=null,this.showingThumbFilename=null)})),e(this,"determineContainerAutoSizing",(()=>{(this.elements.thumb.imageContainer.clientHeight>20||this.elements.thumb.imageContainer.clientWidth>20)&&(this.sizeSpecifiedInCSS=!0)})),e(this,"setThumbContainerSizeAndPos",(()=>{if(this.sizeSpecifiedInCSS){if(this.elements.thumb.imageContainer.clientHeight>20&&this.elements.thumb.imageContainer.clientWidth<20){const e=Math.floor(this.elements.thumb.imageContainer.clientHeight*this.thumbAspectRatio);this.elements.thumb.imageContainer.style.width=`${e}px`}else if(this.elements.thumb.imageContainer.clientHeight<20&&this.elements.thumb.imageContainer.clientWidth>20){const e=Math.floor(this.elements.thumb.imageContainer.clientWidth/this.thumbAspectRatio);this.elements.thumb.imageContainer.style.height=`${e}px`}}else{const e=Math.floor(this.thumbContainerHeight*this.thumbAspectRatio);this.elements.thumb.imageContainer.style.height=`${this.thumbContainerHeight}px`,this.elements.thumb.imageContainer.style.width=`${e}px`}this.setThumbContainerPos()})),e(this,"setThumbContainerPos",(()=>{const e=this.player.elements.progress.getBoundingClientRect(),t=this.player.elements.container.getBoundingClientRect(),{container:i}=this.elements.thumb,s=t.left-e.left+10,n=t.right-e.left-i.clientWidth-10;let a=this.mousePosX-e.left-i.clientWidth/2;an&&(a=n),i.style.left=`${a}px`})),e(this,"setScrubbingContainerSize",(()=>{const{width:e,height:t}=bt(this.thumbAspectRatio,{width:this.player.media.clientWidth,height:this.player.media.clientHeight});this.elements.scrubbing.container.style.width=`${e}px`,this.elements.scrubbing.container.style.height=`${t}px`})),e(this,"setImageSizeAndOffset",((e,t)=>{if(!this.usingSprites)return;const i=this.thumbContainerHeight/t.h;e.style.height=e.naturalHeight*i+"px",e.style.width=e.naturalWidth*i+"px",e.style.left=`-${t.x*i}px`,e.style.top=`-${t.y*i}px`})),this.player=t,this.thumbnails=[],this.loaded=!1,this.lastMouseMoveTime=Date.now(),this.mouseDown=!1,this.loadedImages=[],this.elements={thumb:{},scrubbing:{}},this.load()}get enabled(){return this.player.isHTML5&&this.player.isVideo&&this.player.config.previewThumbnails.enabled}get currentImageContainer(){return this.mouseDown?this.elements.scrubbing.container:this.elements.thumb.imageContainer}get usingSprites(){return Object.keys(this.thumbnails[0].frames[0]).includes("w")}get thumbAspectRatio(){return this.usingSprites?this.thumbnails[0].frames[0].w/this.thumbnails[0].frames[0].h:this.thumbnails[0].width/this.thumbnails[0].height}get thumbContainerHeight(){if(this.mouseDown){const{height:e}=bt(this.thumbAspectRatio,{width:this.player.media.clientWidth,height:this.player.media.clientHeight});return e}return this.sizeSpecifiedInCSS?this.elements.thumb.imageContainer.clientHeight:Math.floor(this.player.media.clientWidth/this.thumbAspectRatio/4)}get currentImageElement(){return this.mouseDown?this.currentScrubbingImageElement:this.currentThumbnailImageElement}set currentImageElement(e){this.mouseDown?this.currentScrubbingImageElement=e:this.currentThumbnailImageElement=e}}const vt={insertElements(e,t){_(t)?ee(e,this.media,{src:t}):q(t)&&t.forEach((t=>{ee(e,this.media,t)}))},change(e){Q(e,"sources.length")?(Le.cancelRequests.call(this),this.destroy.call(this,(()=>{this.options.quality=[],te(this.media),this.media=null,H(this.elements.container)&&this.elements.container.removeAttribute("class");const{sources:t,type:i}=e,[{provider:s=Ge.html5,src:n}]=t,a="html5"===s?i:"div",l="html5"===s?{}:{src:n};Object.assign(this,{provider:s,type:i,supported:me.check(i,s,this.config.playsinline),media:Z(a,l)}),this.elements.container.appendChild(this.media),O(e.autoplay)&&(this.config.autoplay=e.autoplay),this.isHTML5&&(this.config.crossorigin&&this.media.setAttribute("crossorigin",""),this.config.autoplay&&this.media.setAttribute("autoplay",""),W(e.poster)||(this.poster=e.poster),this.config.loop.active&&this.media.setAttribute("loop",""),this.config.muted&&this.media.setAttribute("muted",""),this.config.playsinline&&this.media.setAttribute("playsinline","")),at.addStyleHook.call(this),this.isHTML5&&vt.insertElements.call(this,"source",t),this.config.title=e.title,pt.setup.call(this),this.isHTML5&&Object.keys(e).includes("tracks")&&vt.insertElements.call(this,"track",e.tracks),(this.isHTML5||this.isEmbed&&!this.supported.ui)&&at.build.call(this),this.isHTML5&&this.media.load(),W(e.previewThumbnails)||(Object.assign(this.config.previewThumbnails,e.previewThumbnails),this.previewThumbnails&&this.previewThumbnails.loaded&&(this.previewThumbnails.destroy(),this.previewThumbnails=null),this.config.previewThumbnails.enabled&&(this.previewThumbnails=new yt(this))),this.fullscreen.update()}),!0)):this.debug.warn("Invalid source format")}};class wt{constructor(t,i){if(e(this,"play",(()=>j(this.media.play)?(this.ads&&this.ads.enabled&&this.ads.managerPromise.then((()=>this.ads.play())).catch((()=>ke(this.media.play()))),this.media.play()):null)),e(this,"pause",(()=>this.playing&&j(this.media.pause)?this.media.pause():null)),e(this,"togglePlay",(e=>(O(e)?e:!this.playing)?this.play():this.pause())),e(this,"stop",(()=>{this.isHTML5?(this.pause(),this.restart()):j(this.media.stop)&&this.media.stop()})),e(this,"restart",(()=>{this.currentTime=0})),e(this,"rewind",(e=>{this.currentTime-=$(e)?e:this.config.seekTime})),e(this,"forward",(e=>{this.currentTime+=$(e)?e:this.config.seekTime})),e(this,"increaseVolume",(e=>{const t=this.media.muted?0:this.volume;this.volume=t+($(e)?e:0)})),e(this,"decreaseVolume",(e=>{this.increaseVolume(-e)})),e(this,"airplay",(()=>{me.airplay&&this.media.webkitShowPlaybackTargetPicker()})),e(this,"toggleControls",(e=>{if(this.supported.ui&&!this.isAudio){const t=oe(this.elements.container,this.config.classNames.hideControls),i=void 0===e?void 0:!e,s=le(this.elements.container,this.config.classNames.hideControls,i);if(s&&q(this.config.controls)&&this.config.controls.includes("settings")&&!W(this.config.settings)&&We.toggleMenu.call(this,!1),s!==t){const e=s?"controlshidden":"controlsshown";ve.call(this,this.media,e)}return!s}return!1})),e(this,"on",((e,t)=>{fe.call(this,this.elements.container,e,t)})),e(this,"once",((e,t)=>{ye.call(this,this.elements.container,e,t)})),e(this,"off",((e,t)=>{be(this.elements.container,e,t)})),e(this,"destroy",((e,t=!1)=>{if(!this.ready)return;const i=()=>{document.body.style.overflow="",this.embed=null,t?(Object.keys(this.elements).length&&(te(this.elements.buttons.play),te(this.elements.captions),te(this.elements.controls),te(this.elements.wrapper),this.elements.buttons.play=null,this.elements.captions=null,this.elements.controls=null,this.elements.wrapper=null),j(e)&&e()):(we.call(this),Le.cancelRequests.call(this),se(this.elements.original,this.elements.container),ve.call(this,this.elements.original,"destroyed",!0),j(e)&&e.call(this.elements.original),this.ready=!1,setTimeout((()=>{this.elements=null,this.media=null}),200))};this.stop(),clearTimeout(this.timers.loading),clearTimeout(this.timers.controls),clearTimeout(this.timers.resized),this.isHTML5?(at.toggleNativeControls.call(this,!0),i()):this.isYouTube?(clearInterval(this.timers.buffering),clearInterval(this.timers.playing),null!==this.embed&&j(this.embed.destroy)&&this.embed.destroy(),i()):this.isVimeo&&(null!==this.embed&&this.embed.unload().then(i),setTimeout(i,200))})),e(this,"supports",(e=>me.mime.call(this,e))),this.timers={},this.ready=!1,this.loading=!1,this.failed=!1,this.touch=me.touch,this.media=t,_(this.media)&&(this.media=document.querySelectorAll(this.media)),(window.jQuery&&this.media instanceof jQuery||D(this.media)||q(this.media))&&(this.media=this.media[0]),this.config=X({},Qe,wt.defaults,i||{},(()=>{try{return JSON.parse(this.media.getAttribute("data-plyr-config"))}catch(e){return{}}})()),this.elements={container:null,fullscreen:null,captions:null,buttons:{},display:{},progress:{},inputs:{},settings:{popup:null,menu:null,panels:{},buttons:{}}},this.captions={active:null,currentTrack:-1,meta:new WeakMap},this.fullscreen={active:!1},this.options={speed:[],quality:[]},this.debug=new it(this.config.debug),this.debug.log("Config",this.config),this.debug.log("Support",me),I(this.media)||!H(this.media))return void this.debug.error("Setup failed: no suitable element passed");if(this.media.plyr)return void this.debug.warn("Target already setup");if(!this.config.enabled)return void this.debug.error("Setup failed: disabled by config");if(!me.check().api)return void this.debug.error("Setup failed: no support");const s=this.media.cloneNode(!0);s.autoplay=!1,this.elements.original=s;const n=this.media.tagName.toLowerCase();let a=null,l=null;switch(n){case"div":if(a=this.media.querySelector("iframe"),H(a)){if(l=ze(a.getAttribute("src")),this.provider=function(e){return/^(https?:\/\/)?(www\.)?(youtube\.com|youtube-nocookie\.com|youtu\.?be)\/.+$/.test(e)?Ge.youtube:/^https?:\/\/player.vimeo.com\/video\/\d{0,9}(?=\b|\/)/.test(e)?Ge.vimeo:null}(l.toString()),this.elements.container=this.media,this.media=a,this.elements.container.className="",l.search.length){const e=["1","true"];e.includes(l.searchParams.get("autoplay"))&&(this.config.autoplay=!0),e.includes(l.searchParams.get("loop"))&&(this.config.loop.active=!0),this.isYouTube?(this.config.playsinline=e.includes(l.searchParams.get("playsinline")),this.config.youtube.hl=l.searchParams.get("hl")):this.config.playsinline=!0}}else this.provider=this.media.getAttribute(this.config.attributes.embed.provider),this.media.removeAttribute(this.config.attributes.embed.provider);if(W(this.provider)||!Object.values(Ge).includes(this.provider))return void this.debug.error("Setup failed: Invalid provider");this.type=et;break;case"video":case"audio":this.type=n,this.provider=Ge.html5,this.media.hasAttribute("crossorigin")&&(this.config.crossorigin=!0),this.media.hasAttribute("autoplay")&&(this.config.autoplay=!0),(this.media.hasAttribute("playsinline")||this.media.hasAttribute("webkit-playsinline"))&&(this.config.playsinline=!0),this.media.hasAttribute("muted")&&(this.config.muted=!0),this.media.hasAttribute("loop")&&(this.config.loop.active=!0);break;default:return void this.debug.error("Setup failed: unsupported type")}this.supported=me.check(this.type,this.provider,this.config.playsinline),this.supported.api?(this.eventListeners=[],this.listeners=new lt(this),this.storage=new Fe(this),this.media.plyr=this,H(this.elements.container)||(this.elements.container=Z("div",{tabindex:0}),J(this.media,this.elements.container)),at.migrateStyles.call(this),at.addStyleHook.call(this),pt.setup.call(this),this.config.debug&&fe.call(this,this.elements.container,this.config.events.join(" "),(e=>{this.debug.log(`event: ${e.type}`)})),this.fullscreen=new st(this),(this.isHTML5||this.isEmbed&&!this.supported.ui)&&at.build.call(this),this.listeners.container(),this.listeners.global(),this.config.ads.enabled&&(this.ads=new gt(this)),this.isHTML5&&this.config.autoplay&&this.once("canplay",(()=>ke(this.play()))),this.lastSeekTime=0,this.config.previewThumbnails.enabled&&(this.previewThumbnails=new yt(this))):this.debug.error("Setup failed: no support")}get isHTML5(){return this.provider===Ge.html5}get isEmbed(){return this.isYouTube||this.isVimeo}get isYouTube(){return this.provider===Ge.youtube}get isVimeo(){return this.provider===Ge.vimeo}get isVideo(){return this.type===et}get isAudio(){return this.type===Ze}get playing(){return Boolean(this.ready&&!this.paused&&!this.ended)}get paused(){return Boolean(this.media.paused)}get stopped(){return Boolean(this.paused&&0===this.currentTime)}get ended(){return Boolean(this.media.ended)}set currentTime(e){if(!this.duration)return;const t=$(e)&&e>0;this.media.currentTime=t?Math.min(e,this.duration):0,this.debug.log(`Seeking to ${this.currentTime} seconds`)}get currentTime(){return Number(this.media.currentTime)}get buffered(){const{buffered:e}=this.media;return $(e)?e:e&&e.length&&this.duration>0?e.end(0)/this.duration:0}get seeking(){return Boolean(this.media.seeking)}get duration(){const e=parseFloat(this.config.duration),t=(this.media||{}).duration,i=$(t)&&t!==1/0?t:0;return e||i}set volume(e){let t=e;_(t)&&(t=Number(t)),$(t)||(t=this.storage.get("volume")),$(t)||({volume:t}=this.config),t>1&&(t=1),t<0&&(t=0),this.config.volume=t,this.media.volume=t,!W(e)&&this.muted&&t>0&&(this.muted=!1)}get volume(){return Number(this.media.volume)}set muted(e){let t=e;O(t)||(t=this.storage.get("muted")),O(t)||(t=this.config.muted),this.config.muted=t,this.media.muted=t}get muted(){return Boolean(this.media.muted)}get hasAudio(){return!this.isHTML5||(!!this.isAudio||(Boolean(this.media.mozHasAudio)||Boolean(this.media.webkitAudioDecodedByteCount)||Boolean(this.media.audioTracks&&this.media.audioTracks.length)))}set speed(e){let t=null;$(e)&&(t=e),$(t)||(t=this.storage.get("speed")),$(t)||(t=this.config.speed.selected);const{minimumSpeed:i,maximumSpeed:s}=this;t=function(e=0,t=0,i=255){return Math.min(Math.max(e,t),i)}(t,i,s),this.config.speed.selected=t,setTimeout((()=>{this.media&&(this.media.playbackRate=t)}),0)}get speed(){return Number(this.media.playbackRate)}get minimumSpeed(){return this.isYouTube?Math.min(...this.options.speed):this.isVimeo?.5:.0625}get maximumSpeed(){return this.isYouTube?Math.max(...this.options.speed):this.isVimeo?2:16}set quality(e){const t=this.config.quality,i=this.options.quality;if(!i.length)return;let s=[!W(e)&&Number(e),this.storage.get("quality"),t.selected,t.default].find($),n=!0;if(!i.includes(s)){const e=Ae(i,s);this.debug.warn(`Unsupported quality option: ${s}, using ${e} instead`),s=e,n=!1}t.selected=s,this.media.quality=s,n&&this.storage.set({quality:s})}get quality(){return this.media.quality}set loop(e){const t=O(e)?e:this.config.loop.active;this.config.loop.active=t,this.media.loop=t}get loop(){return Boolean(this.media.loop)}set source(e){vt.change.call(this,e)}get source(){return this.media.currentSrc}get download(){const{download:e}=this.config.urls;return U(e)?e:this.source}set download(e){U(e)&&(this.config.urls.download=e,We.setDownloadUrl.call(this))}set poster(e){this.isVideo?at.setPoster.call(this,e,!1).catch((()=>{})):this.debug.warn("Poster can only be set for video")}get poster(){return this.isVideo?this.media.getAttribute("poster")||this.media.getAttribute("data-poster"):null}get ratio(){if(!this.isVideo)return null;const e=Ne(xe.call(this));return q(e)?e.join(":"):e}set ratio(e){this.isVideo?_(e)&&Pe(e)?(this.config.ratio=Ne(e),Me.call(this)):this.debug.error(`Invalid aspect ratio specified (${e})`):this.debug.warn("Aspect ratio can only be set for video")}set autoplay(e){const t=O(e)?e:this.config.autoplay;this.config.autoplay=t}get autoplay(){return Boolean(this.config.autoplay)}toggleCaptions(e){Ye.toggle.call(this,e,!1)}set currentTrack(e){Ye.set.call(this,e,!1),Ye.setup()}get currentTrack(){const{toggled:e,currentTrack:t}=this.captions;return e?t:-1}set language(e){Ye.setLanguage.call(this,e,!1)}get language(){return(Ye.getCurrentTrack.call(this)||{}).language}set pip(e){if(!me.pip)return;const t=O(e)?e:!this.pip;j(this.media.webkitSetPresentationMode)&&this.media.webkitSetPresentationMode(t?Xe:Je),j(this.media.requestPictureInPicture)&&(!this.pip&&t?this.media.requestPictureInPicture():this.pip&&!t&&document.exitPictureInPicture())}get pip(){return me.pip?W(this.media.webkitPresentationMode)?this.media===document.pictureInPictureElement:this.media.webkitPresentationMode===Xe:null}setPreviewThumbnails(e){this.previewThumbnails&&this.previewThumbnails.loaded&&(this.previewThumbnails.destroy(),this.previewThumbnails=null),Object.assign(this.config.previewThumbnails,e),this.config.previewThumbnails.enabled&&(this.previewThumbnails=new yt(this))}static supported(e,t,i){return me.check(e,t,i)}static loadSprite(e,t){return Ve(e,t)}static setup(e,t={}){let i=null;return _(e)?i=Array.from(document.querySelectorAll(e)):D(e)?i=Array.from(e):q(e)&&(i=e.filter(H)),W(i)?null:i.map((e=>new wt(e,t)))}}var Tt;return wt.defaults=(Tt=Qe,JSON.parse(JSON.stringify(Tt))),wt})); //# sourceMappingURL=plyr.min.js.map diff --git a/assets/vendor/plyr/dist/plyr.min.js.map b/assets/vendor/plyr/dist/plyr.min.js.map index aed6767..d17c653 100644 --- a/assets/vendor/plyr/dist/plyr.min.js.map +++ b/assets/vendor/plyr/dist/plyr.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["plyr.js","node_modules/rangetouch/dist/rangetouch.mjs","src/js/utils/is.js","src/js/utils/animation.js","src/js/utils/browser.js","src/js/utils/objects.js","src/js/utils/elements.js","src/js/support.js","src/js/utils/events.js","src/js/utils/promise.js","src/js/utils/arrays.js","src/js/utils/style.js","src/js/html5.js","src/js/utils/strings.js","src/js/utils/i18n.js","src/js/storage.js","src/js/utils/fetch.js","src/js/utils/load-sprite.js","src/js/utils/time.js","src/js/controls.js","src/js/utils/urls.js","src/js/captions.js","src/js/config/defaults.js","src/js/config/states.js","src/js/config/types.js","src/js/console.js","src/js/fullscreen.js","src/js/utils/load-image.js","src/js/ui.js","src/js/listeners.js","node_modules/loadjs/dist/loadjs.umd.js","src/js/utils/load-script.js","src/js/plugins/vimeo.js","src/js/plugins/youtube.js","src/js/media.js","src/js/plugins/ads.js","src/js/plugins/preview-thumbnails.js","src/js/source.js","src/js/plyr.js","src/js/utils/numbers.js"],"names":["navigator","global","factory","exports","module","define","amd","globalThis","self","Plyr","this","_defineProperty$1","obj","key","value","Object","defineProperty","enumerable","configurable","writable","_defineProperties","e","t","n","length","r","_defineProperty","ownKeys","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","push","apply","_objectSpread2","arguments","forEach","getOwnPropertyDescriptors","defineProperties","defaults","addCSS","thumbWidth","watch","matches","Array","from","document","querySelectorAll","includes","call","getConstructor","constructor","instanceOf","isNullOrUndefined","isObject","isString","String","isArray","isNodeList","NodeList","is","Element","Event","round","concat","match","Math","max","getDecimalPlaces","parseFloat","toFixed","RangeTouch","TypeError","_classCallCheck","element","querySelector","rangeTouch","config","init","prototype","_createClass","enabled","style","userSelect","webKitUserSelect","touchAction","listeners","set","target","i","changedTouches","o","getAttribute","s","u","c","getBoundingClientRect","a","width","clientX","left","disabled","preventDefault","get","bubbles","dispatchEvent","trigger","type","MutationObserver","addedNodes","observe","body","childList","subtree","map","documentElement","input","Boolean","isFunction","Function","isEmpty","Number","isNaN","nodeType","ownerDocument","KeyboardEvent","TextTrack","kind","Promise","then","window","URL","string","startsWith","hostname","_","transitionEndEvent","createElement","events","WebkitTransition","MozTransition","OTransition","transition","find","event","undefined","repaint","delay","setTimeout","hidden","offsetHeight","browser","isIE","documentMode","isEdge","userAgent","isWebkit","test","isIPhone","platform","isIos","maxTouchPoints","getDeep","object","path","split","reduce","extend","sources","source","shift","assign","[object Object]","wrap","elements","wrapper","targets","reverse","index","child","cloneNode","parent","parentNode","sibling","nextSibling","appendChild","insertBefore","setAttributes","attributes","entries","setAttribute","text","innerText","insertElement","removeElement","removeChild","emptyElement","childNodes","lastChild","replaceElement","newChild","oldChild","replaceChild","getAttributesFromSelector","sel","existingAttributes","existing","selector","trim","className","replace","parts","charAt","class","id","toggleHidden","hide","toggleClass","force","method","classList","contains","hasClass","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","getElements","container","getElement","setFocus","tabFocus","focus","preventScroll","classNames","defaultCodecs","audio/ogg","audio/wav","video/webm","video/mp4","video/ogg","support","audio","video","check","provider","playsinline","canPlayInline","api","ui","rangeInput","pip","webkitSetPresentationMode","pictureInPictureEnabled","disablePictureInPicture","airplay","WebKitPlaybackTargetAvailabilityEvent","mime","mediaType","isHTML5","media","canPlayType","textTracks","range","touch","transitions","reducedMotion","matchMedia","supportsPassiveListeners","supported","options","addEventListener","removeEventListener","toggleListener","callback","toggle","passive","capture","eventListeners","on","off","once","onceCallback","args","triggerEvent","detail","CustomEvent","plyr","unbindListeners","item","ready","resolve","silencePromise","dedupe","array","indexOf","closest","prev","curr","abs","supportsCSS","declaration","CSS","supports","standardRatios","out","x","y","validateAspectRatio","every","reduceAspectRatio","ratio","height","getDivider","w","h","divider","getAspectRatio","parse","embed","videoWidth","videoHeight","setAspectRatio","isVideo","padding","aspectRatio","paddingBottom","isVimeo","vimeo","premium","offsetWidth","parseInt","getComputedStyle","offset","fullscreen","active","transform","add","videoFixedRatio","roundAspectRatio","tolerance","closestRatio","html5","getSources","getQualityOptions","quality","forced","setup","player","speed","onChange","currentTime","paused","preload","readyState","playbackRate","src","play","load","cancelRequests","blankVideo","debug","log","format","toString","replaceAll","RegExp","toTitleCase","toUpperCase","substr","toLowerCase","toCamelCase","toPascalCase","slice","getHTML","innerHTML","resources","youtube","i18n","{seektime}","seekTime","{title}","title","k","v","Storage","store","localStorage","getItem","json","JSON","storage","setItem","stringify","removeItem","fetch","url","responseType","reject","request","XMLHttpRequest","responseText","response","Error","status","open","send","error","loadSprite","hasId","isCached","exists","getElementById","update","data","insertAdjacentElement","useStorage","cached","content","result","catch","getHours","trunc","formatTime","time","displayHours","inverted","hours","mins","secs","getSeconds","controls","getIconUrl","iconUrl","location","host","top","cors","svg4everybody","findElements","selectors","buttons","pause","restart","rewind","fastForward","mute","settings","captions","progress","inputs","seek","volume","display","buffer","duration","seekTooltip","tooltip","warn","toggleNativeControls","createIcon","namespace","iconPath","iconPrefix","icon","createElementNS","aria-hidden","focusable","use","setAttributeNS","createLabel","attr","join","createBadge","badge","menu","createButton","buttonType","props","label","labelPressed","iconPressed","some","control","button","createRange","min","step","autocomplete","role","aria-label","aria-valuemin","aria-valuemax","aria-valuenow","updateRangeFill","createProgress","suffixKey","played","suffix","createTime","attrs","bindMenuItemShortcuts","menuItem","which","stopPropagation","isRadioButton","showMenuPanel","nextElementSibling","firstElementChild","previousElementSibling","lastElementChild","focusFirstMenuItem","createMenuItem","list","checked","aria-checked","flex","children","node","bind","currentTrack","updateTimeDisplay","updateVolume","setRange","muted","pressed","updateProgress","setProgress","val","getElementsByTagName","nodeValue","current","buffered","percent","setProperty","updateSeekTooltip","tooltips","visible","show","clientRect","pageX","timeUpdate","invert","invertTime","seeking","durationUpdate","hasDuration","displayDuration","toggleMenuButton","setting","updateSetting","pane","panels","default","getLabel","setQualityMenu","checkMenu","getBadge","sort","b","sorting","setCaptionsMenu","tracks","getTracks","track","toggled","language","unshift","setSpeedMenu","minimumSpeed","maximumSpeed","values","popup","p","firstItem","toggleMenu","composedPath","isMenuItem","getMenuSize","tab","clone","position","opacity","removeAttribute","scrollWidth","scrollHeight","size","restore","propertyName","setDownloadUrl","download","create","defaultAttributes","progressContainer","aria-haspopup","aria-controls","aria-expanded","inner","home","backButton","href","urls","isEmbed","inject","floor","random","seektime","addProperty","controlPressed","labels","parseUrl","safe","parser","buildUrlParams","params","URLSearchParams","isYouTube","protocol","blob","createObjectURL","languages","userLanguage","trackEvents","meta","currentTrackNode","languageExists","mode","updateCues","setLanguage","activeClass","findTrack","enableTextTrack","has","sortIsDefault","sorted","getCurrentTrack","cues","activeCues","cue","getCueAsHTML","cueText","caption","autoplay","autopause","toggleInvert","clickToPlay","hideControls","resetOnEnd","disableContextMenu","loop","selected","keyboard","focused","fallback","iosNative","seekLabel","unmute","enableCaptions","disableCaptions","enterFullscreen","exitFullscreen","frameTitle","menuBack","normal","start","end","all","reset","advertisement","qualityBadge","2160","1440","1080","720","576","480","sdk","iframe","googleIMA","editable","embedContainer","poster","posterEnabled","ads","playing","stopped","loading","hover","isTouch","uiSupported","noTransition","previewThumbnails","thumbContainer","thumbContainerShown","imageContainer","timeContainer","scrubbingContainer","scrubbingContainerShown","hash","publisherId","tagUrl","byline","portrait","transparent","customControls","referrerPolicy","rel","showinfo","iv_load_policy","modestbranding","noCookie","providers","types","noop","Console","console","Fullscreen","scrollPosition","scrollX","scrollY","scrollTo","overflow","viewport","head","property","hasProperty","cleanupViewport","part","keyCode","activeElement","first","last","shiftKey","forceFallback","native","requestFullscreen","webkitEnterFullscreen","toggleFallback","prefix","navigationUI","webkitExitFullscreen","action","cancelFullScreen","exit","enter","el","parentElement","proxy","trapFocus","fullscreenEnabled","webkitFullscreenEnabled","mozFullScreenEnabled","msFullscreenEnabled","usingNative","pre","getRootNode","fullscreenElement","shadowRoot","loadImage","minWidth","image","Image","handler","onload","onerror","naturalWidth","addStyleHook","build","checkPlaying","setTitle","setPoster","togglePoster","enable","backgroundImage","backgroundSize","toggleControls","checkLoading","clearTimeout","timers","controlsElement","recentTouchSeek","lastSeekTime","Date","now","migrateStyles","getPropertyValue","removeProperty","Listeners","focusTimer","lastKeyDown","timeStamp","wasKeyDown","removeCurrent","handleKey","firstTouch","setTabFocus","setGutter","useNativeAspectRatio","maxWidth","margin","viewportWidth","viewportHeight","clientWidth","innerWidth","clientHeight","innerHeight","resized","isAudio","ended","togglePlay","proxyEvents","defaultHandler","customHandlerKey","customHandler","returned","hasCustomHandler","inputEvent","forward","toggleCaptions","code","rect","currentTarget","attribute","hasAttribute","done","seekTo","loaded","startMove","endMove","startScrubbing","endScrubbing","webkitDirectionInvertedFromDevice","deltaX","deltaY","direction","sign","increaseVolume","lastKey","repeat","altKey","ctrlKey","metaKey","decreaseVolume","loadjs_umd","fn","createCommonjsModule","devnull","bundleIdCache","bundleResultCache","bundleCallbackQueue","subscribe","bundleIds","callbackFn","bundleId","depsNotFound","numWaiting","pathsNotFound","publish","q","splice","executeCallbacks","success","loadFile","numTries","isLegacyIECss","doc","async","maxTries","numRetries","beforeCallbackFn","before","pathname","pathStripped","relList","as","onbeforeload","ev","sheet","cssText","defaultPrevented","loadFiles","paths","loadjs","arg1","arg2","loadFn","returnPromise","deps","isDefined","loadScript","assurePlaybackState","hasPlayed","Vimeo","frameParams","found","groups","parseHash","hashParam","sidedock","gesture","$2","data-poster","thumbnail_url","Player","disableTextTrack","stop","restorePause","setVolume","setCurrentTime","setPlaybackRate","currentSrc","setLoop","getVideoUrl","getVideoWidth","getVideoHeight","dimensions","setAutopause","state","getVideoTitle","getCurrentTime","getDuration","getTextTracks","strippedCues","fragment","createDocumentFragment","firstChild","stripHTML","getPaused","seconds","getHost","YT","onYouTubeIframeAPIReady","getTitle","videoId","currentId","posterSrc","playerVars","hl","disablekb","cc_load_policy","cc_lang_pref","widget_referrer","onError","message","2","5","100","101","150","onPlaybackRateChange","instance","getPlaybackRate","onReady","playVideo","pauseVideo","stopVideo","speeds","getAvailablePlaybackRates","clearInterval","buffering","setInterval","getVideoLoadedFraction","lastBuffered","onStateChange","unMute","Ads","google","ima","manager","destroy","displayContainer","remove","startSafetyTimer","managerPromise","clearSafetyTimer","setupIMA","setVpaidMode","ImaSdkSettings","VpaidMode","ENABLED","setLocale","setDisableCustomPlaybackForIOS10Plus","AdDisplayContainer","loader","AdsLoader","AdsManagerLoadedEvent","Type","ADS_MANAGER_LOADED","onAdsManagerLoaded","AdErrorEvent","AD_ERROR","onAdError","requestAds","AdsRequest","adTagUrl","linearAdSlotWidth","linearAdSlotHeight","nonLinearAdSlotWidth","nonLinearAdSlotHeight","forceNonLinearFullSlot","setAdWillPlayMuted","countdownTimer","getRemainingTime","AdsRenderingSettings","restoreCustomPlaybackStateOnAdBreakComplete","enablePreloading","getAdsManager","cuePoints","getCuePoints","AdEvent","onAdEvent","cuePoint","seekElement","cuePercentage","ad","getAd","adData","getAdData","LOADED","pollCountdown","isLinear","STARTED","ALL_ADS_COMPLETED","loadAds","contentComplete","CONTENT_PAUSE_REQUESTED","pauseContent","CONTENT_RESUME_REQUESTED","resumeContent","LOG","adError","getMessage","cancel","addCuePoints","seekedTime","discardAdBreak","resize","ViewMode","NORMAL","initialize","initialized","zIndex","handlers","safetyTimer","AV_PUBLISHERID","AV_CHANNELID","AV_URL","cb","AV_WIDTH","AV_HEIGHT","AV_CDIM2","parseVtt","vttDataString","processedList","frame","line","startTime","lineSplit","matchTimes","endTime","fitRatio","outer","PreviewThumbnails","getThumbnails","render","determineContainerAutoSizing","sortAndResolve","thumbnails","promises","getThumbnail","thumbnail","frames","urlPrefix","substring","lastIndexOf","tempImage","naturalHeight","percentage","mousePosX","thumb","showImageAtCurrentTime","toggleThumbContainer","mouseDown","toggleScrubbingContainer","ceil","lastTime","scrubbing","setScrubbingContainerSize","setThumbContainerSizeAndPos","thumbNum","findIndex","hasThumb","qualityIndex","loadedImages","showingThumb","thumbFilename","thumbUrl","currentImageElement","dataset","filename","showImage","removeOldImages","loadingImage","usingSprites","previewImage","showingThumbFilename","newImage","setImageSizeAndOffset","currentImageContainer","preloadNearby","getHigherQuality","currentImage","tagName","removeDelay","deleting","oldThumbFilename","thumbnailsClone","foundOne","newThumbFilename","thumbURL","currentQualityIndex","previewImageHeight","thumbContainerHeight","clearShowing","sizeSpecifiedInCSS","thumbAspectRatio","thumbHeight","setThumbContainerPos","seekbarRect","plyrRect","minVal","maxVal","right","previewPos","multiplier","lastMouseMoveTime","currentScrubbingImageElement","currentThumbnailImageElement","insertElements","change","crossorigin","webkitShowPlaybackTargetPicker","isHidden","hiding","eventName","soft","original","unload","failed","jQuery","WeakMap","getProviderByUrl","search","truthy","searchParams","tabindex","inputIsValid","fauxDuration","realDuration","Infinity","hasAudio","mozHasAudio","webkitAudioDecodedByteCount","audioTracks","clamp","updateStorage","requestPictureInPicture","exitPictureInPicture","webkitPresentationMode","pictureInPictureElement","setPreviewThumbnails","thumbnailSource","inline"],"mappings":"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","file":"plyr.min.js","sourcesContent":["typeof navigator === \"object\" && (function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define('Plyr', factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Plyr = factory());\n}(this, (function () { 'use strict';\n\n function _defineProperty$1(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n }\n\n function _classCallCheck(e, t) {\n if (!(e instanceof t)) throw new TypeError(\"Cannot call a class as a function\");\n }\n\n function _defineProperties(e, t) {\n for (var n = 0; n < t.length; n++) {\n var r = t[n];\n r.enumerable = r.enumerable || !1, r.configurable = !0, \"value\" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);\n }\n }\n\n function _createClass(e, t, n) {\n return t && _defineProperties(e.prototype, t), n && _defineProperties(e, n), e;\n }\n\n function _defineProperty(e, t, n) {\n return t in e ? Object.defineProperty(e, t, {\n value: n,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[t] = n, e;\n }\n\n function ownKeys(e, t) {\n var n = Object.keys(e);\n\n if (Object.getOwnPropertySymbols) {\n var r = Object.getOwnPropertySymbols(e);\n t && (r = r.filter(function (t) {\n return Object.getOwnPropertyDescriptor(e, t).enumerable;\n })), n.push.apply(n, r);\n }\n\n return n;\n }\n\n function _objectSpread2(e) {\n for (var t = 1; t < arguments.length; t++) {\n var n = null != arguments[t] ? arguments[t] : {};\n t % 2 ? ownKeys(Object(n), !0).forEach(function (t) {\n _defineProperty(e, t, n[t]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : ownKeys(Object(n)).forEach(function (t) {\n Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t));\n });\n }\n\n return e;\n }\n\n var defaults$1 = {\n addCSS: !0,\n thumbWidth: 15,\n watch: !0\n };\n\n function matches$1(e, t) {\n return function () {\n return Array.from(document.querySelectorAll(t)).includes(this);\n }.call(e, t);\n }\n\n function trigger(e, t) {\n if (e && t) {\n var n = new Event(t, {\n bubbles: !0\n });\n e.dispatchEvent(n);\n }\n }\n\n var getConstructor$1 = function (e) {\n return null != e ? e.constructor : null;\n },\n instanceOf$1 = function (e, t) {\n return !!(e && t && e instanceof t);\n },\n isNullOrUndefined$1 = function (e) {\n return null == e;\n },\n isObject$1 = function (e) {\n return getConstructor$1(e) === Object;\n },\n isNumber$1 = function (e) {\n return getConstructor$1(e) === Number && !Number.isNaN(e);\n },\n isString$1 = function (e) {\n return getConstructor$1(e) === String;\n },\n isBoolean$1 = function (e) {\n return getConstructor$1(e) === Boolean;\n },\n isFunction$1 = function (e) {\n return getConstructor$1(e) === Function;\n },\n isArray$1 = function (e) {\n return Array.isArray(e);\n },\n isNodeList$1 = function (e) {\n return instanceOf$1(e, NodeList);\n },\n isElement$1 = function (e) {\n return instanceOf$1(e, Element);\n },\n isEvent$1 = function (e) {\n return instanceOf$1(e, Event);\n },\n isEmpty$1 = function (e) {\n return isNullOrUndefined$1(e) || (isString$1(e) || isArray$1(e) || isNodeList$1(e)) && !e.length || isObject$1(e) && !Object.keys(e).length;\n },\n is$1 = {\n nullOrUndefined: isNullOrUndefined$1,\n object: isObject$1,\n number: isNumber$1,\n string: isString$1,\n boolean: isBoolean$1,\n function: isFunction$1,\n array: isArray$1,\n nodeList: isNodeList$1,\n element: isElement$1,\n event: isEvent$1,\n empty: isEmpty$1\n };\n\n function getDecimalPlaces(e) {\n var t = \"\".concat(e).match(/(?:\\.(\\d+))?(?:[eE]([+-]?\\d+))?$/);\n return t ? Math.max(0, (t[1] ? t[1].length : 0) - (t[2] ? +t[2] : 0)) : 0;\n }\n\n function round(e, t) {\n if (1 > t) {\n var n = getDecimalPlaces(t);\n return parseFloat(e.toFixed(n));\n }\n\n return Math.round(e / t) * t;\n }\n\n var RangeTouch = function () {\n function e(t, n) {\n _classCallCheck(this, e), is$1.element(t) ? this.element = t : is$1.string(t) && (this.element = document.querySelector(t)), is$1.element(this.element) && is$1.empty(this.element.rangeTouch) && (this.config = _objectSpread2({}, defaults$1, {}, n), this.init());\n }\n\n return _createClass(e, [{\n key: \"init\",\n value: function () {\n e.enabled && (this.config.addCSS && (this.element.style.userSelect = \"none\", this.element.style.webKitUserSelect = \"none\", this.element.style.touchAction = \"manipulation\"), this.listeners(!0), this.element.rangeTouch = this);\n }\n }, {\n key: \"destroy\",\n value: function () {\n e.enabled && (this.config.addCSS && (this.element.style.userSelect = \"\", this.element.style.webKitUserSelect = \"\", this.element.style.touchAction = \"\"), this.listeners(!1), this.element.rangeTouch = null);\n }\n }, {\n key: \"listeners\",\n value: function (e) {\n var t = this,\n n = e ? \"addEventListener\" : \"removeEventListener\";\n [\"touchstart\", \"touchmove\", \"touchend\"].forEach(function (e) {\n t.element[n](e, function (e) {\n return t.set(e);\n }, !1);\n });\n }\n }, {\n key: \"get\",\n value: function (t) {\n if (!e.enabled || !is$1.event(t)) return null;\n var n,\n r = t.target,\n i = t.changedTouches[0],\n o = parseFloat(r.getAttribute(\"min\")) || 0,\n s = parseFloat(r.getAttribute(\"max\")) || 100,\n u = parseFloat(r.getAttribute(\"step\")) || 1,\n c = r.getBoundingClientRect(),\n a = 100 / c.width * (this.config.thumbWidth / 2) / 100;\n return 0 > (n = 100 / c.width * (i.clientX - c.left)) ? n = 0 : 100 < n && (n = 100), 50 > n ? n -= (100 - 2 * n) * a : 50 < n && (n += 2 * (n - 50) * a), o + round(n / 100 * (s - o), u);\n }\n }, {\n key: \"set\",\n value: function (t) {\n e.enabled && is$1.event(t) && !t.target.disabled && (t.preventDefault(), t.target.value = this.get(t), trigger(t.target, \"touchend\" === t.type ? \"change\" : \"input\"));\n }\n }], [{\n key: \"setup\",\n value: function (t) {\n var n = 1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : {},\n r = null;\n if (is$1.empty(t) || is$1.string(t) ? r = Array.from(document.querySelectorAll(is$1.string(t) ? t : 'input[type=\"range\"]')) : is$1.element(t) ? r = [t] : is$1.nodeList(t) ? r = Array.from(t) : is$1.array(t) && (r = t.filter(is$1.element)), is$1.empty(r)) return null;\n\n var i = _objectSpread2({}, defaults$1, {}, n);\n\n if (is$1.string(t) && i.watch) {\n var o = new MutationObserver(function (n) {\n Array.from(n).forEach(function (n) {\n Array.from(n.addedNodes).forEach(function (n) {\n is$1.element(n) && matches$1(n, t) && new e(n, i);\n });\n });\n });\n o.observe(document.body, {\n childList: !0,\n subtree: !0\n });\n }\n\n return r.map(function (t) {\n return new e(t, n);\n });\n }\n }, {\n key: \"enabled\",\n get: function () {\n return \"ontouchstart\" in document.documentElement;\n }\n }]), e;\n }();\n\n // ==========================================================================\n // Type checking utils\n // ==========================================================================\n const getConstructor = input => input !== null && typeof input !== 'undefined' ? input.constructor : null;\n\n const instanceOf = (input, constructor) => Boolean(input && constructor && input instanceof constructor);\n\n const isNullOrUndefined = input => input === null || typeof input === 'undefined';\n\n const isObject = input => getConstructor(input) === Object;\n\n const isNumber = input => getConstructor(input) === Number && !Number.isNaN(input);\n\n const isString = input => getConstructor(input) === String;\n\n const isBoolean = input => getConstructor(input) === Boolean;\n\n const isFunction = input => getConstructor(input) === Function;\n\n const isArray = input => Array.isArray(input);\n\n const isWeakMap = input => instanceOf(input, WeakMap);\n\n const isNodeList = input => instanceOf(input, NodeList);\n\n const isTextNode = input => getConstructor(input) === Text;\n\n const isEvent = input => instanceOf(input, Event);\n\n const isKeyboardEvent = input => instanceOf(input, KeyboardEvent);\n\n const isCue = input => instanceOf(input, window.TextTrackCue) || instanceOf(input, window.VTTCue);\n\n const isTrack = input => instanceOf(input, TextTrack) || !isNullOrUndefined(input) && isString(input.kind);\n\n const isPromise = input => instanceOf(input, Promise) && isFunction(input.then);\n\n const isElement = input => input !== null && typeof input === 'object' && input.nodeType === 1 && typeof input.style === 'object' && typeof input.ownerDocument === 'object';\n\n const isEmpty = input => isNullOrUndefined(input) || (isString(input) || isArray(input) || isNodeList(input)) && !input.length || isObject(input) && !Object.keys(input).length;\n\n const isUrl = input => {\n // Accept a URL object\n if (instanceOf(input, window.URL)) {\n return true;\n } // Must be string from here\n\n\n if (!isString(input)) {\n return false;\n } // Add the protocol if required\n\n\n let string = input;\n\n if (!input.startsWith('http://') || !input.startsWith('https://')) {\n string = `http://${input}`;\n }\n\n try {\n return !isEmpty(new URL(string).hostname);\n } catch (_) {\n return false;\n }\n };\n\n var is = {\n nullOrUndefined: isNullOrUndefined,\n object: isObject,\n number: isNumber,\n string: isString,\n boolean: isBoolean,\n function: isFunction,\n array: isArray,\n weakMap: isWeakMap,\n nodeList: isNodeList,\n element: isElement,\n textNode: isTextNode,\n event: isEvent,\n keyboardEvent: isKeyboardEvent,\n cue: isCue,\n track: isTrack,\n promise: isPromise,\n url: isUrl,\n empty: isEmpty\n };\n\n // ==========================================================================\n const transitionEndEvent = (() => {\n const element = document.createElement('span');\n const events = {\n WebkitTransition: 'webkitTransitionEnd',\n MozTransition: 'transitionend',\n OTransition: 'oTransitionEnd otransitionend',\n transition: 'transitionend'\n };\n const type = Object.keys(events).find(event => element.style[event] !== undefined);\n return is.string(type) ? events[type] : false;\n })(); // Force repaint of element\n\n function repaint(element, delay) {\n setTimeout(() => {\n try {\n // eslint-disable-next-line no-param-reassign\n element.hidden = true; // eslint-disable-next-line no-unused-expressions\n\n element.offsetHeight; // eslint-disable-next-line no-param-reassign\n\n element.hidden = false;\n } catch (_) {// Do nothing\n }\n }, delay);\n }\n\n // ==========================================================================\n // Browser sniffing\n // Unfortunately, due to mixed support, UA sniffing is required\n // ==========================================================================\n const browser = {\n isIE: Boolean(window.document.documentMode),\n isEdge: window.navigator.userAgent.includes('Edge'),\n isWebkit: 'WebkitAppearance' in document.documentElement.style && !/Edge/.test(navigator.userAgent),\n isIPhone: /(iPhone|iPod)/gi.test(navigator.platform),\n isIos: navigator.platform === 'MacIntel' && navigator.maxTouchPoints > 1 || /(iPad|iPhone|iPod)/gi.test(navigator.platform)\n };\n\n // ==========================================================================\n\n function cloneDeep(object) {\n return JSON.parse(JSON.stringify(object));\n } // Get a nested value in an object\n\n function getDeep(object, path) {\n return path.split('.').reduce((obj, key) => obj && obj[key], object);\n } // Deep extend destination object with N more objects\n\n function extend(target = {}, ...sources) {\n if (!sources.length) {\n return target;\n }\n\n const source = sources.shift();\n\n if (!is.object(source)) {\n return target;\n }\n\n Object.keys(source).forEach(key => {\n if (is.object(source[key])) {\n if (!Object.keys(target).includes(key)) {\n Object.assign(target, {\n [key]: {}\n });\n }\n\n extend(target[key], source[key]);\n } else {\n Object.assign(target, {\n [key]: source[key]\n });\n }\n });\n return extend(target, ...sources);\n }\n\n // ==========================================================================\n\n function wrap(elements, wrapper) {\n // Convert `elements` to an array, if necessary.\n const targets = elements.length ? elements : [elements]; // Loops backwards to prevent having to clone the wrapper on the\n // first element (see `child` below).\n\n Array.from(targets).reverse().forEach((element, index) => {\n const child = index > 0 ? wrapper.cloneNode(true) : wrapper; // Cache the current parent and sibling.\n\n const parent = element.parentNode;\n const sibling = element.nextSibling; // Wrap the element (is automatically removed from its current\n // parent).\n\n child.appendChild(element); // If the element had a sibling, insert the wrapper before\n // the sibling to maintain the HTML structure; otherwise, just\n // append it to the parent.\n\n if (sibling) {\n parent.insertBefore(child, sibling);\n } else {\n parent.appendChild(child);\n }\n });\n } // Set attributes\n\n function setAttributes(element, attributes) {\n if (!is.element(element) || is.empty(attributes)) {\n return;\n } // Assume null and undefined attributes should be left out,\n // Setting them would otherwise convert them to \"null\" and \"undefined\"\n\n\n Object.entries(attributes).filter(([, value]) => !is.nullOrUndefined(value)).forEach(([key, value]) => element.setAttribute(key, value));\n } // Create a DocumentFragment\n\n function createElement(type, attributes, text) {\n // Create a new \n const element = document.createElement(type); // Set all passed attributes\n\n if (is.object(attributes)) {\n setAttributes(element, attributes);\n } // Add text node\n\n\n if (is.string(text)) {\n element.innerText = text;\n } // Return built element\n\n\n return element;\n } // Inaert an element after another\n\n function insertAfter(element, target) {\n if (!is.element(element) || !is.element(target)) {\n return;\n }\n\n target.parentNode.insertBefore(element, target.nextSibling);\n } // Insert a DocumentFragment\n\n function insertElement(type, parent, attributes, text) {\n if (!is.element(parent)) {\n return;\n }\n\n parent.appendChild(createElement(type, attributes, text));\n } // Remove element(s)\n\n function removeElement(element) {\n if (is.nodeList(element) || is.array(element)) {\n Array.from(element).forEach(removeElement);\n return;\n }\n\n if (!is.element(element) || !is.element(element.parentNode)) {\n return;\n }\n\n element.parentNode.removeChild(element);\n } // Remove all child elements\n\n function emptyElement(element) {\n if (!is.element(element)) {\n return;\n }\n\n let {\n length\n } = element.childNodes;\n\n while (length > 0) {\n element.removeChild(element.lastChild);\n length -= 1;\n }\n } // Replace element\n\n function replaceElement(newChild, oldChild) {\n if (!is.element(oldChild) || !is.element(oldChild.parentNode) || !is.element(newChild)) {\n return null;\n }\n\n oldChild.parentNode.replaceChild(newChild, oldChild);\n return newChild;\n } // Get an attribute object from a string selector\n\n function getAttributesFromSelector(sel, existingAttributes) {\n // For example:\n // '.test' to { class: 'test' }\n // '#test' to { id: 'test' }\n // '[data-test=\"test\"]' to { 'data-test': 'test' }\n if (!is.string(sel) || is.empty(sel)) {\n return {};\n }\n\n const attributes = {};\n const existing = extend({}, existingAttributes);\n sel.split(',').forEach(s => {\n // Remove whitespace\n const selector = s.trim();\n const className = selector.replace('.', '');\n const stripped = selector.replace(/[[\\]]/g, ''); // Get the parts and value\n\n const parts = stripped.split('=');\n const [key] = parts;\n const value = parts.length > 1 ? parts[1].replace(/[\"']/g, '') : ''; // Get the first character\n\n const start = selector.charAt(0);\n\n switch (start) {\n case '.':\n // Add to existing classname\n if (is.string(existing.class)) {\n attributes.class = `${existing.class} ${className}`;\n } else {\n attributes.class = className;\n }\n\n break;\n\n case '#':\n // ID selector\n attributes.id = selector.replace('#', '');\n break;\n\n case '[':\n // Attribute selector\n attributes[key] = value;\n break;\n }\n });\n return extend(existing, attributes);\n } // Toggle hidden\n\n function toggleHidden(element, hidden) {\n if (!is.element(element)) {\n return;\n }\n\n let hide = hidden;\n\n if (!is.boolean(hide)) {\n hide = !element.hidden;\n } // eslint-disable-next-line no-param-reassign\n\n\n element.hidden = hide;\n } // Mirror Element.classList.toggle, with IE compatibility for \"force\" argument\n\n function toggleClass(element, className, force) {\n if (is.nodeList(element)) {\n return Array.from(element).map(e => toggleClass(e, className, force));\n }\n\n if (is.element(element)) {\n let method = 'toggle';\n\n if (typeof force !== 'undefined') {\n method = force ? 'add' : 'remove';\n }\n\n element.classList[method](className);\n return element.classList.contains(className);\n }\n\n return false;\n } // Has class name\n\n function hasClass(element, className) {\n return is.element(element) && element.classList.contains(className);\n } // Element matches selector\n\n function matches(element, selector) {\n const {\n prototype\n } = Element;\n\n function match() {\n return Array.from(document.querySelectorAll(selector)).includes(this);\n }\n\n const method = prototype.matches || prototype.webkitMatchesSelector || prototype.mozMatchesSelector || prototype.msMatchesSelector || match;\n return method.call(element, selector);\n } // Closest ancestor element matching selector (also tests element itself)\n\n function closest$1(element, selector) {\n const {\n prototype\n } = Element; // https://developer.mozilla.org/en-US/docs/Web/API/Element/closest#Polyfill\n\n function closestElement() {\n let el = this;\n\n do {\n if (matches.matches(el, selector)) return el;\n el = el.parentElement || el.parentNode;\n } while (el !== null && el.nodeType === 1);\n\n return null;\n }\n\n const method = prototype.closest || closestElement;\n return method.call(element, selector);\n } // Find all elements\n\n function getElements(selector) {\n return this.elements.container.querySelectorAll(selector);\n } // Find a single element\n\n function getElement(selector) {\n return this.elements.container.querySelector(selector);\n } // Set focus and tab focus class\n\n function setFocus(element = null, tabFocus = false) {\n if (!is.element(element)) {\n return;\n } // Set regular focus\n\n\n element.focus({\n preventScroll: true\n }); // If we want to mimic keyboard focus via tab\n\n if (tabFocus) {\n toggleClass(element, this.config.classNames.tabFocus);\n }\n }\n\n // ==========================================================================\n\n const defaultCodecs = {\n 'audio/ogg': 'vorbis',\n 'audio/wav': '1',\n 'video/webm': 'vp8, vorbis',\n 'video/mp4': 'avc1.42E01E, mp4a.40.2',\n 'video/ogg': 'theora'\n }; // Check for feature support\n\n const support = {\n // Basic support\n audio: 'canPlayType' in document.createElement('audio'),\n video: 'canPlayType' in document.createElement('video'),\n\n // Check for support\n // Basic functionality vs full UI\n check(type, provider, playsinline) {\n const canPlayInline = browser.isIPhone && playsinline && support.playsinline;\n const api = support[type] || provider !== 'html5';\n const ui = api && support.rangeInput && (type !== 'video' || !browser.isIPhone || canPlayInline);\n return {\n api,\n ui\n };\n },\n\n // Picture-in-picture support\n // Safari & Chrome only currently\n pip: (() => {\n if (browser.isIPhone) {\n return false;\n } // Safari\n // https://developer.apple.com/documentation/webkitjs/adding_picture_in_picture_to_your_safari_media_controls\n\n\n if (is.function(createElement('video').webkitSetPresentationMode)) {\n return true;\n } // Chrome\n // https://developers.google.com/web/updates/2018/10/watch-video-using-picture-in-picture\n\n\n if (document.pictureInPictureEnabled && !createElement('video').disablePictureInPicture) {\n return true;\n }\n\n return false;\n })(),\n // Airplay support\n // Safari only currently\n airplay: is.function(window.WebKitPlaybackTargetAvailabilityEvent),\n // Inline playback support\n // https://webkit.org/blog/6784/new-video-policies-for-ios/\n playsinline: 'playsInline' in document.createElement('video'),\n\n // Check for mime type support against a player instance\n // Credits: http://diveintohtml5.info/everything.html\n // Related: http://www.leanbackplayer.com/test/h5mt.html\n mime(input) {\n if (is.empty(input)) {\n return false;\n }\n\n const [mediaType] = input.split('/');\n let type = input; // Verify we're using HTML5 and there's no media type mismatch\n\n if (!this.isHTML5 || mediaType !== this.type) {\n return false;\n } // Add codec if required\n\n\n if (Object.keys(defaultCodecs).includes(type)) {\n type += `; codecs=\"${defaultCodecs[input]}\"`;\n }\n\n try {\n return Boolean(type && this.media.canPlayType(type).replace(/no/, ''));\n } catch (_) {\n return false;\n }\n },\n\n // Check for textTracks support\n textTracks: 'textTracks' in document.createElement('video'),\n // Sliders\n rangeInput: (() => {\n const range = document.createElement('input');\n range.type = 'range';\n return range.type === 'range';\n })(),\n // Touch\n // NOTE: Remember a device can be mouse + touch enabled so we check on first touch event\n touch: 'ontouchstart' in document.documentElement,\n // Detect transitions support\n transitions: transitionEndEvent !== false,\n // Reduced motion iOS & MacOS setting\n // https://webkit.org/blog/7551/responsive-design-for-motion/\n reducedMotion: 'matchMedia' in window && window.matchMedia('(prefers-reduced-motion)').matches\n };\n\n // ==========================================================================\n // https://github.com/WICG/EventListenerOptions/blob/gh-pages/explainer.md\n // https://www.youtube.com/watch?v=NPM6172J22g\n\n const supportsPassiveListeners = (() => {\n // Test via a getter in the options object to see if the passive property is accessed\n let supported = false;\n\n try {\n const options = Object.defineProperty({}, 'passive', {\n get() {\n supported = true;\n return null;\n }\n\n });\n window.addEventListener('test', null, options);\n window.removeEventListener('test', null, options);\n } catch (_) {// Do nothing\n }\n\n return supported;\n })(); // Toggle event listener\n\n\n function toggleListener(element, event, callback, toggle = false, passive = true, capture = false) {\n // Bail if no element, event, or callback\n if (!element || !('addEventListener' in element) || is.empty(event) || !is.function(callback)) {\n return;\n } // Allow multiple events\n\n\n const events = event.split(' '); // Build options\n // Default to just the capture boolean for browsers with no passive listener support\n\n let options = capture; // If passive events listeners are supported\n\n if (supportsPassiveListeners) {\n options = {\n // Whether the listener can be passive (i.e. default never prevented)\n passive,\n // Whether the listener is a capturing listener or not\n capture\n };\n } // If a single node is passed, bind the event listener\n\n\n events.forEach(type => {\n if (this && this.eventListeners && toggle) {\n // Cache event listener\n this.eventListeners.push({\n element,\n type,\n callback,\n options\n });\n }\n\n element[toggle ? 'addEventListener' : 'removeEventListener'](type, callback, options);\n });\n } // Bind event handler\n\n function on(element, events = '', callback, passive = true, capture = false) {\n toggleListener.call(this, element, events, callback, true, passive, capture);\n } // Unbind event handler\n\n function off(element, events = '', callback, passive = true, capture = false) {\n toggleListener.call(this, element, events, callback, false, passive, capture);\n } // Bind once-only event handler\n\n function once(element, events = '', callback, passive = true, capture = false) {\n const onceCallback = (...args) => {\n off(element, events, onceCallback, passive, capture);\n callback.apply(this, args);\n };\n\n toggleListener.call(this, element, events, onceCallback, true, passive, capture);\n } // Trigger event\n\n function triggerEvent(element, type = '', bubbles = false, detail = {}) {\n // Bail if no element\n if (!is.element(element) || is.empty(type)) {\n return;\n } // Create and dispatch the event\n\n\n const event = new CustomEvent(type, {\n bubbles,\n detail: { ...detail,\n plyr: this\n }\n }); // Dispatch the event\n\n element.dispatchEvent(event);\n } // Unbind all cached event listeners\n\n function unbindListeners() {\n if (this && this.eventListeners) {\n this.eventListeners.forEach(item => {\n const {\n element,\n type,\n callback,\n options\n } = item;\n element.removeEventListener(type, callback, options);\n });\n this.eventListeners = [];\n }\n } // Run method when / if player is ready\n\n function ready() {\n return new Promise(resolve => this.ready ? setTimeout(resolve, 0) : on.call(this, this.elements.container, 'ready', resolve)).then(() => {});\n }\n\n /**\n * Silence a Promise-like object.\n * This is useful for avoiding non-harmful, but potentially confusing \"uncaught\n * play promise\" rejection error messages.\n * @param {Object} value An object that may or may not be `Promise`-like.\n */\n\n function silencePromise(value) {\n if (is.promise(value)) {\n value.then(null, () => {});\n }\n }\n\n // ==========================================================================\n\n function dedupe(array) {\n if (!is.array(array)) {\n return array;\n }\n\n return array.filter((item, index) => array.indexOf(item) === index);\n } // Get the closest value in an array\n\n function closest(array, value) {\n if (!is.array(array) || !array.length) {\n return null;\n }\n\n return array.reduce((prev, curr) => Math.abs(curr - value) < Math.abs(prev - value) ? curr : prev);\n }\n\n // ==========================================================================\n\n function supportsCSS(declaration) {\n if (!window || !window.CSS) {\n return false;\n }\n\n return window.CSS.supports(declaration);\n } // Standard/common aspect ratios\n\n const standardRatios = [[1, 1], [4, 3], [3, 4], [5, 4], [4, 5], [3, 2], [2, 3], [16, 10], [10, 16], [16, 9], [9, 16], [21, 9], [9, 21], [32, 9], [9, 32]].reduce((out, [x, y]) => ({ ...out,\n [x / y]: [x, y]\n }), {}); // Validate an aspect ratio\n\n function validateAspectRatio(input) {\n if (!is.array(input) && (!is.string(input) || !input.includes(':'))) {\n return false;\n }\n\n const ratio = is.array(input) ? input : input.split(':');\n return ratio.map(Number).every(is.number);\n } // Reduce an aspect ratio to it's lowest form\n\n function reduceAspectRatio(ratio) {\n if (!is.array(ratio) || !ratio.every(is.number)) {\n return null;\n }\n\n const [width, height] = ratio;\n\n const getDivider = (w, h) => h === 0 ? w : getDivider(h, w % h);\n\n const divider = getDivider(width, height);\n return [width / divider, height / divider];\n } // Calculate an aspect ratio\n\n function getAspectRatio(input) {\n const parse = ratio => validateAspectRatio(ratio) ? ratio.split(':').map(Number) : null; // Try provided ratio\n\n\n let ratio = parse(input); // Get from config\n\n if (ratio === null) {\n ratio = parse(this.config.ratio);\n } // Get from embed\n\n\n if (ratio === null && !is.empty(this.embed) && is.array(this.embed.ratio)) {\n ({\n ratio\n } = this.embed);\n } // Get from HTML5 video\n\n\n if (ratio === null && this.isHTML5) {\n const {\n videoWidth,\n videoHeight\n } = this.media;\n ratio = [videoWidth, videoHeight];\n }\n\n return reduceAspectRatio(ratio);\n } // Set aspect ratio for responsive container\n\n function setAspectRatio(input) {\n if (!this.isVideo) {\n return {};\n }\n\n const {\n wrapper\n } = this.elements;\n const ratio = getAspectRatio.call(this, input);\n\n if (!is.array(ratio)) {\n return {};\n }\n\n const [x, y] = reduceAspectRatio(ratio);\n const useNative = supportsCSS(`aspect-ratio: ${x}/${y}`);\n const padding = 100 / x * y;\n\n if (useNative) {\n wrapper.style.aspectRatio = `${x}/${y}`;\n } else {\n wrapper.style.paddingBottom = `${padding}%`;\n } // For Vimeo we have an extra
to hide the standard controls and UI\n\n\n if (this.isVimeo && !this.config.vimeo.premium && this.supported.ui) {\n const height = 100 / this.media.offsetWidth * parseInt(window.getComputedStyle(this.media).paddingBottom, 10);\n const offset = (height - padding) / (height / 50);\n\n if (this.fullscreen.active) {\n wrapper.style.paddingBottom = null;\n } else {\n this.media.style.transform = `translateY(-${offset}%)`;\n }\n } else if (this.isHTML5) {\n wrapper.classList.add(this.config.classNames.videoFixedRatio);\n }\n\n return {\n padding,\n ratio\n };\n } // Round an aspect ratio to closest standard ratio\n\n function roundAspectRatio(x, y, tolerance = 0.05) {\n const ratio = x / y;\n const closestRatio = closest(Object.keys(standardRatios), ratio); // Check match is within tolerance\n\n if (Math.abs(closestRatio - ratio) <= tolerance) {\n return standardRatios[closestRatio];\n } // No match\n\n\n return [x, y];\n } // Get the size of the viewport\n // https://stackoverflow.com/questions/1248081/how-to-get-the-browser-viewport-dimensions\n\n function getViewportSize() {\n const width = Math.max(document.documentElement.clientWidth || 0, window.innerWidth || 0);\n const height = Math.max(document.documentElement.clientHeight || 0, window.innerHeight || 0);\n return [width, height];\n }\n\n // ==========================================================================\n const html5 = {\n getSources() {\n if (!this.isHTML5) {\n return [];\n }\n\n const sources = Array.from(this.media.querySelectorAll('source')); // Filter out unsupported sources (if type is specified)\n\n return sources.filter(source => {\n const type = source.getAttribute('type');\n\n if (is.empty(type)) {\n return true;\n }\n\n return support.mime.call(this, type);\n });\n },\n\n // Get quality levels\n getQualityOptions() {\n // Whether we're forcing all options (e.g. for streaming)\n if (this.config.quality.forced) {\n return this.config.quality.options;\n } // Get sizes from elements\n\n\n return html5.getSources.call(this).map(source => Number(source.getAttribute('size'))).filter(Boolean);\n },\n\n setup() {\n if (!this.isHTML5) {\n return;\n }\n\n const player = this; // Set speed options from config\n\n player.options.speed = player.config.speed.options; // Set aspect ratio if fixed\n\n if (!is.empty(this.config.ratio)) {\n setAspectRatio.call(player);\n } // Quality\n\n\n Object.defineProperty(player.media, 'quality', {\n get() {\n // Get sources\n const sources = html5.getSources.call(player);\n const source = sources.find(s => s.getAttribute('src') === player.source); // Return size, if match is found\n\n return source && Number(source.getAttribute('size'));\n },\n\n set(input) {\n if (player.quality === input) {\n return;\n } // If we're using an an external handler...\n\n\n if (player.config.quality.forced && is.function(player.config.quality.onChange)) {\n player.config.quality.onChange(input);\n } else {\n // Get sources\n const sources = html5.getSources.call(player); // Get first match for requested size\n\n const source = sources.find(s => Number(s.getAttribute('size')) === input); // No matching source found\n\n if (!source) {\n return;\n } // Get current state\n\n\n const {\n currentTime,\n paused,\n preload,\n readyState,\n playbackRate\n } = player.media; // Set new source\n\n player.media.src = source.getAttribute('src'); // Prevent loading if preload=\"none\" and the current source isn't loaded (#1044)\n\n if (preload !== 'none' || readyState) {\n // Restore time\n player.once('loadedmetadata', () => {\n player.speed = playbackRate;\n player.currentTime = currentTime; // Resume playing\n\n if (!paused) {\n silencePromise(player.play());\n }\n }); // Load new source\n\n player.media.load();\n }\n } // Trigger change event\n\n\n triggerEvent.call(player, player.media, 'qualitychange', false, {\n quality: input\n });\n }\n\n });\n },\n\n // Cancel current network requests\n // See https://github.com/sampotts/plyr/issues/174\n cancelRequests() {\n if (!this.isHTML5) {\n return;\n } // Remove child sources\n\n\n removeElement(html5.getSources.call(this)); // Set blank video src attribute\n // This is to prevent a MEDIA_ERR_SRC_NOT_SUPPORTED error\n // Info: http://stackoverflow.com/questions/32231579/how-to-properly-dispose-of-an-html5-video-and-close-socket-or-connection\n\n this.media.setAttribute('src', this.config.blankVideo); // Load the new empty source\n // This will cancel existing requests\n // See https://github.com/sampotts/plyr/issues/174\n\n this.media.load(); // Debugging\n\n this.debug.log('Cancelled network requests');\n }\n\n };\n\n // ==========================================================================\n\n function generateId(prefix) {\n return `${prefix}-${Math.floor(Math.random() * 10000)}`;\n } // Format string\n\n function format(input, ...args) {\n if (is.empty(input)) {\n return input;\n }\n\n return input.toString().replace(/{(\\d+)}/g, (match, i) => args[i].toString());\n } // Get percentage\n\n function getPercentage(current, max) {\n if (current === 0 || max === 0 || Number.isNaN(current) || Number.isNaN(max)) {\n return 0;\n }\n\n return (current / max * 100).toFixed(2);\n } // Replace all occurances of a string in a string\n\n const replaceAll = (input = '', find = '', replace = '') => input.replace(new RegExp(find.toString().replace(/([.*+?^=!:${}()|[\\]/\\\\])/g, '\\\\$1'), 'g'), replace.toString()); // Convert to title case\n\n const toTitleCase = (input = '') => input.toString().replace(/\\w\\S*/g, text => text.charAt(0).toUpperCase() + text.substr(1).toLowerCase()); // Convert string to pascalCase\n\n function toPascalCase(input = '') {\n let string = input.toString(); // Convert kebab case\n\n string = replaceAll(string, '-', ' '); // Convert snake case\n\n string = replaceAll(string, '_', ' '); // Convert to title case\n\n string = toTitleCase(string); // Convert to pascal case\n\n return replaceAll(string, ' ', '');\n } // Convert string to pascalCase\n\n function toCamelCase(input = '') {\n let string = input.toString(); // Convert to pascal case\n\n string = toPascalCase(string); // Convert first character to lowercase\n\n return string.charAt(0).toLowerCase() + string.slice(1);\n } // Remove HTML from a string\n\n function stripHTML(source) {\n const fragment = document.createDocumentFragment();\n const element = document.createElement('div');\n fragment.appendChild(element);\n element.innerHTML = source;\n return fragment.firstChild.innerText;\n } // Like outerHTML, but also works for DocumentFragment\n\n function getHTML(element) {\n const wrapper = document.createElement('div');\n wrapper.appendChild(element);\n return wrapper.innerHTML;\n }\n\n // ==========================================================================\n\n const resources = {\n pip: 'PIP',\n airplay: 'AirPlay',\n html5: 'HTML5',\n vimeo: 'Vimeo',\n youtube: 'YouTube'\n };\n const i18n = {\n get(key = '', config = {}) {\n if (is.empty(key) || is.empty(config)) {\n return '';\n }\n\n let string = getDeep(config.i18n, key);\n\n if (is.empty(string)) {\n if (Object.keys(resources).includes(key)) {\n return resources[key];\n }\n\n return '';\n }\n\n const replace = {\n '{seektime}': config.seekTime,\n '{title}': config.title\n };\n Object.entries(replace).forEach(([k, v]) => {\n string = replaceAll(string, k, v);\n });\n return string;\n }\n\n };\n\n class Storage {\n constructor(player) {\n _defineProperty$1(this, \"get\", key => {\n if (!Storage.supported || !this.enabled) {\n return null;\n }\n\n const store = window.localStorage.getItem(this.key);\n\n if (is.empty(store)) {\n return null;\n }\n\n const json = JSON.parse(store);\n return is.string(key) && key.length ? json[key] : json;\n });\n\n _defineProperty$1(this, \"set\", object => {\n // Bail if we don't have localStorage support or it's disabled\n if (!Storage.supported || !this.enabled) {\n return;\n } // Can only store objectst\n\n\n if (!is.object(object)) {\n return;\n } // Get current storage\n\n\n let storage = this.get(); // Default to empty object\n\n if (is.empty(storage)) {\n storage = {};\n } // Update the working copy of the values\n\n\n extend(storage, object); // Update storage\n\n try {\n window.localStorage.setItem(this.key, JSON.stringify(storage));\n } catch (_) {// Do nothing\n }\n });\n\n this.enabled = player.config.storage.enabled;\n this.key = player.config.storage.key;\n } // Check for actual support (see if we can use it)\n\n\n static get supported() {\n try {\n if (!('localStorage' in window)) {\n return false;\n }\n\n const test = '___test'; // Try to use it (it might be disabled, e.g. user is in private mode)\n // see: https://github.com/sampotts/plyr/issues/131\n\n window.localStorage.setItem(test, test);\n window.localStorage.removeItem(test);\n return true;\n } catch (_) {\n return false;\n }\n }\n\n }\n\n // ==========================================================================\n // Fetch wrapper\n // Using XHR to avoid issues with older browsers\n // ==========================================================================\n function fetch(url, responseType = 'text') {\n return new Promise((resolve, reject) => {\n try {\n const request = new XMLHttpRequest(); // Check for CORS support\n\n if (!('withCredentials' in request)) {\n return;\n }\n\n request.addEventListener('load', () => {\n if (responseType === 'text') {\n try {\n resolve(JSON.parse(request.responseText));\n } catch (_) {\n resolve(request.responseText);\n }\n } else {\n resolve(request.response);\n }\n });\n request.addEventListener('error', () => {\n throw new Error(request.status);\n });\n request.open('GET', url, true); // Set the required response type\n\n request.responseType = responseType;\n request.send();\n } catch (error) {\n reject(error);\n }\n });\n }\n\n // ==========================================================================\n\n function loadSprite(url, id) {\n if (!is.string(url)) {\n return;\n }\n\n const prefix = 'cache';\n const hasId = is.string(id);\n let isCached = false;\n\n const exists = () => document.getElementById(id) !== null;\n\n const update = (container, data) => {\n // eslint-disable-next-line no-param-reassign\n container.innerHTML = data; // Check again incase of race condition\n\n if (hasId && exists()) {\n return;\n } // Inject the SVG to the body\n\n\n document.body.insertAdjacentElement('afterbegin', container);\n }; // Only load once if ID set\n\n\n if (!hasId || !exists()) {\n const useStorage = Storage.supported; // Create container\n\n const container = document.createElement('div');\n container.setAttribute('hidden', '');\n\n if (hasId) {\n container.setAttribute('id', id);\n } // Check in cache\n\n\n if (useStorage) {\n const cached = window.localStorage.getItem(`${prefix}-${id}`);\n isCached = cached !== null;\n\n if (isCached) {\n const data = JSON.parse(cached);\n update(container, data.content);\n }\n } // Get the sprite\n\n\n fetch(url).then(result => {\n if (is.empty(result)) {\n return;\n }\n\n if (useStorage) {\n try {\n window.localStorage.setItem(`${prefix}-${id}`, JSON.stringify({\n content: result\n }));\n } catch (_) {// Do nothing\n }\n }\n\n update(container, result);\n }).catch(() => {});\n }\n }\n\n // ==========================================================================\n\n const getHours = value => Math.trunc(value / 60 / 60 % 60, 10);\n const getMinutes = value => Math.trunc(value / 60 % 60, 10);\n const getSeconds = value => Math.trunc(value % 60, 10); // Format time to UI friendly string\n\n function formatTime(time = 0, displayHours = false, inverted = false) {\n // Bail if the value isn't a number\n if (!is.number(time)) {\n return formatTime(undefined, displayHours, inverted);\n } // Format time component to add leading zero\n\n\n const format = value => `0${value}`.slice(-2); // Breakdown to hours, mins, secs\n\n\n let hours = getHours(time);\n const mins = getMinutes(time);\n const secs = getSeconds(time); // Do we need to display hours?\n\n if (displayHours || hours > 0) {\n hours = `${hours}:`;\n } else {\n hours = '';\n } // Render\n\n\n return `${inverted && time > 0 ? '-' : ''}${hours}${format(mins)}:${format(secs)}`;\n }\n\n // ==========================================================================\n\n const controls = {\n // Get icon URL\n getIconUrl() {\n const url = new URL(this.config.iconUrl, window.location);\n const host = window.location.host ? window.location.host : window.top.location.host;\n const cors = url.host !== host || browser.isIE && !window.svg4everybody;\n return {\n url: this.config.iconUrl,\n cors\n };\n },\n\n // Find the UI controls\n findElements() {\n try {\n this.elements.controls = getElement.call(this, this.config.selectors.controls.wrapper); // Buttons\n\n this.elements.buttons = {\n play: getElements.call(this, this.config.selectors.buttons.play),\n pause: getElement.call(this, this.config.selectors.buttons.pause),\n restart: getElement.call(this, this.config.selectors.buttons.restart),\n rewind: getElement.call(this, this.config.selectors.buttons.rewind),\n fastForward: getElement.call(this, this.config.selectors.buttons.fastForward),\n mute: getElement.call(this, this.config.selectors.buttons.mute),\n pip: getElement.call(this, this.config.selectors.buttons.pip),\n airplay: getElement.call(this, this.config.selectors.buttons.airplay),\n settings: getElement.call(this, this.config.selectors.buttons.settings),\n captions: getElement.call(this, this.config.selectors.buttons.captions),\n fullscreen: getElement.call(this, this.config.selectors.buttons.fullscreen)\n }; // Progress\n\n this.elements.progress = getElement.call(this, this.config.selectors.progress); // Inputs\n\n this.elements.inputs = {\n seek: getElement.call(this, this.config.selectors.inputs.seek),\n volume: getElement.call(this, this.config.selectors.inputs.volume)\n }; // Display\n\n this.elements.display = {\n buffer: getElement.call(this, this.config.selectors.display.buffer),\n currentTime: getElement.call(this, this.config.selectors.display.currentTime),\n duration: getElement.call(this, this.config.selectors.display.duration)\n }; // Seek tooltip\n\n if (is.element(this.elements.progress)) {\n this.elements.display.seekTooltip = this.elements.progress.querySelector(`.${this.config.classNames.tooltip}`);\n }\n\n return true;\n } catch (error) {\n // Log it\n this.debug.warn('It looks like there is a problem with your custom controls HTML', error); // Restore native video controls\n\n this.toggleNativeControls(true);\n return false;\n }\n },\n\n // Create icon\n createIcon(type, attributes) {\n const namespace = 'http://www.w3.org/2000/svg';\n const iconUrl = controls.getIconUrl.call(this);\n const iconPath = `${!iconUrl.cors ? iconUrl.url : ''}#${this.config.iconPrefix}`; // Create \n\n const icon = document.createElementNS(namespace, 'svg');\n setAttributes(icon, extend(attributes, {\n 'aria-hidden': 'true',\n focusable: 'false'\n })); // Create the to reference sprite\n\n const use = document.createElementNS(namespace, 'use');\n const path = `${iconPath}-${type}`; // Set `href` attributes\n // https://github.com/sampotts/plyr/issues/460\n // https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/xlink:href\n\n if ('href' in use) {\n use.setAttributeNS('http://www.w3.org/1999/xlink', 'href', path);\n } // Always set the older attribute even though it's \"deprecated\" (it'll be around for ages)\n\n\n use.setAttributeNS('http://www.w3.org/1999/xlink', 'xlink:href', path); // Add to \n\n icon.appendChild(use);\n return icon;\n },\n\n // Create hidden text label\n createLabel(key, attr = {}) {\n const text = i18n.get(key, this.config);\n const attributes = { ...attr,\n class: [attr.class, this.config.classNames.hidden].filter(Boolean).join(' ')\n };\n return createElement('span', attributes, text);\n },\n\n // Create a badge\n createBadge(text) {\n if (is.empty(text)) {\n return null;\n }\n\n const badge = createElement('span', {\n class: this.config.classNames.menu.value\n });\n badge.appendChild(createElement('span', {\n class: this.config.classNames.menu.badge\n }, text));\n return badge;\n },\n\n // Create a
if needed\n\n if (is.empty(source)) {\n source = player.media.getAttribute(player.config.attributes.embed.id); // hash can also be set as attribute on the
\n\n hash = player.media.getAttribute(player.config.attributes.embed.hash);\n } else {\n hash = parseHash(source);\n }\n\n const hashParam = hash ? {\n h: hash\n } : {}; // If the owner has a pro or premium account then we can hide controls etc\n\n if (premium) {\n Object.assign(frameParams, {\n controls: false,\n sidedock: false\n });\n } // Get Vimeo params for the iframe\n\n\n const params = buildUrlParams({\n loop: player.config.loop.active,\n autoplay: player.autoplay,\n muted: player.muted,\n gesture: 'media',\n playsinline: !this.config.fullscreen.iosNative,\n // hash has to be added to iframe-URL\n ...hashParam,\n ...frameParams\n });\n const id = parseId$1(source); // Build an iframe\n\n const iframe = createElement('iframe');\n const src = format(player.config.urls.vimeo.iframe, id, params);\n iframe.setAttribute('src', src);\n iframe.setAttribute('allowfullscreen', '');\n iframe.setAttribute('allow', ['autoplay', 'fullscreen', 'picture-in-picture', 'encrypted-media', 'accelerometer', 'gyroscope'].join('; ')); // Set the referrer policy if required\n\n if (!is.empty(referrerPolicy)) {\n iframe.setAttribute('referrerPolicy', referrerPolicy);\n } // Inject the package\n\n\n if (premium || !config.customControls) {\n iframe.setAttribute('data-poster', player.poster);\n player.media = replaceElement(iframe, player.media);\n } else {\n const wrapper = createElement('div', {\n class: player.config.classNames.embedContainer,\n 'data-poster': player.poster\n });\n wrapper.appendChild(iframe);\n player.media = replaceElement(wrapper, player.media);\n } // Get poster image\n\n\n if (!config.customControls) {\n fetch(format(player.config.urls.vimeo.api, src)).then(response => {\n if (is.empty(response) || !response.thumbnail_url) {\n return;\n } // Set and show poster\n\n\n ui.setPoster.call(player, response.thumbnail_url).catch(() => {});\n });\n } // Setup instance\n // https://github.com/vimeo/player.js\n\n\n player.embed = new window.Vimeo.Player(iframe, {\n autopause: player.config.autopause,\n muted: player.muted\n });\n player.media.paused = true;\n player.media.currentTime = 0; // Disable native text track rendering\n\n if (player.supported.ui) {\n player.embed.disableTextTrack();\n } // Create a faux HTML5 API using the Vimeo API\n\n\n player.media.play = () => {\n assurePlaybackState$1.call(player, true);\n return player.embed.play();\n };\n\n player.media.pause = () => {\n assurePlaybackState$1.call(player, false);\n return player.embed.pause();\n };\n\n player.media.stop = () => {\n player.pause();\n player.currentTime = 0;\n }; // Seeking\n\n\n let {\n currentTime\n } = player.media;\n Object.defineProperty(player.media, 'currentTime', {\n get() {\n return currentTime;\n },\n\n set(time) {\n // Vimeo will automatically play on seek if the video hasn't been played before\n // Get current paused state and volume etc\n const {\n embed,\n media,\n paused,\n volume\n } = player;\n const restorePause = paused && !embed.hasPlayed; // Set seeking state and trigger event\n\n media.seeking = true;\n triggerEvent.call(player, media, 'seeking'); // If paused, mute until seek is complete\n\n Promise.resolve(restorePause && embed.setVolume(0)) // Seek\n .then(() => embed.setCurrentTime(time)) // Restore paused\n .then(() => restorePause && embed.pause()) // Restore volume\n .then(() => restorePause && embed.setVolume(volume)).catch(() => {// Do nothing\n });\n }\n\n }); // Playback speed\n\n let speed = player.config.speed.selected;\n Object.defineProperty(player.media, 'playbackRate', {\n get() {\n return speed;\n },\n\n set(input) {\n player.embed.setPlaybackRate(input).then(() => {\n speed = input;\n triggerEvent.call(player, player.media, 'ratechange');\n }).catch(() => {\n // Cannot set Playback Rate, Video is probably not on Pro account\n player.options.speed = [1];\n });\n }\n\n }); // Volume\n\n let {\n volume\n } = player.config;\n Object.defineProperty(player.media, 'volume', {\n get() {\n return volume;\n },\n\n set(input) {\n player.embed.setVolume(input).then(() => {\n volume = input;\n triggerEvent.call(player, player.media, 'volumechange');\n });\n }\n\n }); // Muted\n\n let {\n muted\n } = player.config;\n Object.defineProperty(player.media, 'muted', {\n get() {\n return muted;\n },\n\n set(input) {\n const toggle = is.boolean(input) ? input : false;\n player.embed.setVolume(toggle ? 0 : player.config.volume).then(() => {\n muted = toggle;\n triggerEvent.call(player, player.media, 'volumechange');\n });\n }\n\n }); // Loop\n\n let {\n loop\n } = player.config;\n Object.defineProperty(player.media, 'loop', {\n get() {\n return loop;\n },\n\n set(input) {\n const toggle = is.boolean(input) ? input : player.config.loop.active;\n player.embed.setLoop(toggle).then(() => {\n loop = toggle;\n });\n }\n\n }); // Source\n\n let currentSrc;\n player.embed.getVideoUrl().then(value => {\n currentSrc = value;\n controls.setDownloadUrl.call(player);\n }).catch(error => {\n this.debug.warn(error);\n });\n Object.defineProperty(player.media, 'currentSrc', {\n get() {\n return currentSrc;\n }\n\n }); // Ended\n\n Object.defineProperty(player.media, 'ended', {\n get() {\n return player.currentTime === player.duration;\n }\n\n }); // Set aspect ratio based on video size\n\n Promise.all([player.embed.getVideoWidth(), player.embed.getVideoHeight()]).then(dimensions => {\n const [width, height] = dimensions;\n player.embed.ratio = roundAspectRatio(width, height);\n setAspectRatio.call(this);\n }); // Set autopause\n\n player.embed.setAutopause(player.config.autopause).then(state => {\n player.config.autopause = state;\n }); // Get title\n\n player.embed.getVideoTitle().then(title => {\n player.config.title = title;\n ui.setTitle.call(this);\n }); // Get current time\n\n player.embed.getCurrentTime().then(value => {\n currentTime = value;\n triggerEvent.call(player, player.media, 'timeupdate');\n }); // Get duration\n\n player.embed.getDuration().then(value => {\n player.media.duration = value;\n triggerEvent.call(player, player.media, 'durationchange');\n }); // Get captions\n\n player.embed.getTextTracks().then(tracks => {\n player.media.textTracks = tracks;\n captions.setup.call(player);\n });\n player.embed.on('cuechange', ({\n cues = []\n }) => {\n const strippedCues = cues.map(cue => stripHTML(cue.text));\n captions.updateCues.call(player, strippedCues);\n });\n player.embed.on('loaded', () => {\n // Assure state and events are updated on autoplay\n player.embed.getPaused().then(paused => {\n assurePlaybackState$1.call(player, !paused);\n\n if (!paused) {\n triggerEvent.call(player, player.media, 'playing');\n }\n });\n\n if (is.element(player.embed.element) && player.supported.ui) {\n const frame = player.embed.element; // Fix keyboard focus issues\n // https://github.com/sampotts/plyr/issues/317\n\n frame.setAttribute('tabindex', -1);\n }\n });\n player.embed.on('bufferstart', () => {\n triggerEvent.call(player, player.media, 'waiting');\n });\n player.embed.on('bufferend', () => {\n triggerEvent.call(player, player.media, 'playing');\n });\n player.embed.on('play', () => {\n assurePlaybackState$1.call(player, true);\n triggerEvent.call(player, player.media, 'playing');\n });\n player.embed.on('pause', () => {\n assurePlaybackState$1.call(player, false);\n });\n player.embed.on('timeupdate', data => {\n player.media.seeking = false;\n currentTime = data.seconds;\n triggerEvent.call(player, player.media, 'timeupdate');\n });\n player.embed.on('progress', data => {\n player.media.buffered = data.percent;\n triggerEvent.call(player, player.media, 'progress'); // Check all loaded\n\n if (parseInt(data.percent, 10) === 1) {\n triggerEvent.call(player, player.media, 'canplaythrough');\n } // Get duration as if we do it before load, it gives an incorrect value\n // https://github.com/sampotts/plyr/issues/891\n\n\n player.embed.getDuration().then(value => {\n if (value !== player.media.duration) {\n player.media.duration = value;\n triggerEvent.call(player, player.media, 'durationchange');\n }\n });\n });\n player.embed.on('seeked', () => {\n player.media.seeking = false;\n triggerEvent.call(player, player.media, 'seeked');\n });\n player.embed.on('ended', () => {\n player.media.paused = true;\n triggerEvent.call(player, player.media, 'ended');\n });\n player.embed.on('error', detail => {\n player.media.error = detail;\n triggerEvent.call(player, player.media, 'error');\n }); // Rebuild UI\n\n if (config.customControls) {\n setTimeout(() => ui.build.call(player), 0);\n }\n }\n\n };\n\n // ==========================================================================\n\n function parseId(url) {\n if (is.empty(url)) {\n return null;\n }\n\n const regex = /^.*(youtu.be\\/|v\\/|u\\/\\w\\/|embed\\/|watch\\?v=|&v=)([^#&?]*).*/;\n return url.match(regex) ? RegExp.$2 : url;\n } // Set playback state and trigger change (only on actual change)\n\n\n function assurePlaybackState(play) {\n if (play && !this.embed.hasPlayed) {\n this.embed.hasPlayed = true;\n }\n\n if (this.media.paused === play) {\n this.media.paused = !play;\n triggerEvent.call(this, this.media, play ? 'play' : 'pause');\n }\n }\n\n function getHost(config) {\n if (config.noCookie) {\n return 'https://www.youtube-nocookie.com';\n }\n\n if (window.location.protocol === 'http:') {\n return 'http://www.youtube.com';\n } // Use YouTube's default\n\n\n return undefined;\n }\n\n const youtube = {\n setup() {\n // Add embed class for responsive\n toggleClass(this.elements.wrapper, this.config.classNames.embed, true); // Setup API\n\n if (is.object(window.YT) && is.function(window.YT.Player)) {\n youtube.ready.call(this);\n } else {\n // Reference current global callback\n const callback = window.onYouTubeIframeAPIReady; // Set callback to process queue\n\n window.onYouTubeIframeAPIReady = () => {\n // Call global callback if set\n if (is.function(callback)) {\n callback();\n }\n\n youtube.ready.call(this);\n }; // Load the SDK\n\n\n loadScript(this.config.urls.youtube.sdk).catch(error => {\n this.debug.warn('YouTube API failed to load', error);\n });\n }\n },\n\n // Get the media title\n getTitle(videoId) {\n const url = format(this.config.urls.youtube.api, videoId);\n fetch(url).then(data => {\n if (is.object(data)) {\n const {\n title,\n height,\n width\n } = data; // Set title\n\n this.config.title = title;\n ui.setTitle.call(this); // Set aspect ratio\n\n this.embed.ratio = roundAspectRatio(width, height);\n }\n\n setAspectRatio.call(this);\n }).catch(() => {\n // Set aspect ratio\n setAspectRatio.call(this);\n });\n },\n\n // API ready\n ready() {\n const player = this;\n const config = player.config.youtube; // Ignore already setup (race condition)\n\n const currentId = player.media && player.media.getAttribute('id');\n\n if (!is.empty(currentId) && currentId.startsWith('youtube-')) {\n return;\n } // Get the source URL or ID\n\n\n let source = player.media.getAttribute('src'); // Get from
if needed\n\n if (is.empty(source)) {\n source = player.media.getAttribute(this.config.attributes.embed.id);\n } // Replace the