New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@cassette/core

Package Overview
Dependencies
Maintainers
1
Versions
38
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@cassette/core - npm Package Compare versions

Comparing version 2.0.0-alpha.4 to 2.0.0-alpha.5

2

dist/es5/cassette-core.min.js

@@ -1,2 +0,2 @@

!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("prop-types"),require("react")):"function"==typeof define&&define.amd?define(["prop-types","react"],t):"object"==typeof exports?exports.cassetteCore=t(require("prop-types"),require("react")):e.cassetteCore=t(e.PropTypes,e.React)}(window,function(e,t){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var a=t[r]={i:r,l:!1,exports:{}};return e[r].call(a.exports,a,a.exports,n),a.l=!0,a.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var a in e)n.d(r,a,function(t){return e[t]}.bind(null,a));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="/dist",n(n.s=3)}([function(t,n){t.exports=e},function(e,n){e.exports=t},function(e,t,n){"use strict";e.exports=function(e,t,n){if("function"==typeof Array.prototype.findIndex)return e.findIndex(t,n);if("function"!=typeof t)throw new TypeError("predicate must be a function");var r=Object(e),a=r.length;if(0===a)return-1;for(var i=0;i<a;i++)if(t.call(n,r[i],i,r))return i;return-1}},function(e,t,n){"use strict";n.r(t);var r={};n.r(r),n.d(r,"controlKeyword",function(){return b}),n.d(r,"control",function(){return k}),n.d(r,"crossOriginAttribute",function(){return S}),n.d(r,"repeatStrategy",function(){return P}),n.d(r,"mediaSource",function(){return T}),n.d(r,"mediaSessionAction",function(){return w}),n.d(r,"mediaSessionArtwork",function(){return R}),n.d(r,"track",function(){return x}),n.d(r,"progressDirection",function(){return E}),n.d(r,"seekMode",function(){return M}),n.d(r,"aspectRatio",function(){return O});var a=n(1),i=n.n(a),s=n(0),o=n.n(s),l=n(2),u=n.n(l),c=Object(a.createContext)(null);c.displayName="PlayerContext";var d=c,h=Object(a.createContext)(null);h.displayName="GroupContext";var f=h,p=["none","playlist","track"],m=console.log.bind(console),g=console.error?console.error.bind(console):m,y=console.warn?console.warn.bind(console):m;function v(e,t){var n=!1;return function(r,a,i){if(a in r){!n&&t in r&&(y("Do not define both the '"+a+"' and '"+t+"' props."),n=!0);for(var s=arguments.length,o=new Array(s>3?s-3:0),l=3;l<s;l++)o[l-3]=arguments[l];return e.isRequired.apply(e,[r,a,i].concat(o))}if(!(t in r))return new Error("If the '"+t+"' prop is not defined, '"+a+"' must be.")}}var b=o.a.oneOf(["playpause","backskip","forwardskip","volume","mute","repeat","shuffle","progress","progressdisplay","fullscreen","spacer"]),k=o.a.oneOfType([o.a.func,b]),S=o.a.oneOf(["anonymous","use-credentials"]),P=o.a.oneOf(p),T=o.a.shape({src:o.a.string.isRequired,type:o.a.string.isRequired}),w=o.a.oneOf(["play","pause","previoustrack","nexttrack","seekbackward","seekforward"]),R=o.a.shape({src:o.a.string.isRequired,sizes:o.a.string,type:o.a.string}),x=o.a.shape({url:v(o.a.string,"sources"),sources:v(o.a.arrayOf(T.isRequired),"url"),title:o.a.string.isRequired,artist:o.a.string,album:o.a.string,artwork:o.a.arrayOf(R.isRequired),meta:o.a.object}),E=o.a.oneOf(["left","right","up","down"]),M=o.a.oneOf(["paused","immediate","onrelease"]);function O(e,t){var n=e[t];if(void 0!==n)return"string"!=typeof n||2!==n.split(":").length||n.split(":").some(isNaN)?new Error("The "+t+" prop should be a string of the form 'x:y'. Example: 16:9"):void 0}var C="loopchange",I="srcrequest";var _=function(e){return void 0===e&&(e=document.createElement("media")),new MutationObserver(function(){e.dispatchEvent(new Event(C))}).observe(e,{attributeFilter:["loop"]}),Object.defineProperty(e,"src",{get:function(){return e.currentSrc},set:function(t){var n=new Event(I);n.srcRequested=t,e.dispatchEvent(n)}}),e};function q(e,t,n,r){for(var a=r,i=0;i<e;i++){if(!t.length)throw q(i,n,t,a),"Moving "+e+" places was not possible!";n.push(a),a=t.pop()}return a}function F(e,t,n,r,a){var i=r;if(e.length){for(var s=1;s<=t.length;s++)if(-1!==e.indexOf(t[t.length-s]))return q(s,t,n,i);if(a){if(function(e,t){if(!e.length)return!1;for(var n=0;n<e.length;n++)if(t!==e[n])return!1;return!0}(e,i))return i;var o;do{o=e[Math.floor(Math.random()*e.length)]}while(i===o||void 0===o);return void 0!==(i=q(t.length,t,n,i))&&n.push(i),o}}}var j=function(){function e(e,t){void 0===t&&(t={}),this._list=e,this._forwardStack=[],this._backStack=[],this._currentItem=void 0,this._allowBackShuffle=Boolean(t.allowBackShuffle)}var t=e.prototype;return t.findNextItem=function(e){return void 0!==e&&this.setCurrentIndex(e),this._currentItem=F(this._list,this._forwardStack,this._backStack,this._currentItem,!0),this._currentItem},t.findPreviousItem=function(e){return void 0!==e&&this.setCurrentIndex(e),this._currentItem=F(this._list,this._backStack,this._forwardStack,this._currentItem,this._allowBackShuffle),this._currentItem},t.pickNextItem=function(e,t){if(void 0!==t&&this.setCurrentIndex(t),void 0!==this._list[e])return void 0!==this._currentItem&&this._backStack.push(this._currentItem),this._forwardStack.length=0,this._currentItem=this._list[e],this._currentItem},t.setList=function(e){this._list=e},t.setOptions=function(e){for(var t=Object.keys(e),n=0;n<t.length;n++){var r=t[n];switch(r){case"allowBackShuffle":this["_"+r]=Boolean(e[r])}}},t.setCurrentIndex=function(e){var t=this._list[e];this._currentItem!==t&&(this.clear(),this._currentItem=t)},t.clear=function(){this._forwardStack.length=0,this._backStack.length=0,this._currentItem=void 0},e}();var L=function(e){return Boolean(e&&e.length)},V=[{src:""}];var A=function(e,t){if(!L(e))return V;var n=e[t],r=n.sources,a=n.url;return r?r.length?r:V:[{src:a}]};var B=function(e,t){return u()(e,function(e){return e.sources?-1!==u()(e.sources,function(e){return e.src===t}):e.url&&t===e.url})};var D=function(e){return(e||[]).map(function(t,n){return A(e,n)[0].src})};var N=function(e){for(var t=Array(e.length),n=0;n<e.length;n++)t[n]={start:e.start(n),end:e.end(n)};return t};var z=function(e,t){return e?"track":t?"playlist":"none"};var W=function(e,t,n){return t="number"==typeof t?t:-1/0,n="number"==typeof n?n:1/0,Math.max(t,Math.min(e,n))};var U=function(e,t,n){var r=t.getContext("2d"),a=null,i=null,s=null,o=null;return a=requestAnimationFrame(function l(){var u=e.videoWidth,c=e.videoHeight,d=e,h=u,f=c,p=u,m=c,g=!0;p&&m||!o||(d=o,h=o.naturalWidth,f=o.naturalHeight,p=o.naturalWidth,m=o.naturalHeight,g=!1),i&&s?(p=i,m=s):i?(p=i,m=i/h*f):s&&(m=s,p=s/f*h),t.width===p&&t.height===m||(t.width=p,t.height=m),r.drawImage(d,0,0,p,m),n&&n(r,g),a=requestAnimationFrame(l)}),{endStream:function(){cancelAnimationFrame(a)},setCanvasSize:function(e,t){i=e||null,s=t||null},setPlaceholderImage:function(e){o=e||null}}};function H(){return(H=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function G(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){K(e,t,n[t])})}return e}function K(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function J(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}function Q(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function X(e){if(g(e),"NotAllowedError"===e.name){var t="Media playback failed at "+(new Date).toLocaleTimeString()+"! (Perhaps autoplay is disabled in this browser.)";y(t)}}var Y=["previoustrack","nexttrack","seekbackward","seekforward"],Z={paused:!0,currentTime:0,seekPreviewTime:0,seekInProgress:!1,awaitingResumeOnSeekComplete:!1,duration:0,bufferedRanges:[],playedRanges:[],seekableRanges:[],stalled:!1,awaitingPlay:!1};function $(e,t,n){void 0===n&&(n=!0);var r=e.activeTrackIndex!==t;return{activeTrackIndex:t,trackLoading:r,currentTime:0,loop:!r&&e.loop,awaitingPlay:Boolean(n),paused:!n}}var ee=function(e){function t(t){var n;return(n=e.call(this,t)||this).state=G({},Z,{activeTrackIndex:W(t.startingTrackIndex,0),trackLoading:L(t.playlist),currentTime:W(t.startingTime,0),volume:W(t.defaultVolume,0,1),muted:t.defaultMuted,loop:"track"===t.defaultRepeatStrategy,cycle:"playlist"===t.defaultRepeatStrategy,shuffle:t.defaultShuffle,playbackRate:t.defaultPlaybackRate,setVolumeInProgress:!1,awaitingPlay:t.autoplay&&L(t.playlist),__playlist__:t.playlist},t.initialStateSnapshot?function(e,t){var n=e.__unstable__,r=n.paused,a=n.currentTime,i=n.activeTrackIndex,s=n.volume,o=n.muted,l=n.loop,u=n.cycle,c=n.shuffle,d=n.playbackRate,h=n.activeTrackSrc,f={};L(t.playlist)&&"boolean"==typeof r&&(f.awaitingPlay=!r),"number"==typeof s&&s>=0&&s<=1&&(f.volume=s),"boolean"==typeof o&&(f.muted=o),"boolean"==typeof l&&(f.loop=l),"boolean"==typeof u&&(f.cycle=u),"boolean"==typeof c&&(f.shuffle=c),"number"==typeof d&&(f.playbackRate=d);var p=!1;if("string"==typeof h&&"number"==typeof i&&i>=0)if(h===A(t.playlist,i)[0].src)f.activeTrackIndex=i,p=!0;else{var m=B(t.playlist,h);-1!==m&&(f.activeTrackIndex=m,p=!0)}return p&&"number"==typeof a&&a>=0&&(f.currentTime=a),f}(t.initialStateSnapshot,t):{}),n.lastStableVolume=n.state.volume,n.shuffler=new j(D(t.playlist),{allowBackShuffle:t.allowBackShuffle}),n.media=null,n.setMediaElementRef=n.setMediaElementRef.bind(Q(n)),n.togglePause=n.togglePause.bind(Q(n)),n.selectTrackIndex=n.selectTrackIndex.bind(Q(n)),n.forwardSkip=n.forwardSkip.bind(Q(n)),n.backSkip=n.backSkip.bind(Q(n)),n.seekPreview=n.seekPreview.bind(Q(n)),n.seekComplete=n.seekComplete.bind(Q(n)),n.setVolume=n.setVolume.bind(Q(n)),n.setVolumeComplete=n.setVolumeComplete.bind(Q(n)),n.toggleMuted=n.toggleMuted.bind(Q(n)),n.toggleShuffle=n.toggleShuffle.bind(Q(n)),n.setRepeatStrategy=n.setRepeatStrategy.bind(Q(n)),n.setPlaybackRate=n.setPlaybackRate.bind(Q(n)),n.pipeVideoStreamToCanvas=n.pipeVideoStreamToCanvas.bind(Q(n)),n.handleMediaPlay=n.handleMediaPlay.bind(Q(n)),n.handleMediaPause=n.handleMediaPause.bind(Q(n)),n.handleMediaSrcrequest=n.handleMediaSrcrequest.bind(Q(n)),n.handleMediaEnded=n.handleMediaEnded.bind(Q(n)),n.handleMediaStalled=n.handleMediaStalled.bind(Q(n)),n.handleMediaCanplaythrough=n.handleMediaCanplaythrough.bind(Q(n)),n.handleMediaTimeupdate=n.handleMediaTimeupdate.bind(Q(n)),n.handleMediaLoadedmetadata=n.handleMediaLoadedmetadata.bind(Q(n)),n.handleMediaVolumechange=n.handleMediaVolumechange.bind(Q(n)),n.handleMediaDurationchange=n.handleMediaDurationchange.bind(Q(n)),n.handleMediaProgress=n.handleMediaProgress.bind(Q(n)),n.handleMediaLoopchange=n.handleMediaLoopchange.bind(Q(n)),n.handleMediaRatechange=n.handleMediaRatechange.bind(Q(n)),n}J(t,e);var n=t.prototype;return n.componentDidMount=function(){var e=this,t=this.media=_(this.media);0!==t.readyState&&(t.currentTime=this.state.currentTime),t.volume=this.state.volume,t.muted=this.state.muted,t.defaultPlaybackRate=this.props.defaultPlaybackRate,t.playbackRate=this.state.playbackRate,t.addEventListener("srcrequest",this.handleMediaSrcrequest),t.addEventListener("loopchange",this.handleMediaLoopchange),this.state.awaitingPlay&&(this.setState({awaitingPlay:!1}),this.delayTimeout=setTimeout(function(){e.togglePause(!1)},1e3*this.props.autoplayDelayInSeconds))},t.getDerivedStateFromProps=function(e,t){var n=e.playlist;if(n===t.__playlist__)return null;var r={__playlist__:n};if(!L(n))return G({},Z,r,{activeTrackIndex:0,trackLoading:!1});var a=A(t.__playlist__,t.activeTrackIndex),i=A(n,t.activeTrackIndex);if(a[0].src===i[0].src)return r;var s=B(n,a[0].src);return G({},r,-1!==s?{activeTrackIndex:s}:$(t,0,!1))},n.componentDidUpdate=function(e,t){var n=this;this.media.defaultPlaybackRate=this.props.defaultPlaybackRate,this.shuffler.setList(D(this.props.playlist)),this.shuffler.setOptions({allowBackShuffle:this.props.allowBackShuffle});var r=A(e.playlist,t.activeTrackIndex),a=A(this.props.playlist,this.state.activeTrackIndex);r[0].src!==a[0].src&&(this.media.load(),this.state.shuffle||this.shuffler.clear()),e===this.props||this.media.paused||this.stealMediaSession(),this.state.awaitingPlay&&(this.setState({awaitingPlay:!1}),setTimeout(function(){n.togglePause(!1)})),clearTimeout(this.snapshotUpdateTimeout),this.snapshotUpdateTimeout=setTimeout(function(){n.props.onStateSnapshot&&n.props.onStateSnapshot(function(e){var t=e.paused,n=e.currentTime,r=e.activeTrackIndex,a=e.volume,i=e.muted,s=e.loop,o=e.cycle,l=e.shuffle,u=e.playbackRate,c=e.__playlist__;return{__unstable__:{paused:t,currentTime:n,activeTrackIndex:r,volume:a,muted:i,loop:s,cycle:o,shuffle:l,playbackRate:u,activeTrackSrc:L(c)?A(c,r)[0].src:null}}}(n.state))},100)},n.componentWillUnmount=function(){var e=this.media;e.removeEventListener("srcrequest",this.handleMediaSrcrequest),e.removeEventListener("loopchange",this.handleMediaLoopchange),clearTimeout(this.gapLengthTimeout),clearTimeout(this.delayTimeout)},n.setMediaElementRef=function(e){this.media=e,"function"==typeof this.props.mediaElementRef&&this.props.mediaElementRef(e)},n.stealMediaSession=function(){var e=this;window.MediaSession&&navigator.mediaSession instanceof MediaSession&&(navigator.mediaSession.metadata=new MediaMetadata(this.props.playlist[this.state.activeTrackIndex]),Y.map(function(t){if(-1===e.props.supportedMediaSessionActions.indexOf(t))return null;var n=e.props.mediaSessionSeekLengthInSeconds;switch(t){case"play":return e.togglePause.bind(e,!1);case"pause":return e.togglePause.bind(e,!0);case"previoustrack":return e.backSkip;case"nexttrack":return e.forwardSkip;case"seekbackward":return function(){return e.media.currentTime-=n};case"seekforward":return function(){return e.media.currentTime+=n};default:return}}).forEach(function(e,t){navigator.mediaSession.setActionHandler(Y[t],e)}))},n.pipeVideoStreamToCanvas=function(e,t){return U(this.media,e,t)},n.handleMediaPlay=function(){this.setState(function(e){return!1===e.paused?null:{paused:!1}}),this.stealMediaSession()},n.handleMediaPause=function(){this.setState(function(e){return!0===e.paused?null:{paused:!0}})},n.handleMediaSrcrequest=function(e){var t=this.props.playlist,n=A(t,this.state.activeTrackIndex);if(-1===u()(n,function(t){return t.src===e.srcRequested})){var r=B(t,e.srcRequested);-1!==r?this.selectTrackIndex(r):g("Source '"+e.srcRequested+"' does not exist in the loaded playlist. Make sure you've updated the 'playlist' prop to PlayerContextProvider before you select this track!")}},n.handleMediaEnded=function(){if(!this.state.seekInProgress){clearTimeout(this.gapLengthTimeout);var e=this.props,t=e.playlist,n=e.loadFirstTrackOnPlaylistComplete;if(L(t)){var r=this.state,a=r.cycle,i=r.activeTrackIndex;!a&&i+1>=t.length?n&&this.goToTrack(0,!1):this.gapLengthTimeout=setTimeout(this.forwardSkip,1e3*this.props.gapLengthInSeconds)}}},n.handleMediaStalled=function(){this.setState(function(e){return!0===e.stalled?null:{stalled:!0}})},n.handleMediaCanplaythrough=function(){this.setState(function(e){return!1===e.stalled?null:{stalled:!1}})},n.handleMediaTimeupdate=function(){var e=this.media,t=e.currentTime,n=e.played;this.setState({currentTime:t,playedRanges:N(n)})},n.handleMediaLoadedmetadata=function(){this.media.currentTime!==this.state.currentTime&&(this.media.currentTime=this.state.currentTime),this.setState(function(e){return!1===e.trackLoading?null:{trackLoading:!1}})},n.handleMediaVolumechange=function(){var e=this.media,t=e.volume,n=e.muted;this.setState({volume:t,muted:n})},n.handleMediaDurationchange=function(){var e=this.media.duration;this.setState({duration:e})},n.handleMediaProgress=function(){this.setState({bufferedRanges:N(this.media.buffered),seekableRanges:N(this.media.seekable)})},n.handleMediaLoopchange=function(){var e=this.media.loop;this.setState(function(t){return t.loop===e?null:{loop:e}})},n.handleMediaRatechange=function(){var e=this.media.playbackRate;this.setState(function(t){return t.playbackRate===e?null:{playbackRate:e}})},n.togglePause=function(e){if(clearTimeout(this.delayTimeout),"boolean"==typeof e?e:!this.state.paused)this.media.pause();else if(this.media.currentSrc)try{var t=this.media.play();t&&"function"==typeof t.catch&&t.catch(function(e){if("AbortError"!==e.name)return Promise.reject(e)}).catch(X)}catch(e){X(e)}},n.goToTrack=function(e,t){void 0===t&&(t=!0),clearTimeout(this.delayTimeout),this.setState(function(n){return $(n,e,t)})},n.selectTrackIndex=function(e){var t=this.props.playlist;L(t)&&(e<0||e>t.length?y("Playlist index "+e+" is out of bounds!"):(this.state.shuffle&&this.shuffler.pickNextItem(e,this.state.activeTrackIndex),this.goToTrack(e)))},n.backSkip=function(){var e=this.props,t=e.playlist,n=e.stayOnBackSkipThreshold,r=this.media,a=this.state,i=a.cycle,s=a.activeTrackIndex,o=a.shuffle;if(!L(t)||r.currentTime>=n||!i&&s<1)r.currentTime=0;else{var l;if(o){var u=this.shuffler.findPreviousItem(s);if(void 0===u)return void(r.currentTime=0);l=B(t,u)}else(l=s-1)<0&&(l=t.length-1);this.goToTrack(l)}},n.forwardSkip=function(){var e,t=this.props.playlist,n=this.state,r=n.cycle,a=n.activeTrackIndex,i=n.shuffle;!L(t)||!r&&a+1>=t.length||(i?e=B(t,this.shuffler.findNextItem(a)):(e=a+1)>=t.length&&(e=0),this.goToTrack(e))},n.seekPreview=function(e){if(L(this.props.playlist)){var t={seekPreviewTime:e,seekInProgress:!0};switch(this.props.seekMode){case"paused":this.setState(function(e){var n=e.paused,r=e.awaitingResumeOnSeekComplete;return G({},t,{awaitingResumeOnSeekComplete:!n||r})}),this.media.currentTime=e,this.state.paused||this.togglePause(!0);break;case"immediate":this.setState(function(e){var n=e.paused,r=e.awaitingResumeOnSeekComplete;return G({},t,{awaitingResumeOnSeekComplete:!n||r})}),this.media.currentTime=e,this.state.awaitingResumeOnSeekComplete&&!this.media.ended&&this.togglePause(!1);break;case"onrelease":this.setState(t)}}},n.seekComplete=function(){var e=this.state,t=e.seekPreviewTime,n=e.awaitingResumeOnSeekComplete,r={seekInProgress:!1,awaitingResumeOnSeekComplete:!1};isNaN(t)?this.setState(r):(this.setState(G({},r,{currentTime:t})),this.media.currentTime=t,n&&(this.media.ended?this.forwardSkip():this.togglePause(!1)))},n.setVolume=function(e){this.state.setVolumeInProgress||this.setState({setVolumeInProgress:!0});var t=W(e,0,1);this.media.muted=0===t,this.media.volume=t},n.setVolumeComplete=function(){this.setState({setVolumeInProgress:!1}),this.media.muted||(this.lastStableVolume=this.media.volume)},n.toggleMuted=function(e){var t="boolean"==typeof e?e:!this.state.muted;this.media.muted=t,t||(this.media.volume=this.lastStableVolume)},n.toggleShuffle=function(e){var t="boolean"==typeof e?e:!this.state.shuffle;this.setState({shuffle:t})},n.setRepeatStrategy=function(e){-1!==p.indexOf(e)?this.setState(function(){switch(e){case"track":return{loop:!0};case"playlist":return{loop:!1,cycle:!0};case"none":return{loop:!1,cycle:!1};default:return null}}):y('repeatStrategy "'+e+'" is not one of: '+p.split(", ")+".")},n.setPlaybackRate=function(e){this.media.playbackRate=e},n.getControlProps=function(){var e=this.props,t=this.state,n={playlist:e.playlist,activeTrackIndex:t.activeTrackIndex,trackLoading:t.trackLoading,paused:t.paused,currentTime:t.currentTime,seekPreviewTime:t.seekPreviewTime,seekInProgress:t.seekInProgress,awaitingResumeOnSeekComplete:t.awaitingResumeOnSeekComplete,duration:t.duration,bufferedRanges:t.bufferedRanges,playedRanges:t.playedRanges,seekableRanges:t.seekableRanges,volume:t.volume,muted:t.muted,shuffle:t.shuffle,stalled:t.stalled,playbackRate:t.playbackRate,setVolumeInProgress:t.setVolumeInProgress,repeatStrategy:z(t.loop,t.cycle),pipeVideoStreamToCanvas:this.pipeVideoStreamToCanvas,onTogglePause:this.togglePause,onSelectTrackIndex:this.selectTrackIndex,onBackSkip:this.backSkip,onForwardSkip:this.forwardSkip,onSeekPreview:this.seekPreview,onSeekComplete:this.seekComplete,onSetVolume:this.setVolume,onSetVolumeComplete:this.setVolumeComplete,onToggleMuted:this.toggleMuted,onToggleShuffle:this.toggleShuffle,onSetRepeatStrategy:this.setRepeatStrategy,onSetPlaybackRate:this.setPlaybackRate};if(this.playerContext)for(var r=Object.keys(this.playerContext),a=0;a<r.length;a++){var i=r[a];if(n[i]!==this.playerContext[i]){this.playerContext=n;break}}else this.playerContext=n;return this.playerContext},n.render=function(){var e=A(this.props.playlist,this.state.activeTrackIndex),t=this.getControlProps();return i.a.createElement(a.Fragment,null,i.a.createElement("video",{hidden:!0,ref:this.setMediaElementRef,crossOrigin:this.props.crossOrigin,preload:"metadata",loop:this.state.loop,onPlay:this.handleMediaPlay,onPause:this.handleMediaPause,onEnded:this.handleMediaEnded,onStalled:this.handleMediaStalled,onCanPlayThrough:this.handleMediaCanplaythrough,onTimeUpdate:this.handleMediaTimeupdate,onLoadedMetadata:this.handleMediaLoadedmetadata,onVolumeChange:this.handleMediaVolumechange,onDurationChange:this.handleMediaDurationchange,onProgress:this.handleMediaProgress,onRateChange:this.handleMediaRatechange},e.map(function(e){return i.a.createElement("source",{key:e.src,src:e.src,type:e.type})})),i.a.createElement(d.Provider,{value:t},"function"==typeof this.props.children?this.props.children(t):this.props.children))},t}(a.Component);ee.propTypes={playlist:o.a.arrayOf(x.isRequired).isRequired,autoplay:o.a.bool.isRequired,autoplayDelayInSeconds:o.a.number.isRequired,gapLengthInSeconds:o.a.number.isRequired,crossOrigin:S,defaultVolume:o.a.number.isRequired,defaultMuted:o.a.bool,defaultRepeatStrategy:P.isRequired,defaultShuffle:o.a.bool,defaultPlaybackRate:o.a.number.isRequired,startingTime:o.a.number.isRequired,startingTrackIndex:o.a.number.isRequired,loadFirstTrackOnPlaylistComplete:o.a.bool,seekMode:M.isRequired,maintainPlaybackRate:o.a.bool.isRequired,allowBackShuffle:o.a.bool,stayOnBackSkipThreshold:o.a.number.isRequired,supportedMediaSessionActions:o.a.arrayOf(w.isRequired).isRequired,mediaSessionSeekLengthInSeconds:o.a.number.isRequired,mediaElementRef:o.a.func,initialStateSnapshot:o.a.shape({__unstable__:o.a.object.isRequired}),onStateSnapshot:o.a.func,children:o.a.oneOfType([o.a.node,o.a.func]).isRequired},ee.defaultProps={autoplay:!1,autoplayDelayInSeconds:0,gapLengthInSeconds:0,defaultVolume:1,defaultMuted:!1,defaultRepeatStrategy:"playlist",defaultShuffle:!1,defaultPlaybackRate:1,startingTime:0,startingTrackIndex:0,loadFirstTrackOnPlaylistComplete:!0,seekMode:"immediate",maintainPlaybackRate:!1,allowBackShuffle:!1,stayOnBackSkipThreshold:5,supportedMediaSessionActions:["play","pause","previoustrack","nexttrack"],mediaSessionSeekLengthInSeconds:10};var te=function(e){function t(){return e.apply(this,arguments)||this}J(t,e);var n=t.prototype;return n.componentDidMount=function(){this.props.groupContext.registerMediaElement(this.mediaElement)},n.componentWillUnmount=function(){this.props.groupContext.unregisterMediaElement(this.mediaElement)},n.render=function(){var e=this,t=this.props,n=t.groupContext,r=t.props,a=r.mediaElementRef,s=function(e,t){if(null==e)return{};var n,r,a={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(a[n]=e[n]);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(r=0;r<s.length;r++)n=s[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}(r,["mediaElementRef"]);return i.a.createElement(ee,H({},n.groupProps,s,{mediaElementRef:function(t){a&&a(t),e.mediaElement=t}}))},t}(a.Component);te.propTypes={groupContext:o.a.shape({groupProps:o.a.object.isRequired,registerMediaElement:o.a.func.isRequired,unregisterMediaElement:o.a.func.isRequired}).isRequired};var ne=function(e){return i.a.createElement(f.Consumer,null,function(t){return t?Object(a.createElement)(te,{groupContext:t,props:e}):Object(a.createElement)(ee,e)})};function re(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){ae(e,t,n[t])})}return e}function ae(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ie(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}var se=function(e){function t(t){var n;return(n=e.call(this,t)||this).registerMediaElement=n.registerMediaElement.bind(ie(n)),n.unregisterMediaElement=n.unregisterMediaElement.bind(ie(n)),n.enforceOneMediaSourceOnly=n.enforceOneMediaSourceOnly.bind(ie(n)),n.mediaElements=[],n}!function(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}(t,e);var n=t.prototype;return n.registerMediaElement=function(e){this.mediaElements=this.mediaElements.concat(e),e.addEventListener("play",this.enforceOneMediaSourceOnly,!0),e.addEventListener("volumechange",this.enforceOneMediaSourceOnly,!0)},n.unregisterMediaElement=function(e){this.mediaElements=this.mediaElements.filter(function(t){return e!==t}),e.removeEventListener("play",this.enforceOneMediaSourceOnly,!0),e.removeEventListener("volumechange",this.enforceOneMediaSourceOnly,!0)},n.enforceOneMediaSourceOnly=function(e){var t=e.target,n=t.paused,r=t.muted;if(!n&&!r){var a=this.mediaElements,i=Array.isArray(a),s=0;for(a=i?a:a[Symbol.iterator]();;){var o;if(i){if(s>=a.length)break;o=a[s++]}else{if((s=a.next()).done)break;o=s.value}var l=o;l===t||l.muted||l.pause()}}},n.render=function(){var e=this;return i.a.createElement(f.Consumer,null,function(t){var n=t?re({},t,{groupProps:re({},t.groupProps,e.props)}):{groupProps:e.props,registerMediaElement:e.registerMediaElement,unregisterMediaElement:e.unregisterMediaElement};return i.a.createElement(f.Provider,{value:n},e.props.children)})},t}(a.Component);se.propTypes={children:o.a.node.isRequired};var oe=se,le=Object(a.createContext)({fullscreen:!1,requestFullscreen:function(){y("Fullscreen request ignored since there is no FullscreenContextProvider ancestor.")},requestExitFullscreen:function(){y("Exit fullscreen request ignored since there is no FullscreenContextProvider ancestor.")}});le.displayName="FullscreenContext";var ue=le;function ce(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}var de={width:"100%",height:"100%"},he=function(e){function t(t){var n;return(n=e.call(this,t)||this).state={fullscreen:!1},n.requestFullscreen=n.requestFullscreen.bind(ce(n)),n.requestExitFullscreen=n.requestExitFullscreen.bind(ce(n)),n.handleFullscreenChange=n.handleFullscreenChange.bind(ce(n)),n.fullscreenElement=null,n}!function(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}(t,e);var n=t.prototype;return n.componentDidMount=function(){document.addEventListener("fullscreenchange",this.handleFullscreenChange),document.addEventListener("webkitfullscreenchange",this.handleFullscreenChange),document.addEventListener("mozfullscreenchange",this.handleFullscreenChange),document.addEventListener("msfullscreenchange",this.handleFullscreenChange)},n.componentWillUnmount=function(){document.removeEventListener("fullscreenchange",this.handleFullscreenChange),document.removeEventListener("webkitfullscreenchange",this.handleFullscreenChange),document.removeEventListener("mozfullscreenchange",this.handleFullscreenChange),document.removeEventListener("msfullscreenchange",this.handleFullscreenChange)},n.requestFullscreen=function(){this.props.fullscreenEnabled&&(this.fullscreenElement.requestFullscreen?this.fullscreenElement.requestFullscreen():this.fullscreenElement.webkitRequestFullscreen?this.fullscreenElement.webkitRequestFullscreen():this.fullscreenElement.mozRequestFullscreen?this.fullscreenElement.mozRequestFullScreen():this.fullscreenElement.msRequestFullscreen&&this.fullscreenElement.msRequestFullscreen())},n.requestExitFullscreen=function(){document.exitFullscreen?document.exitFullscreen():document.webkitExitFullscreen?document.webkitExitFullscreen():document.webkitCancelFullScreen?document.webkitCancelFullScreen():document.mozCancelFullScreen?document.mozCancelFullScreen():document.msExitFullscreen&&document.mozExitFullscreen()},n.handleFullscreenChange=function(){var e=document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement;this.setState({fullscreen:e===this.fullscreenElement})},n.getFullscreenContext=function(){var e={fullscreen:this.state.fullscreen,requestFullscreen:this.requestFullscreen,requestExitFullscreen:this.requestExitFullscreen};return this.fullscreenContext&&e.fullscreen===this.fullscreenContext.fullscreen?this.fullscreenContext:this.fullscreenContext=e},n.render=function(){var e=this,t=this.getFullscreenContext();return i.a.createElement("div",{ref:function(t){return e.fullscreenElement=t},style:this.state.fullscreen?de:void 0},i.a.createElement(ue.Provider,{value:t},"function"==typeof this.props.children?this.props.children(t):this.props.children))},t}(a.PureComponent);he.propTypes={fullscreenEnabled:o.a.bool.isRequired,children:o.a.oneOfType([o.a.node,o.a.func]).isRequired},he.defaultProps={fullscreenEnabled:!0};var fe=he;function pe(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var me=function(e,t){var n={},r=e.displayName||e.name;function s(s){return i.a.createElement(ue.Consumer,null,function(o){return i.a.createElement(d.Consumer,null,function(i){var l=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){pe(e,t,n[t])})}return e}({},s),u=t,c=Array.isArray(u),d=0;for(u=c?u:u[Symbol.iterator]();;){var h;if(c){if(d>=u.length)break;h=u[d++]}else{if((d=u.next()).done)break;h=d.value}var f=h;i.hasOwnProperty(f)?l[f]=i[f]:o.hasOwnProperty(f)?l[f]=o[f]:n[f]||(y("Prop '"+f+"' for component "+r+" not found in playerContext or fullscreenContext."),n[f]=!0)}return Object(a.createElement)(e,l)})})}return r&&(s.displayName="PlayerContextFilter("+r+")"),s};n.d(t,"PlayerContextConsumer",function(){return ge}),n.d(t,"FullscreenContextConsumer",function(){return ye}),n.d(t,"PlayerContextProvider",function(){return ne}),n.d(t,"PlayerContextGroup",function(){return oe}),n.d(t,"FullscreenContextProvider",function(){return fe}),n.d(t,"playerContextFilter",function(){return me}),n.d(t,"PlayerPropTypes",function(){return r}),n.d(t,"logError",function(){return g}),n.d(t,"logWarning",function(){return y}),n.d(t,"convertToNumberWithinIntervalBounds",function(){return W}),n.d(t,"isPlaylistValid",function(){return L}),n.d(t,"repeatStrategyOptions",function(){return p});var ge=d.Consumer,ye=ue.Consumer}])});
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("prop-types"),require("react")):"function"==typeof define&&define.amd?define(["prop-types","react"],t):"object"==typeof exports?exports.cassetteCore=t(require("prop-types"),require("react")):e.cassetteCore=t(e.PropTypes,e.React)}("undefined"!=typeof self?self:this,function(e,t){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var a=t[r]={i:r,l:!1,exports:{}};return e[r].call(a.exports,a,a.exports,n),a.l=!0,a.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var a in e)n.d(r,a,function(t){return e[t]}.bind(null,a));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="/dist",n(n.s=3)}([function(t,n){t.exports=e},function(e,n){e.exports=t},function(e,t,n){"use strict";e.exports=function(e,t,n){if("function"==typeof Array.prototype.findIndex)return e.findIndex(t,n);if("function"!=typeof t)throw new TypeError("predicate must be a function");var r=Object(e),a=r.length;if(0===a)return-1;for(var i=0;i<a;i++)if(t.call(n,r[i],i,r))return i;return-1}},function(e,t,n){"use strict";n.r(t);var r={};n.r(r),n.d(r,"controlKeyword",function(){return b}),n.d(r,"control",function(){return k}),n.d(r,"crossOriginAttribute",function(){return S}),n.d(r,"repeatStrategy",function(){return P}),n.d(r,"mediaSource",function(){return T}),n.d(r,"mediaSessionAction",function(){return w}),n.d(r,"mediaSessionArtwork",function(){return R}),n.d(r,"track",function(){return x}),n.d(r,"progressDirection",function(){return E}),n.d(r,"seekMode",function(){return M}),n.d(r,"aspectRatio",function(){return O});var a=n(1),i=n.n(a),s=n(0),o=n.n(s),l=n(2),u=n.n(l),c=Object(a.createContext)(null);c.displayName="PlayerContext";var d=c,h=Object(a.createContext)(null);h.displayName="GroupContext";var f=h,p=["none","playlist","track"],m=console.log.bind(console),g=console.error?console.error.bind(console):m,y=console.warn?console.warn.bind(console):m;function v(e,t){var n=!1;return function(r,a,i){if(a in r){!n&&t in r&&(y("Do not define both the '"+a+"' and '"+t+"' props."),n=!0);for(var s=arguments.length,o=new Array(s>3?s-3:0),l=3;l<s;l++)o[l-3]=arguments[l];return e.isRequired.apply(e,[r,a,i].concat(o))}if(!(t in r))return new Error("If the '"+t+"' prop is not defined, '"+a+"' must be.")}}var b=o.a.oneOf(["playpause","backskip","forwardskip","volume","mute","repeat","shuffle","progress","progressdisplay","fullscreen","spacer"]),k=o.a.oneOfType([o.a.func,b]),S=o.a.oneOf(["anonymous","use-credentials"]),P=o.a.oneOf(p),T=o.a.shape({src:o.a.string.isRequired,type:o.a.string.isRequired}),w=o.a.oneOf(["play","pause","previoustrack","nexttrack","seekbackward","seekforward"]),R=o.a.shape({src:o.a.string.isRequired,sizes:o.a.string,type:o.a.string}),x=o.a.shape({url:v(o.a.string,"sources"),sources:v(o.a.arrayOf(T.isRequired),"url"),title:o.a.string.isRequired,artist:o.a.string,album:o.a.string,artwork:o.a.arrayOf(R.isRequired),meta:o.a.object}),E=o.a.oneOf(["left","right","up","down"]),M=o.a.oneOf(["paused","immediate","onrelease"]);function O(e,t){var n=e[t];if(void 0!==n)return"string"!=typeof n||2!==n.split(":").length||n.split(":").some(isNaN)?new Error("The "+t+" prop should be a string of the form 'x:y'. Example: 16:9"):void 0}var C="loopchange",I="srcrequest";var _=function(e){return void 0===e&&(e=document.createElement("media")),new MutationObserver(function(){e.dispatchEvent(new Event(C))}).observe(e,{attributeFilter:["loop"]}),Object.defineProperty(e,"src",{get:function(){return e.currentSrc},set:function(t){var n=new Event(I);n.srcRequested=t,e.dispatchEvent(n)}}),e};function q(e,t,n,r){for(var a=r,i=0;i<e;i++){if(!t.length)throw q(i,n,t,a),"Moving "+e+" places was not possible!";n.push(a),a=t.pop()}return a}function F(e,t,n,r,a){var i=r;if(e.length){for(var s=1;s<=t.length;s++)if(-1!==e.indexOf(t[t.length-s]))return q(s,t,n,i);if(a){if(function(e,t){if(!e.length)return!1;for(var n=0;n<e.length;n++)if(t!==e[n])return!1;return!0}(e,i))return i;var o;do{o=e[Math.floor(Math.random()*e.length)]}while(i===o||void 0===o);return void 0!==(i=q(t.length,t,n,i))&&n.push(i),o}}}var j=function(){function e(e,t){void 0===t&&(t={}),this._list=e,this._forwardStack=[],this._backStack=[],this._currentItem=void 0,this._allowBackShuffle=Boolean(t.allowBackShuffle)}var t=e.prototype;return t.findNextItem=function(e){return void 0!==e&&this.setCurrentIndex(e),this._currentItem=F(this._list,this._forwardStack,this._backStack,this._currentItem,!0),this._currentItem},t.findPreviousItem=function(e){return void 0!==e&&this.setCurrentIndex(e),this._currentItem=F(this._list,this._backStack,this._forwardStack,this._currentItem,this._allowBackShuffle),this._currentItem},t.pickNextItem=function(e,t){if(void 0!==t&&this.setCurrentIndex(t),void 0!==this._list[e])return void 0!==this._currentItem&&this._backStack.push(this._currentItem),this._forwardStack.length=0,this._currentItem=this._list[e],this._currentItem},t.setList=function(e){this._list=e},t.setOptions=function(e){for(var t=Object.keys(e),n=0;n<t.length;n++){var r=t[n];switch(r){case"allowBackShuffle":this["_"+r]=Boolean(e[r])}}},t.setCurrentIndex=function(e){var t=this._list[e];this._currentItem!==t&&(this.clear(),this._currentItem=t)},t.clear=function(){this._forwardStack.length=0,this._backStack.length=0,this._currentItem=void 0},e}();var L=function(e){return Boolean(e&&e.length)},V=[{src:""}];var A=function(e,t){if(!L(e))return V;var n=e[t],r=n.sources,a=n.url;return r?r.length?r:V:[{src:a}]};var B=function(e,t){return u()(e,function(e){return e.sources?-1!==u()(e.sources,function(e){return e.src===t}):e.url&&t===e.url})};var D=function(e){return(e||[]).map(function(t,n){return A(e,n)[0].src})};var N=function(e){for(var t=Array(e.length),n=0;n<e.length;n++)t[n]={start:e.start(n),end:e.end(n)};return t};var z=function(e,t){return e?"track":t?"playlist":"none"};var W=function(e,t,n){return t="number"==typeof t?t:-1/0,n="number"==typeof n?n:1/0,Math.max(t,Math.min(e,n))};var U=function(e,t,n){var r=t.getContext("2d"),a=null,i=null,s=null,o=null;return a=requestAnimationFrame(function l(){var u=e.videoWidth,c=e.videoHeight,d=e,h=u,f=c,p=u,m=c,g=!0;p&&m||!o||(d=o,h=o.naturalWidth,f=o.naturalHeight,p=o.naturalWidth,m=o.naturalHeight,g=!1),i&&s?(p=i,m=s):i?(p=i,m=i/h*f):s&&(m=s,p=s/f*h),t.width===p&&t.height===m||(t.width=p,t.height=m),r.drawImage(d,0,0,p,m),n&&n(r,g),a=requestAnimationFrame(l)}),{endStream:function(){cancelAnimationFrame(a)},setCanvasSize:function(e,t){i=e||null,s=t||null},setPlaceholderImage:function(e){o=e||null}}};function H(){return(H=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function G(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){K(e,t,n[t])})}return e}function K(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function J(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}function Q(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function X(e){if(g(e),"NotAllowedError"===e.name){var t="Media playback failed at "+(new Date).toLocaleTimeString()+"! (Perhaps autoplay is disabled in this browser.)";y(t)}}var Y=["previoustrack","nexttrack","seekbackward","seekforward"],Z={paused:!0,currentTime:0,seekPreviewTime:0,seekInProgress:!1,awaitingResumeOnSeekComplete:!1,duration:0,bufferedRanges:[],playedRanges:[],seekableRanges:[],stalled:!1,awaitingPlay:!1};function $(e,t,n){void 0===n&&(n=!0);var r=e.activeTrackIndex!==t;return{activeTrackIndex:t,trackLoading:r,currentTime:0,loop:!r&&e.loop,awaitingPlay:Boolean(n),paused:!n}}var ee=function(e){function t(t){var n;return(n=e.call(this,t)||this).state=G({},Z,{activeTrackIndex:W(t.startingTrackIndex,0),trackLoading:L(t.playlist),currentTime:W(t.startingTime,0),volume:W(t.defaultVolume,0,1),muted:t.defaultMuted,loop:"track"===t.defaultRepeatStrategy,cycle:"playlist"===t.defaultRepeatStrategy,shuffle:t.defaultShuffle,playbackRate:t.defaultPlaybackRate,setVolumeInProgress:!1,awaitingPlay:t.autoplay&&L(t.playlist),__playlist__:t.playlist},t.initialStateSnapshot?function(e,t){var n=e.__unstable__,r=n.paused,a=n.currentTime,i=n.activeTrackIndex,s=n.volume,o=n.muted,l=n.loop,u=n.cycle,c=n.shuffle,d=n.playbackRate,h=n.activeTrackSrc,f={};L(t.playlist)&&"boolean"==typeof r&&(f.awaitingPlay=!r),"number"==typeof s&&s>=0&&s<=1&&(f.volume=s),"boolean"==typeof o&&(f.muted=o),"boolean"==typeof l&&(f.loop=l),"boolean"==typeof u&&(f.cycle=u),"boolean"==typeof c&&(f.shuffle=c),"number"==typeof d&&(f.playbackRate=d);var p=!1;if("string"==typeof h&&"number"==typeof i&&i>=0)if(h===A(t.playlist,i)[0].src)f.activeTrackIndex=i,p=!0;else{var m=B(t.playlist,h);-1!==m&&(f.activeTrackIndex=m,p=!0)}return p&&"number"==typeof a&&a>=0&&(f.currentTime=a),f}(t.initialStateSnapshot,t):{}),n.lastStableVolume=n.state.volume,n.shuffler=new j(D(t.playlist),{allowBackShuffle:t.allowBackShuffle}),n.media=null,n.setMediaElementRef=n.setMediaElementRef.bind(Q(n)),n.togglePause=n.togglePause.bind(Q(n)),n.selectTrackIndex=n.selectTrackIndex.bind(Q(n)),n.forwardSkip=n.forwardSkip.bind(Q(n)),n.backSkip=n.backSkip.bind(Q(n)),n.seekPreview=n.seekPreview.bind(Q(n)),n.seekComplete=n.seekComplete.bind(Q(n)),n.setVolume=n.setVolume.bind(Q(n)),n.setVolumeComplete=n.setVolumeComplete.bind(Q(n)),n.toggleMuted=n.toggleMuted.bind(Q(n)),n.toggleShuffle=n.toggleShuffle.bind(Q(n)),n.setRepeatStrategy=n.setRepeatStrategy.bind(Q(n)),n.setPlaybackRate=n.setPlaybackRate.bind(Q(n)),n.pipeVideoStreamToCanvas=n.pipeVideoStreamToCanvas.bind(Q(n)),n.handleMediaPlay=n.handleMediaPlay.bind(Q(n)),n.handleMediaPause=n.handleMediaPause.bind(Q(n)),n.handleMediaSrcrequest=n.handleMediaSrcrequest.bind(Q(n)),n.handleMediaEnded=n.handleMediaEnded.bind(Q(n)),n.handleMediaStalled=n.handleMediaStalled.bind(Q(n)),n.handleMediaCanplaythrough=n.handleMediaCanplaythrough.bind(Q(n)),n.handleMediaTimeupdate=n.handleMediaTimeupdate.bind(Q(n)),n.handleMediaLoadedmetadata=n.handleMediaLoadedmetadata.bind(Q(n)),n.handleMediaVolumechange=n.handleMediaVolumechange.bind(Q(n)),n.handleMediaDurationchange=n.handleMediaDurationchange.bind(Q(n)),n.handleMediaProgress=n.handleMediaProgress.bind(Q(n)),n.handleMediaLoopchange=n.handleMediaLoopchange.bind(Q(n)),n.handleMediaRatechange=n.handleMediaRatechange.bind(Q(n)),n}J(t,e);var n=t.prototype;return n.componentDidMount=function(){var e=this,t=this.media=_(this.media);0!==t.readyState&&(t.currentTime=this.state.currentTime),t.volume=this.state.volume,t.muted=this.state.muted,t.defaultPlaybackRate=this.props.defaultPlaybackRate,t.playbackRate=this.state.playbackRate,t.addEventListener("srcrequest",this.handleMediaSrcrequest),t.addEventListener("loopchange",this.handleMediaLoopchange),this.state.awaitingPlay&&(this.setState({awaitingPlay:!1}),this.delayTimeout=setTimeout(function(){e.togglePause(!1)},1e3*this.props.autoplayDelayInSeconds))},t.getDerivedStateFromProps=function(e,t){var n=e.playlist;if(n===t.__playlist__)return null;var r={__playlist__:n};if(!L(n))return G({},Z,r,{activeTrackIndex:0,trackLoading:!1});var a=A(t.__playlist__,t.activeTrackIndex),i=A(n,t.activeTrackIndex);if(a[0].src===i[0].src)return r;var s=B(n,a[0].src);return G({},r,-1!==s?{activeTrackIndex:s}:$(t,0,!1))},n.componentDidUpdate=function(e,t){var n=this;this.media.defaultPlaybackRate=this.props.defaultPlaybackRate,this.shuffler.setList(D(this.props.playlist)),this.shuffler.setOptions({allowBackShuffle:this.props.allowBackShuffle});var r=A(e.playlist,t.activeTrackIndex),a=A(this.props.playlist,this.state.activeTrackIndex);r[0].src!==a[0].src&&(this.media.load(),this.state.shuffle||this.shuffler.clear()),e===this.props||this.media.paused||this.stealMediaSession(),this.state.awaitingPlay&&(this.setState({awaitingPlay:!1}),setTimeout(function(){n.togglePause(!1)})),clearTimeout(this.snapshotUpdateTimeout),this.snapshotUpdateTimeout=setTimeout(function(){n.props.onStateSnapshot&&n.props.onStateSnapshot(function(e){var t=e.paused,n=e.currentTime,r=e.activeTrackIndex,a=e.volume,i=e.muted,s=e.loop,o=e.cycle,l=e.shuffle,u=e.playbackRate,c=e.__playlist__;return{__unstable__:{paused:t,currentTime:n,activeTrackIndex:r,volume:a,muted:i,loop:s,cycle:o,shuffle:l,playbackRate:u,activeTrackSrc:L(c)?A(c,r)[0].src:null}}}(n.state))},100)},n.componentWillUnmount=function(){var e=this.media;e.removeEventListener("srcrequest",this.handleMediaSrcrequest),e.removeEventListener("loopchange",this.handleMediaLoopchange),clearTimeout(this.gapLengthTimeout),clearTimeout(this.delayTimeout)},n.setMediaElementRef=function(e){this.media=e,"function"==typeof this.props.mediaElementRef&&this.props.mediaElementRef(e)},n.stealMediaSession=function(){var e=this;window.MediaSession&&navigator.mediaSession instanceof MediaSession&&(navigator.mediaSession.metadata=new MediaMetadata(this.props.playlist[this.state.activeTrackIndex]),Y.map(function(t){if(-1===e.props.supportedMediaSessionActions.indexOf(t))return null;var n=e.props.mediaSessionSeekLengthInSeconds;switch(t){case"play":return e.togglePause.bind(e,!1);case"pause":return e.togglePause.bind(e,!0);case"previoustrack":return e.backSkip;case"nexttrack":return e.forwardSkip;case"seekbackward":return function(){return e.media.currentTime-=n};case"seekforward":return function(){return e.media.currentTime+=n};default:return}}).forEach(function(e,t){navigator.mediaSession.setActionHandler(Y[t],e)}))},n.pipeVideoStreamToCanvas=function(e,t){return U(this.media,e,t)},n.handleMediaPlay=function(){this.setState(function(e){return!1===e.paused?null:{paused:!1}}),this.stealMediaSession()},n.handleMediaPause=function(){this.setState(function(e){return!0===e.paused?null:{paused:!0}})},n.handleMediaSrcrequest=function(e){var t=this.props.playlist,n=A(t,this.state.activeTrackIndex);if(-1===u()(n,function(t){return t.src===e.srcRequested})){var r=B(t,e.srcRequested);-1!==r?this.selectTrackIndex(r):g("Source '"+e.srcRequested+"' does not exist in the loaded playlist. Make sure you've updated the 'playlist' prop to PlayerContextProvider before you select this track!")}},n.handleMediaEnded=function(){if(!this.state.seekInProgress){clearTimeout(this.gapLengthTimeout);var e=this.props,t=e.playlist,n=e.loadFirstTrackOnPlaylistComplete;if(L(t)){var r=this.state,a=r.cycle,i=r.activeTrackIndex;!a&&i+1>=t.length?n&&this.goToTrack(0,!1):this.gapLengthTimeout=setTimeout(this.forwardSkip,1e3*this.props.gapLengthInSeconds)}}},n.handleMediaStalled=function(){this.setState(function(e){return!0===e.stalled?null:{stalled:!0}})},n.handleMediaCanplaythrough=function(){this.setState(function(e){return!1===e.stalled?null:{stalled:!1}})},n.handleMediaTimeupdate=function(){var e=this.media,t=e.currentTime,n=e.played;this.setState({currentTime:t,playedRanges:N(n)})},n.handleMediaLoadedmetadata=function(){this.media.currentTime!==this.state.currentTime&&(this.media.currentTime=this.state.currentTime),this.setState(function(e){return!1===e.trackLoading?null:{trackLoading:!1}})},n.handleMediaVolumechange=function(){var e=this.media,t=e.volume,n=e.muted;this.setState({volume:t,muted:n})},n.handleMediaDurationchange=function(){var e=this.media.duration;this.setState({duration:e})},n.handleMediaProgress=function(){this.setState({bufferedRanges:N(this.media.buffered),seekableRanges:N(this.media.seekable)})},n.handleMediaLoopchange=function(){var e=this.media.loop;this.setState(function(t){return t.loop===e?null:{loop:e}})},n.handleMediaRatechange=function(){var e=this.media.playbackRate;this.setState(function(t){return t.playbackRate===e?null:{playbackRate:e}})},n.togglePause=function(e){if(clearTimeout(this.delayTimeout),"boolean"==typeof e?e:!this.state.paused)this.media.pause();else if(this.media.currentSrc)try{var t=this.media.play();t&&"function"==typeof t.catch&&t.catch(function(e){if("AbortError"!==e.name)return Promise.reject(e)}).catch(X)}catch(e){X(e)}},n.goToTrack=function(e,t){void 0===t&&(t=!0),clearTimeout(this.delayTimeout),this.setState(function(n){return $(n,e,t)})},n.selectTrackIndex=function(e){var t=this.props.playlist;L(t)&&(e<0||e>t.length?y("Playlist index "+e+" is out of bounds!"):(this.state.shuffle&&this.shuffler.pickNextItem(e,this.state.activeTrackIndex),this.goToTrack(e)))},n.backSkip=function(){var e=this.props,t=e.playlist,n=e.stayOnBackSkipThreshold,r=this.media,a=this.state,i=a.cycle,s=a.activeTrackIndex,o=a.shuffle;if(!L(t)||r.currentTime>=n||!i&&s<1)r.currentTime=0;else{var l;if(o){var u=this.shuffler.findPreviousItem(s);if(void 0===u)return void(r.currentTime=0);l=B(t,u)}else(l=s-1)<0&&(l=t.length-1);this.goToTrack(l)}},n.forwardSkip=function(){var e,t=this.props.playlist,n=this.state,r=n.cycle,a=n.activeTrackIndex,i=n.shuffle;!L(t)||!r&&a+1>=t.length||(i?e=B(t,this.shuffler.findNextItem(a)):(e=a+1)>=t.length&&(e=0),this.goToTrack(e))},n.seekPreview=function(e){if(L(this.props.playlist)){var t={seekPreviewTime:e,seekInProgress:!0};switch(this.props.seekMode){case"paused":this.setState(function(e){var n=e.paused,r=e.awaitingResumeOnSeekComplete;return G({},t,{awaitingResumeOnSeekComplete:!n||r})}),this.media.currentTime=e,this.state.paused||this.togglePause(!0);break;case"immediate":this.setState(function(e){var n=e.paused,r=e.awaitingResumeOnSeekComplete;return G({},t,{awaitingResumeOnSeekComplete:!n||r})}),this.media.currentTime=e,this.state.awaitingResumeOnSeekComplete&&!this.media.ended&&this.togglePause(!1);break;case"onrelease":this.setState(t)}}},n.seekComplete=function(){var e=this.state,t=e.seekPreviewTime,n=e.awaitingResumeOnSeekComplete,r={seekInProgress:!1,awaitingResumeOnSeekComplete:!1};isNaN(t)?this.setState(r):(this.setState(G({},r,{currentTime:t})),this.media.currentTime=t,n&&(this.media.ended?this.forwardSkip():this.togglePause(!1)))},n.setVolume=function(e){this.state.setVolumeInProgress||this.setState({setVolumeInProgress:!0});var t=W(e,0,1);this.media.muted=0===t,this.media.volume=t},n.setVolumeComplete=function(){this.setState({setVolumeInProgress:!1}),this.media.muted||(this.lastStableVolume=this.media.volume)},n.toggleMuted=function(e){var t="boolean"==typeof e?e:!this.state.muted;this.media.muted=t,t||(this.media.volume=this.lastStableVolume)},n.toggleShuffle=function(e){var t="boolean"==typeof e?e:!this.state.shuffle;this.setState({shuffle:t})},n.setRepeatStrategy=function(e){-1!==p.indexOf(e)?this.setState(function(){switch(e){case"track":return{loop:!0};case"playlist":return{loop:!1,cycle:!0};case"none":return{loop:!1,cycle:!1};default:return null}}):y('repeatStrategy "'+e+'" is not one of: '+p.split(", ")+".")},n.setPlaybackRate=function(e){this.media.playbackRate=e},n.getControlProps=function(){var e=this.props,t=this.state,n={playlist:e.playlist,activeTrackIndex:t.activeTrackIndex,trackLoading:t.trackLoading,paused:t.paused,currentTime:t.currentTime,seekPreviewTime:t.seekPreviewTime,seekInProgress:t.seekInProgress,awaitingResumeOnSeekComplete:t.awaitingResumeOnSeekComplete,duration:t.duration,bufferedRanges:t.bufferedRanges,playedRanges:t.playedRanges,seekableRanges:t.seekableRanges,volume:t.volume,muted:t.muted,shuffle:t.shuffle,stalled:t.stalled,playbackRate:t.playbackRate,setVolumeInProgress:t.setVolumeInProgress,repeatStrategy:z(t.loop,t.cycle),pipeVideoStreamToCanvas:this.pipeVideoStreamToCanvas,onTogglePause:this.togglePause,onSelectTrackIndex:this.selectTrackIndex,onBackSkip:this.backSkip,onForwardSkip:this.forwardSkip,onSeekPreview:this.seekPreview,onSeekComplete:this.seekComplete,onSetVolume:this.setVolume,onSetVolumeComplete:this.setVolumeComplete,onToggleMuted:this.toggleMuted,onToggleShuffle:this.toggleShuffle,onSetRepeatStrategy:this.setRepeatStrategy,onSetPlaybackRate:this.setPlaybackRate};if(this.playerContext)for(var r=Object.keys(this.playerContext),a=0;a<r.length;a++){var i=r[a];if(n[i]!==this.playerContext[i]){this.playerContext=n;break}}else this.playerContext=n;return this.playerContext},n.render=function(){var e=A(this.props.playlist,this.state.activeTrackIndex),t=this.getControlProps();return i.a.createElement(a.Fragment,null,i.a.createElement("video",{hidden:!0,ref:this.setMediaElementRef,crossOrigin:this.props.crossOrigin,preload:"metadata",loop:this.state.loop,onPlay:this.handleMediaPlay,onPause:this.handleMediaPause,onEnded:this.handleMediaEnded,onStalled:this.handleMediaStalled,onCanPlayThrough:this.handleMediaCanplaythrough,onTimeUpdate:this.handleMediaTimeupdate,onLoadedMetadata:this.handleMediaLoadedmetadata,onVolumeChange:this.handleMediaVolumechange,onDurationChange:this.handleMediaDurationchange,onProgress:this.handleMediaProgress,onRateChange:this.handleMediaRatechange},e.map(function(e){return i.a.createElement("source",{key:e.src,src:e.src,type:e.type})})),i.a.createElement(d.Provider,{value:t},"function"==typeof this.props.children?this.props.children(t):this.props.children))},t}(a.Component);ee.propTypes={playlist:o.a.arrayOf(x.isRequired).isRequired,autoplay:o.a.bool.isRequired,autoplayDelayInSeconds:o.a.number.isRequired,gapLengthInSeconds:o.a.number.isRequired,crossOrigin:S,defaultVolume:o.a.number.isRequired,defaultMuted:o.a.bool,defaultRepeatStrategy:P.isRequired,defaultShuffle:o.a.bool,defaultPlaybackRate:o.a.number.isRequired,startingTime:o.a.number.isRequired,startingTrackIndex:o.a.number.isRequired,loadFirstTrackOnPlaylistComplete:o.a.bool,seekMode:M.isRequired,maintainPlaybackRate:o.a.bool.isRequired,allowBackShuffle:o.a.bool,stayOnBackSkipThreshold:o.a.number.isRequired,supportedMediaSessionActions:o.a.arrayOf(w.isRequired).isRequired,mediaSessionSeekLengthInSeconds:o.a.number.isRequired,mediaElementRef:o.a.func,initialStateSnapshot:o.a.shape({__unstable__:o.a.object.isRequired}),onStateSnapshot:o.a.func,children:o.a.oneOfType([o.a.node,o.a.func]).isRequired},ee.defaultProps={autoplay:!1,autoplayDelayInSeconds:0,gapLengthInSeconds:0,defaultVolume:1,defaultMuted:!1,defaultRepeatStrategy:"playlist",defaultShuffle:!1,defaultPlaybackRate:1,startingTime:0,startingTrackIndex:0,loadFirstTrackOnPlaylistComplete:!0,seekMode:"immediate",maintainPlaybackRate:!1,allowBackShuffle:!1,stayOnBackSkipThreshold:5,supportedMediaSessionActions:["play","pause","previoustrack","nexttrack"],mediaSessionSeekLengthInSeconds:10};var te=function(e){function t(){return e.apply(this,arguments)||this}J(t,e);var n=t.prototype;return n.componentDidMount=function(){this.props.groupContext.registerMediaElement(this.mediaElement)},n.componentWillUnmount=function(){this.props.groupContext.unregisterMediaElement(this.mediaElement)},n.render=function(){var e=this,t=this.props,n=t.groupContext,r=t.props,a=r.mediaElementRef,s=function(e,t){if(null==e)return{};var n,r,a={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(a[n]=e[n]);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(r=0;r<s.length;r++)n=s[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}(r,["mediaElementRef"]);return i.a.createElement(ee,H({},n.groupProps,s,{mediaElementRef:function(t){a&&a(t),e.mediaElement=t}}))},t}(a.Component);te.propTypes={groupContext:o.a.shape({groupProps:o.a.object.isRequired,registerMediaElement:o.a.func.isRequired,unregisterMediaElement:o.a.func.isRequired}).isRequired};var ne=function(e){return i.a.createElement(f.Consumer,null,function(t){return t?Object(a.createElement)(te,{groupContext:t,props:e}):Object(a.createElement)(ee,e)})};function re(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){ae(e,t,n[t])})}return e}function ae(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ie(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}var se=function(e){function t(t){var n;return(n=e.call(this,t)||this).registerMediaElement=n.registerMediaElement.bind(ie(n)),n.unregisterMediaElement=n.unregisterMediaElement.bind(ie(n)),n.enforceOneMediaSourceOnly=n.enforceOneMediaSourceOnly.bind(ie(n)),n.mediaElements=[],n}!function(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}(t,e);var n=t.prototype;return n.registerMediaElement=function(e){this.mediaElements=this.mediaElements.concat(e),e.addEventListener("play",this.enforceOneMediaSourceOnly,!0),e.addEventListener("volumechange",this.enforceOneMediaSourceOnly,!0)},n.unregisterMediaElement=function(e){this.mediaElements=this.mediaElements.filter(function(t){return e!==t}),e.removeEventListener("play",this.enforceOneMediaSourceOnly,!0),e.removeEventListener("volumechange",this.enforceOneMediaSourceOnly,!0)},n.enforceOneMediaSourceOnly=function(e){var t=e.target,n=t.paused,r=t.muted;if(!n&&!r){var a=this.mediaElements,i=Array.isArray(a),s=0;for(a=i?a:a[Symbol.iterator]();;){var o;if(i){if(s>=a.length)break;o=a[s++]}else{if((s=a.next()).done)break;o=s.value}var l=o;l===t||l.muted||l.pause()}}},n.render=function(){var e=this;return i.a.createElement(f.Consumer,null,function(t){var n=t?re({},t,{groupProps:re({},t.groupProps,e.props)}):{groupProps:e.props,registerMediaElement:e.registerMediaElement,unregisterMediaElement:e.unregisterMediaElement};return i.a.createElement(f.Provider,{value:n},e.props.children)})},t}(a.Component);se.propTypes={children:o.a.node.isRequired};var oe=se,le=Object(a.createContext)({fullscreen:!1,requestFullscreen:function(){y("Fullscreen request ignored since there is no FullscreenContextProvider ancestor.")},requestExitFullscreen:function(){y("Exit fullscreen request ignored since there is no FullscreenContextProvider ancestor.")}});le.displayName="FullscreenContext";var ue=le;function ce(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}var de={width:"100%",height:"100%"},he=function(e){function t(t){var n;return(n=e.call(this,t)||this).state={fullscreen:!1},n.requestFullscreen=n.requestFullscreen.bind(ce(n)),n.requestExitFullscreen=n.requestExitFullscreen.bind(ce(n)),n.handleFullscreenChange=n.handleFullscreenChange.bind(ce(n)),n.fullscreenElement=null,n}!function(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}(t,e);var n=t.prototype;return n.componentDidMount=function(){document.addEventListener("fullscreenchange",this.handleFullscreenChange),document.addEventListener("webkitfullscreenchange",this.handleFullscreenChange),document.addEventListener("mozfullscreenchange",this.handleFullscreenChange),document.addEventListener("msfullscreenchange",this.handleFullscreenChange)},n.componentWillUnmount=function(){document.removeEventListener("fullscreenchange",this.handleFullscreenChange),document.removeEventListener("webkitfullscreenchange",this.handleFullscreenChange),document.removeEventListener("mozfullscreenchange",this.handleFullscreenChange),document.removeEventListener("msfullscreenchange",this.handleFullscreenChange)},n.requestFullscreen=function(){this.props.fullscreenEnabled&&(this.fullscreenElement.requestFullscreen?this.fullscreenElement.requestFullscreen():this.fullscreenElement.webkitRequestFullscreen?this.fullscreenElement.webkitRequestFullscreen():this.fullscreenElement.mozRequestFullscreen?this.fullscreenElement.mozRequestFullScreen():this.fullscreenElement.msRequestFullscreen&&this.fullscreenElement.msRequestFullscreen())},n.requestExitFullscreen=function(){document.exitFullscreen?document.exitFullscreen():document.webkitExitFullscreen?document.webkitExitFullscreen():document.webkitCancelFullScreen?document.webkitCancelFullScreen():document.mozCancelFullScreen?document.mozCancelFullScreen():document.msExitFullscreen&&document.mozExitFullscreen()},n.handleFullscreenChange=function(){var e=document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement;this.setState({fullscreen:e===this.fullscreenElement})},n.getFullscreenContext=function(){var e={fullscreen:this.state.fullscreen,requestFullscreen:this.requestFullscreen,requestExitFullscreen:this.requestExitFullscreen};return this.fullscreenContext&&e.fullscreen===this.fullscreenContext.fullscreen?this.fullscreenContext:this.fullscreenContext=e},n.render=function(){var e=this,t=this.getFullscreenContext();return i.a.createElement("div",{ref:function(t){return e.fullscreenElement=t},style:this.state.fullscreen?de:void 0},i.a.createElement(ue.Provider,{value:t},"function"==typeof this.props.children?this.props.children(t):this.props.children))},t}(a.PureComponent);he.propTypes={fullscreenEnabled:o.a.bool.isRequired,children:o.a.oneOfType([o.a.node,o.a.func]).isRequired},he.defaultProps={fullscreenEnabled:!0};var fe=he;function pe(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var me=function(e,t){var n={},r=e.displayName||e.name;function s(s){return i.a.createElement(ue.Consumer,null,function(o){return i.a.createElement(d.Consumer,null,function(i){var l=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){pe(e,t,n[t])})}return e}({},s),u=t,c=Array.isArray(u),d=0;for(u=c?u:u[Symbol.iterator]();;){var h;if(c){if(d>=u.length)break;h=u[d++]}else{if((d=u.next()).done)break;h=d.value}var f=h;i.hasOwnProperty(f)?l[f]=i[f]:o.hasOwnProperty(f)?l[f]=o[f]:n[f]||(y("Prop '"+f+"' for component "+r+" not found in playerContext or fullscreenContext."),n[f]=!0)}return Object(a.createElement)(e,l)})})}return r&&(s.displayName="PlayerContextFilter("+r+")"),s};n.d(t,"PlayerContextConsumer",function(){return ge}),n.d(t,"FullscreenContextConsumer",function(){return ye}),n.d(t,"PlayerContextProvider",function(){return ne}),n.d(t,"PlayerContextGroup",function(){return oe}),n.d(t,"FullscreenContextProvider",function(){return fe}),n.d(t,"playerContextFilter",function(){return me}),n.d(t,"PlayerPropTypes",function(){return r}),n.d(t,"logError",function(){return g}),n.d(t,"logWarning",function(){return y}),n.d(t,"convertToNumberWithinIntervalBounds",function(){return W}),n.d(t,"isPlaylistValid",function(){return L}),n.d(t,"repeatStrategyOptions",function(){return p});var ge=d.Consumer,ye=ue.Consumer}])});
//# sourceMappingURL=cassette-core.min.js.map

