{"version":3,"sources":["webpack:///./node_modules/gatsby/node_modules/@babel/runtime/helpers/esm/objectDestructuringEmpty.js","webpack:///./node_modules/react-player/lazy/patterns.js","webpack:///./node_modules/react-player/node_modules/deepmerge/dist/cjs.js","webpack:///./node_modules/react-player/lazy/props.js","webpack:///./node_modules/load-script/index.js","webpack:///./node_modules/react-player/lazy/utils.js","webpack:///./node_modules/react-player/node_modules/react-fast-compare/index.js","webpack:///./node_modules/react-player/lazy/Player.js","webpack:///./node_modules/memoize-one/dist/memoize-one.esm.js","webpack:///./node_modules/react-player/lazy/index.js","webpack:///./node_modules/react-player/lazy/players/index.js","webpack:///./node_modules/react-player/lazy/ReactPlayer.js"],"names":["_objectDestructuringEmpty","obj","TypeError","Object","defineProperty","exports","value","canPlay","FLV_EXTENSIONS","DASH_EXTENSIONS","HLS_EXTENSIONS","VIDEO_EXTENSIONS","AUDIO_EXTENSIONS","MATCH_URL_KALTURA","MATCH_URL_VIDYARD","MATCH_URL_MIXCLOUD","MATCH_URL_DAILYMOTION","MATCH_URL_TWITCH_CHANNEL","MATCH_URL_TWITCH_VIDEO","MATCH_URL_WISTIA","MATCH_URL_STREAMABLE","MATCH_URL_FACEBOOK_WATCH","MATCH_URL_FACEBOOK","MATCH_URL_VIMEO","MATCH_URL_SOUNDCLOUD","MATCH_URL_YOUTUBE","_utils","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","minLen","_arrayLikeToArray","n","prototype","toString","call","slice","constructor","name","from","test","_unsupportedIterableToArray","length","i","F","s","done","e","_e","f","err","normalCompletion","didErr","step","next","_e2","arr","len","arr2","youtube","url","every","item","soundcloud","vimeo","facebook","streamable","wistia","twitch","dailymotion","mixcloud","vidyard","kaltura","file","canPlayFile","_step","_iterator","src","isMediaStream","isBlobUrl","isMergeableObject","isNonNullObject","stringValue","$$typeof","REACT_ELEMENT_TYPE","isReactElement","isSpecial","for","cloneUnlessOtherwiseSpecified","options","clone","deepmerge","val","defaultArrayMerge","target","source","concat","map","element","getKeys","keys","getOwnPropertySymbols","filter","symbol","propertyIsEnumerable","getEnumerableOwnPropertySymbols","propertyIsOnObject","object","property","_","mergeObject","destination","forEach","key","hasOwnProperty","propertyIsUnsafe","customMerge","getMergeFunction","arrayMerge","sourceIsArray","all","array","Error","reduce","prev","deepmerge_1","module","defaultProps","propTypes","_propTypes","__esModule","string","bool","number","oneOfType","shape","func","node","playing","loop","controls","volume","muted","playbackRate","width","height","style","progressInterval","playsinline","pip","stopOnUnmount","light","playIcon","previewTabIndex","fallback","oEmbedUrl","wrapper","render","isRequired","config","playerVars","embedOptions","onUnstarted","appId","version","playerId","attributes","params","playerOptions","title","tracks","forceVideo","forceAudio","forceHLS","forceSafariHLS","forceDASH","forceFLV","hlsOptions","hlsVersion","dashVersion","flvVersion","customControls","onReady","onStart","onPlay","onPause","onBuffer","onBufferEnd","onEnded","onError","onDuration","onSeek","onPlaybackRateChange","onProgress","onClickPreview","onEnablePIP","onDisablePIP","noop","visual","buying","liking","download","sharing","show_comments","show_playcount","showinfo","rel","iv_load_policy","modestbranding","api","autopause","byline","portrait","hide_cover","stdOnEnd","script","cb","onload","this","onerror","ieOnEnd","onreadystatechange","readyState","opts","head","document","getElementsByTagName","createElement","type","charset","async","attrs","attr","setAttribute","setAttributes","text","appendChild","parseStartTime","parseTimeParam","MATCH_START_QUERY","parseEndTime","MATCH_END_QUERY","randomString","Math","random","substr","queryString","join","getSDK","sdkGlobal","sdkReady","arguments","undefined","isLoaded","fetchScript","_loadScript","existingGlobal","getGlobal","Promise","resolve","reject","requests","push","onLoaded","sdk","request","previousOnReady","window","getConfig","props","_deepmerge","omit","_ref","_len","arrays","_key","omitKeys","apply","output","_i2","_keys","indexOf","callPlayer","method","_this$player","player","message","displayName","console","warn","_len2","args","_key2","MediaStream","supportsWebKitPresentationMode","video","notMobile","navigator","userAgent","webkitSupportsPresentationMode","webkitSetPresentationMode","_interopRequireDefault","_slicedToArray","_arrayWithHoles","_arr","_n","_d","_s","_i","_iterableToArrayLimit","_nonIterableRest","MATCH_START_STAMP","MATCH_NUMERIC","pattern","match","stamp","seconds","exec","_array2","count","period","parseInt","parseTimeString","hasElementType","Element","hasMap","Map","hasSet","Set","hasArrayBuffer","ArrayBuffer","isView","a","b","equal","size","entries","has","get","RegExp","flags","valueOf","error","_typeof","_react","cache","_getRequireWildcardCache","newObj","hasPropertyDescriptor","getOwnPropertyDescriptor","desc","set","_interopRequireWildcard","_reactFastCompare","_props","WeakMap","_extends","assign","_defineProperties","descriptor","enumerable","configurable","writable","_setPrototypeOf","p","setPrototypeOf","__proto__","_createSuper","Derived","hasNativeReflectConstruct","Reflect","construct","sham","Proxy","Date","_isNativeReflectConstruct","result","Super","_getPrototypeOf","NewTarget","_possibleConstructorReturn","self","_assertThisInitialized","ReferenceError","getPrototypeOf","_defineProperty","Player","_Component","subClass","superClass","create","_inherits","Constructor","protoProps","staticProps","_super","_this","instance","_classCallCheck","_args","progress","load","isReady","playedSeconds","getCurrentTime","loadedSeconds","getSecondsLoaded","duration","getDuration","played","loaded","prevPlayed","prevLoaded","progressTimeout","setTimeout","progressFrequency","mounted","isLoading","_this$props","setVolume","loadOnReady","play","handleDurationCheck","isPlaying","_this$props2","startOnPlay","setPlaybackRate","seekOnPlay","seekTo","_this$props3","activePlayer","loopOnEnded","_this$props4","clearTimeout","durationCheckTimeout","onDurationCalled","stop","disablePIP","prevProps","_this2","_this$props5","disableDeferredLoading","forceLoad","pause","enablePIP","mute","unmute","setLoop","amount","_this3","onMount","handlePlayerMount","handleReady","handlePlay","handlePause","handleEnded","handleLoaded","handleError","Component","areInputsEqual","newInputs","lastInputs","resultFn","isEqual","lastThis","lastResult","lastArgs","calledOnce","newArgs","_players","_ReactPlayer","_default","createReactPlayer","_patterns","lazyPlayer","lazy","canEnablePIP","pictureInPictureEnabled","_memoizeOne","_Player3","ownKeys","enumerableOnly","symbols","sym","_objectSpread","getOwnPropertyDescriptors","defineProperties","_toConsumableArray","_arrayWithoutHoles","iter","_iterableToArray","_nonIterableSpread","Preview","IS_BROWSER","IS_GLOBAL","global","SUPPORTED_PROPS","UniversalSuspense","Suspense","customPlayers","players","_class","_temp","ReactPlayer","showPreview","_wrapper","_player","setState","getInternalPlayer","fraction","getActivePlayer","ref","references","nextProps","nextState","state","onClick","handleClickPreview","Wrapper","getAttributes","wrapperRef","renderPreview","renderActivePlayer","_arr2","_i3","_arr3","_Player2"],"mappings":"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","file":"13fb169c99d99f0e9dfe37d889b9139fd7c2096a-43c88674db3e1ee5ca05.js","sourcesContent":["export default function _objectDestructuringEmpty(obj) {\n if (obj == null) throw new TypeError(\"Cannot destructure undefined\");\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.canPlay = exports.FLV_EXTENSIONS = exports.DASH_EXTENSIONS = exports.HLS_EXTENSIONS = exports.VIDEO_EXTENSIONS = exports.AUDIO_EXTENSIONS = exports.MATCH_URL_KALTURA = exports.MATCH_URL_VIDYARD = exports.MATCH_URL_MIXCLOUD = exports.MATCH_URL_DAILYMOTION = exports.MATCH_URL_TWITCH_CHANNEL = exports.MATCH_URL_TWITCH_VIDEO = exports.MATCH_URL_WISTIA = exports.MATCH_URL_STREAMABLE = exports.MATCH_URL_FACEBOOK_WATCH = exports.MATCH_URL_FACEBOOK = exports.MATCH_URL_VIMEO = exports.MATCH_URL_SOUNDCLOUD = exports.MATCH_URL_YOUTUBE = void 0;\n\nvar _utils = require(\"./utils\");\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) {\n var it;\n\n if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) {\n if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n\n var F = function F() {};\n\n return {\n s: F,\n n: function n() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e) {\n throw _e;\n },\n f: F\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = o[Symbol.iterator]();\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e2) {\n didErr = true;\n err = _e2;\n },\n f: function f() {\n try {\n if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nvar MATCH_URL_YOUTUBE = /(?:youtu\\.be\\/|youtube(?:-nocookie)?\\.com\\/(?:embed\\/|v\\/|watch\\/|watch\\?v=|watch\\?.+&v=|shorts\\/|live\\/))((\\w|-){11})|youtube\\.com\\/playlist\\?list=|youtube\\.com\\/user\\//;\nexports.MATCH_URL_YOUTUBE = MATCH_URL_YOUTUBE;\nvar MATCH_URL_SOUNDCLOUD = /(?:soundcloud\\.com|snd\\.sc)\\/[^.]+$/;\nexports.MATCH_URL_SOUNDCLOUD = MATCH_URL_SOUNDCLOUD;\nvar MATCH_URL_VIMEO = /vimeo\\.com\\/(?!progressive_redirect).+/;\nexports.MATCH_URL_VIMEO = MATCH_URL_VIMEO;\nvar MATCH_URL_FACEBOOK = /^https?:\\/\\/(www\\.)?facebook\\.com.*\\/(video(s)?|watch|story)(\\.php?|\\/).+$/;\nexports.MATCH_URL_FACEBOOK = MATCH_URL_FACEBOOK;\nvar MATCH_URL_FACEBOOK_WATCH = /^https?:\\/\\/fb\\.watch\\/.+$/;\nexports.MATCH_URL_FACEBOOK_WATCH = MATCH_URL_FACEBOOK_WATCH;\nvar MATCH_URL_STREAMABLE = /streamable\\.com\\/([a-z0-9]+)$/;\nexports.MATCH_URL_STREAMABLE = MATCH_URL_STREAMABLE;\nvar MATCH_URL_WISTIA = /(?:wistia\\.(?:com|net)|wi\\.st)\\/(?:medias|embed)\\/(?:iframe\\/)?(.*)$/;\nexports.MATCH_URL_WISTIA = MATCH_URL_WISTIA;\nvar MATCH_URL_TWITCH_VIDEO = /(?:www\\.|go\\.)?twitch\\.tv\\/videos\\/(\\d+)($|\\?)/;\nexports.MATCH_URL_TWITCH_VIDEO = MATCH_URL_TWITCH_VIDEO;\nvar MATCH_URL_TWITCH_CHANNEL = /(?:www\\.|go\\.)?twitch\\.tv\\/([a-zA-Z0-9_]+)($|\\?)/;\nexports.MATCH_URL_TWITCH_CHANNEL = MATCH_URL_TWITCH_CHANNEL;\nvar MATCH_URL_DAILYMOTION = /^(?:(?:https?):)?(?:\\/\\/)?(?:www\\.)?(?:(?:dailymotion\\.com(?:\\/embed)?\\/video)|dai\\.ly)\\/([a-zA-Z0-9]+)(?:_[\\w_-]+)?(?:[\\w.#_-]+)?/;\nexports.MATCH_URL_DAILYMOTION = MATCH_URL_DAILYMOTION;\nvar MATCH_URL_MIXCLOUD = /mixcloud\\.com\\/([^/]+\\/[^/]+)/;\nexports.MATCH_URL_MIXCLOUD = MATCH_URL_MIXCLOUD;\nvar MATCH_URL_VIDYARD = /vidyard.com\\/(?:watch\\/)?([a-zA-Z0-9-_]+)/;\nexports.MATCH_URL_VIDYARD = MATCH_URL_VIDYARD;\nvar MATCH_URL_KALTURA = /^https?:\\/\\/[a-zA-Z]+\\.kaltura.(com|org)\\/p\\/([0-9]+)\\/sp\\/([0-9]+)00\\/embedIframeJs\\/uiconf_id\\/([0-9]+)\\/partner_id\\/([0-9]+)(.*)entry_id.([a-zA-Z0-9-_].*)$/;\nexports.MATCH_URL_KALTURA = MATCH_URL_KALTURA;\nvar AUDIO_EXTENSIONS = /\\.(m4a|m4b|mp4a|mpga|mp2|mp2a|mp3|m2a|m3a|wav|weba|aac|oga|spx)($|\\?)/i;\nexports.AUDIO_EXTENSIONS = AUDIO_EXTENSIONS;\nvar VIDEO_EXTENSIONS = /\\.(mp4|og[gv]|webm|mov|m4v)(#t=[,\\d+]+)?($|\\?)/i;\nexports.VIDEO_EXTENSIONS = VIDEO_EXTENSIONS;\nvar HLS_EXTENSIONS = /\\.(m3u8)($|\\?)/i;\nexports.HLS_EXTENSIONS = HLS_EXTENSIONS;\nvar DASH_EXTENSIONS = /\\.(mpd)($|\\?)/i;\nexports.DASH_EXTENSIONS = DASH_EXTENSIONS;\nvar FLV_EXTENSIONS = /\\.(flv)($|\\?)/i;\nexports.FLV_EXTENSIONS = FLV_EXTENSIONS;\n\nvar canPlayFile = function canPlayFile(url) {\n if (url instanceof Array) {\n var _iterator = _createForOfIteratorHelper(url),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var item = _step.value;\n\n if (typeof item === 'string' && canPlayFile(item)) {\n return true;\n }\n\n if (canPlayFile(item.src)) {\n return true;\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n return false;\n }\n\n if ((0, _utils.isMediaStream)(url) || (0, _utils.isBlobUrl)(url)) {\n return true;\n }\n\n return AUDIO_EXTENSIONS.test(url) || VIDEO_EXTENSIONS.test(url) || HLS_EXTENSIONS.test(url) || DASH_EXTENSIONS.test(url) || FLV_EXTENSIONS.test(url);\n};\n\nvar canPlay = {\n youtube: function youtube(url) {\n if (url instanceof Array) {\n return url.every(function (item) {\n return MATCH_URL_YOUTUBE.test(item);\n });\n }\n\n return MATCH_URL_YOUTUBE.test(url);\n },\n soundcloud: function soundcloud(url) {\n return MATCH_URL_SOUNDCLOUD.test(url) && !AUDIO_EXTENSIONS.test(url);\n },\n vimeo: function vimeo(url) {\n return MATCH_URL_VIMEO.test(url) && !VIDEO_EXTENSIONS.test(url) && !HLS_EXTENSIONS.test(url);\n },\n facebook: function facebook(url) {\n return MATCH_URL_FACEBOOK.test(url) || MATCH_URL_FACEBOOK_WATCH.test(url);\n },\n streamable: function streamable(url) {\n return MATCH_URL_STREAMABLE.test(url);\n },\n wistia: function wistia(url) {\n return MATCH_URL_WISTIA.test(url);\n },\n twitch: function twitch(url) {\n return MATCH_URL_TWITCH_VIDEO.test(url) || MATCH_URL_TWITCH_CHANNEL.test(url);\n },\n dailymotion: function dailymotion(url) {\n return MATCH_URL_DAILYMOTION.test(url);\n },\n mixcloud: function mixcloud(url) {\n return MATCH_URL_MIXCLOUD.test(url);\n },\n vidyard: function vidyard(url) {\n return MATCH_URL_VIDYARD.test(url);\n },\n kaltura: function kaltura(url) {\n return MATCH_URL_KALTURA.test(url);\n },\n file: canPlayFile\n};\nexports.canPlay = canPlay;","'use strict';\n\nvar isMergeableObject = function isMergeableObject(value) {\n return isNonNullObject(value) && !isSpecial(value);\n};\n\nfunction isNonNullObject(value) {\n return !!value && typeof value === 'object';\n}\n\nfunction isSpecial(value) {\n var stringValue = Object.prototype.toString.call(value);\n return stringValue === '[object RegExp]' || stringValue === '[object Date]' || isReactElement(value);\n} // see https://github.com/facebook/react/blob/b5ac963fb791d1298e7f396236383bc955f916c1/src/isomorphic/classic/element/ReactElement.js#L21-L25\n\n\nvar canUseSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for('react.element') : 0xeac7;\n\nfunction isReactElement(value) {\n return value.$$typeof === REACT_ELEMENT_TYPE;\n}\n\nfunction emptyTarget(val) {\n return Array.isArray(val) ? [] : {};\n}\n\nfunction cloneUnlessOtherwiseSpecified(value, options) {\n return options.clone !== false && options.isMergeableObject(value) ? deepmerge(emptyTarget(value), value, options) : value;\n}\n\nfunction defaultArrayMerge(target, source, options) {\n return target.concat(source).map(function (element) {\n return cloneUnlessOtherwiseSpecified(element, options);\n });\n}\n\nfunction getMergeFunction(key, options) {\n if (!options.customMerge) {\n return deepmerge;\n }\n\n var customMerge = options.customMerge(key);\n return typeof customMerge === 'function' ? customMerge : deepmerge;\n}\n\nfunction getEnumerableOwnPropertySymbols(target) {\n return Object.getOwnPropertySymbols ? Object.getOwnPropertySymbols(target).filter(function (symbol) {\n return Object.propertyIsEnumerable.call(target, symbol);\n }) : [];\n}\n\nfunction getKeys(target) {\n return Object.keys(target).concat(getEnumerableOwnPropertySymbols(target));\n}\n\nfunction propertyIsOnObject(object, property) {\n try {\n return property in object;\n } catch (_) {\n return false;\n }\n} // Protects from prototype poisoning and unexpected merging up the prototype chain.\n\n\nfunction propertyIsUnsafe(target, key) {\n return propertyIsOnObject(target, key) // Properties are safe to merge if they don't exist in the target yet,\n && !(Object.hasOwnProperty.call(target, key) // unsafe if they exist up the prototype chain,\n && Object.propertyIsEnumerable.call(target, key)); // and also unsafe if they're nonenumerable.\n}\n\nfunction mergeObject(target, source, options) {\n var destination = {};\n\n if (options.isMergeableObject(target)) {\n getKeys(target).forEach(function (key) {\n destination[key] = cloneUnlessOtherwiseSpecified(target[key], options);\n });\n }\n\n getKeys(source).forEach(function (key) {\n if (propertyIsUnsafe(target, key)) {\n return;\n }\n\n if (propertyIsOnObject(target, key) && options.isMergeableObject(source[key])) {\n destination[key] = getMergeFunction(key, options)(target[key], source[key], options);\n } else {\n destination[key] = cloneUnlessOtherwiseSpecified(source[key], options);\n }\n });\n return destination;\n}\n\nfunction deepmerge(target, source, options) {\n options = options || {};\n options.arrayMerge = options.arrayMerge || defaultArrayMerge;\n options.isMergeableObject = options.isMergeableObject || isMergeableObject; // cloneUnlessOtherwiseSpecified is added to `options` so that custom arrayMerge()\n // implementations can use it. The caller may not replace it.\n\n options.cloneUnlessOtherwiseSpecified = cloneUnlessOtherwiseSpecified;\n var sourceIsArray = Array.isArray(source);\n var targetIsArray = Array.isArray(target);\n var sourceAndTargetTypesMatch = sourceIsArray === targetIsArray;\n\n if (!sourceAndTargetTypesMatch) {\n return cloneUnlessOtherwiseSpecified(source, options);\n } else if (sourceIsArray) {\n return options.arrayMerge(target, source, options);\n } else {\n return mergeObject(target, source, options);\n }\n}\n\ndeepmerge.all = function deepmergeAll(array, options) {\n if (!Array.isArray(array)) {\n throw new Error('first argument should be an array');\n }\n\n return array.reduce(function (prev, next) {\n return deepmerge(prev, next, options);\n }, {});\n};\n\nvar deepmerge_1 = deepmerge;\nmodule.exports = deepmerge_1;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.defaultProps = exports.propTypes = void 0;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nvar string = _propTypes[\"default\"].string,\n bool = _propTypes[\"default\"].bool,\n number = _propTypes[\"default\"].number,\n array = _propTypes[\"default\"].array,\n oneOfType = _propTypes[\"default\"].oneOfType,\n shape = _propTypes[\"default\"].shape,\n object = _propTypes[\"default\"].object,\n func = _propTypes[\"default\"].func,\n node = _propTypes[\"default\"].node;\nvar propTypes = {\n url: oneOfType([string, array, object]),\n playing: bool,\n loop: bool,\n controls: bool,\n volume: number,\n muted: bool,\n playbackRate: number,\n width: oneOfType([string, number]),\n height: oneOfType([string, number]),\n style: object,\n progressInterval: number,\n playsinline: bool,\n pip: bool,\n stopOnUnmount: bool,\n light: oneOfType([bool, string, object]),\n playIcon: node,\n previewTabIndex: number,\n fallback: node,\n oEmbedUrl: string,\n wrapper: oneOfType([string, func, shape({\n render: func.isRequired\n })]),\n config: shape({\n soundcloud: shape({\n options: object\n }),\n youtube: shape({\n playerVars: object,\n embedOptions: object,\n onUnstarted: func\n }),\n facebook: shape({\n appId: string,\n version: string,\n playerId: string,\n attributes: object\n }),\n dailymotion: shape({\n params: object\n }),\n vimeo: shape({\n playerOptions: object,\n title: string\n }),\n file: shape({\n attributes: object,\n tracks: array,\n forceVideo: bool,\n forceAudio: bool,\n forceHLS: bool,\n forceSafariHLS: bool,\n forceDASH: bool,\n forceFLV: bool,\n hlsOptions: object,\n hlsVersion: string,\n dashVersion: string,\n flvVersion: string\n }),\n wistia: shape({\n options: object,\n playerId: string,\n customControls: array\n }),\n mixcloud: shape({\n options: object\n }),\n twitch: shape({\n options: object,\n playerId: string\n }),\n vidyard: shape({\n options: object\n })\n }),\n onReady: func,\n onStart: func,\n onPlay: func,\n onPause: func,\n onBuffer: func,\n onBufferEnd: func,\n onEnded: func,\n onError: func,\n onDuration: func,\n onSeek: func,\n onPlaybackRateChange: func,\n onProgress: func,\n onClickPreview: func,\n onEnablePIP: func,\n onDisablePIP: func\n};\nexports.propTypes = propTypes;\n\nvar noop = function noop() {};\n\nvar defaultProps = {\n playing: false,\n loop: false,\n controls: false,\n volume: null,\n muted: false,\n playbackRate: 1,\n width: '640px',\n height: '360px',\n style: {},\n progressInterval: 1000,\n playsinline: false,\n pip: false,\n stopOnUnmount: true,\n light: false,\n fallback: null,\n wrapper: 'div',\n previewTabIndex: 0,\n oEmbedUrl: 'https://noembed.com/embed?url={url}',\n config: {\n soundcloud: {\n options: {\n visual: true,\n // Undocumented, but makes player fill container and look better\n buying: false,\n liking: false,\n download: false,\n sharing: false,\n show_comments: false,\n show_playcount: false\n }\n },\n youtube: {\n playerVars: {\n playsinline: 1,\n showinfo: 0,\n rel: 0,\n iv_load_policy: 3,\n modestbranding: 1\n },\n embedOptions: {},\n onUnstarted: noop\n },\n facebook: {\n appId: '1309697205772819',\n version: 'v3.3',\n playerId: null,\n attributes: {}\n },\n dailymotion: {\n params: {\n api: 1,\n 'endscreen-enable': false\n }\n },\n vimeo: {\n playerOptions: {\n autopause: false,\n byline: false,\n portrait: false,\n title: false\n },\n title: null\n },\n file: {\n attributes: {},\n tracks: [],\n forceVideo: false,\n forceAudio: false,\n forceHLS: false,\n forceDASH: false,\n forceFLV: false,\n hlsOptions: {},\n hlsVersion: '1.1.4',\n dashVersion: '3.1.3',\n flvVersion: '1.5.0'\n },\n wistia: {\n options: {},\n playerId: null,\n customControls: null\n },\n mixcloud: {\n options: {\n hide_cover: 1\n }\n },\n twitch: {\n options: {},\n playerId: null\n },\n vidyard: {\n options: {}\n }\n },\n onReady: noop,\n onStart: noop,\n onPlay: noop,\n onPause: noop,\n onBuffer: noop,\n onBufferEnd: noop,\n onEnded: noop,\n onError: noop,\n onDuration: noop,\n onSeek: noop,\n onPlaybackRateChange: noop,\n onProgress: noop,\n onClickPreview: noop,\n onEnablePIP: noop,\n onDisablePIP: noop\n};\nexports.defaultProps = defaultProps;","module.exports = function load(src, opts, cb) {\n var head = document.head || document.getElementsByTagName('head')[0];\n var script = document.createElement('script');\n\n if (typeof opts === 'function') {\n cb = opts;\n opts = {};\n }\n\n opts = opts || {};\n\n cb = cb || function () {};\n\n script.type = opts.type || 'text/javascript';\n script.charset = opts.charset || 'utf8';\n script.async = 'async' in opts ? !!opts.async : true;\n script.src = src;\n\n if (opts.attrs) {\n setAttributes(script, opts.attrs);\n }\n\n if (opts.text) {\n script.text = '' + opts.text;\n }\n\n var onend = 'onload' in script ? stdOnEnd : ieOnEnd;\n onend(script, cb); // some good legacy browsers (firefox) fail the 'in' detection above\n // so as a fallback we always set onload\n // old IE will ignore this and new IE will set onload\n\n if (!script.onload) {\n stdOnEnd(script, cb);\n }\n\n head.appendChild(script);\n};\n\nfunction setAttributes(script, attrs) {\n for (var attr in attrs) {\n script.setAttribute(attr, attrs[attr]);\n }\n}\n\nfunction stdOnEnd(script, cb) {\n script.onload = function () {\n this.onerror = this.onload = null;\n cb(null, script);\n };\n\n script.onerror = function () {\n // this.onload = null here is necessary\n // because even IE9 works not like others\n this.onerror = this.onload = null;\n cb(new Error('Failed to load ' + this.src), script);\n };\n}\n\nfunction ieOnEnd(script, cb) {\n script.onreadystatechange = function () {\n if (this.readyState != 'complete' && this.readyState != 'loaded') return;\n this.onreadystatechange = null;\n cb(null, script); // there is no way to catch loading errors in IE8\n };\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.parseStartTime = parseStartTime;\nexports.parseEndTime = parseEndTime;\nexports.randomString = randomString;\nexports.queryString = queryString;\nexports.getSDK = getSDK;\nexports.getConfig = getConfig;\nexports.omit = omit;\nexports.callPlayer = callPlayer;\nexports.isMediaStream = isMediaStream;\nexports.isBlobUrl = isBlobUrl;\nexports.supportsWebKitPresentationMode = supportsWebKitPresentationMode;\n\nvar _loadScript = _interopRequireDefault(require(\"load-script\"));\n\nvar _deepmerge = _interopRequireDefault(require(\"deepmerge\"));\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n}\n\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nvar MATCH_START_QUERY = /[?&#](?:start|t)=([0-9hms]+)/;\nvar MATCH_END_QUERY = /[?&#]end=([0-9hms]+)/;\nvar MATCH_START_STAMP = /(\\d+)(h|m|s)/g;\nvar MATCH_NUMERIC = /^\\d+$/; // Parse YouTube URL for a start time param, ie ?t=1h14m30s\n// and return the start time in seconds\n\nfunction parseTimeParam(url, pattern) {\n if (url instanceof Array) {\n return undefined;\n }\n\n var match = url.match(pattern);\n\n if (match) {\n var stamp = match[1];\n\n if (stamp.match(MATCH_START_STAMP)) {\n return parseTimeString(stamp);\n }\n\n if (MATCH_NUMERIC.test(stamp)) {\n return parseInt(stamp);\n }\n }\n\n return undefined;\n}\n\nfunction parseTimeString(stamp) {\n var seconds = 0;\n var array = MATCH_START_STAMP.exec(stamp);\n\n while (array !== null) {\n var _array = array,\n _array2 = _slicedToArray(_array, 3),\n count = _array2[1],\n period = _array2[2];\n\n if (period === 'h') seconds += parseInt(count, 10) * 60 * 60;\n if (period === 'm') seconds += parseInt(count, 10) * 60;\n if (period === 's') seconds += parseInt(count, 10);\n array = MATCH_START_STAMP.exec(stamp);\n }\n\n return seconds;\n}\n\nfunction parseStartTime(url) {\n return parseTimeParam(url, MATCH_START_QUERY);\n}\n\nfunction parseEndTime(url) {\n return parseTimeParam(url, MATCH_END_QUERY);\n} // http://stackoverflow.com/a/38622545\n\n\nfunction randomString() {\n return Math.random().toString(36).substr(2, 5);\n}\n\nfunction queryString(object) {\n return Object.keys(object).map(function (key) {\n return \"\".concat(key, \"=\").concat(object[key]);\n }).join('&');\n}\n\nfunction getGlobal(key) {\n if (window[key]) {\n return window[key];\n }\n\n if (window.exports && window.exports[key]) {\n return window.exports[key];\n }\n\n if (window.module && window.module.exports && window.module.exports[key]) {\n return window.module.exports[key];\n }\n\n return null;\n} // Util function to load an external SDK\n// or return the SDK if it is already loaded\n\n\nvar requests = {};\n\nfunction getSDK(url, sdkGlobal) {\n var sdkReady = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n var isLoaded = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : function () {\n return true;\n };\n var fetchScript = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : _loadScript[\"default\"];\n var existingGlobal = getGlobal(sdkGlobal);\n\n if (existingGlobal && isLoaded(existingGlobal)) {\n return Promise.resolve(existingGlobal);\n }\n\n return new Promise(function (resolve, reject) {\n // If we are already loading the SDK, add the resolve and reject\n // functions to the existing array of requests\n if (requests[url]) {\n requests[url].push({\n resolve: resolve,\n reject: reject\n });\n return;\n }\n\n requests[url] = [{\n resolve: resolve,\n reject: reject\n }];\n\n var onLoaded = function onLoaded(sdk) {\n // When loaded, resolve all pending request promises\n requests[url].forEach(function (request) {\n return request.resolve(sdk);\n });\n };\n\n if (sdkReady) {\n var previousOnReady = window[sdkReady];\n\n window[sdkReady] = function () {\n if (previousOnReady) previousOnReady();\n onLoaded(getGlobal(sdkGlobal));\n };\n }\n\n fetchScript(url, function (err) {\n if (err) {\n // Loading the SDK failed – reject all requests and\n // reset the array of requests for this SDK\n requests[url].forEach(function (request) {\n return request.reject(err);\n });\n requests[url] = null;\n } else if (!sdkReady) {\n onLoaded(getGlobal(sdkGlobal));\n }\n });\n });\n}\n\nfunction getConfig(props, defaultProps) {\n return (0, _deepmerge[\"default\"])(defaultProps.config, props.config);\n}\n\nfunction omit(object) {\n var _ref;\n\n for (var _len = arguments.length, arrays = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n arrays[_key - 1] = arguments[_key];\n }\n\n var omitKeys = (_ref = []).concat.apply(_ref, arrays);\n\n var output = {};\n var keys = Object.keys(object);\n\n for (var _i2 = 0, _keys = keys; _i2 < _keys.length; _i2++) {\n var key = _keys[_i2];\n\n if (omitKeys.indexOf(key) === -1) {\n output[key] = object[key];\n }\n }\n\n return output;\n}\n\nfunction callPlayer(method) {\n var _this$player; // Util method for calling a method on this.player\n // but guard against errors and console.warn instead\n\n\n if (!this.player || !this.player[method]) {\n var message = \"ReactPlayer: \".concat(this.constructor.displayName, \" player could not call %c\").concat(method, \"%c \\u2013 \");\n\n if (!this.player) {\n message += 'The player was not available';\n } else if (!this.player[method]) {\n message += 'The method was not available';\n }\n\n console.warn(message, 'font-weight: bold', '');\n return null;\n }\n\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n return (_this$player = this.player)[method].apply(_this$player, args);\n}\n\nfunction isMediaStream(url) {\n return typeof window !== 'undefined' && typeof window.MediaStream !== 'undefined' && url instanceof window.MediaStream;\n}\n\nfunction isBlobUrl(url) {\n return /^blob:/.test(url);\n}\n\nfunction supportsWebKitPresentationMode() {\n var video = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : document.createElement('video'); // Check if Safari supports PiP, and is not on mobile (other than iPad)\n // iPhone safari appears to \"support\" PiP through the check, however PiP does not function\n\n var notMobile = /iPhone|iPod/.test(navigator.userAgent) === false;\n return video.webkitSupportsPresentationMode && typeof video.webkitSetPresentationMode === 'function' && notMobile;\n}","/* global Map:readonly, Set:readonly, ArrayBuffer:readonly */\nvar hasElementType = typeof Element !== 'undefined';\nvar hasMap = typeof Map === 'function';\nvar hasSet = typeof Set === 'function';\nvar hasArrayBuffer = typeof ArrayBuffer === 'function' && !!ArrayBuffer.isView; // Note: We **don't** need `envHasBigInt64Array` in fde es6/index.js\n\nfunction equal(a, b) {\n // START: fast-deep-equal es6/index.js 3.1.3\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n var length, i, keys;\n\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length) return false;\n\n for (i = length; i-- !== 0;) {\n if (!equal(a[i], b[i])) return false;\n }\n\n return true;\n } // START: Modifications:\n // 1. Extra `has &&` helpers in initial condition allow es6 code\n // to co-exist with es5.\n // 2. Replace `for of` with es5 compliant iteration using `for`.\n // Basically, take:\n //\n // ```js\n // for (i of a.entries())\n // if (!b.has(i[0])) return false;\n // ```\n //\n // ... and convert to:\n //\n // ```js\n // it = a.entries();\n // while (!(i = it.next()).done)\n // if (!b.has(i.value[0])) return false;\n // ```\n //\n // **Note**: `i` access switches to `i.value`.\n\n\n var it;\n\n if (hasMap && a instanceof Map && b instanceof Map) {\n if (a.size !== b.size) return false;\n it = a.entries();\n\n while (!(i = it.next()).done) {\n if (!b.has(i.value[0])) return false;\n }\n\n it = a.entries();\n\n while (!(i = it.next()).done) {\n if (!equal(i.value[1], b.get(i.value[0]))) return false;\n }\n\n return true;\n }\n\n if (hasSet && a instanceof Set && b instanceof Set) {\n if (a.size !== b.size) return false;\n it = a.entries();\n\n while (!(i = it.next()).done) {\n if (!b.has(i.value[0])) return false;\n }\n\n return true;\n } // END: Modifications\n\n\n if (hasArrayBuffer && ArrayBuffer.isView(a) && ArrayBuffer.isView(b)) {\n length = a.length;\n if (length != b.length) return false;\n\n for (i = length; i-- !== 0;) {\n if (a[i] !== b[i]) return false;\n }\n\n return true;\n }\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags; // START: Modifications:\n // Apply guards for `Object.create(null)` handling. See:\n // - https://github.com/FormidableLabs/react-fast-compare/issues/64\n // - https://github.com/epoberezkin/fast-deep-equal/issues/49\n\n if (a.valueOf !== Object.prototype.valueOf && typeof a.valueOf === 'function' && typeof b.valueOf === 'function') return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString && typeof a.toString === 'function' && typeof b.toString === 'function') return a.toString() === b.toString(); // END: Modifications\n\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;) {\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n } // END: fast-deep-equal\n // START: react-fast-compare\n // custom handling for DOM elements\n\n\n if (hasElementType && a instanceof Element) return false; // custom handling for React/Preact\n\n for (i = length; i-- !== 0;) {\n if ((keys[i] === '_owner' || keys[i] === '__v' || keys[i] === '__o') && a.$$typeof) {\n // React-specific: avoid traversing React elements' _owner\n // Preact-specific: avoid traversing Preact elements' __v and __o\n // __v = $_original / $_vnode\n // __o = $_owner\n // These properties contain circular references and are not needed when\n // comparing the actual elements (and not their owners)\n // .$$typeof and ._store on just reasonable markers of elements\n continue;\n } // all other properties should be traversed as usual\n\n\n if (!equal(a[keys[i]], b[keys[i]])) return false;\n } // END: react-fast-compare\n // START: fast-deep-equal\n\n\n return true;\n }\n\n return a !== a && b !== b;\n} // end fast-deep-equal\n\n\nmodule.exports = function isEqual(a, b) {\n try {\n return equal(a, b);\n } catch (error) {\n if ((error.message || '').match(/stack|recursion/i)) {\n // warn on circular references, don't crash\n // browsers give this different errors name and messages:\n // chrome/safari: \"RangeError\", \"Maximum call stack size exceeded\"\n // firefox: \"InternalError\", too much recursion\"\n // edge: \"Error\", \"Out of stack space\"\n console.warn('react-fast-compare cannot handle circular refs');\n return false;\n } // some other error. we should definitely know about these\n\n\n throw error;\n }\n};","\"use strict\";\n\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _reactFastCompare = _interopRequireDefault(require(\"react-fast-compare\"));\n\nvar _props = require(\"./props\");\n\nvar _utils = require(\"./utils\");\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nfunction _getRequireWildcardCache() {\n if (typeof WeakMap !== \"function\") return null;\n var cache = new WeakMap();\n\n _getRequireWildcardCache = function _getRequireWildcardCache() {\n return cache;\n };\n\n return cache;\n}\n\nfunction _interopRequireWildcard(obj) {\n if (obj && obj.__esModule) {\n return obj;\n }\n\n if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") {\n return {\n \"default\": obj\n };\n }\n\n var cache = _getRequireWildcardCache();\n\n if (cache && cache.has(obj)) {\n return cache.get(obj);\n }\n\n var newObj = {};\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\n\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\n\n if (desc && (desc.get || desc.set)) {\n Object.defineProperty(newObj, key, desc);\n } else {\n newObj[key] = obj[key];\n }\n }\n }\n\n newObj[\"default\"] = obj;\n\n if (cache) {\n cache.set(obj, newObj);\n }\n\n return newObj;\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nfunction _createSuper(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct();\n\n return function _createSuperInternal() {\n var Super = _getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf(this).constructor;\n\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return _possibleConstructorReturn(this, result);\n };\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nvar SEEK_ON_PLAY_EXPIRY = 5000;\n\nvar Player = /*#__PURE__*/function (_Component) {\n _inherits(Player, _Component);\n\n var _super = _createSuper(Player);\n\n function Player() {\n var _this;\n\n _classCallCheck(this, Player);\n\n for (var _len = arguments.length, _args = new Array(_len), _key = 0; _key < _len; _key++) {\n _args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(_args));\n\n _defineProperty(_assertThisInitialized(_this), \"mounted\", false);\n\n _defineProperty(_assertThisInitialized(_this), \"isReady\", false);\n\n _defineProperty(_assertThisInitialized(_this), \"isPlaying\", false);\n\n _defineProperty(_assertThisInitialized(_this), \"isLoading\", true);\n\n _defineProperty(_assertThisInitialized(_this), \"loadOnReady\", null);\n\n _defineProperty(_assertThisInitialized(_this), \"startOnPlay\", true);\n\n _defineProperty(_assertThisInitialized(_this), \"seekOnPlay\", null);\n\n _defineProperty(_assertThisInitialized(_this), \"onDurationCalled\", false);\n\n _defineProperty(_assertThisInitialized(_this), \"handlePlayerMount\", function (player) {\n if (_this.player) {\n _this.progress(); // Ensure onProgress is still called in strict mode\n\n\n return; // Return here to prevent loading twice in strict mode\n }\n\n _this.player = player;\n\n _this.player.load(_this.props.url);\n\n _this.progress();\n });\n\n _defineProperty(_assertThisInitialized(_this), \"getInternalPlayer\", function (key) {\n if (!_this.player) return null;\n return _this.player[key];\n });\n\n _defineProperty(_assertThisInitialized(_this), \"progress\", function () {\n if (_this.props.url && _this.player && _this.isReady) {\n var playedSeconds = _this.getCurrentTime() || 0;\n\n var loadedSeconds = _this.getSecondsLoaded();\n\n var duration = _this.getDuration();\n\n if (duration) {\n var progress = {\n playedSeconds: playedSeconds,\n played: playedSeconds / duration\n };\n\n if (loadedSeconds !== null) {\n progress.loadedSeconds = loadedSeconds;\n progress.loaded = loadedSeconds / duration;\n } // Only call onProgress if values have changed\n\n\n if (progress.playedSeconds !== _this.prevPlayed || progress.loadedSeconds !== _this.prevLoaded) {\n _this.props.onProgress(progress);\n }\n\n _this.prevPlayed = progress.playedSeconds;\n _this.prevLoaded = progress.loadedSeconds;\n }\n }\n\n _this.progressTimeout = setTimeout(_this.progress, _this.props.progressFrequency || _this.props.progressInterval);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleReady\", function () {\n if (!_this.mounted) return;\n _this.isReady = true;\n _this.isLoading = false;\n var _this$props = _this.props,\n onReady = _this$props.onReady,\n playing = _this$props.playing,\n volume = _this$props.volume,\n muted = _this$props.muted;\n onReady();\n\n if (!muted && volume !== null) {\n _this.player.setVolume(volume);\n }\n\n if (_this.loadOnReady) {\n _this.player.load(_this.loadOnReady, true);\n\n _this.loadOnReady = null;\n } else if (playing) {\n _this.player.play();\n }\n\n _this.handleDurationCheck();\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handlePlay\", function () {\n _this.isPlaying = true;\n _this.isLoading = false;\n var _this$props2 = _this.props,\n onStart = _this$props2.onStart,\n onPlay = _this$props2.onPlay,\n playbackRate = _this$props2.playbackRate;\n\n if (_this.startOnPlay) {\n if (_this.player.setPlaybackRate && playbackRate !== 1) {\n _this.player.setPlaybackRate(playbackRate);\n }\n\n onStart();\n _this.startOnPlay = false;\n }\n\n onPlay();\n\n if (_this.seekOnPlay) {\n _this.seekTo(_this.seekOnPlay);\n\n _this.seekOnPlay = null;\n }\n\n _this.handleDurationCheck();\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handlePause\", function (e) {\n _this.isPlaying = false;\n\n if (!_this.isLoading) {\n _this.props.onPause(e);\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleEnded\", function () {\n var _this$props3 = _this.props,\n activePlayer = _this$props3.activePlayer,\n loop = _this$props3.loop,\n onEnded = _this$props3.onEnded;\n\n if (activePlayer.loopOnEnded && loop) {\n _this.seekTo(0);\n }\n\n if (!loop) {\n _this.isPlaying = false;\n onEnded();\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleError\", function () {\n var _this$props4;\n\n _this.isLoading = false;\n\n (_this$props4 = _this.props).onError.apply(_this$props4, arguments);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleDurationCheck\", function () {\n clearTimeout(_this.durationCheckTimeout);\n\n var duration = _this.getDuration();\n\n if (duration) {\n if (!_this.onDurationCalled) {\n _this.props.onDuration(duration);\n\n _this.onDurationCalled = true;\n }\n } else {\n _this.durationCheckTimeout = setTimeout(_this.handleDurationCheck, 100);\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleLoaded\", function () {\n // Sometimes we know loading has stopped but onReady/onPlay are never called\n // so this provides a way for players to avoid getting stuck\n _this.isLoading = false;\n });\n\n return _this;\n }\n\n _createClass(Player, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.mounted = true;\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n clearTimeout(this.progressTimeout);\n clearTimeout(this.durationCheckTimeout);\n\n if (this.isReady && this.props.stopOnUnmount) {\n this.player.stop();\n\n if (this.player.disablePIP) {\n this.player.disablePIP();\n }\n }\n\n this.mounted = false;\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n var _this2 = this; // If there isn’t a player available, don’t do anything\n\n\n if (!this.player) {\n return;\n } // Invoke player methods based on changed props\n\n\n var _this$props5 = this.props,\n url = _this$props5.url,\n playing = _this$props5.playing,\n volume = _this$props5.volume,\n muted = _this$props5.muted,\n playbackRate = _this$props5.playbackRate,\n pip = _this$props5.pip,\n loop = _this$props5.loop,\n activePlayer = _this$props5.activePlayer,\n disableDeferredLoading = _this$props5.disableDeferredLoading;\n\n if (!(0, _reactFastCompare[\"default\"])(prevProps.url, url)) {\n if (this.isLoading && !activePlayer.forceLoad && !disableDeferredLoading && !(0, _utils.isMediaStream)(url)) {\n console.warn(\"ReactPlayer: the attempt to load \".concat(url, \" is being deferred until the player has loaded\"));\n this.loadOnReady = url;\n return;\n }\n\n this.isLoading = true;\n this.startOnPlay = true;\n this.onDurationCalled = false;\n this.player.load(url, this.isReady);\n }\n\n if (!prevProps.playing && playing && !this.isPlaying) {\n this.player.play();\n }\n\n if (prevProps.playing && !playing && this.isPlaying) {\n this.player.pause();\n }\n\n if (!prevProps.pip && pip && this.player.enablePIP) {\n this.player.enablePIP();\n }\n\n if (prevProps.pip && !pip && this.player.disablePIP) {\n this.player.disablePIP();\n }\n\n if (prevProps.volume !== volume && volume !== null) {\n this.player.setVolume(volume);\n }\n\n if (prevProps.muted !== muted) {\n if (muted) {\n this.player.mute();\n } else {\n this.player.unmute();\n\n if (volume !== null) {\n // Set volume next tick to fix a bug with DailyMotion\n setTimeout(function () {\n return _this2.player.setVolume(volume);\n });\n }\n }\n }\n\n if (prevProps.playbackRate !== playbackRate && this.player.setPlaybackRate) {\n this.player.setPlaybackRate(playbackRate);\n }\n\n if (prevProps.loop !== loop && this.player.setLoop) {\n this.player.setLoop(loop);\n }\n }\n }, {\n key: \"getDuration\",\n value: function getDuration() {\n if (!this.isReady) return null;\n return this.player.getDuration();\n }\n }, {\n key: \"getCurrentTime\",\n value: function getCurrentTime() {\n if (!this.isReady) return null;\n return this.player.getCurrentTime();\n }\n }, {\n key: \"getSecondsLoaded\",\n value: function getSecondsLoaded() {\n if (!this.isReady) return null;\n return this.player.getSecondsLoaded();\n }\n }, {\n key: \"seekTo\",\n value: function seekTo(amount, type) {\n var _this3 = this; // When seeking before player is ready, store value and seek later\n\n\n if (!this.isReady) {\n if (amount !== 0) {\n this.seekOnPlay = amount;\n setTimeout(function () {\n _this3.seekOnPlay = null;\n }, SEEK_ON_PLAY_EXPIRY);\n }\n\n return;\n }\n\n var isFraction = !type ? amount > 0 && amount < 1 : type === 'fraction';\n\n if (isFraction) {\n // Convert fraction to seconds based on duration\n var duration = this.player.getDuration();\n\n if (!duration) {\n console.warn('ReactPlayer: could not seek using fraction – duration not yet available');\n return;\n }\n\n this.player.seekTo(duration * amount);\n return;\n }\n\n this.player.seekTo(amount);\n }\n }, {\n key: \"render\",\n value: function render() {\n var Player = this.props.activePlayer;\n\n if (!Player) {\n return null;\n }\n\n return /*#__PURE__*/_react[\"default\"].createElement(Player, _extends({}, this.props, {\n onMount: this.handlePlayerMount,\n onReady: this.handleReady,\n onPlay: this.handlePlay,\n onPause: this.handlePause,\n onEnded: this.handleEnded,\n onLoaded: this.handleLoaded,\n onError: this.handleError\n }));\n }\n }]);\n\n return Player;\n}(_react.Component);\n\nexports[\"default\"] = Player;\n\n_defineProperty(Player, \"displayName\", 'Player');\n\n_defineProperty(Player, \"propTypes\", _props.propTypes);\n\n_defineProperty(Player, \"defaultProps\", _props.defaultProps);","function areInputsEqual(newInputs, lastInputs) {\n if (newInputs.length !== lastInputs.length) {\n return false;\n }\n\n for (var i = 0; i < newInputs.length; i++) {\n if (newInputs[i] !== lastInputs[i]) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction memoizeOne(resultFn, isEqual) {\n if (isEqual === void 0) {\n isEqual = areInputsEqual;\n }\n\n var lastThis;\n var lastArgs = [];\n var lastResult;\n var calledOnce = false;\n\n function memoized() {\n var newArgs = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n newArgs[_i] = arguments[_i];\n }\n\n if (calledOnce && lastThis === this && isEqual(newArgs, lastArgs)) {\n return lastResult;\n }\n\n lastResult = resultFn.apply(this, newArgs);\n calledOnce = true;\n lastThis = this;\n lastArgs = newArgs;\n return lastResult;\n }\n\n return memoized;\n}\n\nexport default memoizeOne;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _players = _interopRequireDefault(require(\"./players\"));\n\nvar _ReactPlayer = require(\"./ReactPlayer\");\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n} // Fall back to FilePlayer if nothing else can play the URL\n\n\nvar fallback = _players[\"default\"][_players[\"default\"].length - 1];\n\nvar _default = (0, _ReactPlayer.createReactPlayer)(_players[\"default\"], fallback);\n\nexports[\"default\"] = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = require(\"react\");\n\nvar _utils = require(\"../utils\");\n\nvar _patterns = require(\"../patterns\");\n\nvar _default = [{\n key: 'youtube',\n name: 'YouTube',\n canPlay: _patterns.canPlay.youtube,\n lazyPlayer: /*#__PURE__*/(0, _react.lazy)(function () {\n return import(\n /* webpackChunkName: 'reactPlayerYouTube' */\n './YouTube');\n })\n}, {\n key: 'soundcloud',\n name: 'SoundCloud',\n canPlay: _patterns.canPlay.soundcloud,\n lazyPlayer: /*#__PURE__*/(0, _react.lazy)(function () {\n return import(\n /* webpackChunkName: 'reactPlayerSoundCloud' */\n './SoundCloud');\n })\n}, {\n key: 'vimeo',\n name: 'Vimeo',\n canPlay: _patterns.canPlay.vimeo,\n lazyPlayer: /*#__PURE__*/(0, _react.lazy)(function () {\n return import(\n /* webpackChunkName: 'reactPlayerVimeo' */\n './Vimeo');\n })\n}, {\n key: 'facebook',\n name: 'Facebook',\n canPlay: _patterns.canPlay.facebook,\n lazyPlayer: /*#__PURE__*/(0, _react.lazy)(function () {\n return import(\n /* webpackChunkName: 'reactPlayerFacebook' */\n './Facebook');\n })\n}, {\n key: 'streamable',\n name: 'Streamable',\n canPlay: _patterns.canPlay.streamable,\n lazyPlayer: /*#__PURE__*/(0, _react.lazy)(function () {\n return import(\n /* webpackChunkName: 'reactPlayerStreamable' */\n './Streamable');\n })\n}, {\n key: 'wistia',\n name: 'Wistia',\n canPlay: _patterns.canPlay.wistia,\n lazyPlayer: /*#__PURE__*/(0, _react.lazy)(function () {\n return import(\n /* webpackChunkName: 'reactPlayerWistia' */\n './Wistia');\n })\n}, {\n key: 'twitch',\n name: 'Twitch',\n canPlay: _patterns.canPlay.twitch,\n lazyPlayer: /*#__PURE__*/(0, _react.lazy)(function () {\n return import(\n /* webpackChunkName: 'reactPlayerTwitch' */\n './Twitch');\n })\n}, {\n key: 'dailymotion',\n name: 'DailyMotion',\n canPlay: _patterns.canPlay.dailymotion,\n lazyPlayer: /*#__PURE__*/(0, _react.lazy)(function () {\n return import(\n /* webpackChunkName: 'reactPlayerDailyMotion' */\n './DailyMotion');\n })\n}, {\n key: 'mixcloud',\n name: 'Mixcloud',\n canPlay: _patterns.canPlay.mixcloud,\n lazyPlayer: /*#__PURE__*/(0, _react.lazy)(function () {\n return import(\n /* webpackChunkName: 'reactPlayerMixcloud' */\n './Mixcloud');\n })\n}, {\n key: 'vidyard',\n name: 'Vidyard',\n canPlay: _patterns.canPlay.vidyard,\n lazyPlayer: /*#__PURE__*/(0, _react.lazy)(function () {\n return import(\n /* webpackChunkName: 'reactPlayerVidyard' */\n './Vidyard');\n })\n}, {\n key: 'kaltura',\n name: 'Kaltura',\n canPlay: _patterns.canPlay.kaltura,\n lazyPlayer: /*#__PURE__*/(0, _react.lazy)(function () {\n return import(\n /* webpackChunkName: 'reactPlayerKaltura' */\n './Kaltura');\n })\n}, {\n key: 'file',\n name: 'FilePlayer',\n canPlay: _patterns.canPlay.file,\n canEnablePIP: function canEnablePIP(url) {\n return _patterns.canPlay.file(url) && (document.pictureInPictureEnabled || (0, _utils.supportsWebKitPresentationMode)()) && !_patterns.AUDIO_EXTENSIONS.test(url);\n },\n lazyPlayer: /*#__PURE__*/(0, _react.lazy)(function () {\n return import(\n /* webpackChunkName: 'reactPlayerFilePlayer' */\n './FilePlayer');\n })\n}];\nexports[\"default\"] = _default;","\"use strict\";\n\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.createReactPlayer = void 0;\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _deepmerge = _interopRequireDefault(require(\"deepmerge\"));\n\nvar _memoizeOne = _interopRequireDefault(require(\"memoize-one\"));\n\nvar _reactFastCompare = _interopRequireDefault(require(\"react-fast-compare\"));\n\nvar _props = require(\"./props\");\n\nvar _utils = require(\"./utils\");\n\nvar _Player3 = _interopRequireDefault(require(\"./Player\"));\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nfunction _getRequireWildcardCache() {\n if (typeof WeakMap !== \"function\") return null;\n var cache = new WeakMap();\n\n _getRequireWildcardCache = function _getRequireWildcardCache() {\n return cache;\n };\n\n return cache;\n}\n\nfunction _interopRequireWildcard(obj) {\n if (obj && obj.__esModule) {\n return obj;\n }\n\n if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") {\n return {\n \"default\": obj\n };\n }\n\n var cache = _getRequireWildcardCache();\n\n if (cache && cache.has(obj)) {\n return cache.get(obj);\n }\n\n var newObj = {};\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\n\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\n\n if (desc && (desc.get || desc.set)) {\n Object.defineProperty(newObj, key, desc);\n } else {\n newObj[key] = obj[key];\n }\n }\n }\n\n newObj[\"default\"] = obj;\n\n if (cache) {\n cache.set(obj, newObj);\n }\n\n return newObj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter);\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return _arrayLikeToArray(arr);\n}\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nfunction _createSuper(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct();\n\n return function _createSuperInternal() {\n var Super = _getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf(this).constructor;\n\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return _possibleConstructorReturn(this, result);\n };\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nvar Preview = /*#__PURE__*/(0, _react.lazy)(function () {\n return import(\n /* webpackChunkName: 'reactPlayerPreview' */\n './Preview');\n});\nvar IS_BROWSER = typeof window !== 'undefined' && window.document;\nvar IS_GLOBAL = typeof global !== 'undefined' && global.window && global.window.document;\nvar SUPPORTED_PROPS = Object.keys(_props.propTypes); // Return null when rendering on the server\n// as Suspense is not supported yet\n\nvar UniversalSuspense = IS_BROWSER || IS_GLOBAL ? _react.Suspense : function () {\n return null;\n};\nvar customPlayers = [];\n\nvar createReactPlayer = function createReactPlayer(players, fallback) {\n var _class, _temp;\n\n return _temp = _class = /*#__PURE__*/function (_Component) {\n _inherits(ReactPlayer, _Component);\n\n var _super = _createSuper(ReactPlayer);\n\n function ReactPlayer() {\n var _this;\n\n _classCallCheck(this, ReactPlayer);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"state\", {\n showPreview: !!_this.props.light\n });\n\n _defineProperty(_assertThisInitialized(_this), \"references\", {\n wrapper: function wrapper(_wrapper) {\n _this.wrapper = _wrapper;\n },\n player: function player(_player) {\n _this.player = _player;\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleClickPreview\", function (e) {\n _this.setState({\n showPreview: false\n });\n\n _this.props.onClickPreview(e);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"showPreview\", function () {\n _this.setState({\n showPreview: true\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"getDuration\", function () {\n if (!_this.player) return null;\n return _this.player.getDuration();\n });\n\n _defineProperty(_assertThisInitialized(_this), \"getCurrentTime\", function () {\n if (!_this.player) return null;\n return _this.player.getCurrentTime();\n });\n\n _defineProperty(_assertThisInitialized(_this), \"getSecondsLoaded\", function () {\n if (!_this.player) return null;\n return _this.player.getSecondsLoaded();\n });\n\n _defineProperty(_assertThisInitialized(_this), \"getInternalPlayer\", function () {\n var key = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'player';\n if (!_this.player) return null;\n return _this.player.getInternalPlayer(key);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"seekTo\", function (fraction, type) {\n if (!_this.player) return null;\n\n _this.player.seekTo(fraction, type);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleReady\", function () {\n _this.props.onReady(_assertThisInitialized(_this));\n });\n\n _defineProperty(_assertThisInitialized(_this), \"getActivePlayer\", (0, _memoizeOne[\"default\"])(function (url) {\n for (var _i = 0, _arr = [].concat(customPlayers, _toConsumableArray(players)); _i < _arr.length; _i++) {\n var player = _arr[_i];\n\n if (player.canPlay(url)) {\n return player;\n }\n }\n\n if (fallback) {\n return fallback;\n }\n\n return null;\n }));\n\n _defineProperty(_assertThisInitialized(_this), \"getConfig\", (0, _memoizeOne[\"default\"])(function (url, key) {\n var config = _this.props.config;\n return _deepmerge[\"default\"].all([_props.defaultProps.config, _props.defaultProps.config[key] || {}, config, config[key] || {}]);\n }));\n\n _defineProperty(_assertThisInitialized(_this), \"getAttributes\", (0, _memoizeOne[\"default\"])(function (url) {\n return (0, _utils.omit)(_this.props, SUPPORTED_PROPS);\n }));\n\n _defineProperty(_assertThisInitialized(_this), \"renderActivePlayer\", function (url) {\n if (!url) return null;\n\n var player = _this.getActivePlayer(url);\n\n if (!player) return null;\n\n var config = _this.getConfig(url, player.key);\n\n return /*#__PURE__*/_react[\"default\"].createElement(_Player3[\"default\"], _extends({}, _this.props, {\n key: player.key,\n ref: _this.references.player,\n config: config,\n activePlayer: player.lazyPlayer || player,\n onReady: _this.handleReady\n }));\n });\n\n return _this;\n }\n\n _createClass(ReactPlayer, [{\n key: \"shouldComponentUpdate\",\n value: function shouldComponentUpdate(nextProps, nextState) {\n return !(0, _reactFastCompare[\"default\"])(this.props, nextProps) || !(0, _reactFastCompare[\"default\"])(this.state, nextState);\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n var light = this.props.light;\n\n if (!prevProps.light && light) {\n this.setState({\n showPreview: true\n });\n }\n\n if (prevProps.light && !light) {\n this.setState({\n showPreview: false\n });\n }\n }\n }, {\n key: \"renderPreview\",\n value: function renderPreview(url) {\n if (!url) return null;\n var _this$props = this.props,\n light = _this$props.light,\n playIcon = _this$props.playIcon,\n previewTabIndex = _this$props.previewTabIndex,\n oEmbedUrl = _this$props.oEmbedUrl;\n return /*#__PURE__*/_react[\"default\"].createElement(Preview, {\n url: url,\n light: light,\n playIcon: playIcon,\n previewTabIndex: previewTabIndex,\n oEmbedUrl: oEmbedUrl,\n onClick: this.handleClickPreview\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n url = _this$props2.url,\n style = _this$props2.style,\n width = _this$props2.width,\n height = _this$props2.height,\n fallback = _this$props2.fallback,\n Wrapper = _this$props2.wrapper;\n var showPreview = this.state.showPreview;\n var attributes = this.getAttributes(url);\n var wrapperRef = typeof Wrapper === 'string' ? this.references.wrapper : undefined;\n return /*#__PURE__*/_react[\"default\"].createElement(Wrapper, _extends({\n ref: wrapperRef,\n style: _objectSpread(_objectSpread({}, style), {}, {\n width: width,\n height: height\n })\n }, attributes), /*#__PURE__*/_react[\"default\"].createElement(UniversalSuspense, {\n fallback: fallback\n }, showPreview ? this.renderPreview(url) : this.renderActivePlayer(url)));\n }\n }]);\n\n return ReactPlayer;\n }(_react.Component), _defineProperty(_class, \"displayName\", 'ReactPlayer'), _defineProperty(_class, \"propTypes\", _props.propTypes), _defineProperty(_class, \"defaultProps\", _props.defaultProps), _defineProperty(_class, \"addCustomPlayer\", function (player) {\n customPlayers.push(player);\n }), _defineProperty(_class, \"removeCustomPlayers\", function () {\n customPlayers.length = 0;\n }), _defineProperty(_class, \"canPlay\", function (url) {\n for (var _i2 = 0, _arr2 = [].concat(customPlayers, _toConsumableArray(players)); _i2 < _arr2.length; _i2++) {\n var _Player = _arr2[_i2];\n\n if (_Player.canPlay(url)) {\n return true;\n }\n }\n\n return false;\n }), _defineProperty(_class, \"canEnablePIP\", function (url) {\n for (var _i3 = 0, _arr3 = [].concat(customPlayers, _toConsumableArray(players)); _i3 < _arr3.length; _i3++) {\n var _Player2 = _arr3[_i3];\n\n if (_Player2.canEnablePIP && _Player2.canEnablePIP(url)) {\n return true;\n }\n }\n\n return false;\n }), _temp;\n};\n\nexports.createReactPlayer = createReactPlayer;"],"sourceRoot":""}