{"version":3,"file":"static/chunks/7506.da033d9ceec86c29.js","mappings":"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","sources":["webpack://_N_E/./node_modules/@u-wave/react-youtube/dist/react-youtube.es.js","webpack://_N_E/./node_modules/load-script2/index.js","webpack://_N_E/./node_modules/lodash.throttle/index.js"],"sourcesContent":["import * as React from 'react';\nimport PropTypes from 'prop-types';\nimport loadScript from 'load-script2';\n\nfunction _inheritsLoose(subClass, superClass) {\n  subClass.prototype = Object.create(superClass.prototype);\n  subClass.prototype.constructor = subClass;\n\n  _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 _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\nvar eventNames = ['onReady', 'onStateChange', 'onPlaybackQualityChange', 'onPlaybackRateChange', 'onError', 'onApiChange'];\n\n/* global window */\n\nfunction loadSdk() {\n  return new Promise(function (resolve, reject) {\n    if (typeof window.YT === 'object' && typeof window.YT.ready === 'function') {\n      // A YouTube SDK is already loaded, so reuse that\n      window.YT.ready(function () {\n        resolve(window.YT);\n      });\n      return;\n    }\n\n    loadScript('https://www.youtube.com/iframe_api', function (err) {\n      if (err) {\n        reject(err);\n      } else {\n        window.YT.ready(function () {\n          resolve(window.YT);\n        });\n      }\n    });\n  });\n}\n\nvar sdk = null;\nfunction getSdk() {\n  if (!sdk) {\n    sdk = loadSdk();\n  }\n\n  return sdk;\n}\n\nvar YouTube = /*#__PURE__*/function (_React$Component) {\n  _inheritsLoose(YouTube, _React$Component);\n\n  function YouTube(props) {\n    var _this;\n\n    _this = _React$Component.call(this, props) || this;\n    _this.onPlayerReady = _this.onPlayerReady.bind(_assertThisInitialized(_this));\n    _this.onPlayerStateChange = _this.onPlayerStateChange.bind(_assertThisInitialized(_this));\n    _this.refContainer = _this.refContainer.bind(_assertThisInitialized(_this));\n    return _this;\n  }\n\n  var _proto = YouTube.prototype;\n\n  _proto.componentDidMount = function componentDidMount() {\n    this.createPlayer();\n  };\n\n  _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n    var _this2 = this;\n\n    // eslint-disable-next-line react/destructuring-assignment\n    var changes = Object.keys(this.props).filter(function (name) {\n      return _this2.props[name] !== prevProps[name];\n    });\n    this.updateProps(changes);\n  };\n\n  _proto.componentWillUnmount = function componentWillUnmount() {\n    if (this.playerInstance) {\n      this.playerInstance.destroy();\n    }\n  };\n\n  _proto.onPlayerReady = function onPlayerReady(event) {\n    var _this$props = this.props,\n        volume = _this$props.volume,\n        muted = _this$props.muted,\n        suggestedQuality = _this$props.suggestedQuality,\n        playbackRate = _this$props.playbackRate;\n\n    if (typeof volume !== 'undefined') {\n      event.target.setVolume(volume * 100);\n    }\n\n    if (typeof muted !== 'undefined') {\n      if (muted) {\n        event.target.mute();\n      } else {\n        event.target.unMute();\n      }\n    }\n\n    if (typeof suggestedQuality !== 'undefined') {\n      event.target.setPlaybackQuality(suggestedQuality);\n    }\n\n    if (typeof playbackRate !== 'undefined') {\n      event.target.setPlaybackRate(playbackRate);\n    }\n\n    this.resolvePlayer(event.target);\n  };\n\n  _proto.onPlayerStateChange = function onPlayerStateChange(event) {\n    var _this$props2 = this.props,\n        onCued = _this$props2.onCued,\n        onBuffering = _this$props2.onBuffering,\n        onPause = _this$props2.onPause,\n        onPlaying = _this$props2.onPlaying,\n        onEnd = _this$props2.onEnd;\n    var State = YT.PlayerState; // eslint-disable-line no-undef\n\n    switch (event.data) {\n      case State.CUED:\n        onCued(event);\n        break;\n\n      case State.BUFFERING:\n        onBuffering(event);\n        break;\n\n      case State.PAUSED:\n        onPause(event);\n        break;\n\n      case State.PLAYING:\n        onPlaying(event);\n        break;\n\n      case State.ENDED:\n        onEnd(event);\n        break;\n\n    }\n  }\n  /**\n   * @private\n   */\n  ;\n\n  _proto.getPlayerParameters = function getPlayerParameters() {\n    /* eslint-disable react/destructuring-assignment */\n    return {\n      autoplay: this.props.autoplay,\n      cc_load_policy: this.props.showCaptions ? 1 : 0,\n      controls: this.props.controls ? 1 : 0,\n      disablekb: this.props.disableKeyboard ? 1 : 0,\n      fs: this.props.allowFullscreen ? 1 : 0,\n      hl: this.props.lang,\n      iv_load_policy: this.props.annotations ? 1 : 3,\n      start: this.props.startSeconds,\n      end: this.props.endSeconds,\n      modestbranding: this.props.modestBranding ? 1 : 0,\n      playsinline: this.props.playsInline ? 1 : 0,\n      rel: this.props.showRelatedVideos ? 1 : 0\n    };\n    /* eslint-enable react/destructuring-assignment */\n  }\n  /**\n   * @private\n   */\n  ;\n\n  _proto.getInitialOptions = function getInitialOptions() {\n    /* eslint-disable react/destructuring-assignment */\n    return {\n      videoId: this.props.video,\n      width: this.props.width,\n      height: this.props.height,\n      playerVars: this.getPlayerParameters(),\n      events: {\n        onReady: this.onPlayerReady,\n        onStateChange: this.onPlayerStateChange\n      }\n    };\n    /* eslint-enable react/destructuring-assignment */\n  }\n  /**\n   * @private\n   */\n  ;\n\n  _proto.updateProps = function updateProps(propNames) {\n    var _this3 = this;\n\n    this.player.then(function (player) {\n      propNames.forEach(function (name) {\n        // eslint-disable-next-line react/destructuring-assignment\n        var value = _this3.props[name];\n\n        switch (name) {\n          case 'muted':\n            if (value) {\n              player.mute();\n            } else {\n              player.unMute();\n            }\n\n            break;\n\n          case 'suggestedQuality':\n            player.setPlaybackQuality(value);\n            break;\n\n          case 'volume':\n            player.setVolume(value * 100);\n            break;\n\n          case 'paused':\n            if (value && player.getPlayerState() !== 2) {\n              player.pauseVideo();\n            } else if (!value && player.getPlayerState() === 2) {\n              player.playVideo();\n            }\n\n            break;\n\n          case 'id':\n          case 'className':\n          case 'width':\n          case 'height':\n            player.getIframe()[name] = value; // eslint-disable-line no-param-reassign\n\n            break;\n\n          case 'video':\n            if (!value) {\n              player.stopVideo();\n            } else {\n              var _this3$props = _this3.props,\n                  startSeconds = _this3$props.startSeconds,\n                  endSeconds = _this3$props.endSeconds,\n                  autoplay = _this3$props.autoplay;\n              var opts = {\n                videoId: value,\n                startSeconds: startSeconds || 0,\n                endSeconds: endSeconds\n              };\n\n              if (autoplay) {\n                player.loadVideoById(opts);\n              } else {\n                player.cueVideoById(opts);\n              }\n            }\n\n            break;\n\n        }\n      });\n    });\n  }\n  /**\n   * @private\n   */\n  ;\n\n  _proto.createPlayer = function createPlayer() {\n    var _this4 = this;\n\n    var volume = this.props.volume;\n    this.player = getSdk().then(function (YT) {\n      return new Promise(function (resolve) {\n        _this4.resolvePlayer = resolve;\n        var player = new YT.Player(_this4.container, _this4.getInitialOptions()); // Store the instance directly so we can destroy it sync in\n        // `componentWillUnmount`.\n\n        _this4.playerInstance = player;\n        eventNames.forEach(function (name) {\n          player.addEventListener(name, function (event) {\n            // eslint-disable-next-line react/destructuring-assignment\n            var handler = _this4.props[name];\n\n            if (handler) {\n              handler(event);\n            }\n          });\n        });\n      });\n    });\n\n    if (typeof volume === 'number') {\n      this.updateProps(['volume']);\n    }\n  }\n  /**\n   * @private\n   */\n  ;\n\n  _proto.refContainer = function refContainer(container) {\n    this.container = container;\n  };\n\n  _proto.render = function render() {\n    var _this$props3 = this.props,\n        id = _this$props3.id,\n        className = _this$props3.className,\n        style = _this$props3.style;\n    return /*#__PURE__*/React.createElement(\"div\", {\n      id: id,\n      className: className,\n      style: style,\n      ref: this.refContainer\n    });\n  };\n\n  return YouTube;\n}(React.Component);\n\nif (process.env.NODE_ENV !== 'production') {\n  YouTube.propTypes = {\n    /**\n     * An 11-character string representing a YouTube video ID..\n     */\n    video: PropTypes.string,\n\n    /**\n     * DOM ID for the player element.\n     */\n    id: PropTypes.string,\n\n    /**\n     * CSS className for the player element.\n     */\n    className: PropTypes.string,\n\n    /**\n     * Inline style for container element.\n     */\n    style: PropTypes.object,\n    // eslint-disable-line react/forbid-prop-types\n\n    /**\n     * Width of the player element.\n     */\n    width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n    /**\n     * Height of the player element.\n     */\n    height: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n    /**\n     * Pause the video.\n     */\n    paused: PropTypes.bool,\n    // eslint-disable-line react/no-unused-prop-types\n    // Player parameters\n\n    /**\n     * Whether the video should start playing automatically.\n     *\n     * https://developers.google.com/youtube/player_parameters#autoplay\n     */\n    autoplay: PropTypes.bool,\n\n    /**\n     * Whether to show captions below the video.\n     *\n     * https://developers.google.com/youtube/player_parameters#cc_load_policy\n     */\n    showCaptions: PropTypes.bool,\n\n    /**\n     * Whether to show video controls.\n     *\n     * https://developers.google.com/youtube/player_parameters#controls\n     */\n    controls: PropTypes.bool,\n\n    /**\n     * Ignore keyboard controls.\n     *\n     * https://developers.google.com/youtube/player_parameters#disablekb\n     */\n    disableKeyboard: PropTypes.bool,\n\n    /**\n     * Whether to display the fullscreen button.\n     *\n     * https://developers.google.com/youtube/player_parameters#fs\n     */\n    allowFullscreen: PropTypes.bool,\n\n    /**\n     * The player's interface language. The parameter value is an ISO 639-1\n     * two-letter language code or a fully specified locale.\n     *\n     * https://developers.google.com/youtube/player_parameters#hl\n     */\n    lang: PropTypes.string,\n\n    /**\n     * Whether to show annotations on top of the video.\n     *\n     * https://developers.google.com/youtube/player_parameters#iv_load_policy\n     */\n    annotations: PropTypes.bool,\n\n    /**\n     * Time in seconds at which to start playing the video.\n     *\n     * https://developers.google.com/youtube/player_parameters#start\n     */\n    startSeconds: PropTypes.number,\n\n    /**\n     * Time in seconds at which to stop playing the video.\n     *\n     * https://developers.google.com/youtube/player_parameters#end\n     */\n    endSeconds: PropTypes.number,\n\n    /**\n     * Remove most YouTube logos from the player.\n     *\n     * https://developers.google.com/youtube/player_parameters#modestbranding\n     */\n    modestBranding: PropTypes.bool,\n\n    /**\n     * Whether to play the video inline on iOS, instead of fullscreen.\n     *\n     * https://developers.google.com/youtube/player_parameters#playsinline\n     */\n    playsInline: PropTypes.bool,\n\n    /**\n     * Whether to show related videos after the video is over.\n     *\n     * https://developers.google.com/youtube/player_parameters#rel\n     */\n    showRelatedVideos: PropTypes.bool,\n\n    /**\n     * The playback volume, **as a number between 0 and 1**.\n     */\n    volume: PropTypes.number,\n\n    /**\n     * Whether the video's sound should be muted.\n     */\n    muted: PropTypes.bool,\n\n    /**\n     * The suggested playback quality.\n     *\n     * https://developers.google.com/youtube/iframe_api_reference#Playback_quality\n     */\n    suggestedQuality: PropTypes.string,\n\n    /**\n     * Playback speed.\n     *\n     * https://developers.google.com/youtube/iframe_api_reference#setPlaybackRate\n     */\n    playbackRate: PropTypes.number,\n    // Events\n\n    /* eslint-disable react/no-unused-prop-types */\n\n    /**\n     * Sent when the YouTube player API has loaded.\n     */\n    onReady: PropTypes.func,\n\n    /**\n     * Sent when the player triggers an error.\n     */\n    onError: PropTypes.func,\n\n    /**\n     * Sent when the video is cued and ready to play.\n     */\n    onCued: PropTypes.func,\n\n    /**\n     * Sent when the video is buffering.\n     */\n    onBuffering: PropTypes.func,\n\n    /**\n     * Sent when playback has been started or resumed.\n     */\n    onPlaying: PropTypes.func,\n\n    /**\n     * Sent when playback has been paused.\n     */\n    onPause: PropTypes.func,\n\n    /**\n     * Sent when playback has stopped.\n     */\n    onEnd: PropTypes.func,\n    onStateChange: PropTypes.func,\n    onPlaybackRateChange: PropTypes.func,\n    onPlaybackQualityChange: PropTypes.func\n    /* eslint-enable react/no-unused-prop-types */\n\n  };\n}\n\nYouTube.defaultProps = {\n  autoplay: false,\n  showCaptions: false,\n  controls: true,\n  disableKeyboard: false,\n  allowFullscreen: true,\n  annotations: true,\n  modestBranding: false,\n  playsInline: false,\n  showRelatedVideos: true,\n  onCued: function onCued() {},\n  onBuffering: function onBuffering() {},\n  onPlaying: function onPlaying() {},\n  onPause: function onPause() {},\n  onEnd: function onEnd() {}\n};\n\nexport { YouTube as default };\n","module.exports = load\n\nfunction load (src, cb) {\n  var head = document.head || document.getElementsByTagName('head')[0]\n  var script = document.createElement('script')\n\n  script.type = 'text/javascript'\n  script.async = true\n  script.src = src\n\n  if (cb) {\n    script.onload = function () {\n      script.onerror = script.onload = null\n      cb(null, script)\n    }\n    script.onerror = function () {\n      script.onerror = script.onload = null\n      cb(new Error('Failed to load ' + src), script)\n    }\n  }\n\n  head.appendChild(script)\n}\n","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n    nativeMin = Math.min;\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n *   console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n  return root.Date.now();\n};\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n *  Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n *  The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n *  Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n *   'leading': true,\n *   'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n  var lastArgs,\n      lastThis,\n      maxWait,\n      result,\n      timerId,\n      lastCallTime,\n      lastInvokeTime = 0,\n      leading = false,\n      maxing = false,\n      trailing = true;\n\n  if (typeof func != 'function') {\n    throw new TypeError(FUNC_ERROR_TEXT);\n  }\n  wait = toNumber(wait) || 0;\n  if (isObject(options)) {\n    leading = !!options.leading;\n    maxing = 'maxWait' in options;\n    maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n    trailing = 'trailing' in options ? !!options.trailing : trailing;\n  }\n\n  function invokeFunc(time) {\n    var args = lastArgs,\n        thisArg = lastThis;\n\n    lastArgs = lastThis = undefined;\n    lastInvokeTime = time;\n    result = func.apply(thisArg, args);\n    return result;\n  }\n\n  function leadingEdge(time) {\n    // Reset any `maxWait` timer.\n    lastInvokeTime = time;\n    // Start the timer for the trailing edge.\n    timerId = setTimeout(timerExpired, wait);\n    // Invoke the leading edge.\n    return leading ? invokeFunc(time) : result;\n  }\n\n  function remainingWait(time) {\n    var timeSinceLastCall = time - lastCallTime,\n        timeSinceLastInvoke = time - lastInvokeTime,\n        result = wait - timeSinceLastCall;\n\n    return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;\n  }\n\n  function shouldInvoke(time) {\n    var timeSinceLastCall = time - lastCallTime,\n        timeSinceLastInvoke = time - lastInvokeTime;\n\n    // Either this is the first call, activity has stopped and we're at the\n    // trailing edge, the system time has gone backwards and we're treating\n    // it as the trailing edge, or we've hit the `maxWait` limit.\n    return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n      (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n  }\n\n  function timerExpired() {\n    var time = now();\n    if (shouldInvoke(time)) {\n      return trailingEdge(time);\n    }\n    // Restart the timer.\n    timerId = setTimeout(timerExpired, remainingWait(time));\n  }\n\n  function trailingEdge(time) {\n    timerId = undefined;\n\n    // Only invoke if we have `lastArgs` which means `func` has been\n    // debounced at least once.\n    if (trailing && lastArgs) {\n      return invokeFunc(time);\n    }\n    lastArgs = lastThis = undefined;\n    return result;\n  }\n\n  function cancel() {\n    if (timerId !== undefined) {\n      clearTimeout(timerId);\n    }\n    lastInvokeTime = 0;\n    lastArgs = lastCallTime = lastThis = timerId = undefined;\n  }\n\n  function flush() {\n    return timerId === undefined ? result : trailingEdge(now());\n  }\n\n  function debounced() {\n    var time = now(),\n        isInvoking = shouldInvoke(time);\n\n    lastArgs = arguments;\n    lastThis = this;\n    lastCallTime = time;\n\n    if (isInvoking) {\n      if (timerId === undefined) {\n        return leadingEdge(lastCallTime);\n      }\n      if (maxing) {\n        // Handle invocations in a tight loop.\n        timerId = setTimeout(timerExpired, wait);\n        return invokeFunc(lastCallTime);\n      }\n    }\n    if (timerId === undefined) {\n      timerId = setTimeout(timerExpired, wait);\n    }\n    return result;\n  }\n  debounced.cancel = cancel;\n  debounced.flush = flush;\n  return debounced;\n}\n\n/**\n * Creates a throttled function that only invokes `func` at most once per\n * every `wait` milliseconds. The throttled function comes with a `cancel`\n * method to cancel delayed `func` invocations and a `flush` method to\n * immediately invoke them. Provide `options` to indicate whether `func`\n * should be invoked on the leading and/or trailing edge of the `wait`\n * timeout. The `func` is invoked with the last arguments provided to the\n * throttled function. Subsequent calls to the throttled function return the\n * result of the last `func` invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the throttled function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.throttle` and `_.debounce`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to throttle.\n * @param {number} [wait=0] The number of milliseconds to throttle invocations to.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=true]\n *  Specify invoking on the leading edge of the timeout.\n * @param {boolean} [options.trailing=true]\n *  Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new throttled function.\n * @example\n *\n * // Avoid excessively updating the position while scrolling.\n * jQuery(window).on('scroll', _.throttle(updatePosition, 100));\n *\n * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.\n * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });\n * jQuery(element).on('click', throttled);\n *\n * // Cancel the trailing throttled invocation.\n * jQuery(window).on('popstate', throttled.cancel);\n */\nfunction throttle(func, wait, options) {\n  var leading = true,\n      trailing = true;\n\n  if (typeof func != 'function') {\n    throw new TypeError(FUNC_ERROR_TEXT);\n  }\n  if (isObject(options)) {\n    leading = 'leading' in options ? !!options.leading : leading;\n    trailing = 'trailing' in options ? !!options.trailing : trailing;\n  }\n  return debounce(func, wait, {\n    'leading': leading,\n    'maxWait': wait,\n    'trailing': trailing\n  });\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n  var type = typeof value;\n  return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n  return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n  return typeof value == 'symbol' ||\n    (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n  if (typeof value == 'number') {\n    return value;\n  }\n  if (isSymbol(value)) {\n    return NAN;\n  }\n  if (isObject(value)) {\n    var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n    value = isObject(other) ? (other + '') : other;\n  }\n  if (typeof value != 'string') {\n    return value === 0 ? value : +value;\n  }\n  value = value.replace(reTrim, '');\n  var isBinary = reIsBinary.test(value);\n  return (isBinary || reIsOctal.test(value))\n    ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n    : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = throttle;\n"],"names":["_setPrototypeOf","o","p","Object","setPrototypeOf","__proto__","_assertThisInitialized","self","eventNames","sdk","YouTube","_React$Component","props","_this","call","onPlayerReady","bind","onPlayerStateChange","refContainer","subClass","prototype","create","superClass","constructor","_proto","componentDidMount","createPlayer","componentDidUpdate","prevProps","_this2","changes","keys","filter","name","updateProps","componentWillUnmount","playerInstance","destroy","event","_this$props","volume","muted","suggestedQuality","playbackRate","target","setVolume","mute","unMute","setPlaybackQuality","setPlaybackRate","resolvePlayer","_this$props2","onCued","onBuffering","onPause","onPlaying","onEnd","State","YT","PlayerState","data","CUED","BUFFERING","PAUSED","PLAYING","ENDED","getPlayerParameters","autoplay","cc_load_policy","showCaptions","controls","disablekb","disableKeyboard","fs","allowFullscreen","hl","lang","iv_load_policy","annotations","start","startSeconds","end","endSeconds","modestbranding","modestBranding","playsinline","playsInline","rel","showRelatedVideos","getInitialOptions","videoId","video","width","height","playerVars","events","onReady","onStateChange","propNames","_this3","player","then","forEach","value","getPlayerState","pauseVideo","playVideo","getIframe","_this3$props","opts","loadVideoById","cueVideoById","stopVideo","_this4","getSdk","Promise","resolve","reject","window","ready","load_script2__WEBPACK_IMPORTED_MODULE_1___default","err","Player","container","addEventListener","handler","render","_this$props3","id","className","style","react__WEBPACK_IMPORTED_MODULE_0__","createElement","ref","Component","defaultProps","module","exports","src","cb","head","document","getElementsByTagName","script","type","async","onload","onerror","appendChild","FUNC_ERROR_TEXT","NAN","reTrim","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","parseInt","freeGlobal","__webpack_require__","g","freeSelf","root","Function","objectToString","objectProto","toString","nativeMax","Math","max","nativeMin","min","now","Date","isObject","toNumber","isObjectLike","other","valueOf","replace","isBinary","test","slice","func","wait","options","leading","trailing","debounce","lastArgs","lastThis","maxWait","result","timerId","lastCallTime","lastInvokeTime","maxing","invokeFunc","time","args","thisArg","undefined","apply","shouldInvoke","timeSinceLastCall","timeSinceLastInvoke","timerExpired","trailingEdge","setTimeout","debounced","isInvoking","arguments","cancel","clearTimeout","flush"],"sourceRoot":""}