@@ -1,2 +0,2 @@

!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("prop-types"),require("react")):"function"==typeof define&&define.amd?define(["prop-types","react"],t):"object"==typeof exports?exports.cassetteCore=t(require("prop-types"),require("react")):e.cassetteCore=t(e.PropTypes,e.React)}(window,function(e,t){return function(e){var t={};function n(s){if(t[s])return t[s].exports;var i=t[s]={i:s,l:!1,exports:{}};return e[s].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,s){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:s})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var s=Object.create(null);if(n.r(s),Object.defineProperty(s,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(s,i,function(t){return e[t]}.bind(null,i));return s},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="/dist",n(n.s=3)}([function(t,n){t.exports=e},function(e,n){e.exports=t},function(e,t,n){"use strict";e.exports=function(e,t,n){if("function"==typeof Array.prototype.findIndex)return e.findIndex(t,n);if("function"!=typeof t)throw new TypeError("predicate must be a function");var s=Object(e),i=s.length;if(0===i)return-1;for(var a=0;a<i;a++)if(t.call(n,s[a],a,s))return a;return-1}},function(e,t,n){"use strict";n.r(t);var s={};n.r(s),n.d(s,"controlKeyword",function(){return k}),n.d(s,"control",function(){return S}),n.d(s,"crossOriginAttribute",function(){return v}),n.d(s,"repeatStrategy",function(){return P}),n.d(s,"mediaSource",function(){return T}),n.d(s,"mediaSessionAction",function(){return x}),n.d(s,"mediaSessionArtwork",function(){return w}),n.d(s,"track",function(){return M}),n.d(s,"progressDirection",function(){return R}),n.d(s,"seekMode",function(){return E}),n.d(s,"aspectRatio",function(){return C});var i=n(1),a=n.n(i),r=n(0),o=n.n(r),l=n(2),u=n.n(l);const c=Object(i.createContext)(null);c.displayName="PlayerContext";var d=c;const h=Object(i.createContext)(null);h.displayName="GroupContext";var p=h;const m=["none","playlist","track"],f=console.log.bind(console),g=console.error?console.error.bind(console):f,y=console.warn?console.warn.bind(console):f;function b(e,t){let n=!1;return function(s,i,a,...r){return i in s?(!n&&t in s&&(y(`Do not define both the '${i}' and '${t}' props.`),n=!0),e.isRequired(s,i,a,...r)):t in s?void 0:new Error(`If the '${t}' prop is not defined, '${i}' must be.`)}}const k=o.a.oneOf(["playpause","backskip","forwardskip","volume","mute","repeat","shuffle","progress","progressdisplay","fullscreen","spacer"]),S=o.a.oneOfType([o.a.func,k]),v=o.a.oneOf(["anonymous","use-credentials"]),P=o.a.oneOf(m),T=o.a.shape({src:o.a.string.isRequired,type:o.a.string.isRequired}),x=o.a.oneOf(["play","pause","previoustrack","nexttrack","seekbackward","seekforward"]),w=o.a.shape({src:o.a.string.isRequired,sizes:o.a.string,type:o.a.string}),M=o.a.shape({url:b(o.a.string,"sources"),sources:b(o.a.arrayOf(T.isRequired),"url"),title:o.a.string.isRequired,artist:o.a.string,album:o.a.string,artwork:o.a.arrayOf(w.isRequired),meta:o.a.object}),R=o.a.oneOf(["left","right","up","down"]),E=o.a.oneOf(["paused","immediate","onrelease"]);function C(e,t){const n=e[t];if(void 0!==n)return"string"!=typeof n||2!==n.split(":").length||n.split(":").some(isNaN)?new Error(`The ${t} prop should be a string of the form 'x:y'. Example: 16:9`):void 0}const O="loopchange",I="srcrequest";var q=function(e=document.createElement("media")){return new MutationObserver(()=>{e.dispatchEvent(new Event(O))}).observe(e,{attributeFilter:["loop"]}),Object.defineProperty(e,"src",{get:()=>e.currentSrc,set:t=>{const n=new Event(I);n.srcRequested=t,e.dispatchEvent(n)}}),e};function _(e,t,n,s){let i=s;for(let s=0;s<e;s++){if(!t.length)throw _(s,n,t,i),`Moving ${e} places was not possible!`;n.push(i),i=t.pop()}return i}function F(e,t,n,s,i){let a,r=s;if(e.length){for(let s=1;s<=t.length;s++)if(-1!==e.indexOf(t[t.length-s]))return _(s,t,n,r);if(i){if(function(e,t){if(!e.length)return!1;for(let n=0;n<e.length;n++)if(t!==e[n])return!1;return!0}(e,r))return r;do{a=e[Math.floor(Math.random()*e.length)]}while(r===a||void 0===a);return void 0!==(r=_(t.length,t,n,r))&&n.push(r),a}}}var j=class{constructor(e,t={}){this._list=e,this._forwardStack=[],this._backStack=[],this._currentItem=void 0,this._allowBackShuffle=Boolean(t.allowBackShuffle)}findNextItem(e){return void 0!==e&&this.setCurrentIndex(e),this._currentItem=F(this._list,this._forwardStack,this._backStack,this._currentItem,!0),this._currentItem}findPreviousItem(e){return void 0!==e&&this.setCurrentIndex(e),this._currentItem=F(this._list,this._backStack,this._forwardStack,this._currentItem,this._allowBackShuffle),this._currentItem}pickNextItem(e,t){if(void 0!==t&&this.setCurrentIndex(t),void 0!==this._list[e])return void 0!==this._currentItem&&this._backStack.push(this._currentItem),this._forwardStack.length=0,this._currentItem=this._list[e],this._currentItem}setList(e){this._list=e}setOptions(e){for(const t of Object.keys(e))switch(t){case"allowBackShuffle":this[`_${t}`]=Boolean(e[t])}}setCurrentIndex(e){const t=this._list[e];this._currentItem!==t&&(this.clear(),this._currentItem=t)}clear(){this._forwardStack.length=0,this._backStack.length=0,this._currentItem=void 0}};var L=function(e){return Boolean(e&&e.length)};const V=[{src:""}];var B=function(e,t){if(!L(e))return V;const n=e[t],s=n.sources,i=n.url;return s?s.length?s:V:[{src:i}]};var D=function(e,t){return u()(e,e=>e.sources?-1!==u()(e.sources,e=>e.src===t):e.url&&t===e.url)};var N=function(e){return(e||[]).map((t,n)=>B(e,n)[0].src)};var A=function(e){const t=Array(e.length);for(let n=0;n<e.length;n++)t[n]={start:e.start(n),end:e.end(n)};return t};var z=function(e,t){return e?"track":t?"playlist":"none"};var $=function(e,t,n){return t="number"==typeof t?t:-1/0,n="number"==typeof n?n:1/0,Math.max(t,Math.min(e,n))};var W=function(e,t,n){const s=t.getContext("2d");let i=null,a=null,r=null,o=null;return i=requestAnimationFrame(function l(){const u=e.videoWidth,c=e.videoHeight;let d=e,h=u,p=c,m=u,f=c,g=!0;m&&f||!o||(d=o,h=o.naturalWidth,p=o.naturalHeight,m=o.naturalWidth,f=o.naturalHeight,g=!1),a&&r?(m=a,f=r):a?(m=a,f=a/h*p):r&&(f=r,m=r/p*h),t.width===m&&t.height===f||(t.width=m,t.height=f),s.drawImage(d,0,0,m,f),n&&n(s,g),i=requestAnimationFrame(l)}),{endStream(){cancelAnimationFrame(i)},setCanvasSize(e,t){a=e||null,r=t||null},setPlaceholderImage(e){o=e||null}}};function U(){return(U=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(e[s]=n[s])}return e}).apply(this,arguments)}function H(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},s=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(s=s.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),s.forEach(function(t){G(e,t,n[t])})}return e}function G(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function K(e){if(g(e),"NotAllowedError"===e.name){const e="Media playback failed at "+(new Date).toLocaleTimeString()+"! (Perhaps autoplay is disabled in this browser.)";y(e)}}const J=["previoustrack","nexttrack","seekbackward","seekforward"],Q=0,X={paused:!0,currentTime:0,seekPreviewTime:0,seekInProgress:!1,awaitingResumeOnSeekComplete:!1,duration:0,bufferedRanges:[],playedRanges:[],seekableRanges:[],stalled:!1,awaitingPlay:!1};function Y(e,t,n=!0){const s=e.activeTrackIndex!==t;return{activeTrackIndex:t,trackLoading:s,currentTime:0,loop:!s&&e.loop,awaitingPlay:Boolean(n),paused:!n}}class Z extends i.Component{constructor(e){super(e),this.state=H({},X,{activeTrackIndex:$(e.startingTrackIndex,0),trackLoading:L(e.playlist),currentTime:$(e.startingTime,0),volume:$(e.defaultVolume,0,1),muted:e.defaultMuted,loop:"track"===e.defaultRepeatStrategy,cycle:"playlist"===e.defaultRepeatStrategy,shuffle:e.defaultShuffle,playbackRate:e.defaultPlaybackRate,setVolumeInProgress:!1,awaitingPlay:e.autoplay&&L(e.playlist),__playlist__:e.playlist},e.initialStateSnapshot?function(e,t){const n=e.__unstable__,s=n.paused,i=n.currentTime,a=n.activeTrackIndex,r=n.volume,o=n.muted,l=n.loop,u=n.cycle,c=n.shuffle,d=n.playbackRate,h=n.activeTrackSrc,p={};L(t.playlist)&&"boolean"==typeof s&&(p.awaitingPlay=!s),"number"==typeof r&&r>=0&&r<=1&&(p.volume=r),"boolean"==typeof o&&(p.muted=o),"boolean"==typeof l&&(p.loop=l),"boolean"==typeof u&&(p.cycle=u),"boolean"==typeof c&&(p.shuffle=c),"number"==typeof d&&(p.playbackRate=d);let m=!1;if("string"==typeof h&&"number"==typeof a&&a>=0)if(h===B(t.playlist,a)[0].src)p.activeTrackIndex=a,m=!0;else{const e=D(t.playlist,h);-1!==e&&(p.activeTrackIndex=e,m=!0)}return m&&"number"==typeof i&&i>=0&&(p.currentTime=i),p}(e.initialStateSnapshot,e):{}),this.lastStableVolume=this.state.volume,this.shuffler=new j(N(e.playlist),{allowBackShuffle:e.allowBackShuffle}),this.media=null,this.setMediaElementRef=this.setMediaElementRef.bind(this),this.togglePause=this.togglePause.bind(this),this.selectTrackIndex=this.selectTrackIndex.bind(this),this.forwardSkip=this.forwardSkip.bind(this),this.backSkip=this.backSkip.bind(this),this.seekPreview=this.seekPreview.bind(this),this.seekComplete=this.seekComplete.bind(this),this.setVolume=this.setVolume.bind(this),this.setVolumeComplete=this.setVolumeComplete.bind(this),this.toggleMuted=this.toggleMuted.bind(this),this.toggleShuffle=this.toggleShuffle.bind(this),this.setRepeatStrategy=this.setRepeatStrategy.bind(this),this.setPlaybackRate=this.setPlaybackRate.bind(this),this.pipeVideoStreamToCanvas=this.pipeVideoStreamToCanvas.bind(this),this.handleMediaPlay=this.handleMediaPlay.bind(this),this.handleMediaPause=this.handleMediaPause.bind(this),this.handleMediaSrcrequest=this.handleMediaSrcrequest.bind(this),this.handleMediaEnded=this.handleMediaEnded.bind(this),this.handleMediaStalled=this.handleMediaStalled.bind(this),this.handleMediaCanplaythrough=this.handleMediaCanplaythrough.bind(this),this.handleMediaTimeupdate=this.handleMediaTimeupdate.bind(this),this.handleMediaLoadedmetadata=this.handleMediaLoadedmetadata.bind(this),this.handleMediaVolumechange=this.handleMediaVolumechange.bind(this),this.handleMediaDurationchange=this.handleMediaDurationchange.bind(this),this.handleMediaProgress=this.handleMediaProgress.bind(this),this.handleMediaLoopchange=this.handleMediaLoopchange.bind(this),this.handleMediaRatechange=this.handleMediaRatechange.bind(this)}componentDidMount(){const e=this.media=q(this.media);e.readyState!==Q&&(e.currentTime=this.state.currentTime),e.volume=this.state.volume,e.muted=this.state.muted,e.defaultPlaybackRate=this.props.defaultPlaybackRate,e.playbackRate=this.state.playbackRate,e.addEventListener("srcrequest",this.handleMediaSrcrequest),e.addEventListener("loopchange",this.handleMediaLoopchange),this.state.awaitingPlay&&(this.setState({awaitingPlay:!1}),this.delayTimeout=setTimeout(()=>{this.togglePause(!1)},1e3*this.props.autoplayDelayInSeconds))}static getDerivedStateFromProps(e,t){const n=e.playlist;if(n===t.__playlist__)return null;const s={__playlist__:n};if(!L(n))return H({},X,s,{activeTrackIndex:0,trackLoading:!1});const i=B(t.__playlist__,t.activeTrackIndex),a=B(n,t.activeTrackIndex);if(i[0].src===a[0].src)return s;const r=D(n,i[0].src);return H({},s,-1!==r?{activeTrackIndex:r}:Y(t,0,!1))}componentDidUpdate(e,t){this.media.defaultPlaybackRate=this.props.defaultPlaybackRate,this.shuffler.setList(N(this.props.playlist)),this.shuffler.setOptions({allowBackShuffle:this.props.allowBackShuffle});const n=B(e.playlist,t.activeTrackIndex),s=B(this.props.playlist,this.state.activeTrackIndex);n[0].src!==s[0].src&&(this.media.load(),this.state.shuffle||this.shuffler.clear()),e===this.props||this.media.paused||this.stealMediaSession(),this.state.awaitingPlay&&(this.setState({awaitingPlay:!1}),setTimeout(()=>{this.togglePause(!1)})),clearTimeout(this.snapshotUpdateTimeout),this.snapshotUpdateTimeout=setTimeout(()=>{this.props.onStateSnapshot&&this.props.onStateSnapshot(function(e){const t=e.paused,n=e.currentTime,s=e.activeTrackIndex,i=e.volume,a=e.muted,r=e.loop,o=e.cycle,l=e.shuffle,u=e.playbackRate,c=e.__playlist__;return{__unstable__:{paused:t,currentTime:n,activeTrackIndex:s,volume:i,muted:a,loop:r,cycle:o,shuffle:l,playbackRate:u,activeTrackSrc:L(c)?B(c,s)[0].src:null}}}(this.state))},100)}componentWillUnmount(){const e=this.media;e.removeEventListener("srcrequest",this.handleMediaSrcrequest),e.removeEventListener("loopchange",this.handleMediaLoopchange),clearTimeout(this.gapLengthTimeout),clearTimeout(this.delayTimeout)}setMediaElementRef(e){this.media=e,"function"==typeof this.props.mediaElementRef&&this.props.mediaElementRef(e)}stealMediaSession(){window.MediaSession&&navigator.mediaSession instanceof MediaSession&&(navigator.mediaSession.metadata=new MediaMetadata(this.props.playlist[this.state.activeTrackIndex]),J.map(e=>{if(-1===this.props.supportedMediaSessionActions.indexOf(e))return null;const t=this.props.mediaSessionSeekLengthInSeconds;switch(e){case"play":return this.togglePause.bind(this,!1);case"pause":return this.togglePause.bind(this,!0);case"previoustrack":return this.backSkip;case"nexttrack":return this.forwardSkip;case"seekbackward":return()=>this.media.currentTime-=t;case"seekforward":return()=>this.media.currentTime+=t;default:return}}).forEach((e,t)=>{navigator.mediaSession.setActionHandler(J[t],e)}))}pipeVideoStreamToCanvas(e,t){return W(this.media,e,t)}handleMediaPlay(){this.setState(e=>!1===e.paused?null:{paused:!1}),this.stealMediaSession()}handleMediaPause(){this.setState(e=>!0===e.paused?null:{paused:!0})}handleMediaSrcrequest(e){const t=this.props.playlist,n=B(t,this.state.activeTrackIndex);if(-1!==u()(n,t=>t.src===e.srcRequested))return;const s=D(t,e.srcRequested);-1!==s?this.selectTrackIndex(s):g(`Source '${e.srcRequested}' does not exist in the loaded playlist. `+"Make sure you've updated the 'playlist' prop to PlayerContextProvider before you select this track!")}handleMediaEnded(){if(this.state.seekInProgress)return;clearTimeout(this.gapLengthTimeout);const e=this.props,t=e.playlist,n=e.loadFirstTrackOnPlaylistComplete;if(!L(t))return;const s=this.state,i=s.cycle,a=s.activeTrackIndex;!i&&a+1>=t.length?n&&this.goToTrack(0,!1):this.gapLengthTimeout=setTimeout(this.forwardSkip,1e3*this.props.gapLengthInSeconds)}handleMediaStalled(){this.setState(e=>!0===e.stalled?null:{stalled:!0})}handleMediaCanplaythrough(){this.setState(e=>!1===e.stalled?null:{stalled:!1})}handleMediaTimeupdate(){const e=this.media,t=e.currentTime,n=e.played;this.setState({currentTime:t,playedRanges:A(n)})}handleMediaLoadedmetadata(){this.media.currentTime!==this.state.currentTime&&(this.media.currentTime=this.state.currentTime),this.setState(e=>!1===e.trackLoading?null:{trackLoading:!1})}handleMediaVolumechange(){const e=this.media,t=e.volume,n=e.muted;this.setState({volume:t,muted:n})}handleMediaDurationchange(){const e=this.media.duration;this.setState({duration:e})}handleMediaProgress(){this.setState({bufferedRanges:A(this.media.buffered),seekableRanges:A(this.media.seekable)})}handleMediaLoopchange(){const e=this.media.loop;this.setState(t=>t.loop===e?null:{loop:e})}handleMediaRatechange(){const e=this.media.playbackRate;this.setState(t=>t.playbackRate===e?null:{playbackRate:e})}togglePause(e){if(clearTimeout(this.delayTimeout),"boolean"==typeof e?e:!this.state.paused)this.media.pause();else if(this.media.currentSrc)try{const e=this.media.play();e&&"function"==typeof e.catch&&e.catch(e=>{if("AbortError"!==e.name)return Promise.reject(e)}).catch(K)}catch(e){K(e)}}goToTrack(e,t=!0){clearTimeout(this.delayTimeout),this.setState(n=>Y(n,e,t))}selectTrackIndex(e){const t=this.props.playlist;L(t)&&(e<0||e>t.length?y(`Playlist index ${e} is out of bounds!`):(this.state.shuffle&&this.shuffler.pickNextItem(e,this.state.activeTrackIndex),this.goToTrack(e)))}backSkip(){const e=this.props,t=e.playlist,n=e.stayOnBackSkipThreshold,s=this.media,i=this.state,a=i.cycle,r=i.activeTrackIndex,o=i.shuffle;if(!L(t)||s.currentTime>=n||!a&&r<1)return void(s.currentTime=0);let l;if(o){const e=this.shuffler.findPreviousItem(r);if(void 0===e)return void(s.currentTime=0);l=D(t,e)}else(l=r-1)<0&&(l=t.length-1);this.goToTrack(l)}forwardSkip(){const e=this.props.playlist,t=this.state,n=t.cycle,s=t.activeTrackIndex,i=t.shuffle;if(!L(e)||!n&&s+1>=e.length)return;let a;i?a=D(e,this.shuffler.findNextItem(s)):(a=s+1)>=e.length&&(a=0),this.goToTrack(a)}seekPreview(e){if(!L(this.props.playlist))return;const t={seekPreviewTime:e,seekInProgress:!0};switch(this.props.seekMode){case"paused":this.setState(({paused:e,awaitingResumeOnSeekComplete:n})=>H({},t,{awaitingResumeOnSeekComplete:!e||n})),this.media.currentTime=e,this.state.paused||this.togglePause(!0);break;case"immediate":this.setState(({paused:e,awaitingResumeOnSeekComplete:n})=>H({},t,{awaitingResumeOnSeekComplete:!e||n})),this.media.currentTime=e,this.state.awaitingResumeOnSeekComplete&&!this.media.ended&&this.togglePause(!1);break;case"onrelease":this.setState(t)}}seekComplete(){const e=this.state,t=e.seekPreviewTime,n=e.awaitingResumeOnSeekComplete,s={seekInProgress:!1,awaitingResumeOnSeekComplete:!1};isNaN(t)?this.setState(s):(this.setState(H({},s,{currentTime:t})),this.media.currentTime=t,n&&(this.media.ended?this.forwardSkip():this.togglePause(!1)))}setVolume(e){this.state.setVolumeInProgress||this.setState({setVolumeInProgress:!0});const t=$(e,0,1);this.media.muted=0===t,this.media.volume=t}setVolumeComplete(){this.setState({setVolumeInProgress:!1}),this.media.muted||(this.lastStableVolume=this.media.volume)}toggleMuted(e){const t="boolean"==typeof e?e:!this.state.muted;this.media.muted=t,t||(this.media.volume=this.lastStableVolume)}toggleShuffle(e){const t="boolean"==typeof e?e:!this.state.shuffle;this.setState({shuffle:t})}setRepeatStrategy(e){-1!==m.indexOf(e)?this.setState(()=>{switch(e){case"track":return{loop:!0};case"playlist":return{loop:!1,cycle:!0};case"none":return{loop:!1,cycle:!1};default:return null}}):y('repeatStrategy "'+e+'" is not one of: '+m.split(", ")+".")}setPlaybackRate(e){this.media.playbackRate=e}getControlProps(){const e=this.props,t=this.state,n={playlist:e.playlist,activeTrackIndex:t.activeTrackIndex,trackLoading:t.trackLoading,paused:t.paused,currentTime:t.currentTime,seekPreviewTime:t.seekPreviewTime,seekInProgress:t.seekInProgress,awaitingResumeOnSeekComplete:t.awaitingResumeOnSeekComplete,duration:t.duration,bufferedRanges:t.bufferedRanges,playedRanges:t.playedRanges,seekableRanges:t.seekableRanges,volume:t.volume,muted:t.muted,shuffle:t.shuffle,stalled:t.stalled,playbackRate:t.playbackRate,setVolumeInProgress:t.setVolumeInProgress,repeatStrategy:z(t.loop,t.cycle),pipeVideoStreamToCanvas:this.pipeVideoStreamToCanvas,onTogglePause:this.togglePause,onSelectTrackIndex:this.selectTrackIndex,onBackSkip:this.backSkip,onForwardSkip:this.forwardSkip,onSeekPreview:this.seekPreview,onSeekComplete:this.seekComplete,onSetVolume:this.setVolume,onSetVolumeComplete:this.setVolumeComplete,onToggleMuted:this.toggleMuted,onToggleShuffle:this.toggleShuffle,onSetRepeatStrategy:this.setRepeatStrategy,onSetPlaybackRate:this.setPlaybackRate};if(this.playerContext){for(const e of Object.keys(this.playerContext))if(n[e]!==this.playerContext[e]){this.playerContext=n;break}}else this.playerContext=n;return this.playerContext}render(){const e=B(this.props.playlist,this.state.activeTrackIndex),t=this.getControlProps();return a.a.createElement(i.Fragment,null,a.a.createElement("video",{hidden:!0,ref:this.setMediaElementRef,crossOrigin:this.props.crossOrigin,preload:"metadata",loop:this.state.loop,onPlay:this.handleMediaPlay,onPause:this.handleMediaPause,onEnded:this.handleMediaEnded,onStalled:this.handleMediaStalled,onCanPlayThrough:this.handleMediaCanplaythrough,onTimeUpdate:this.handleMediaTimeupdate,onLoadedMetadata:this.handleMediaLoadedmetadata,onVolumeChange:this.handleMediaVolumechange,onDurationChange:this.handleMediaDurationchange,onProgress:this.handleMediaProgress,onRateChange:this.handleMediaRatechange},e.map(e=>a.a.createElement("source",{key:e.src,src:e.src,type:e.type}))),a.a.createElement(d.Provider,{value:t},"function"==typeof this.props.children?this.props.children(t):this.props.children))}}Z.propTypes={playlist:o.a.arrayOf(M.isRequired).isRequired,autoplay:o.a.bool.isRequired,autoplayDelayInSeconds:o.a.number.isRequired,gapLengthInSeconds:o.a.number.isRequired,crossOrigin:v,defaultVolume:o.a.number.isRequired,defaultMuted:o.a.bool,defaultRepeatStrategy:P.isRequired,defaultShuffle:o.a.bool,defaultPlaybackRate:o.a.number.isRequired,startingTime:o.a.number.isRequired,startingTrackIndex:o.a.number.isRequired,loadFirstTrackOnPlaylistComplete:o.a.bool,seekMode:E.isRequired,maintainPlaybackRate:o.a.bool.isRequired,allowBackShuffle:o.a.bool,stayOnBackSkipThreshold:o.a.number.isRequired,supportedMediaSessionActions:o.a.arrayOf(x.isRequired).isRequired,mediaSessionSeekLengthInSeconds:o.a.number.isRequired,mediaElementRef:o.a.func,initialStateSnapshot:o.a.shape({__unstable__:o.a.object.isRequired}),onStateSnapshot:o.a.func,children:o.a.oneOfType([o.a.node,o.a.func]).isRequired},Z.defaultProps={autoplay:!1,autoplayDelayInSeconds:0,gapLengthInSeconds:0,defaultVolume:1,defaultMuted:!1,defaultRepeatStrategy:"playlist",defaultShuffle:!1,defaultPlaybackRate:1,startingTime:0,startingTrackIndex:0,loadFirstTrackOnPlaylistComplete:!0,seekMode:"immediate",maintainPlaybackRate:!1,allowBackShuffle:!1,stayOnBackSkipThreshold:5,supportedMediaSessionActions:["play","pause","previoustrack","nexttrack"],mediaSessionSeekLengthInSeconds:10};class ee extends i.Component{componentDidMount(){this.props.groupContext.registerMediaElement(this.mediaElement)}componentWillUnmount(){this.props.groupContext.unregisterMediaElement(this.mediaElement)}render(){const e=this.props,t=e.groupContext,n=e.props,s=n.mediaElementRef,i=function(e,t){if(null==e)return{};var n,s,i={},a=Object.keys(e);for(s=0;s<a.length;s++)n=a[s],t.indexOf(n)>=0||(i[n]=e[n]);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(s=0;s<r.length;s++)n=r[s],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}(n,["mediaElementRef"]);return a.a.createElement(Z,U({},t.groupProps,i,{mediaElementRef:e=>{s&&s(e),this.mediaElement=e}}))}}ee.propTypes={groupContext:o.a.shape({groupProps:o.a.object.isRequired,registerMediaElement:o.a.func.isRequired,unregisterMediaElement:o.a.func.isRequired}).isRequired};var te=function(e){return a.a.createElement(p.Consumer,null,t=>t?Object(i.createElement)(ee,{groupContext:t,props:e}):Object(i.createElement)(Z,e))};function ne(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},s=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(s=s.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),s.forEach(function(t){se(e,t,n[t])})}return e}function se(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}class ie extends i.Component{constructor(e){super(e),this.registerMediaElement=this.registerMediaElement.bind(this),this.unregisterMediaElement=this.unregisterMediaElement.bind(this),this.enforceOneMediaSourceOnly=this.enforceOneMediaSourceOnly.bind(this),this.mediaElements=[]}registerMediaElement(e){this.mediaElements=this.mediaElements.concat(e),e.addEventListener("play",this.enforceOneMediaSourceOnly,!0),e.addEventListener("volumechange",this.enforceOneMediaSourceOnly,!0)}unregisterMediaElement(e){this.mediaElements=this.mediaElements.filter(t=>e!==t),e.removeEventListener("play",this.enforceOneMediaSourceOnly,!0),e.removeEventListener("volumechange",this.enforceOneMediaSourceOnly,!0)}enforceOneMediaSourceOnly(e){const t=e.target,n=t.paused,s=t.muted;if(!n&&!s)for(const e of this.mediaElements)e===t||e.muted||e.pause()}render(){return a.a.createElement(p.Consumer,null,e=>{const t=e?ne({},e,{groupProps:ne({},e.groupProps,this.props)}):{groupProps:this.props,registerMediaElement:this.registerMediaElement,unregisterMediaElement:this.unregisterMediaElement};return a.a.createElement(p.Provider,{value:t},this.props.children)})}}ie.propTypes={children:o.a.node.isRequired};var ae=ie;const re=Object(i.createContext)({fullscreen:!1,requestFullscreen(){y("Fullscreen request ignored since there is no FullscreenContextProvider ancestor.")},requestExitFullscreen(){y("Exit fullscreen request ignored since there is no FullscreenContextProvider ancestor.")}});re.displayName="FullscreenContext";var oe=re;const le={width:"100%",height:"100%"};class ue extends i.PureComponent{constructor(e){super(e),this.state={fullscreen:!1},this.requestFullscreen=this.requestFullscreen.bind(this),this.requestExitFullscreen=this.requestExitFullscreen.bind(this),this.handleFullscreenChange=this.handleFullscreenChange.bind(this),this.fullscreenElement=null}componentDidMount(){document.addEventListener("fullscreenchange",this.handleFullscreenChange),document.addEventListener("webkitfullscreenchange",this.handleFullscreenChange),document.addEventListener("mozfullscreenchange",this.handleFullscreenChange),document.addEventListener("msfullscreenchange",this.handleFullscreenChange)}componentWillUnmount(){document.removeEventListener("fullscreenchange",this.handleFullscreenChange),document.removeEventListener("webkitfullscreenchange",this.handleFullscreenChange),document.removeEventListener("mozfullscreenchange",this.handleFullscreenChange),document.removeEventListener("msfullscreenchange",this.handleFullscreenChange)}requestFullscreen(){this.props.fullscreenEnabled&&(this.fullscreenElement.requestFullscreen?this.fullscreenElement.requestFullscreen():this.fullscreenElement.webkitRequestFullscreen?this.fullscreenElement.webkitRequestFullscreen():this.fullscreenElement.mozRequestFullscreen?this.fullscreenElement.mozRequestFullScreen():this.fullscreenElement.msRequestFullscreen&&this.fullscreenElement.msRequestFullscreen())}requestExitFullscreen(){document.exitFullscreen?document.exitFullscreen():document.webkitExitFullscreen?document.webkitExitFullscreen():document.webkitCancelFullScreen?document.webkitCancelFullScreen():document.mozCancelFullScreen?document.mozCancelFullScreen():document.msExitFullscreen&&document.mozExitFullscreen()}handleFullscreenChange(){const e=document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement;this.setState({fullscreen:e===this.fullscreenElement})}getFullscreenContext(){const e={fullscreen:this.state.fullscreen,requestFullscreen:this.requestFullscreen,requestExitFullscreen:this.requestExitFullscreen};return this.fullscreenContext&&e.fullscreen===this.fullscreenContext.fullscreen?this.fullscreenContext:this.fullscreenContext=e}render(){const e=this.getFullscreenContext();return a.a.createElement("div",{ref:e=>this.fullscreenElement=e,style:this.state.fullscreen?le:void 0},a.a.createElement(oe.Provider,{value:e},"function"==typeof this.props.children?this.props.children(e):this.props.children))}}ue.propTypes={fullscreenEnabled:o.a.bool.isRequired,children:o.a.oneOfType([o.a.node,o.a.func]).isRequired},ue.defaultProps={fullscreenEnabled:!0};var ce=ue;function de(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var he=function(e,t){const n={},s=e.displayName||e.name;function r(r){return a.a.createElement(oe.Consumer,null,o=>a.a.createElement(d.Consumer,null,a=>{const l=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},s=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(s=s.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),s.forEach(function(t){de(e,t,n[t])})}return e}({},r);for(const e of t)a.hasOwnProperty(e)?l[e]=a[e]:o.hasOwnProperty(e)?l[e]=o[e]:n[e]||(y("Prop '"+e+"' for component "+s+" not found in playerContext or fullscreenContext."),n[e]=!0);return Object(i.createElement)(e,l)}))}return s&&(r.displayName=`PlayerContextFilter(${s})`),r};n.d(t,"PlayerContextConsumer",function(){return pe}),n.d(t,"FullscreenContextConsumer",function(){return me}),n.d(t,"PlayerContextProvider",function(){return te}),n.d(t,"PlayerContextGroup",function(){return ae}),n.d(t,"FullscreenContextProvider",function(){return ce}),n.d(t,"playerContextFilter",function(){return he}),n.d(t,"PlayerPropTypes",function(){return s}),n.d(t,"logError",function(){return g}),n.d(t,"logWarning",function(){return y}),n.d(t,"convertToNumberWithinIntervalBounds",function(){return $}),n.d(t,"isPlaylistValid",function(){return L}),n.d(t,"repeatStrategyOptions",function(){return m});const pe=d.Consumer,me=oe.Consumer}])});
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("prop-types"),require("react")):"function"==typeof define&&define.amd?define(["prop-types","react"],t):"object"==typeof exports?exports.cassetteCore=t(require("prop-types"),require("react")):e.cassetteCore=t(e.PropTypes,e.React)}("undefined"!=typeof self?self:this,function(e,t){return function(e){var t={};function n(s){if(t[s])return t[s].exports;var i=t[s]={i:s,l:!1,exports:{}};return e[s].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,s){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:s})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var s=Object.create(null);if(n.r(s),Object.defineProperty(s,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(s,i,function(t){return e[t]}.bind(null,i));return s},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="/dist",n(n.s=3)}([function(t,n){t.exports=e},function(e,n){e.exports=t},function(e,t,n){"use strict";e.exports=function(e,t,n){if("function"==typeof Array.prototype.findIndex)return e.findIndex(t,n);if("function"!=typeof t)throw new TypeError("predicate must be a function");var s=Object(e),i=s.length;if(0===i)return-1;for(var a=0;a<i;a++)if(t.call(n,s[a],a,s))return a;return-1}},function(e,t,n){"use strict";n.r(t);var s={};n.r(s),n.d(s,"controlKeyword",function(){return k}),n.d(s,"control",function(){return S}),n.d(s,"crossOriginAttribute",function(){return v}),n.d(s,"repeatStrategy",function(){return P}),n.d(s,"mediaSource",function(){return T}),n.d(s,"mediaSessionAction",function(){return x}),n.d(s,"mediaSessionArtwork",function(){return M}),n.d(s,"track",function(){return R}),n.d(s,"progressDirection",function(){return w}),n.d(s,"seekMode",function(){return E}),n.d(s,"aspectRatio",function(){return C});var i=n(1),a=n.n(i),r=n(0),o=n.n(r),l=n(2),u=n.n(l);const c=Object(i.createContext)(null);c.displayName="PlayerContext";var d=c;const h=Object(i.createContext)(null);h.displayName="GroupContext";var p=h;const m=["none","playlist","track"],f=console.log.bind(console),g=console.error?console.error.bind(console):f,y=console.warn?console.warn.bind(console):f;function b(e,t){let n=!1;return function(s,i,a,...r){return i in s?(!n&&t in s&&(y(`Do not define both the '${i}' and '${t}' props.`),n=!0),e.isRequired(s,i,a,...r)):t in s?void 0:new Error(`If the '${t}' prop is not defined, '${i}' must be.`)}}const k=o.a.oneOf(["playpause","backskip","forwardskip","volume","mute","repeat","shuffle","progress","progressdisplay","fullscreen","spacer"]),S=o.a.oneOfType([o.a.func,k]),v=o.a.oneOf(["anonymous","use-credentials"]),P=o.a.oneOf(m),T=o.a.shape({src:o.a.string.isRequired,type:o.a.string.isRequired}),x=o.a.oneOf(["play","pause","previoustrack","nexttrack","seekbackward","seekforward"]),M=o.a.shape({src:o.a.string.isRequired,sizes:o.a.string,type:o.a.string}),R=o.a.shape({url:b(o.a.string,"sources"),sources:b(o.a.arrayOf(T.isRequired),"url"),title:o.a.string.isRequired,artist:o.a.string,album:o.a.string,artwork:o.a.arrayOf(M.isRequired),meta:o.a.object}),w=o.a.oneOf(["left","right","up","down"]),E=o.a.oneOf(["paused","immediate","onrelease"]);function C(e,t){const n=e[t];if(void 0!==n)return"string"!=typeof n||2!==n.split(":").length||n.split(":").some(isNaN)?new Error(`The ${t} prop should be a string of the form 'x:y'. Example: 16:9`):void 0}const O="loopchange",I="srcrequest";var q=function(e=document.createElement("media")){return new MutationObserver(()=>{e.dispatchEvent(new Event(O))}).observe(e,{attributeFilter:["loop"]}),Object.defineProperty(e,"src",{get:()=>e.currentSrc,set:t=>{const n=new Event(I);n.srcRequested=t,e.dispatchEvent(n)}}),e};function _(e,t,n,s){let i=s;for(let s=0;s<e;s++){if(!t.length)throw _(s,n,t,i),`Moving ${e} places was not possible!`;n.push(i),i=t.pop()}return i}function F(e,t,n,s,i){let a,r=s;if(e.length){for(let s=1;s<=t.length;s++)if(-1!==e.indexOf(t[t.length-s]))return _(s,t,n,r);if(i){if(function(e,t){if(!e.length)return!1;for(let n=0;n<e.length;n++)if(t!==e[n])return!1;return!0}(e,r))return r;do{a=e[Math.floor(Math.random()*e.length)]}while(r===a||void 0===a);return void 0!==(r=_(t.length,t,n,r))&&n.push(r),a}}}var j=class{constructor(e,t={}){this._list=e,this._forwardStack=[],this._backStack=[],this._currentItem=void 0,this._allowBackShuffle=Boolean(t.allowBackShuffle)}findNextItem(e){return void 0!==e&&this.setCurrentIndex(e),this._currentItem=F(this._list,this._forwardStack,this._backStack,this._currentItem,!0),this._currentItem}findPreviousItem(e){return void 0!==e&&this.setCurrentIndex(e),this._currentItem=F(this._list,this._backStack,this._forwardStack,this._currentItem,this._allowBackShuffle),this._currentItem}pickNextItem(e,t){if(void 0!==t&&this.setCurrentIndex(t),void 0!==this._list[e])return void 0!==this._currentItem&&this._backStack.push(this._currentItem),this._forwardStack.length=0,this._currentItem=this._list[e],this._currentItem}setList(e){this._list=e}setOptions(e){for(const t of Object.keys(e))switch(t){case"allowBackShuffle":this[`_${t}`]=Boolean(e[t])}}setCurrentIndex(e){const t=this._list[e];this._currentItem!==t&&(this.clear(),this._currentItem=t)}clear(){this._forwardStack.length=0,this._backStack.length=0,this._currentItem=void 0}};var L=function(e){return Boolean(e&&e.length)};const V=[{src:""}];var B=function(e,t){if(!L(e))return V;const n=e[t],s=n.sources,i=n.url;return s?s.length?s:V:[{src:i}]};var D=function(e,t){return u()(e,e=>e.sources?-1!==u()(e.sources,e=>e.src===t):e.url&&t===e.url)};var N=function(e){return(e||[]).map((t,n)=>B(e,n)[0].src)};var A=function(e){const t=Array(e.length);for(let n=0;n<e.length;n++)t[n]={start:e.start(n),end:e.end(n)};return t};var z=function(e,t){return e?"track":t?"playlist":"none"};var $=function(e,t,n){return t="number"==typeof t?t:-1/0,n="number"==typeof n?n:1/0,Math.max(t,Math.min(e,n))};var W=function(e,t,n){const s=t.getContext("2d");let i=null,a=null,r=null,o=null;return i=requestAnimationFrame(function l(){const u=e.videoWidth,c=e.videoHeight;let d=e,h=u,p=c,m=u,f=c,g=!0;m&&f||!o||(d=o,h=o.naturalWidth,p=o.naturalHeight,m=o.naturalWidth,f=o.naturalHeight,g=!1),a&&r?(m=a,f=r):a?(m=a,f=a/h*p):r&&(f=r,m=r/p*h),t.width===m&&t.height===f||(t.width=m,t.height=f),s.drawImage(d,0,0,m,f),n&&n(s,g),i=requestAnimationFrame(l)}),{endStream(){cancelAnimationFrame(i)},setCanvasSize(e,t){a=e||null,r=t||null},setPlaceholderImage(e){o=e||null}}};function U(){return(U=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(e[s]=n[s])}return e}).apply(this,arguments)}function H(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},s=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(s=s.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),s.forEach(function(t){G(e,t,n[t])})}return e}function G(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function K(e){if(g(e),"NotAllowedError"===e.name){const e="Media playback failed at "+(new Date).toLocaleTimeString()+"! (Perhaps autoplay is disabled in this browser.)";y(e)}}const J=["previoustrack","nexttrack","seekbackward","seekforward"],Q=0,X={paused:!0,currentTime:0,seekPreviewTime:0,seekInProgress:!1,awaitingResumeOnSeekComplete:!1,duration:0,bufferedRanges:[],playedRanges:[],seekableRanges:[],stalled:!1,awaitingPlay:!1};function Y(e,t,n=!0){const s=e.activeTrackIndex!==t;return{activeTrackIndex:t,trackLoading:s,currentTime:0,loop:!s&&e.loop,awaitingPlay:Boolean(n),paused:!n}}class Z extends i.Component{constructor(e){super(e),this.state=H({},X,{activeTrackIndex:$(e.startingTrackIndex,0),trackLoading:L(e.playlist),currentTime:$(e.startingTime,0),volume:$(e.defaultVolume,0,1),muted:e.defaultMuted,loop:"track"===e.defaultRepeatStrategy,cycle:"playlist"===e.defaultRepeatStrategy,shuffle:e.defaultShuffle,playbackRate:e.defaultPlaybackRate,setVolumeInProgress:!1,awaitingPlay:e.autoplay&&L(e.playlist),__playlist__:e.playlist},e.initialStateSnapshot?function(e,t){const n=e.__unstable__,s=n.paused,i=n.currentTime,a=n.activeTrackIndex,r=n.volume,o=n.muted,l=n.loop,u=n.cycle,c=n.shuffle,d=n.playbackRate,h=n.activeTrackSrc,p={};L(t.playlist)&&"boolean"==typeof s&&(p.awaitingPlay=!s),"number"==typeof r&&r>=0&&r<=1&&(p.volume=r),"boolean"==typeof o&&(p.muted=o),"boolean"==typeof l&&(p.loop=l),"boolean"==typeof u&&(p.cycle=u),"boolean"==typeof c&&(p.shuffle=c),"number"==typeof d&&(p.playbackRate=d);let m=!1;if("string"==typeof h&&"number"==typeof a&&a>=0)if(h===B(t.playlist,a)[0].src)p.activeTrackIndex=a,m=!0;else{const e=D(t.playlist,h);-1!==e&&(p.activeTrackIndex=e,m=!0)}return m&&"number"==typeof i&&i>=0&&(p.currentTime=i),p}(e.initialStateSnapshot,e):{}),this.lastStableVolume=this.state.volume,this.shuffler=new j(N(e.playlist),{allowBackShuffle:e.allowBackShuffle}),this.media=null,this.setMediaElementRef=this.setMediaElementRef.bind(this),this.togglePause=this.togglePause.bind(this),this.selectTrackIndex=this.selectTrackIndex.bind(this),this.forwardSkip=this.forwardSkip.bind(this),this.backSkip=this.backSkip.bind(this),this.seekPreview=this.seekPreview.bind(this),this.seekComplete=this.seekComplete.bind(this),this.setVolume=this.setVolume.bind(this),this.setVolumeComplete=this.setVolumeComplete.bind(this),this.toggleMuted=this.toggleMuted.bind(this),this.toggleShuffle=this.toggleShuffle.bind(this),this.setRepeatStrategy=this.setRepeatStrategy.bind(this),this.setPlaybackRate=this.setPlaybackRate.bind(this),this.pipeVideoStreamToCanvas=this.pipeVideoStreamToCanvas.bind(this),this.handleMediaPlay=this.handleMediaPlay.bind(this),this.handleMediaPause=this.handleMediaPause.bind(this),this.handleMediaSrcrequest=this.handleMediaSrcrequest.bind(this),this.handleMediaEnded=this.handleMediaEnded.bind(this),this.handleMediaStalled=this.handleMediaStalled.bind(this),this.handleMediaCanplaythrough=this.handleMediaCanplaythrough.bind(this),this.handleMediaTimeupdate=this.handleMediaTimeupdate.bind(this),this.handleMediaLoadedmetadata=this.handleMediaLoadedmetadata.bind(this),this.handleMediaVolumechange=this.handleMediaVolumechange.bind(this),this.handleMediaDurationchange=this.handleMediaDurationchange.bind(this),this.handleMediaProgress=this.handleMediaProgress.bind(this),this.handleMediaLoopchange=this.handleMediaLoopchange.bind(this),this.handleMediaRatechange=this.handleMediaRatechange.bind(this)}componentDidMount(){const e=this.media=q(this.media);e.readyState!==Q&&(e.currentTime=this.state.currentTime),e.volume=this.state.volume,e.muted=this.state.muted,e.defaultPlaybackRate=this.props.defaultPlaybackRate,e.playbackRate=this.state.playbackRate,e.addEventListener("srcrequest",this.handleMediaSrcrequest),e.addEventListener("loopchange",this.handleMediaLoopchange),this.state.awaitingPlay&&(this.setState({awaitingPlay:!1}),this.delayTimeout=setTimeout(()=>{this.togglePause(!1)},1e3*this.props.autoplayDelayInSeconds))}static getDerivedStateFromProps(e,t){const n=e.playlist;if(n===t.__playlist__)return null;const s={__playlist__:n};if(!L(n))return H({},X,s,{activeTrackIndex:0,trackLoading:!1});const i=B(t.__playlist__,t.activeTrackIndex),a=B(n,t.activeTrackIndex);if(i[0].src===a[0].src)return s;const r=D(n,i[0].src);return H({},s,-1!==r?{activeTrackIndex:r}:Y(t,0,!1))}componentDidUpdate(e,t){this.media.defaultPlaybackRate=this.props.defaultPlaybackRate,this.shuffler.setList(N(this.props.playlist)),this.shuffler.setOptions({allowBackShuffle:this.props.allowBackShuffle});const n=B(e.playlist,t.activeTrackIndex),s=B(this.props.playlist,this.state.activeTrackIndex);n[0].src!==s[0].src&&(this.media.load(),this.state.shuffle||this.shuffler.clear()),e===this.props||this.media.paused||this.stealMediaSession(),this.state.awaitingPlay&&(this.setState({awaitingPlay:!1}),setTimeout(()=>{this.togglePause(!1)})),clearTimeout(this.snapshotUpdateTimeout),this.snapshotUpdateTimeout=setTimeout(()=>{this.props.onStateSnapshot&&this.props.onStateSnapshot(function(e){const t=e.paused,n=e.currentTime,s=e.activeTrackIndex,i=e.volume,a=e.muted,r=e.loop,o=e.cycle,l=e.shuffle,u=e.playbackRate,c=e.__playlist__;return{__unstable__:{paused:t,currentTime:n,activeTrackIndex:s,volume:i,muted:a,loop:r,cycle:o,shuffle:l,playbackRate:u,activeTrackSrc:L(c)?B(c,s)[0].src:null}}}(this.state))},100)}componentWillUnmount(){const e=this.media;e.removeEventListener("srcrequest",this.handleMediaSrcrequest),e.removeEventListener("loopchange",this.handleMediaLoopchange),clearTimeout(this.gapLengthTimeout),clearTimeout(this.delayTimeout)}setMediaElementRef(e){this.media=e,"function"==typeof this.props.mediaElementRef&&this.props.mediaElementRef(e)}stealMediaSession(){window.MediaSession&&navigator.mediaSession instanceof MediaSession&&(navigator.mediaSession.metadata=new MediaMetadata(this.props.playlist[this.state.activeTrackIndex]),J.map(e=>{if(-1===this.props.supportedMediaSessionActions.indexOf(e))return null;const t=this.props.mediaSessionSeekLengthInSeconds;switch(e){case"play":return this.togglePause.bind(this,!1);case"pause":return this.togglePause.bind(this,!0);case"previoustrack":return this.backSkip;case"nexttrack":return this.forwardSkip;case"seekbackward":return()=>this.media.currentTime-=t;case"seekforward":return()=>this.media.currentTime+=t;default:return}}).forEach((e,t)=>{navigator.mediaSession.setActionHandler(J[t],e)}))}pipeVideoStreamToCanvas(e,t){return W(this.media,e,t)}handleMediaPlay(){this.setState(e=>!1===e.paused?null:{paused:!1}),this.stealMediaSession()}handleMediaPause(){this.setState(e=>!0===e.paused?null:{paused:!0})}handleMediaSrcrequest(e){const t=this.props.playlist,n=B(t,this.state.activeTrackIndex);if(-1!==u()(n,t=>t.src===e.srcRequested))return;const s=D(t,e.srcRequested);-1!==s?this.selectTrackIndex(s):g(`Source '${e.srcRequested}' does not exist in the loaded playlist. `+"Make sure you've updated the 'playlist' prop to PlayerContextProvider before you select this track!")}handleMediaEnded(){if(this.state.seekInProgress)return;clearTimeout(this.gapLengthTimeout);const e=this.props,t=e.playlist,n=e.loadFirstTrackOnPlaylistComplete;if(!L(t))return;const s=this.state,i=s.cycle,a=s.activeTrackIndex;!i&&a+1>=t.length?n&&this.goToTrack(0,!1):this.gapLengthTimeout=setTimeout(this.forwardSkip,1e3*this.props.gapLengthInSeconds)}handleMediaStalled(){this.setState(e=>!0===e.stalled?null:{stalled:!0})}handleMediaCanplaythrough(){this.setState(e=>!1===e.stalled?null:{stalled:!1})}handleMediaTimeupdate(){const e=this.media,t=e.currentTime,n=e.played;this.setState({currentTime:t,playedRanges:A(n)})}handleMediaLoadedmetadata(){this.media.currentTime!==this.state.currentTime&&(this.media.currentTime=this.state.currentTime),this.setState(e=>!1===e.trackLoading?null:{trackLoading:!1})}handleMediaVolumechange(){const e=this.media,t=e.volume,n=e.muted;this.setState({volume:t,muted:n})}handleMediaDurationchange(){const e=this.media.duration;this.setState({duration:e})}handleMediaProgress(){this.setState({bufferedRanges:A(this.media.buffered),seekableRanges:A(this.media.seekable)})}handleMediaLoopchange(){const e=this.media.loop;this.setState(t=>t.loop===e?null:{loop:e})}handleMediaRatechange(){const e=this.media.playbackRate;this.setState(t=>t.playbackRate===e?null:{playbackRate:e})}togglePause(e){if(clearTimeout(this.delayTimeout),"boolean"==typeof e?e:!this.state.paused)this.media.pause();else if(this.media.currentSrc)try{const e=this.media.play();e&&"function"==typeof e.catch&&e.catch(e=>{if("AbortError"!==e.name)return Promise.reject(e)}).catch(K)}catch(e){K(e)}}goToTrack(e,t=!0){clearTimeout(this.delayTimeout),this.setState(n=>Y(n,e,t))}selectTrackIndex(e){const t=this.props.playlist;L(t)&&(e<0||e>t.length?y(`Playlist index ${e} is out of bounds!`):(this.state.shuffle&&this.shuffler.pickNextItem(e,this.state.activeTrackIndex),this.goToTrack(e)))}backSkip(){const e=this.props,t=e.playlist,n=e.stayOnBackSkipThreshold,s=this.media,i=this.state,a=i.cycle,r=i.activeTrackIndex,o=i.shuffle;if(!L(t)||s.currentTime>=n||!a&&r<1)return void(s.currentTime=0);let l;if(o){const e=this.shuffler.findPreviousItem(r);if(void 0===e)return void(s.currentTime=0);l=D(t,e)}else(l=r-1)<0&&(l=t.length-1);this.goToTrack(l)}forwardSkip(){const e=this.props.playlist,t=this.state,n=t.cycle,s=t.activeTrackIndex,i=t.shuffle;if(!L(e)||!n&&s+1>=e.length)return;let a;i?a=D(e,this.shuffler.findNextItem(s)):(a=s+1)>=e.length&&(a=0),this.goToTrack(a)}seekPreview(e){if(!L(this.props.playlist))return;const t={seekPreviewTime:e,seekInProgress:!0};switch(this.props.seekMode){case"paused":this.setState(({paused:e,awaitingResumeOnSeekComplete:n})=>H({},t,{awaitingResumeOnSeekComplete:!e||n})),this.media.currentTime=e,this.state.paused||this.togglePause(!0);break;case"immediate":this.setState(({paused:e,awaitingResumeOnSeekComplete:n})=>H({},t,{awaitingResumeOnSeekComplete:!e||n})),this.media.currentTime=e,this.state.awaitingResumeOnSeekComplete&&!this.media.ended&&this.togglePause(!1);break;case"onrelease":this.setState(t)}}seekComplete(){const e=this.state,t=e.seekPreviewTime,n=e.awaitingResumeOnSeekComplete,s={seekInProgress:!1,awaitingResumeOnSeekComplete:!1};isNaN(t)?this.setState(s):(this.setState(H({},s,{currentTime:t})),this.media.currentTime=t,n&&(this.media.ended?this.forwardSkip():this.togglePause(!1)))}setVolume(e){this.state.setVolumeInProgress||this.setState({setVolumeInProgress:!0});const t=$(e,0,1);this.media.muted=0===t,this.media.volume=t}setVolumeComplete(){this.setState({setVolumeInProgress:!1}),this.media.muted||(this.lastStableVolume=this.media.volume)}toggleMuted(e){const t="boolean"==typeof e?e:!this.state.muted;this.media.muted=t,t||(this.media.volume=this.lastStableVolume)}toggleShuffle(e){const t="boolean"==typeof e?e:!this.state.shuffle;this.setState({shuffle:t})}setRepeatStrategy(e){-1!==m.indexOf(e)?this.setState(()=>{switch(e){case"track":return{loop:!0};case"playlist":return{loop:!1,cycle:!0};case"none":return{loop:!1,cycle:!1};default:return null}}):y('repeatStrategy "'+e+'" is not one of: '+m.split(", ")+".")}setPlaybackRate(e){this.media.playbackRate=e}getControlProps(){const e=this.props,t=this.state,n={playlist:e.playlist,activeTrackIndex:t.activeTrackIndex,trackLoading:t.trackLoading,paused:t.paused,currentTime:t.currentTime,seekPreviewTime:t.seekPreviewTime,seekInProgress:t.seekInProgress,awaitingResumeOnSeekComplete:t.awaitingResumeOnSeekComplete,duration:t.duration,bufferedRanges:t.bufferedRanges,playedRanges:t.playedRanges,seekableRanges:t.seekableRanges,volume:t.volume,muted:t.muted,shuffle:t.shuffle,stalled:t.stalled,playbackRate:t.playbackRate,setVolumeInProgress:t.setVolumeInProgress,repeatStrategy:z(t.loop,t.cycle),pipeVideoStreamToCanvas:this.pipeVideoStreamToCanvas,onTogglePause:this.togglePause,onSelectTrackIndex:this.selectTrackIndex,onBackSkip:this.backSkip,onForwardSkip:this.forwardSkip,onSeekPreview:this.seekPreview,onSeekComplete:this.seekComplete,onSetVolume:this.setVolume,onSetVolumeComplete:this.setVolumeComplete,onToggleMuted:this.toggleMuted,onToggleShuffle:this.toggleShuffle,onSetRepeatStrategy:this.setRepeatStrategy,onSetPlaybackRate:this.setPlaybackRate};if(this.playerContext){for(const e of Object.keys(this.playerContext))if(n[e]!==this.playerContext[e]){this.playerContext=n;break}}else this.playerContext=n;return this.playerContext}render(){const e=B(this.props.playlist,this.state.activeTrackIndex),t=this.getControlProps();return a.a.createElement(i.Fragment,null,a.a.createElement("video",{hidden:!0,ref:this.setMediaElementRef,crossOrigin:this.props.crossOrigin,preload:"metadata",loop:this.state.loop,onPlay:this.handleMediaPlay,onPause:this.handleMediaPause,onEnded:this.handleMediaEnded,onStalled:this.handleMediaStalled,onCanPlayThrough:this.handleMediaCanplaythrough,onTimeUpdate:this.handleMediaTimeupdate,onLoadedMetadata:this.handleMediaLoadedmetadata,onVolumeChange:this.handleMediaVolumechange,onDurationChange:this.handleMediaDurationchange,onProgress:this.handleMediaProgress,onRateChange:this.handleMediaRatechange},e.map(e=>a.a.createElement("source",{key:e.src,src:e.src,type:e.type}))),a.a.createElement(d.Provider,{value:t},"function"==typeof this.props.children?this.props.children(t):this.props.children))}}Z.propTypes={playlist:o.a.arrayOf(R.isRequired).isRequired,autoplay:o.a.bool.isRequired,autoplayDelayInSeconds:o.a.number.isRequired,gapLengthInSeconds:o.a.number.isRequired,crossOrigin:v,defaultVolume:o.a.number.isRequired,defaultMuted:o.a.bool,defaultRepeatStrategy:P.isRequired,defaultShuffle:o.a.bool,defaultPlaybackRate:o.a.number.isRequired,startingTime:o.a.number.isRequired,startingTrackIndex:o.a.number.isRequired,loadFirstTrackOnPlaylistComplete:o.a.bool,seekMode:E.isRequired,maintainPlaybackRate:o.a.bool.isRequired,allowBackShuffle:o.a.bool,stayOnBackSkipThreshold:o.a.number.isRequired,supportedMediaSessionActions:o.a.arrayOf(x.isRequired).isRequired,mediaSessionSeekLengthInSeconds:o.a.number.isRequired,mediaElementRef:o.a.func,initialStateSnapshot:o.a.shape({__unstable__:o.a.object.isRequired}),onStateSnapshot:o.a.func,children:o.a.oneOfType([o.a.node,o.a.func]).isRequired},Z.defaultProps={autoplay:!1,autoplayDelayInSeconds:0,gapLengthInSeconds:0,defaultVolume:1,defaultMuted:!1,defaultRepeatStrategy:"playlist",defaultShuffle:!1,defaultPlaybackRate:1,startingTime:0,startingTrackIndex:0,loadFirstTrackOnPlaylistComplete:!0,seekMode:"immediate",maintainPlaybackRate:!1,allowBackShuffle:!1,stayOnBackSkipThreshold:5,supportedMediaSessionActions:["play","pause","previoustrack","nexttrack"],mediaSessionSeekLengthInSeconds:10};class ee extends i.Component{componentDidMount(){this.props.groupContext.registerMediaElement(this.mediaElement)}componentWillUnmount(){this.props.groupContext.unregisterMediaElement(this.mediaElement)}render(){const e=this.props,t=e.groupContext,n=e.props,s=n.mediaElementRef,i=function(e,t){if(null==e)return{};var n,s,i={},a=Object.keys(e);for(s=0;s<a.length;s++)n=a[s],t.indexOf(n)>=0||(i[n]=e[n]);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(s=0;s<r.length;s++)n=r[s],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}(n,["mediaElementRef"]);return a.a.createElement(Z,U({},t.groupProps,i,{mediaElementRef:e=>{s&&s(e),this.mediaElement=e}}))}}ee.propTypes={groupContext:o.a.shape({groupProps:o.a.object.isRequired,registerMediaElement:o.a.func.isRequired,unregisterMediaElement:o.a.func.isRequired}).isRequired};var te=function(e){return a.a.createElement(p.Consumer,null,t=>t?Object(i.createElement)(ee,{groupContext:t,props:e}):Object(i.createElement)(Z,e))};function ne(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},s=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(s=s.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),s.forEach(function(t){se(e,t,n[t])})}return e}function se(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}class ie extends i.Component{constructor(e){super(e),this.registerMediaElement=this.registerMediaElement.bind(this),this.unregisterMediaElement=this.unregisterMediaElement.bind(this),this.enforceOneMediaSourceOnly=this.enforceOneMediaSourceOnly.bind(this),this.mediaElements=[]}registerMediaElement(e){this.mediaElements=this.mediaElements.concat(e),e.addEventListener("play",this.enforceOneMediaSourceOnly,!0),e.addEventListener("volumechange",this.enforceOneMediaSourceOnly,!0)}unregisterMediaElement(e){this.mediaElements=this.mediaElements.filter(t=>e!==t),e.removeEventListener("play",this.enforceOneMediaSourceOnly,!0),e.removeEventListener("volumechange",this.enforceOneMediaSourceOnly,!0)}enforceOneMediaSourceOnly(e){const t=e.target,n=t.paused,s=t.muted;if(!n&&!s)for(const e of this.mediaElements)e===t||e.muted||e.pause()}render(){return a.a.createElement(p.Consumer,null,e=>{const t=e?ne({},e,{groupProps:ne({},e.groupProps,this.props)}):{groupProps:this.props,registerMediaElement:this.registerMediaElement,unregisterMediaElement:this.unregisterMediaElement};return a.a.createElement(p.Provider,{value:t},this.props.children)})}}ie.propTypes={children:o.a.node.isRequired};var ae=ie;const re=Object(i.createContext)({fullscreen:!1,requestFullscreen(){y("Fullscreen request ignored since there is no FullscreenContextProvider ancestor.")},requestExitFullscreen(){y("Exit fullscreen request ignored since there is no FullscreenContextProvider ancestor.")}});re.displayName="FullscreenContext";var oe=re;const le={width:"100%",height:"100%"};class ue extends i.PureComponent{constructor(e){super(e),this.state={fullscreen:!1},this.requestFullscreen=this.requestFullscreen.bind(this),this.requestExitFullscreen=this.requestExitFullscreen.bind(this),this.handleFullscreenChange=this.handleFullscreenChange.bind(this),this.fullscreenElement=null}componentDidMount(){document.addEventListener("fullscreenchange",this.handleFullscreenChange),document.addEventListener("webkitfullscreenchange",this.handleFullscreenChange),document.addEventListener("mozfullscreenchange",this.handleFullscreenChange),document.addEventListener("msfullscreenchange",this.handleFullscreenChange)}componentWillUnmount(){document.removeEventListener("fullscreenchange",this.handleFullscreenChange),document.removeEventListener("webkitfullscreenchange",this.handleFullscreenChange),document.removeEventListener("mozfullscreenchange",this.handleFullscreenChange),document.removeEventListener("msfullscreenchange",this.handleFullscreenChange)}requestFullscreen(){this.props.fullscreenEnabled&&(this.fullscreenElement.requestFullscreen?this.fullscreenElement.requestFullscreen():this.fullscreenElement.webkitRequestFullscreen?this.fullscreenElement.webkitRequestFullscreen():this.fullscreenElement.mozRequestFullscreen?this.fullscreenElement.mozRequestFullScreen():this.fullscreenElement.msRequestFullscreen&&this.fullscreenElement.msRequestFullscreen())}requestExitFullscreen(){document.exitFullscreen?document.exitFullscreen():document.webkitExitFullscreen?document.webkitExitFullscreen():document.webkitCancelFullScreen?document.webkitCancelFullScreen():document.mozCancelFullScreen?document.mozCancelFullScreen():document.msExitFullscreen&&document.mozExitFullscreen()}handleFullscreenChange(){const e=document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement;this.setState({fullscreen:e===this.fullscreenElement})}getFullscreenContext(){const e={fullscreen:this.state.fullscreen,requestFullscreen:this.requestFullscreen,requestExitFullscreen:this.requestExitFullscreen};return this.fullscreenContext&&e.fullscreen===this.fullscreenContext.fullscreen?this.fullscreenContext:this.fullscreenContext=e}render(){const e=this.getFullscreenContext();return a.a.createElement("div",{ref:e=>this.fullscreenElement=e,style:this.state.fullscreen?le:void 0},a.a.createElement(oe.Provider,{value:e},"function"==typeof this.props.children?this.props.children(e):this.props.children))}}ue.propTypes={fullscreenEnabled:o.a.bool.isRequired,children:o.a.oneOfType([o.a.node,o.a.func]).isRequired},ue.defaultProps={fullscreenEnabled:!0};var ce=ue;function de(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var he=function(e,t){const n={},s=e.displayName||e.name;function r(r){return a.a.createElement(oe.Consumer,null,o=>a.a.createElement(d.Consumer,null,a=>{const l=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},s=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(s=s.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),s.forEach(function(t){de(e,t,n[t])})}return e}({},r);for(const e of t)a.hasOwnProperty(e)?l[e]=a[e]:o.hasOwnProperty(e)?l[e]=o[e]:n[e]||(y("Prop '"+e+"' for component "+s+" not found in playerContext or fullscreenContext."),n[e]=!0);return Object(i.createElement)(e,l)}))}return s&&(r.displayName=`PlayerContextFilter(${s})`),r};n.d(t,"PlayerContextConsumer",function(){return pe}),n.d(t,"FullscreenContextConsumer",function(){return me}),n.d(t,"PlayerContextProvider",function(){return te}),n.d(t,"PlayerContextGroup",function(){return ae}),n.d(t,"FullscreenContextProvider",function(){return ce}),n.d(t,"playerContextFilter",function(){return he}),n.d(t,"PlayerPropTypes",function(){return s}),n.d(t,"logError",function(){return g}),n.d(t,"logWarning",function(){return y}),n.d(t,"convertToNumberWithinIntervalBounds",function(){return $}),n.d(t,"isPlaylistValid",function(){return L}),n.d(t,"repeatStrategyOptions",function(){return m});const pe=d.Consumer,me=oe.Consumer}])});
//# sourceMappingURL=cassette-core.min.js.map
{
"name": "@cassette/core",
"version": "2.0.0-alpha.4",
"version": "2.0.0-alpha.5",
"description": "A simple, clean, and responsive visual wrapper for the HTML audio tag, built with React.",

@@ -55,3 +55,3 @@ "main": "dist/es5/cassette-core.js",

},
"gitHead": "b925e7d8ce1d7c94c39c573aa955eeb24eb8e128"
"gitHead": "705fc2eb5c275d363308746da372978830d42f9d"
}

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc