xgplayer 2.30.2-alpha.3 → 2.31.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack://xgplayer/webpack/universalModuleDefinition","webpack://xgplayer/webpack/bootstrap","webpack://xgplayer/./src/utils/util.js","webpack://xgplayer/./node_modules/css-loader/lib/css-base.js","webpack://xgplayer/./node_modules/style-loader/lib/addStyles.js","webpack://xgplayer/./node_modules/es5-ext/object/is-value.js","webpack://xgplayer/./src/error.js","webpack://xgplayer/./src/utils/sniffer.js","webpack://xgplayer/./node_modules/type/value/is.js","webpack://xgplayer/./src/utils/xgplayerTimeRange.js","webpack://xgplayer/./src/player.js","webpack://xgplayer/./src/skin/controls/i18n.js","webpack://xgplayer/./src/proxy.js","webpack://xgplayer/./node_modules/event-emitter/index.js","webpack://xgplayer/./node_modules/d/index.js","webpack://xgplayer/./node_modules/type/plain-function/is.js","webpack://xgplayer/./node_modules/type/function/is.js","webpack://xgplayer/./node_modules/type/prototype/is.js","webpack://xgplayer/./node_modules/type/object/is.js","webpack://xgplayer/./node_modules/es5-ext/object/assign/index.js","webpack://xgplayer/./node_modules/es5-ext/object/assign/is-implemented.js","webpack://xgplayer/./node_modules/es5-ext/object/assign/shim.js","webpack://xgplayer/./node_modules/es5-ext/object/keys/index.js","webpack://xgplayer/./node_modules/es5-ext/object/keys/is-implemented.js","webpack://xgplayer/./node_modules/es5-ext/object/keys/shim.js","webpack://xgplayer/./node_modules/es5-ext/function/noop.js","webpack://xgplayer/./node_modules/es5-ext/object/valid-value.js","webpack://xgplayer/./node_modules/es5-ext/object/normalize-options.js","webpack://xgplayer/./node_modules/es5-ext/string/#/contains/index.js","webpack://xgplayer/./node_modules/es5-ext/string/#/contains/is-implemented.js","webpack://xgplayer/./node_modules/es5-ext/string/#/contains/shim.js","webpack://xgplayer/./node_modules/es5-ext/object/valid-callable.js","webpack://xgplayer/./node_modules/event-emitter/all-off.js","webpack://xgplayer/./node_modules/es5-ext/object/valid-object.js","webpack://xgplayer/./node_modules/es5-ext/object/is-object.js","webpack://xgplayer/./src/skin/style/index.scss?a7b1","webpack://xgplayer/./src/skin/style/index.scss","webpack://xgplayer/./node_modules/style-loader/lib/urls.js","webpack://xgplayer/./src/controls/mobile.js","webpack://xgplayer/./src/controls/pc.js","webpack://xgplayer/./src/controls/start.js","webpack://xgplayer/./src/skin/controls/start.js","webpack://xgplayer/./src/skin/assets/startPlay.svg","webpack://xgplayer/./src/skin/assets/startPause.svg","webpack://xgplayer/./src/skin/style/controls/start.scss?7bb8","webpack://xgplayer/./src/skin/style/controls/start.scss","webpack://xgplayer/./src/controls/fullscreen.js","webpack://xgplayer/./src/controls/play.js","webpack://xgplayer/./src/controls/replay.js","webpack://xgplayer/./src/skin/controls/play.js","webpack://xgplayer/./src/skin/assets/play.svg","webpack://xgplayer/./src/skin/assets/pause.svg","webpack://xgplayer/./src/skin/style/controls/play.scss?9632","webpack://xgplayer/./src/skin/style/controls/play.scss","webpack://xgplayer/./src/skin/controls/poster.js","webpack://xgplayer/./src/skin/style/controls/poster.scss?e9aa","webpack://xgplayer/./src/skin/style/controls/poster.scss","webpack://xgplayer/./src/skin/controls/flex.js","webpack://xgplayer/./src/skin/style/controls/placeholder.scss?a4f4","webpack://xgplayer/./src/skin/style/controls/placeholder.scss","webpack://xgplayer/./src/skin/controls/fullscreen.js","webpack://xgplayer/./src/skin/assets/requestFull.svg","webpack://xgplayer/./src/skin/assets/exitFull.svg","webpack://xgplayer/./src/skin/style/controls/fullscreen.scss?1042","webpack://xgplayer/./src/skin/style/controls/fullscreen.scss","webpack://xgplayer/./src/skin/controls/loading.js","webpack://xgplayer/./src/skin/assets/loading.svg","webpack://xgplayer/./src/skin/style/controls/loading.scss?ad0a","webpack://xgplayer/./src/skin/style/controls/loading.scss","webpack://xgplayer/./src/skin/controls/progress.js","webpack://xgplayer/./src/skin/style/controls/progress.scss?de9d","webpack://xgplayer/./src/skin/style/controls/progress.scss","webpack://xgplayer/./src/skin/controls/time.js","webpack://xgplayer/./src/skin/style/controls/time.scss?a7a6","webpack://xgplayer/./src/skin/style/controls/time.scss","webpack://xgplayer/./src/skin/controls/replay.js","webpack://xgplayer/./src/skin/assets/replay.svg","webpack://xgplayer/./src/skin/style/controls/replay.scss?446b","webpack://xgplayer/./src/skin/style/controls/replay.scss","webpack://xgplayer/./src/skin/style/controls/textTrack.scss?c6ad","webpack://xgplayer/./src/index.js","webpack://xgplayer/./src/controls/airplay.js","webpack://xgplayer/./src/controls/cssFullscreen.js","webpack://xgplayer/./src/controls/danmu.js","webpack://xgplayer/./src/controls/definition.js","webpack://xgplayer/./src/controls/download.js","webpack://xgplayer/./node_modules/downloadjs/download.js","webpack://xgplayer/./src/utils/url.js","webpack://xgplayer/./src/controls/errorRetry.js","webpack://xgplayer/./src/controls/keyboard.js","webpack://xgplayer/./src/controls/localPreview.js","webpack://xgplayer/./src/controls/memoryPlay.js","webpack://xgplayer/./src/controls/miniplayer.js","webpack://xgplayer/./node_modules/draggabilly/draggabilly.js","webpack://xgplayer/./node_modules/get-size/get-size.js","webpack://xgplayer/./node_modules/unidragger/unidragger.js","webpack://xgplayer/./node_modules/unipointer/unipointer.js","webpack://xgplayer/./node_modules/ev-emitter/ev-emitter.js","webpack://xgplayer/./src/controls/pip.js","webpack://xgplayer/./src/controls/playNext.js","webpack://xgplayer/./src/controls/reload.js","webpack://xgplayer/./src/controls/rotate.js","webpack://xgplayer/./src/controls/screenShot.js","webpack://xgplayer/./src/controls/stallCheck.js","webpack://xgplayer/./src/controls/volume.js","webpack://xgplayer/./src/controls/textTrack.js","webpack://xgplayer/./node_modules/xgplayer-subtitles/dist/index.min.js","webpack://xgplayer/./src/skin/index.js","webpack://xgplayer/./src/skin/controls/enter.js","webpack://xgplayer/./src/skin/style/controls/enter.scss?879b","webpack://xgplayer/./src/skin/style/controls/enter.scss","webpack://xgplayer/./src/skin/controls/cssFullscreen.js","webpack://xgplayer/./src/skin/assets/requestCssFull.svg","webpack://xgplayer/./src/skin/assets/exitCssFull.svg","webpack://xgplayer/./src/skin/style/controls/cssfullscreen.scss?540d","webpack://xgplayer/./src/skin/style/controls/cssfullscreen.scss","webpack://xgplayer/./src/skin/controls/volume.js","webpack://xgplayer/./src/skin/assets/volumeMuted.svg","webpack://xgplayer/./src/skin/assets/volumeSmall.svg","webpack://xgplayer/./src/skin/assets/volumeLarge.svg","webpack://xgplayer/./src/skin/style/controls/volume.scss?4ba7","webpack://xgplayer/./src/skin/style/controls/volume.scss","webpack://xgplayer/./src/skin/controls/definition.js","webpack://xgplayer/./src/skin/style/controls/definition.scss?ee15","webpack://xgplayer/./src/skin/style/controls/definition.scss","webpack://xgplayer/./src/skin/controls/playbackRate.js","webpack://xgplayer/./src/skin/style/controls/playbackRate.scss?114f","webpack://xgplayer/./src/skin/style/controls/playbackRate.scss","webpack://xgplayer/./src/skin/controls/localPreview.js","webpack://xgplayer/./src/skin/controls/download.js","webpack://xgplayer/./src/skin/assets/download.svg","webpack://xgplayer/./src/skin/style/controls/download.scss?9645","webpack://xgplayer/./src/skin/style/controls/download.scss","webpack://xgplayer/./src/skin/controls/danmu.js","webpack://xgplayer/./node_modules/danmu.js/dist/index.js","webpack://xgplayer/(webpack)/buildin/module.js","webpack://xgplayer/./src/skin/assets/panel.svg","webpack://xgplayer/./src/skin/style/controls/danmu.scss?4216","webpack://xgplayer/./src/skin/style/controls/danmu.scss","webpack://xgplayer/./src/skin/controls/pip.js","webpack://xgplayer/./src/skin/style/controls/pip.scss?444d","webpack://xgplayer/./src/skin/style/controls/pip.scss","webpack://xgplayer/./src/skin/controls/miniplayer.js","webpack://xgplayer/./src/skin/style/controls/miniplayer.scss?61c3","webpack://xgplayer/./src/skin/style/controls/miniplayer.scss","webpack://xgplayer/./src/skin/controls/playNext.js","webpack://xgplayer/./src/skin/assets/playNext.svg","webpack://xgplayer/./src/skin/style/controls/playNext.scss?f11a","webpack://xgplayer/./src/skin/style/controls/playNext.scss","webpack://xgplayer/./src/skin/controls/rotate.js","webpack://xgplayer/./src/skin/assets/rotate.svg","webpack://xgplayer/./src/skin/style/controls/rotate.scss?2dec","webpack://xgplayer/./src/skin/style/controls/rotate.scss","webpack://xgplayer/./src/skin/controls/reload.js","webpack://xgplayer/./src/skin/assets/reload.svg","webpack://xgplayer/./src/skin/style/controls/reload.scss?8b15","webpack://xgplayer/./src/skin/style/controls/reload.scss","webpack://xgplayer/./src/skin/controls/screenShot.js","webpack://xgplayer/./src/skin/style/controls/screenShot.scss?ac1c","webpack://xgplayer/./src/skin/style/controls/screenShot.scss","webpack://xgplayer/./src/skin/controls/nativeTextTrack.js","webpack://xgplayer/./src/skin/style/controls/textTrack.scss","webpack://xgplayer/./src/skin/controls/textTrack.js","webpack://xgplayer/./src/skin/controls/error.js","webpack://xgplayer/./src/skin/style/controls/error.scss?0329","webpack://xgplayer/./src/skin/style/controls/error.scss","webpack://xgplayer/./src/skin/controls/memoryPlay.js","webpack://xgplayer/./src/skin/style/controls/memoryPlay.scss?0c39","webpack://xgplayer/./src/skin/style/controls/memoryPlay.scss","webpack://xgplayer/./src/skin/controls/airplay.js","webpack://xgplayer/./src/skin/assets/airplay.svg","webpack://xgplayer/./src/skin/style/controls/airplay.scss?643b","webpack://xgplayer/./src/skin/style/controls/airplay.scss"],"names":["root","factory","exports","module","define","amd","this","installedModules","__webpack_require__","moduleId","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","createDom","hasClass","addClass","removeClass","toggleClass","findDom","padStart","format","event","typeOf","deepCopy","getBgImage","copyDom","_setInterval","_clearInterval","createImgBtn","isWeiXin","isUc","computeWatchDur","offInDestroy","on","once","getBuffered2","checkIsBrowser","setStyle","el","tpl","attrs","cname","dom","document","item","className","Array","some","RegExp","reg","sel","e","str","length","pad","charstr","String","len","maxlen","Math","chars","time","window","hour","minute","second","touch","obj","dst","src","url","a","back","node","context","eventName","intervalFunc","frequency","setInterval","clearInterval","imgUrl","width","height","btn","w","h","unit","Number","ua","played","arr","begin","end","j","b","watch_dur","fn","offEvent","_fn","data","vbuffered","maxHoleDuration","buffered","start","diff","buffered_2","buf2len","buf2end","XgplayerTimeRange","elem","style","error","util","useSourceMap","list","toString","map","content","cssMapping","btoa","sourceMapping","sourceMap","unescape","encodeURIComponent","JSON","stringify","sourceURLs","sources","source","sourceRoot","concat","join","cssWithMappingToString","mediaQuery","alreadyImportedModules","id","push","memo","stylesInDom","isOldIE","all","atob","apply","arguments","getTarget","target","querySelector","getElement","styleTarget","HTMLIFrameElement","contentDocument","head","singleton","singletonCounter","stylesInsertedAtTop","fixUrls","addStylesToDom","styles","options","domStyle","refs","parts","addStyle","listToStyles","newStyles","base","part","css","media","insertStyleElement","insertInto","Error","lastStyleElementInsertedAtTop","insertAt","nextSibling","insertBefore","appendChild","firstChild","before","removeStyleElement","parentNode","removeChild","idx","indexOf","splice","createStyleElement","createElement","type","addAttrs","keys","forEach","setAttribute","update","remove","result","transform","styleIndex","applyToSingletonTag","URL","createObjectURL","revokeObjectURL","Blob","link","rel","createLinkElement","updateLink","href","applyToTag","newObj","DEBUG","newList","mayRemove","textStore","replaceText","index","replacement","filter","Boolean","styleSheet","cssText","cssNode","createTextNode","childNodes","autoFixUrls","undefined","convertToAbsoluteUrls","blob","oldSrc","_undefined","require","val","ErrorTypes","network","code","msg","remark","mse","parse","decoder","runtime","timeout","other","errd","line","handle","version","errorCode","mediaError","arg","sniffer","navigator","ie","firfox","chrome","opera","safari","isWindowsPhone","test","isSymbian","isAndroid","isFireFox","isTablet","isPhone","isPc","bufferedList","Player","ignores","whitelist","lang","inactive","volume","controls","controlsList","unselectable","onselectstart","Errors","vid","console","s_i18n","self","fetch","method","headers","Accept","res","err","evName","evFunc","player","video","videoWidth","containerSize","videoHeight","setTimeout","nodeType","config","playPromise","isDelDom","_interval","classNameList","split","clearTimeout","keyShortcut","destroyFunc","_replay","param","defaultUserGestureEventHandler","userGestureEventMiddleware","descriptor","enablePausedInactive","k","controlLst","control","Proxy","HAVE_NOTHING","HAVE_METADATA","HAVE_CURRENT_DATA","HAVE_FUTURE_DATA","HAVE_ENOUGH_DATA","NETWORK_EMPTY","NETWORK_IDLE","NETWORK_LOADING","NETWORK_NO_SOURCE","MEDIA_ERR_ABORTED","MEDIA_ERR_NETWORK","MEDIA_ERR_DECODE","MEDIA_ERR_SRC_NOT_SUPPORTED","REPLAY","ERROR","PLAY_TIPS","PAUSE_TIPS","PLAYNEXT_TIPS","DOWNLOAD_TIPS","ROTATE_TIPS","RELOAD_TIPS","FULLSCREEN_TIPS","EXITFULLSCREEN_TIPS","CSSFULLSCREEN_TIPS","EXITCSSFULLSCREEN_TIPS","TEXTTRACK","PIP","MINIPLAYER","SCREENSHOT","LIVE","OFF","MINIPLAYER_DRAG","AIRPLAY_TIPS","set","autoplay","playsinline","airplay","tabindex","mediaType","textTrackDom","nativeTextTrack","track","styleStr","wrap","XgVideoProxy","constructor","videoConfig","getElementsByTagName","trackDoms","lastBuffer","defaultVideoEventHandler","Date","curBuffer","videoEventHandler","canPlayType","range","currentTime","bool","isTrue","isFinite","ended","status","en","cn","rate","posterUrl","poster","vol","off","emit","methods","descriptors","callable","Function","defineProperties","configurable","writable","listener","__eeOnceListener__","__ee__","listeners","candidate","args","slice","isValue","isPlainFunction","assign","normalizeOpts","contains","dscr","desc","gs","isFunction","classRe","functionToString","isPrototype","isObject","possibleTypes","foo","bar","trzy","max","dest","TypeError","process","opts1","searchString","emitter","function","locals","location","baseUrl","protocol","host","currentDir","pathname","replace","fullMatch","origUrl","newUrl","unquotedOrigUrl","trim","$1","clk","_click_","clickedTime","first","element","onTouch","fullscreen","Event","onCanPlay","StartPlayIcon","StartPauseIcon","onPlayerReady","fullscreenEl","fullscreenPromise","playBtn","PlayIcon","PauseIcon","tipsText","tips","playceholder","fullscreenBtn","RequestFullIcon","ExitFullIcon","container","Loading","isRotateFullscreen","containerWidth","progress","outer","cache","point","thumbnail","dotItem","dot","dotEvent","text","duration","tnailPicNum","tnailWidth","tnailHeight","tnailCol","tnailRow","interval","tnailUrls","coverPreviewContainer","coverPreviewPoint","onLoadedmetadata","coverPreviewOuter","isRotate","left","move","now","indexInPage","tnaiRowIndex","tnaiColIndex","up","passive","containerLeft","compute","pointWidth","leave","onTimeupdate","precent","prevPrecent","onCurrentTimeChange","onSrcChange","onCacheUpdate","cacheUpdateEvents","onTimeChange","replayText","ReplayIcon","path","svg","Airplay","CssFullscreen","Danmu","Definition","Download","ErrorRetryControl","Fullscreen","Keyboard","LocalPreview","MemoryPlay","Miniplayer","Mobile","Pc","Pip","Play","PlayNext","Reload","Replay","Rotate","ScreenShot","StallCheck","Start","Volume","TextTrack","danmujs","addEventListener","onDestroy","getAbsoluteURL","download","strFileName","strMimeType","reader","defaultMime","mimeType","payload","anchor","myBlob","MozBlob","WebKitBlob","fileName","pop","ajax","XMLHttpRequest","open","responseType","onload","response","send","msSaveBlob","dataUrlToBlob","saver","tempUiArr","Uint8Array","mx","charCodeAt","strUrl","binData","decodeURIComponent","uiArr","winMode","innerHTML","display","body","click","userAgent","confirm","f","y","FileReader","readAsDataURL","div","defaultConfig","maxCount","backupUrl","isFetch","fetchTimeout","errorConfig","_inConfig","count","errfTimer","isFetchReturn","_originErrorEmit","errorCount","resolveFun","resolve","Promise","xhr","statusText","errorfetch","networkState","readyState","currentSrc","httpCode","httpMsg","retryCanPlay","retryData","playbackRate","isRepeat","keyCode","repeat","isBody","onBodyKeydown","onKeydown","onKeyup","checkTarget","state","isLonePress","isBack","isLongPress","currentTimeStep","keyShortcutStep","keyboardRate","show","isup","volumeStep","upload","dragLay","dragHandle","Draggabilly","miniplayerConfig","top","bottom","right","getSize","Unidragger","extend","prop","jQuery","$element","defaults","option","_create","proto","opts","positionValues","relative","absolute","fixed","applyGrid","grid","position","_getPosition","startPoint","x","dragPoint","startPosition","getComputedStyle","onPointerMove","onPointerUp","enable","setHandles","handles","querySelectorAll","bindHandles","dispatchEvent","emitArgs","emitEvent","dispatchJQueryEvent","jquery","$event","trigger","_getPositionCoord","isNaN","_addTransformPosition","styleSide","measure","parentSize","parseFloat","parseInt","matrixValues","xIndex","translateX","translateY","onPointerDown","pointer","classList","add","pointerDown","okayPointerDown","isEnabled","pointerDownPointer","pageX","pageY","preventDefault","pointerDownBlur","_bindPostStartEvents","_pointerReset","dragStart","measureContainment","setLeftTop","animate","getContainer","elemSize","elemRect","getBoundingClientRect","containerRect","borderSizeX","borderLeftWidth","borderRightWidth","borderSizeY","borderTopWidth","borderBottomWidth","relativeStartPosition","containSize","containment","HTMLElement","moveVector","dragMove","dragX","dragY","gridX","gridY","containDrag","axis","drag","min","dragEnd","isDragging","positionDrag","_this","requestAnimationFrame","staticClick","setPosition","disable","destroy","unbindHandles","removeData","_init","bridget","getStyleSize","num","logError","message","measurements","measurementsLength","getStyle","isBoxSizeOuter","isSetup","padding","borderStyle","borderWidth","boxSizing","documentElement","round","setup","size","innerWidth","innerHeight","outerWidth","outerHeight","getZeroSize","offsetWidth","offsetHeight","isBorderBox","measurement","paddingWidth","paddingLeft","paddingRight","paddingHeight","paddingTop","paddingBottom","marginWidth","marginLeft","marginRight","marginHeight","marginTop","marginBottom","borderHeight","isBorderBoxSizeOuter","styleWidth","styleHeight","Unipointer","_bindHandles","isAdd","bindMethod","touchAction","_touchActionValue","_bindStartEvent","PointerEvent","cursorNodes","TEXTAREA","INPUT","SELECT","OPTION","clickTypes","radio","checkbox","button","submit","image","file","isCursorNode","nodeName","isClickType","isOkay","focused","activeElement","blur","pointerMove","_dragPointerMove","_dragMove","hasDragStarted","_dragStart","abs","pointerUp","_dragPointerUp","_dragEnd","_staticClick","isPreventingClicks","onclick","isIgnoringMouseUp","getPointerPoint","EvEmitter","bindStartEvent","unbindStartEvent","startEvent","handleEvent","getTouch","touches","identifier","pointerIdentifier","onmousedown","_pointerDown","ontouchstart","changedTouches","onpointerdown","isPointerDown","pointerId","postStartEvents","mousedown","touchstart","pointerdown","events","_boundPointerEvents","_unbindPostStartEvents","removeEventListener","onmousemove","_pointerMove","onpointermove","ontouchmove","onmouseup","_pointerUp","onpointerup","ontouchend","_pointerDone","pointerDone","onpointercancel","_pointerCancel","ontouchcancel","pointerCancel","_events","onceEvents","_onceEvents","onceListeners","allOff","nextBtn","rotateConfig","targetWidth","targetHeight","scale","clockwise","times","factor","screenShotOptions","encoderOptions","canvas","canvasCtx","img","saveScreenShot","saveLink","save","screenShotImg","lastCurrentTime","stallFlag","stallCheckTimer","progressTimer","slider","selected","onVolumeChange","barRect","pos","isMove","onMove","onUp","_changeTimer","containerHeight","defaultStyle","follow","followBottom","fitVideo","offsetBottom","baseSizeX","baseSizeY","minSize","minMobileSize","fontColor","XgSubtitles","subtitle","vBottom","textTrack","defaultOpen","subTitles","SubTitles","switch","subtitles","showDefault","isNeedMove","setSubTitles","isActive","positionData","textTrackStyle","needRemove","isListUpdate","language","default","promise","I","reject","Ke","getAttribute","match","u","br","Ir","_","_r","wr","then","Rr","trace","catch","T","S","__e","O","__g","E","copyright","P","random","M","A","C","R","N","L","getPrototypeOf","F","z","B","D","H","V","W","G","U","$","valueOf","K","Y","X","J","q","virtual","Z","Q","tt","et","nt","rt","ceil","it","floor","ot","st","at","ut","ct","lt","propertyIsEnumerable","ft","ht","dt","pt","vt","gt","yt","mt","_t","xt","bt","kt","wt","Tt","St","Ot","Et","contentWindow","write","close","Pt","jt","store","Mt","At","Ct","Rt","Lt","It","Ft","zt","next","Nt","v","g","entries","values","Bt","charAt","_i","done","Dt","_k","Arguments","Ht","Vt","Wt","Gt","Ut","$t","Kt","Yt","Xt","Jt","isExtensible","preventExtensions","KEY","NEED","fastKey","getWeak","onFreeze","qt","Zt","Qt","getOwnPropertySymbols","te","ne","isArray","re","getOwnPropertyNames","oe","se","ae","ce","ue","le","getOwnPropertyDescriptor","fe","he","de","pe","ve","ye","ge","me","_e","xe","be","ke","we","Te","Se","Oe","Ee","QObject","Pe","findChild","je","Me","Ae","iterator","Ce","Re","ee","Ie","Fe","ze","Be","De","He","Ve","for","keyFor","useSetter","useSimple","We","Ge","Ue","$e","Ye","ReferenceError","Xe","Je","qe","Ze","Qe","tn","setPrototypeOf","__proto__","check","nn","rn","sn","an","un","ln","hn","pn","dn","callee","yn","return","gn","mn","xn","bn","getIteratorMethod","kn","_n","BREAK","RETURN","wn","Tn","Sn","On","En","setImmediate","Pn","clearImmediate","jn","MessageChannel","Mn","Dispatch","An","Cn","Rn","Nn","nextTick","port2","port1","onmessage","postMessage","importScripts","onreadystatechange","Ln","clear","In","Fn","MutationObserver","WebKitMutationObserver","zn","Bn","Dn","Hn","Vn","Wn","Gn","Un","$n","Kn","Yn","Xn","from","Jn","qn","Zn","Qn","tr","er","domain","exit","enter","standalone","observe","characterData","nr","rr","ir","versions","or","v8","sr","ar","ur","cr","lr","PromiseRejectionEvent","fr","hr","_c","_v","_s","ok","fail","_h","vr","dr","pr","onunhandledrejection","reason","_a","onrejectionhandled","yr","_d","_w","gr","vn","race","finally","try","mr","xr","kr","_eventsCount","eventNames","listenerCount","removeListener","removeAllListeners","addListener","prefixed","EventEmitter","toUpperCase","onerror","ontimeout","onabort","setRequestHeader","Tr","Sr","Or","Er","Pr","jr","Mr","Ar","Cr","checkFormat","parseASS","parseVTT","textTag","toLocaleLowerCase","parseASSItem","exec","checkIsTime","parseVttTime","parseVttText","tag","Nr","__handlers","ResizeObserver","observer","__trigger","handler","unobserve","disconnect","contentRect","__runHandler","Lr","Fr","zr","currentText","_cid","_gid","_cids","_iId","_iC","_ctime","_loadingTrack","_isOpen","_videoMeta","lwidth","lheight","vWidth","vHeight","vLeft","attachPlayer","innerRoot","switchOff","isDefault","addStyles","disabled","detachPlayer","color","__onTimeupdate","addObserver","_onResize","unObserver","_updateCurrent","hide","__remove","_update","includes","getDelCid","getNewCid","__render","Element","__startResize","fontSize","resize","children","I18n","Enter","Poster","Flex","Progress","Time","PlaybackRate","NativeTextTrack","ErrorControl","barStr","RequestCssFullIcon","ExitCssFullIcon","LargeIcon","SmallIcon","MutedIcon","icon","paused","tmp","cursrc","urlInRoot","cur","li","to","curRUL","liList","definitionObj","playbackRateList","selectedSpeed","playbackDom","ev","playbackRateObj","preview","DownloadIcon","comments","area","panelBtn","PanelIcon","DanmuJs","focusStatus","focusarray","danmuConfig","hidemodeArray","transparency","transparencyGradient","transparencyValue","showarea","showareaValue","danmuspeed","danmuspeedValue","danmufont","danmufontValue","startsWith","getElementById","Node","tagName","attributes","formatTime","setProperty","logger","setLogger","info","overlap","live","direction","needResizeObserver","hideArr","domObj","containerStyle","bulletBtn","isReady","addResizeObserver","main","pause","play","stop","txt","opacity","like","prior","realTime","unshift","readData","dataHandle","queue","pauseMove","startMove","setLikeDom","danmu","mouseControl","forceDuration","setFontSize","channel_id","topInit","channelSize","channel","constructorName","log","defaultOff","switchBtn","playedData","timer","retryTimer","retryStatus","updateQueue","nums","dataHandleTimer","bullet","hasAttached","sort","resetWithCb","init","reset","channels","resized","containerPos","detach","noDiscard","attach","addBullet","removeBullet","containerRight","resizing","resizeTimer","bookChannelId","scroll","operating","bookId","channelWidth","channelHeight","bOffset","loop","resetTimer","moveV","onChangeDirection","use","eventListeners","useCapture","textContent","elPos","mouseoverFunWrapper","mouseoverFun","mouseControlPause","unuse","removeTimer","getTime","moveTime","moveMoreS","moveContainerHeight","moveContainerWidth","pastDuration","startTime","hasMove","startMoveTimer","outerHTML","initDOM","initSize","idleList","usingList","_id","_expand","shift","textcontent","clearElementStyle","timeStampe","destroyObserver","hmr","webpackPolyfill","deprecate","paths","pip","miniplayer","PlayNextIcon","onUrlListEnd","RotateIcon","ReloadIcon","screenShotText","textTrackShowDefault","controlText","ul","renderList","isDefaultShow","refresh","lastPlayTime","lastPlayTimeHideDelay","removeFunc","AirplayIcon"],"mappings":"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","file":"index.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"xgplayer\"] = factory();\n\telse\n\t\troot[\"xgplayer\"] = factory();\n})(this, function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 79);\n","import XgplayerTimeRange from './xgplayerTimeRange'\n\nexport function createDom(el = 'div', tpl = '', attrs = {}, cname = '') {\n let dom = document.createElement(el)\n dom.className = cname\n dom.innerHTML = tpl\n Object.keys(attrs).forEach(item => {\n let key = item\n let value = attrs[item]\n if (el === 'video' || el === 'audio') {\n if (value) {\n dom.setAttribute(key, value)\n }\n } else {\n dom.setAttribute(key, value)\n }\n })\n return dom\n}\n\nexport function hasClass(el, className) {\n if (!el) {\n return false;\n }\n\n if (el.classList) {\n return Array.prototype.some.call(el.classList, item => item === className)\n } else if (el.className) {\n return !!el.className.match(new RegExp('(\\\\s|^)' + className + '(\\\\s|$)'))\n } else {\n return false;\n }\n}\n\nexport function addClass(el, className) {\n if (!el) {\n return;\n }\n\n if (el.classList) {\n className.replace(/(^\\s+|\\s+$)/g, '').split(/\\s+/g).forEach(item => {\n item && el.classList.add(item)\n })\n } else if (!hasClass(el, className)) {\n el.className += ' ' + className\n }\n}\n\nexport function removeClass(el, className) {\n if (!el) {\n return;\n }\n\n if (el.classList) {\n className.split(/\\s+/g).forEach(item => {\n el.classList.remove(item)\n })\n } else if (hasClass(el, className)) {\n className.split(/\\s+/g).forEach(item => {\n let reg = new RegExp('(\\\\s|^)' + item + '(\\\\s|$)')\n el.className = el.className.replace(reg, ' ')\n })\n }\n}\n\nexport function toggleClass(el, className) {\n if (!el) {\n return;\n }\n\n className.split(/\\s+/g).forEach(item => {\n if (hasClass(el, item)) {\n removeClass(el, item)\n } else {\n addClass(el, item)\n }\n })\n}\n\nexport function findDom(el = document, sel) {\n let dom\n // fix querySelector IDs that start with a digit\n // https://stackoverflow.com/questions/37270787/uncaught-syntaxerror-failed-to-execute-queryselector-on-document\n try {\n dom = el.querySelector(sel)\n } catch (e) {\n if (sel.indexOf('#') === 0) {\n dom = el.getElementById(sel.slice(1))\n }\n }\n return dom\n}\n\nexport function padStart(str, length, pad) {\n let charstr = String(pad)\n let len = length >> 0\n let maxlen = Math.ceil(len / charstr.length)\n let chars = []\n let r = String(str)\n while (maxlen--) {\n chars.push(charstr)\n }\n return chars.join('').substring(0, len - r.length) + r\n}\n\nexport function format(time) {\n if (window.isNaN(time)) {\n return ''\n }\n let hour = padStart(Math.floor(time / 3600), 2, 0)\n let minute = padStart(Math.floor((time - hour * 3600) / 60), 2, 0)\n let second = padStart(Math.floor((time - hour * 3600 - minute * 60)), 2, 0)\n return (hour === '00' ? [minute, second] : [hour, minute, second]).join(':')\n}\n\nexport function event(e) {\n if (e.touches) {\n let touch = e.touches[0] || e.changedTouches[0]\n e.clientX = touch.clientX || 0\n e.clientY = touch.clientY || 0\n e.offsetX = touch.pageX - touch.target.offsetLeft\n e.offsetY = touch.pageY - touch.target.offsetTop\n }\n e._target = e.target || e.srcElement\n}\n\nexport function typeOf(obj) {\n return Object.prototype.toString.call(obj).match(/([^\\s.*]+)(?=]$)/g)[0]\n}\n\nexport function deepCopy(dst, src) {\n if (typeOf(src) === 'Object' && typeOf(dst) === 'Object') {\n Object.keys(src).forEach(key => {\n if (typeOf(src[key]) === 'Object' && !(src[key] instanceof Node)) {\n if (!dst[key]) {\n dst[key] = src[key]\n } else {\n deepCopy(dst[key], src[key])\n }\n } else if (typeOf(src[key]) === 'Array') {\n dst[key] = typeOf(dst[key]) === 'Array' ? dst[key].concat(src[key]) : src[key]\n } else {\n dst[key] = src[key]\n }\n })\n return dst\n }\n}\nexport function getBgImage(el) {\n // fix: return current page url when url is none\n let url = (el.currentStyle || window.getComputedStyle(el, null)).backgroundImage\n if (!url || url === 'none') {\n return ''\n }\n let a = document.createElement('a')\n a.href = url.replace(/url\\(\"|\"\\)/g, '')\n return a.href\n}\n\nexport function copyDom(dom) {\n if (dom && dom.nodeType === 1) {\n let back = document.createElement(dom.tagName)\n Array.prototype.forEach.call(dom.attributes, (node) => {\n back.setAttribute(node.name, node.value)\n })\n if (dom.innerHTML) {\n back.innerHTML = dom.innerHTML\n }\n return back\n } else {\n return ''\n }\n}\n\nexport function _setInterval(context, eventName, intervalFunc, frequency) {\n if (!context._interval[eventName]) {\n context._interval[eventName] = setInterval(intervalFunc.bind(context), frequency)\n }\n}\n\nexport function _clearInterval(context, eventName) {\n clearInterval(context._interval[eventName])\n context._interval[eventName] = null\n}\n\nexport function createImgBtn(name, imgUrl, width, height) {\n let btn = createDom(`xg-${name}`, '', {}, `xgplayer-${name}-img`)\n btn.style.backgroundImage = `url(\"${imgUrl}\")`\n if (width && height) {\n let w, h, unit\n ['px', 'rem', 'em', 'pt', 'dp', 'vw', 'vh', 'vm', '%'].every((item) => {\n if (width.indexOf(item) > -1 && height.indexOf(item) > -1) {\n w = Number(width.slice(0, width.indexOf(item)).trim())\n h = Number(height.slice(0, height.indexOf(item)).trim())\n unit = item\n return false\n } else {\n return true\n }\n })\n btn.style.width = `${w}${unit}`\n btn.style.height = `${h}${unit}`\n btn.style.backgroundSize = `${w}${unit} ${h}${unit}`\n if (name === 'start') {\n btn.style.margin = `-${h / 2}${unit} auto auto -${w / 2}${unit}`\n } else {\n btn.style.margin = 'auto 5px auto 5px'\n }\n }\n return btn\n}\n\nexport function isWeiXin() {\n let ua = window.navigator.userAgent.toLowerCase()\n return ua.indexOf('micromessenger') > -1\n}\n\nexport function isUc() {\n let ua = window.navigator.userAgent.toLowerCase()\n return ua.indexOf('ucbrowser') > -1\n}\n\nexport function computeWatchDur(played = []) {\n let arr = []\n for (let i = 0; i < played.length; i++) {\n if(!played[i].end || played[i].begin < 0 || played[i].end < 0 || played[i].end < played[i].begin) {\n continue\n }\n if(arr.length < 1) {\n arr.push({begin: played[i].begin, end: played[i].end})\n } else {\n for (let j = 0; j < arr.length; j++) {\n let begin = played[i].begin\n let end = played[i].end\n if(end < arr[j].begin) {\n arr.splice(j, 0, {begin, end})\n break\n } else if(begin > arr[j].end) {\n if(j > arr.length - 2) {\n arr.push({begin, end})\n break\n }\n } else {\n let b = arr[j].begin\n let e = arr[j].end\n arr[j].begin = Math.min(begin, b)\n arr[j].end = Math.max(end, e)\n break\n }\n }\n }\n }\n let watch_dur = 0\n for (let i = 0; i < arr.length; i++) {\n watch_dur += arr[i].end - arr[i].begin\n }\n return watch_dur\n}\n\nexport function offInDestroy(object, event, fn, offEvent) {\n function onDestroy () {\n object.off(event, fn)\n object.off(offEvent, onDestroy)\n }\n object.once(offEvent, onDestroy)\n}\n\nexport function on(object, event, fn, offEvent) {\n if (offEvent) {\n object.on(event, fn)\n offInDestroy(object, event, fn, offEvent)\n } else {\n let _fn = data => {\n fn(data)\n object.off(event, _fn)\n }\n object.on(event, _fn)\n }\n}\n\nexport function once(object, event, fn, offEvent) {\n if (offEvent) {\n object.once(event, fn)\n offInDestroy(object, event, fn, offEvent)\n } else {\n let _fn = data => {\n fn(data)\n object.off(event, _fn)\n }\n object.once(event, _fn)\n }\n}\n\nexport function getBuffered2(vbuffered, maxHoleDuration = 0.5) { //ref: hls.js\n let buffered = []\n for (let i = 0; i < vbuffered.length; i++) {\n buffered.push({ start: vbuffered.start(i) < 0.5 ? 0 : vbuffered.start(i), end: vbuffered.end(i) });\n }\n buffered.sort(function (a, b) {\n let diff = a.start - b.start;\n if (diff) {\n return diff;\n } else {\n return b.end - a.end;\n }\n });\n let buffered_2 = []\n if (maxHoleDuration) {\n for (let i = 0; i < buffered.length; i++) {\n let buf2len = buffered_2.length\n if (buf2len) {\n let buf2end = buffered_2[buf2len - 1].end\n if ((buffered[i].start - buf2end) < maxHoleDuration) {\n if (buffered[i].end > buf2end) {\n buffered_2[buf2len - 1].end = buffered[i].end\n }\n } else {\n buffered_2.push(buffered[i])\n }\n } else {\n buffered_2.push(buffered[i])\n }\n }\n } else {\n buffered_2 = buffered\n }\n return new XgplayerTimeRange(buffered_2)\n}\n\nexport function checkIsBrowser() {\n return !(typeof(window) === 'undefined' || typeof(window.document) === 'undefined' || typeof(window.document.createElement) === 'undefined')\n}\n\nexport function setStyle(elem, name, value) {\n let style = elem.style;\n try {\n style[name] = value;\n } catch (error) {\n style.setProperty( name, value );\n }\n}\n\nexport const util = {\n createDom, hasClass, addClass, removeClass, toggleClass, findDom, padStart, format, event, typeOf, \n deepCopy, getBgImage, copyDom, setInterval: _setInterval, clearInterval: _clearInterval, createImgBtn, isWeiXin, isUc, computeWatchDur,\n offInDestroy, on, once, getBuffered2, checkIsBrowser, setStyle\n}\n","/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\nmodule.exports = function(useSourceMap) {\n\tvar list = [];\n\n\t// return the list of modules as css string\n\tlist.toString = function toString() {\n\t\treturn this.map(function (item) {\n\t\t\tvar content = cssWithMappingToString(item, useSourceMap);\n\t\t\tif(item[2]) {\n\t\t\t\treturn \"@media \" + item[2] + \"{\" + content + \"}\";\n\t\t\t} else {\n\t\t\t\treturn content;\n\t\t\t}\n\t\t}).join(\"\");\n\t};\n\n\t// import a list of modules into the list\n\tlist.i = function(modules, mediaQuery) {\n\t\tif(typeof modules === \"string\")\n\t\t\tmodules = [[null, modules, \"\"]];\n\t\tvar alreadyImportedModules = {};\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar id = this[i][0];\n\t\t\tif(typeof id === \"number\")\n\t\t\t\talreadyImportedModules[id] = true;\n\t\t}\n\t\tfor(i = 0; i < modules.length; i++) {\n\t\t\tvar item = modules[i];\n\t\t\t// skip already imported module\n\t\t\t// this implementation is not 100% perfect for weird media query combinations\n\t\t\t// when a module is imported multiple times with different media queries.\n\t\t\t// I hope this will never occur (Hey this way we have smaller bundles)\n\t\t\tif(typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\n\t\t\t\tif(mediaQuery && !item[2]) {\n\t\t\t\t\titem[2] = mediaQuery;\n\t\t\t\t} else if(mediaQuery) {\n\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\n\t\t\t\t}\n\t\t\t\tlist.push(item);\n\t\t\t}\n\t\t}\n\t};\n\treturn list;\n};\n\nfunction cssWithMappingToString(item, useSourceMap) {\n\tvar content = item[1] || '';\n\tvar cssMapping = item[3];\n\tif (!cssMapping) {\n\t\treturn content;\n\t}\n\n\tif (useSourceMap && typeof btoa === 'function') {\n\t\tvar sourceMapping = toComment(cssMapping);\n\t\tvar sourceURLs = cssMapping.sources.map(function (source) {\n\t\t\treturn '/*# sourceURL=' + cssMapping.sourceRoot + source + ' */'\n\t\t});\n\n\t\treturn [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n\t}\n\n\treturn [content].join('\\n');\n}\n\n// Adapted from convert-source-map (MIT)\nfunction toComment(sourceMap) {\n\t// eslint-disable-next-line no-undef\n\tvar base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\n\tvar data = 'sourceMappingURL=data:application/json;charset=utf-8;base64,' + base64;\n\n\treturn '/*# ' + data + ' */';\n}\n","/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n\nvar stylesInDom = {};\n\nvar\tmemoize = function (fn) {\n\tvar memo;\n\n\treturn function () {\n\t\tif (typeof memo === \"undefined\") memo = fn.apply(this, arguments);\n\t\treturn memo;\n\t};\n};\n\nvar isOldIE = memoize(function () {\n\t// Test for IE <= 9 as proposed by Browserhacks\n\t// @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805\n\t// Tests for existence of standard globals is to allow style-loader\n\t// to operate correctly into non-standard environments\n\t// @see https://github.com/webpack-contrib/style-loader/issues/177\n\treturn window && document && document.all && !window.atob;\n});\n\nvar getTarget = function (target) {\n return document.querySelector(target);\n};\n\nvar getElement = (function (fn) {\n\tvar memo = {};\n\n\treturn function(target) {\n // If passing function in options, then use it for resolve \"head\" element.\n // Useful for Shadow Root style i.e\n // {\n // insertInto: function () { return document.querySelector(\"#foo\").shadowRoot }\n // }\n if (typeof target === 'function') {\n return target();\n }\n if (typeof memo[target] === \"undefined\") {\n\t\t\tvar styleTarget = getTarget.call(this, target);\n\t\t\t// Special case to return head of iframe instead of iframe itself\n\t\t\tif (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n\t\t\t\ttry {\n\t\t\t\t\t// This will throw an exception if access to iframe is blocked\n\t\t\t\t\t// due to cross-origin restrictions\n\t\t\t\t\tstyleTarget = styleTarget.contentDocument.head;\n\t\t\t\t} catch(e) {\n\t\t\t\t\tstyleTarget = null;\n\t\t\t\t}\n\t\t\t}\n\t\t\tmemo[target] = styleTarget;\n\t\t}\n\t\treturn memo[target]\n\t};\n})();\n\nvar singleton = null;\nvar\tsingletonCounter = 0;\nvar\tstylesInsertedAtTop = [];\n\nvar\tfixUrls = require(\"./urls\");\n\nmodule.exports = function(list, options) {\n\tif (typeof DEBUG !== \"undefined\" && DEBUG) {\n\t\tif (typeof document !== \"object\") throw new Error(\"The style-loader cannot be used in a non-browser environment\");\n\t}\n\n\toptions = options || {};\n\n\toptions.attrs = typeof options.attrs === \"object\" ? options.attrs : {};\n\n\t// Force single-tag solution on IE6-9, which has a hard limit on the # of <style>\n\t// tags it will allow on a page\n\tif (!options.singleton && typeof options.singleton !== \"boolean\") options.singleton = isOldIE();\n\n\t// By default, add <style> tags to the <head> element\n if (!options.insertInto) options.insertInto = \"head\";\n\n\t// By default, add <style> tags to the bottom of the target\n\tif (!options.insertAt) options.insertAt = \"bottom\";\n\n\tvar styles = listToStyles(list, options);\n\n\taddStylesToDom(styles, options);\n\n\treturn function update (newList) {\n\t\tvar mayRemove = [];\n\n\t\tfor (var i = 0; i < styles.length; i++) {\n\t\t\tvar item = styles[i];\n\t\t\tvar domStyle = stylesInDom[item.id];\n\n\t\t\tdomStyle.refs--;\n\t\t\tmayRemove.push(domStyle);\n\t\t}\n\n\t\tif(newList) {\n\t\t\tvar newStyles = listToStyles(newList, options);\n\t\t\taddStylesToDom(newStyles, options);\n\t\t}\n\n\t\tfor (var i = 0; i < mayRemove.length; i++) {\n\t\t\tvar domStyle = mayRemove[i];\n\n\t\t\tif(domStyle.refs === 0) {\n\t\t\t\tfor (var j = 0; j < domStyle.parts.length; j++) domStyle.parts[j]();\n\n\t\t\t\tdelete stylesInDom[domStyle.id];\n\t\t\t}\n\t\t}\n\t};\n};\n\nfunction addStylesToDom (styles, options) {\n\tfor (var i = 0; i < styles.length; i++) {\n\t\tvar item = styles[i];\n\t\tvar domStyle = stylesInDom[item.id];\n\n\t\tif(domStyle) {\n\t\t\tdomStyle.refs++;\n\n\t\t\tfor(var j = 0; j < domStyle.parts.length; j++) {\n\t\t\t\tdomStyle.parts[j](item.parts[j]);\n\t\t\t}\n\n\t\t\tfor(; j < item.parts.length; j++) {\n\t\t\t\tdomStyle.parts.push(addStyle(item.parts[j], options));\n\t\t\t}\n\t\t} else {\n\t\t\tvar parts = [];\n\n\t\t\tfor(var j = 0; j < item.parts.length; j++) {\n\t\t\t\tparts.push(addStyle(item.parts[j], options));\n\t\t\t}\n\n\t\t\tstylesInDom[item.id] = {id: item.id, refs: 1, parts: parts};\n\t\t}\n\t}\n}\n\nfunction listToStyles (list, options) {\n\tvar styles = [];\n\tvar newStyles = {};\n\n\tfor (var i = 0; i < list.length; i++) {\n\t\tvar item = list[i];\n\t\tvar id = options.base ? item[0] + options.base : item[0];\n\t\tvar css = item[1];\n\t\tvar media = item[2];\n\t\tvar sourceMap = item[3];\n\t\tvar part = {css: css, media: media, sourceMap: sourceMap};\n\n\t\tif(!newStyles[id]) styles.push(newStyles[id] = {id: id, parts: [part]});\n\t\telse newStyles[id].parts.push(part);\n\t}\n\n\treturn styles;\n}\n\nfunction insertStyleElement (options, style) {\n\tvar target = getElement(options.insertInto)\n\n\tif (!target) {\n\t\tthrow new Error(\"Couldn't find a style target. This probably means that the value for the 'insertInto' parameter is invalid.\");\n\t}\n\n\tvar lastStyleElementInsertedAtTop = stylesInsertedAtTop[stylesInsertedAtTop.length - 1];\n\n\tif (options.insertAt === \"top\") {\n\t\tif (!lastStyleElementInsertedAtTop) {\n\t\t\ttarget.insertBefore(style, target.firstChild);\n\t\t} else if (lastStyleElementInsertedAtTop.nextSibling) {\n\t\t\ttarget.insertBefore(style, lastStyleElementInsertedAtTop.nextSibling);\n\t\t} else {\n\t\t\ttarget.appendChild(style);\n\t\t}\n\t\tstylesInsertedAtTop.push(style);\n\t} else if (options.insertAt === \"bottom\") {\n\t\ttarget.appendChild(style);\n\t} else if (typeof options.insertAt === \"object\" && options.insertAt.before) {\n\t\tvar nextSibling = getElement(options.insertInto + \" \" + options.insertAt.before);\n\t\ttarget.insertBefore(style, nextSibling);\n\t} else {\n\t\tthrow new Error(\"[Style Loader]\\n\\n Invalid value for parameter 'insertAt' ('options.insertAt') found.\\n Must be 'top', 'bottom', or Object.\\n (https://github.com/webpack-contrib/style-loader#insertat)\\n\");\n\t}\n}\n\nfunction removeStyleElement (style) {\n\tif (style.parentNode === null) return false;\n\tstyle.parentNode.removeChild(style);\n\n\tvar idx = stylesInsertedAtTop.indexOf(style);\n\tif(idx >= 0) {\n\t\tstylesInsertedAtTop.splice(idx, 1);\n\t}\n}\n\nfunction createStyleElement (options) {\n\tvar style = document.createElement(\"style\");\n\n\toptions.attrs.type = \"text/css\";\n\n\taddAttrs(style, options.attrs);\n\tinsertStyleElement(options, style);\n\n\treturn style;\n}\n\nfunction createLinkElement (options) {\n\tvar link = document.createElement(\"link\");\n\n\toptions.attrs.type = \"text/css\";\n\toptions.attrs.rel = \"stylesheet\";\n\n\taddAttrs(link, options.attrs);\n\tinsertStyleElement(options, link);\n\n\treturn link;\n}\n\nfunction addAttrs (el, attrs) {\n\tObject.keys(attrs).forEach(function (key) {\n\t\tel.setAttribute(key, attrs[key]);\n\t});\n}\n\nfunction addStyle (obj, options) {\n\tvar style, update, remove, result;\n\n\t// If a transform function was defined, run it on the css\n\tif (options.transform && obj.css) {\n\t result = options.transform(obj.css);\n\n\t if (result) {\n\t \t// If transform returns a value, use that instead of the original css.\n\t \t// This allows running runtime transformations on the css.\n\t \tobj.css = result;\n\t } else {\n\t \t// If the transform function returns a falsy value, don't add this css.\n\t \t// This allows conditional loading of css\n\t \treturn function() {\n\t \t\t// noop\n\t \t};\n\t }\n\t}\n\n\tif (options.singleton) {\n\t\tvar styleIndex = singletonCounter++;\n\n\t\tstyle = singleton || (singleton = createStyleElement(options));\n\n\t\tupdate = applyToSingletonTag.bind(null, style, styleIndex, false);\n\t\tremove = applyToSingletonTag.bind(null, style, styleIndex, true);\n\n\t} else if (\n\t\tobj.sourceMap &&\n\t\ttypeof URL === \"function\" &&\n\t\ttypeof URL.createObjectURL === \"function\" &&\n\t\ttypeof URL.revokeObjectURL === \"function\" &&\n\t\ttypeof Blob === \"function\" &&\n\t\ttypeof btoa === \"function\"\n\t) {\n\t\tstyle = createLinkElement(options);\n\t\tupdate = updateLink.bind(null, style, options);\n\t\tremove = function () {\n\t\t\tremoveStyleElement(style);\n\n\t\t\tif(style.href) URL.revokeObjectURL(style.href);\n\t\t};\n\t} else {\n\t\tstyle = createStyleElement(options);\n\t\tupdate = applyToTag.bind(null, style);\n\t\tremove = function () {\n\t\t\tremoveStyleElement(style);\n\t\t};\n\t}\n\n\tupdate(obj);\n\n\treturn function updateStyle (newObj) {\n\t\tif (newObj) {\n\t\t\tif (\n\t\t\t\tnewObj.css === obj.css &&\n\t\t\t\tnewObj.media === obj.media &&\n\t\t\t\tnewObj.sourceMap === obj.sourceMap\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tupdate(obj = newObj);\n\t\t} else {\n\t\t\tremove();\n\t\t}\n\t};\n}\n\nvar replaceText = (function () {\n\tvar textStore = [];\n\n\treturn function (index, replacement) {\n\t\ttextStore[index] = replacement;\n\n\t\treturn textStore.filter(Boolean).join('\\n');\n\t};\n})();\n\nfunction applyToSingletonTag (style, index, remove, obj) {\n\tvar css = remove ? \"\" : obj.css;\n\n\tif (style.styleSheet) {\n\t\tstyle.styleSheet.cssText = replaceText(index, css);\n\t} else {\n\t\tvar cssNode = document.createTextNode(css);\n\t\tvar childNodes = style.childNodes;\n\n\t\tif (childNodes[index]) style.removeChild(childNodes[index]);\n\n\t\tif (childNodes.length) {\n\t\t\tstyle.insertBefore(cssNode, childNodes[index]);\n\t\t} else {\n\t\t\tstyle.appendChild(cssNode);\n\t\t}\n\t}\n}\n\nfunction applyToTag (style, obj) {\n\tvar css = obj.css;\n\tvar media = obj.media;\n\n\tif(media) {\n\t\tstyle.setAttribute(\"media\", media)\n\t}\n\n\tif(style.styleSheet) {\n\t\tstyle.styleSheet.cssText = css;\n\t} else {\n\t\twhile(style.firstChild) {\n\t\t\tstyle.removeChild(style.firstChild);\n\t\t}\n\n\t\tstyle.appendChild(document.createTextNode(css));\n\t}\n}\n\nfunction updateLink (link, options, obj) {\n\tvar css = obj.css;\n\tvar sourceMap = obj.sourceMap;\n\n\t/*\n\t\tIf convertToAbsoluteUrls isn't defined, but sourcemaps are enabled\n\t\tand there is no publicPath defined then lets turn convertToAbsoluteUrls\n\t\ton by default. Otherwise default to the convertToAbsoluteUrls option\n\t\tdirectly\n\t*/\n\tvar autoFixUrls = options.convertToAbsoluteUrls === undefined && sourceMap;\n\n\tif (options.convertToAbsoluteUrls || autoFixUrls) {\n\t\tcss = fixUrls(css);\n\t}\n\n\tif (sourceMap) {\n\t\t// http://stackoverflow.com/a/26603875\n\t\tcss += \"\\n/*# sourceMappingURL=data:application/json;base64,\" + btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))) + \" */\";\n\t}\n\n\tvar blob = new Blob([css], { type: \"text/css\" });\n\n\tvar oldSrc = link.href;\n\n\tlink.href = URL.createObjectURL(blob);\n\n\tif(oldSrc) URL.revokeObjectURL(oldSrc);\n}\n","\"use strict\";\n\nvar _undefined = require(\"../function/noop\")(); // Support ES3 engines\n\nmodule.exports = function (val) { return val !== _undefined && val !== null; };\n","import {version} from '../version.json'\nconst ErrorTypes = {\n network: {\n code: 1,\n msg: '视频下载错误',\n remark: '只要视频下载错误就使用此类型,无论是video本身的超时还是xhr的分段请求超时或者资源不存在'\n },\n mse: {\n code: 2,\n msg: '流追加错误',\n remark: '追加流的时候如果类型不对、无法被正确解码则会触发此类错误'\n },\n parse: {\n code: 3,\n msg: '解析错误',\n remark: 'mp4、hls、flv我们都是使用js进行格式解析,如果解析失败则会触发此类错误'\n },\n format: {\n code: 4,\n msg: '格式错误',\n remark: '如果浏览器不支持的格式导致播放错误'\n },\n decoder: {\n code: 5,\n msg: '解码错误',\n remark: '浏览器解码异常会抛出此类型错误'\n },\n runtime: {\n code: 6,\n msg: '语法错误',\n remark: '播放器语法错误'\n },\n timeout: {\n code: 7,\n msg: '播放超时',\n remark: '播放过程中无法正常请求下一个分段导致播放中断'\n },\n other: {\n code: 8,\n msg: '其他错误',\n remark: '不可知的错误或被忽略的错误类型'\n }\n}\n\nclass Errors {\n constructor (type, currentTime, duration, networkState, readyState, src, currentSrc,\n ended, errd = {line: '', handle: '', msg: '', version: ''}, errorCode, mediaError) {\n let r = {}\n if (arguments.length > 1) {\n r.playerVersion = version // 播放器版本\n r.errorType = type\n r.domain = document.domain // domain\n r.duration = duration // 视频时长\n r.currentTime = currentTime\n r.networkState = networkState\n r.readyState = readyState\n r.currentSrc = currentSrc\n r.src = src\n r.ended = ended\n r.errd = errd // 错误详情\n r.ex = (ErrorTypes[type] || {}).msg // 补充信息\n r.errorCode = errorCode\n r.mediaError = mediaError\n } else {\n const arg = arguments[0]\n Object.keys(arg).map(key => {\n r[key] = arg[key]\n })\n r.ex = ((arg.type && ErrorTypes[arg.type]) || {}).msg\n }\n return r\n }\n}\nexport default Errors\n","let sniffer = {}\n\nObject.defineProperty(sniffer, 'device', {\n get: function () {\n let r = sniffer.os\n return r.isPc ? 'pc' : 'mobile'\n // return r.isPc ? 'pc' : r.isTablet ? 'tablet' : 'mobile'\n }\n})\n\nObject.defineProperty(sniffer, 'browser', {\n get: function () {\n let ua = navigator.userAgent.toLowerCase()\n let reg = {\n ie: /rv:([\\d.]+)\\) like gecko/,\n firfox: /firefox\\/([\\d.]+)/,\n chrome: /chrome\\/([\\d.]+)/,\n opera: /opera.([\\d.]+)/,\n safari: /version\\/([\\d.]+).*safari/\n }\n return [].concat(Object.keys(reg).filter(key => reg[key].test(ua)))[0] || ''\n }\n})\n\nObject.defineProperty(sniffer, 'os', {\n get: function () {\n let ua = navigator.userAgent\n let isWindowsPhone = /(?:Windows Phone)/.test(ua)\n let isSymbian = /(?:SymbianOS)/.test(ua) || isWindowsPhone\n let isAndroid = /(?:Android)/.test(ua)\n let isFireFox = /(?:Firefox)/.test(ua)\n let isTablet = /(?:iPad|PlayBook)/.test(ua) || (isAndroid && !/(?:Mobile)/.test(ua)) || (isFireFox && /(?:Tablet)/.test(ua))\n let isPhone = /(?:iPhone)/.test(ua) && !isTablet\n let isPc = !isPhone && !isAndroid && !isSymbian && !isTablet\n return {\n isTablet,\n isPhone,\n isAndroid,\n isPc,\n isSymbian,\n isWindowsPhone,\n isFireFox\n }\n }\n})\n\nexport default sniffer\n","\"use strict\";\n\n// ES3 safe\nvar _undefined = void 0;\n\nmodule.exports = function (value) { return value !== _undefined && value !== null; };\n","export default class XgplayerTimeRange {\n constructor(bufferedList) {\n this.bufferedList = bufferedList\n }\n\n start (index) {\n return this.bufferedList[index].start\n }\n\n end (index) {\n return this.bufferedList[index].end\n }\n\n get length () {\n return this.bufferedList.length\n }\n}\n","import Proxy from './proxy'\nimport { util, deepCopy, findDom, createDom, addClass, typeOf, hasClass, removeClass, checkIsBrowser } from './utils/util'\nimport sniffer from './utils/sniffer'\nimport XgplayerTimeRange from './utils/xgplayerTimeRange'\nimport Errors from './error'\nimport allOff from 'event-emitter/all-off'\nimport s_i18n from './skin/controls/i18n.js'\nimport './skin/style/index.scss'\n\nimport {\n version\n} from '../version.json'\nclass Player extends Proxy {\n constructor (options) {\n super(options)\n this.config = deepCopy({\n width: 600,\n height: 337.5,\n ignores: [],\n whitelist: [],\n lang: (document.documentElement.getAttribute('lang') || navigator.language || 'zh-cn').toLocaleLowerCase(),\n inactive: 3000,\n volume: 0.6,\n controls: true,\n controlsList: ['nodownload']\n }, options)\n this.version = version\n this.userTimer = null\n this.waitTimer = null\n this.history = []\n this.isProgressMoving = false\n this.root = findDom(document, `#${this.config.id}`)\n this.controls = createDom('xg-controls', '', {\n unselectable: 'on',\n onselectstart: 'return false'\n }, 'xgplayer-controls')\n if (this.config.isShowControl) {\n this.controls.style.display = 'none'\n }\n if (!this.root) {\n let el = this.config.el\n if (el && el.nodeType === 1) {\n this.root = el\n } else {\n this.emit('error', new Errors({\n type: 'use',\n errd: {\n line: 45,\n handle: 'Constructor',\n msg: 'container id can\\'t be empty'\n },\n vid: this.config.vid\n }))\n console.error('container id can\\'t be empty')\n return false\n }\n }\n // this.rootBackup = copyDom(this.root)\n addClass(this.root, `xgplayer xgplayer-${sniffer.device} xgplayer-nostart ${this.config.controls ? '' : 'xgplayer-no-controls'}`)\n this.root.appendChild(this.controls)\n if (this.config.fluid) {\n this.root.style['max-width'] = '100%'\n this.root.style['width'] = '100%'\n this.root.style['height'] = '0'\n this.root.style['padding-top'] = `${this.config.height * 100 / this.config.width}%`\n\n this.video.style['position'] = 'absolute'\n this.video.style['top'] = '0'\n this.video.style['left'] = '0'\n } else {\n // this.root.style.width = `${this.config.width}px`\n // this.root.style.height = `${this.config.height}px`\n if (this.config.width) {\n if (typeof this.config.width !== 'number') {\n this.root.style.width = this.config.width\n } else {\n this.root.style.width = `${this.config.width}px`\n }\n }\n if (this.config.height) {\n if (typeof this.config.height !== 'number') {\n this.root.style.height = this.config.height\n } else {\n this.root.style.height = `${this.config.height}px`\n }\n }\n }\n if (this.config.execBeforePluginsCall) {\n this.config.execBeforePluginsCall.forEach(item => {\n item.call(this, this)\n })\n }\n if(!this.config.closeI18n) {\n Player.install(s_i18n.name, s_i18n.method)\n }\n if (this.config.controlStyle && typeOf(this.config.controlStyle) === 'String') {\n let self = this\n fetch(self.config.controlStyle, {\n method: 'GET',\n headers: {\n Accept: 'application/json'\n }\n }).then(function (res) {\n if (res.ok) {\n res.json().then(function (obj) {\n for (var prop in obj) {\n if (obj.hasOwnProperty(prop)) {\n self.config[prop] = obj[prop]\n }\n }\n self.pluginsCall()\n })\n }\n }).catch(function (err) {\n console.log('Fetch错误:' + err)\n })\n } else {\n this.pluginsCall()\n }\n if(this.config.controlPlugins) {\n Player.controlsRun(this.config.controlPlugins, this)\n }\n this.ev.forEach((item) => {\n let evName = Object.keys(item)[0]\n let evFunc = this[item[evName]]\n if (evFunc) {\n this.on(evName, evFunc)\n }\n });\n\n ['focus', 'blur'].forEach(item => {\n this.on(item, this['on' + item.charAt(0).toUpperCase() + item.slice(1)])\n })\n let player = this\n this.mousemoveFunc = function () {\n player.emit('focus')\n if (!player.config.closeFocusVideoFocus) {\n player.video.focus()\n }\n }\n this.root.addEventListener('mousemove', this.mousemoveFunc)\n this.playFunc = function () {\n player.emit('focus')\n if (!player.config.closePlayVideoFocus) {\n player.video.focus()\n }\n }\n player.once('play', this.playFunc)\n\n this.getVideoSize = function () {\n if (this.video.videoWidth && this.video.videoHeight) {\n let containerSize = player.root.getBoundingClientRect()\n if (player.config.fitVideoSize === 'auto') {\n if (containerSize.width / containerSize.height > this.video.videoWidth / this.video.videoHeight) {\n player.root.style.height = `${this.video.videoHeight / this.video.videoWidth * containerSize.width}px`\n } else {\n player.root.style.width = `${this.video.videoWidth / this.video.videoHeight * containerSize.height}px`\n }\n } else if (player.config.fitVideoSize === 'fixWidth') {\n player.root.style.height = `${this.video.videoHeight / this.video.videoWidth * containerSize.width}px`\n } else if (player.config.fitVideoSize === 'fixHeight') {\n player.root.style.width = `${this.video.videoWidth / this.video.videoHeight * containerSize.height}px`\n }\n }\n }\n player.once('loadeddata', this.getVideoSize)\n\n setTimeout(() => {\n this.emit('ready')\n this.isReady = true\n }, 0)\n\n if (this.config.videoInit) {\n if (hasClass(this.root, 'xgplayer-nostart')) {\n this.start()\n }\n }\n if (player.config.rotate) {\n player.on('requestFullscreen', this.updateRotateDeg)\n player.on('exitFullscreen', this.updateRotateDeg)\n }\n\n function onDestroy () {\n player.root.removeEventListener('mousemove', player.mousemoveFunc)\n player.off('destroy', onDestroy)\n }\n player.once('destroy', onDestroy)\n }\n\n attachVideo () {\n if(this.video && this.video.nodeType === 1) {\n this.root.insertBefore(this.video, this.root.firstChild)\n }\n setTimeout(() => {\n this.emit('complete')\n if(this.danmu && typeof this.danmu.resize === 'function') {\n this.danmu.resize()\n }\n }, 1)\n }\n\n start (url = this.config.url) {\n if(!this.video) return\n let player = this\n if (!url || url === '') {\n this.emit('urlNull')\n return\n }\n this.canPlayFunc = function () {\n player.off('canplay', player.canPlayFunc)\n let playPromise = player.video.play()\n if (playPromise !== undefined && playPromise) {\n playPromise.then(function () {\n player.emit('autoplay started')\n }).catch(function () {\n player.emit('autoplay was prevented')\n addClass(player.root, 'xgplayer-is-autoplay')\n })\n }\n }\n if (typeOf(url) !== 'Array') {\n if (typeOf(url) === 'String' && url.indexOf('blob:') > -1 && url === this.video.src) {\n // 在Chromium环境下用mse url给video二次赋值会导致错误\n } else {\n this.video.src = url\n }\n } else {\n url.forEach(item => {\n this.video.appendChild(createDom('source', '', {\n src: `${item.src}`,\n type: `${item.type || ''}`\n }))\n })\n }\n if (this.config.autoplay) {\n if (sniffer.os.isPhone) {\n this.canPlayFunc()\n } else {\n this.on('canplay', this.canPlayFunc)\n }\n }\n if(!this.config.disableStartLoad) {\n this.video.load()\n }\n this.attachVideo()\n }\n\n reload () {\n this.video.load()\n this.reloadFunc = function () {\n // eslint-disable-next-line handle-callback-err\n let playPromise = this.play()\n if (playPromise !== undefined && playPromise) {\n playPromise.catch(err => {})\n }\n }\n this.once('loadeddata', this.reloadFunc)\n }\n\n destroy (isDelDom = true) {\n let player = this\n clearInterval(this.bulletResizeTimer)\n for (let k in this._interval) {\n clearInterval(this._interval[k])\n this._interval[k] = null\n }\n if (this.checkTimer) {\n clearInterval(this.checkTimer)\n }\n if (this.waitTimer) {\n clearTimeout(this.waitTimer)\n }\n this.ev.forEach((item) => {\n let evName = Object.keys(item)[0]\n let evFunc = this[item[evName]]\n if (evFunc) {\n this.off(evName, evFunc)\n }\n });\n if (this.loadeddataFunc) {\n this.off('loadeddata', this.loadeddataFunc)\n }\n if (this.reloadFunc) {\n this.off('loadeddata', this.reloadFunc)\n }\n if (this.replayFunc) {\n this.off('play', this.replayFunc)\n }\n if (this.playFunc) {\n this.off('play', this.playFunc)\n }\n if (this.getVideoSize) {\n this.off('loadeddata', this.getVideoSize)\n };\n ['focus', 'blur'].forEach(item => {\n this.off(item, this['on' + item.charAt(0).toUpperCase() + item.slice(1)])\n })\n if (!this.config.keyShortcut || this.config.keyShortcut === 'on') {\n ['video', 'controls'].forEach(item => {\n if (this[item]) {\n this[item].removeEventListener('keydown', function (e) { player.onKeydown(e, player) })\n }\n })\n }\n\n function destroyFunc () {\n this.emit('destroy')\n // this.root.id = this.root.id + '_del'\n // parentNode.insertBefore(this.rootBackup, this.root)\n\n // fix video destroy https://stackoverflow.com/questions/3258587/how-to-properly-unload-destroy-a-video-element\n this.video.removeAttribute('src') // empty source\n this.video.load()\n if (isDelDom) {\n // parentNode.removeChild(this.root)\n this.root.innerHTML = ''\n let classNameList = this.root.className.split(' ')\n if (classNameList.length > 0) {\n this.root.className = classNameList.filter(name => name.indexOf('xgplayer') < 0).join(' ')\n } else {\n this.root.className = ''\n }\n }\n\n for (let k in this) {\n // if (k !== 'config') {\n delete this[k]\n // }\n }\n allOff(this)\n }\n\n if (!this.paused) {\n this.pause()\n this.once('pause', destroyFunc)\n } else {\n destroyFunc.call(this)\n }\n super.destroy()\n }\n\n replay () {\n let self = this\n let _replay = this._replay\n // ie9 bugfix\n removeClass(this.root, 'xgplayer-ended')\n if(sniffer.browser.indexOf('ie') > -1) {\n this.emit('play')\n this.emit('playing')\n }\n \n if (_replay && _replay instanceof Function) {\n _replay()\n } else {\n this.currentTime = 0\n // eslint-disable-next-line handle-callback-err\n let playPromise = this.play()\n if (playPromise !== undefined && playPromise) {\n playPromise.catch(err => {})\n }\n }\n }\n\n userGestureTrigEvent (name, param) {\n const defaultUserGestureEventHandler = (name, param) => {\n this.emit(name, param)\n }\n if(this.config.userGestureEventMiddleware && typeof this.config.userGestureEventMiddleware[name] === 'function') {\n this.config.userGestureEventMiddleware[name].call(this, this, name, param, defaultUserGestureEventHandler)\n } else {\n defaultUserGestureEventHandler.call(this, name, param);\n }\n }\n\n pluginsCall () {\n if(Player.plugins['s_i18n']) {\n Player.plugins['s_i18n'].call(this, this)\n }\n let self = this\n if (Player.plugins) {\n let ignores = this.config.ignores\n Object.keys(Player.plugins).forEach(name => {\n let descriptor = Player.plugins[name]\n if(!descriptor || typeof descriptor !== 'function'){\n console.warn('plugin name', name , 'is invalid')\n } else {\n if (!ignores.some(item => name === item || name === 's_' + item) && name !== 's_i18n') {\n if (['pc', 'tablet', 'mobile'].some(type => type === name)) {\n if (name === sniffer.device) {\n setTimeout(() => {\n // if destroyed, skip\n if (!self.video) return;\n descriptor.call(self, self)\n }, 0)\n }\n } else {\n descriptor.call(this, this)\n }\n }\n }\n })\n }\n }\n\n onFocus () {\n let player = this\n if(hasClass(this.root, 'xgplayer-inactive')) {\n player.emit('controlShow')\n }\n removeClass(this.root, 'xgplayer-inactive')\n if (player.userTimer) {\n clearTimeout(player.userTimer)\n }\n player.userTimer = setTimeout(function () {\n player.emit('blur')\n }, player.config.inactive)\n }\n\n onBlur () {\n // this.video.blur()\n if ((this.config.enablePausedInactive || !this.paused) && !this.ended && !this.config.closeInactive) {\n if(!hasClass(this.root, 'xgplayer-inactive')) {\n this.emit('controlHide')\n }\n addClass(this.root, 'xgplayer-inactive')\n }\n }\n\n onPlay () {\n addClass(this.root, 'xgplayer-isloading')\n addClass(this.root, 'xgplayer-playing')\n removeClass(this.root, 'xgplayer-pause')\n }\n\n onPause () {\n addClass(this.root, 'xgplayer-pause')\n if (this.userTimer) {\n clearTimeout(this.userTimer)\n }\n this.emit('focus')\n }\n\n onEnded () {\n addClass(this.root, 'xgplayer-ended')\n removeClass(this.root, 'xgplayer-playing')\n }\n\n onSeeking () {\n this.isSeeking = true\n // 兼容IE下无法触发waiting事件的问题 seeking的时候直接出发waiting\n this.onWaiting()\n // addClass(this.root, 'seeking');\n }\n\n // onTimeupdate () {\n // // for ie,playing fired before waiting\n // if (this.waitTimer) {\n // clearTimeout(this.waitTimer)\n // }\n // removeClass(this.root, 'xgplayer-isloading')\n\n // }\n\n onSeeked () {\n // for ie,playing fired before waiting\n this.once('timeupdate', () => {\n this.isSeeking = false\n })\n if (this.waitTimer) {\n clearTimeout(this.waitTimer)\n }\n removeClass(this.root, 'xgplayer-isloading')\n }\n\n onWaiting () {\n let self = this\n if (self.waitTimer) {\n clearTimeout(self.waitTimer)\n }\n if (self.checkTimer) {\n clearInterval(self.checkTimer)\n self.checkTimer = null\n }\n let time = self.currentTime\n self.waitTimer = setTimeout(function () {\n addClass(self.root, 'xgplayer-isloading')\n self.checkTimer = setInterval(function () {\n if (self.currentTime !== time) {\n removeClass(self.root, 'xgplayer-isloading')\n clearInterval(self.checkTimer)\n self.checkTimer = null\n }\n }, 1000)\n }, 500)\n }\n\n onPlaying () {\n // 兼容safari下无法自动播放会触发该事件的场景\n if (this.paused) {\n return\n }\n this.isSeeking = false\n if (this.waitTimer) {\n clearTimeout(this.waitTimer)\n }\n removeClass(this.root, 'xgplayer-isloading xgplayer-nostart xgplayer-pause xgplayer-ended xgplayer-is-error xgplayer-replay')\n addClass(this.root, 'xgplayer-playing')\n }\n\n static install (name, descriptor) {\n if (!checkIsBrowser()) {\n return\n }\n if (!Player.plugins) {\n Player.plugins = {}\n }\n if (!Player.plugins[name]) {\n Player.plugins[name] = descriptor\n }\n }\n\n static installAll (list) {\n for(let k = 0; k < list.length; k++){\n Player.install(list[k].name, list[k].method)\n }\n }\n\n static use (name, descriptor) {\n if (!Player.plugins) {\n Player.plugins = {}\n }\n Player.plugins[name] = descriptor\n }\n\n static useAll (list) {\n for (let k in list) {\n Player.use(list[k].name, list[k].method)\n }\n }\n\n static controlsRun (controlLst, context) {\n controlLst.forEach(function(control) {\n control.method.call(context)\n })\n }\n}\n\nPlayer.util = util\nPlayer.sniffer = sniffer\nPlayer.Errors = Errors\nPlayer.XgplayerTimeRange = XgplayerTimeRange\n\nexport default Player\n","import { typeOf } from '../../utils/util'\n\nlet s_i18n = function () {\n let player = this; let lang = {};\n lang.en = {\n HAVE_NOTHING: 'There is no information on whether audio/video is ready',\n HAVE_METADATA: 'Audio/video metadata is ready ',\n HAVE_CURRENT_DATA: 'Data about the current play location is available, but there is not enough data to play the next frame/millisecond',\n HAVE_FUTURE_DATA: 'Current and at least one frame of data is available',\n HAVE_ENOUGH_DATA: 'The available data is sufficient to start playing',\n NETWORK_EMPTY: 'Audio/video has not been initialized',\n NETWORK_IDLE: 'Audio/video is active and has been selected for resources, but no network is used',\n NETWORK_LOADING: 'The browser is downloading the data',\n NETWORK_NO_SOURCE: 'No audio/video source was found',\n MEDIA_ERR_ABORTED: 'The fetch process is aborted by the user',\n MEDIA_ERR_NETWORK: 'An error occurred while downloading',\n MEDIA_ERR_DECODE: 'An error occurred while decoding',\n MEDIA_ERR_SRC_NOT_SUPPORTED: 'Audio/video is not supported',\n REPLAY: 'Replay',\n ERROR: 'Network is offline',\n PLAY_TIPS: 'Play',\n PAUSE_TIPS: 'Pause',\n PLAYNEXT_TIPS: 'Play next',\n DOWNLOAD_TIPS: 'Download',\n ROTATE_TIPS: 'Rotate',\n RELOAD_TIPS: 'Reload',\n FULLSCREEN_TIPS: \"Fullscreen\",\n EXITFULLSCREEN_TIPS: 'Exit fullscreen',\n CSSFULLSCREEN_TIPS: 'Cssfullscreen',\n EXITCSSFULLSCREEN_TIPS: 'Exit cssfullscreen',\n TEXTTRACK: 'Caption',\n PIP: 'Pip',\n MINIPLAYER: 'Miniplayer',\n SCREENSHOT: 'Screenshot',\n LIVE: 'LIVE',\n OFF: 'Off',\n MINIPLAYER_DRAG: 'Click and hold to drag',\n AIRPLAY_TIPS: 'Airplay',\n }\n lang['zh-cn'] = {\n HAVE_NOTHING: '没有关于音频/视频是否就绪的信息',\n HAVE_METADATA: '音频/视频的元数据已就绪',\n HAVE_CURRENT_DATA: '关于当前播放位置的数据是可用的,但没有足够的数据来播放下一帧/毫秒',\n HAVE_FUTURE_DATA: '当前及至少下一帧的数据是可用的',\n HAVE_ENOUGH_DATA: '可用数据足以开始播放',\n NETWORK_EMPTY: '音频/视频尚未初始化',\n NETWORK_IDLE: '音频/视频是活动的且已选取资源,但并未使用网络',\n NETWORK_LOADING: '浏览器正在下载数据',\n NETWORK_NO_SOURCE: '未找到音频/视频来源',\n MEDIA_ERR_ABORTED: '取回过程被用户中止',\n MEDIA_ERR_NETWORK: '当下载时发生错误',\n MEDIA_ERR_DECODE: '当解码时发生错误',\n MEDIA_ERR_SRC_NOT_SUPPORTED: '不支持的音频/视频格式',\n REPLAY: '重播',\n ERROR: '网络连接似乎出现了问题',\n PLAY_TIPS: '播放',\n PAUSE_TIPS: '暂停',\n PLAYNEXT_TIPS: '下一集',\n DOWNLOAD_TIPS: '下载',\n ROTATE_TIPS: '旋转',\n RELOAD_TIPS: '重新载入',\n FULLSCREEN_TIPS: \"进入全屏\",\n EXITFULLSCREEN_TIPS: '退出全屏',\n CSSFULLSCREEN_TIPS: '进入样式全屏',\n EXITCSSFULLSCREEN_TIPS: '退出样式全屏',\n TEXTTRACK: '字幕',\n PIP: '画中画',\n MINIPLAYER: '迷你播放器',\n SCREENSHOT: '截图',\n LIVE: '正在直播',\n OFF: '关闭',\n MINIPLAYER_DRAG: '点击按住可拖动视频',\n AIRPLAY_TIPS: '隔空播放',\n }\n lang['zh-hk'] = {\n HAVE_NOTHING: '沒有關於音頻/視頻是否就緒的信息',\n HAVE_METADATA: '音頻/視頻的元數據已就緒',\n HAVE_CURRENT_DATA: '關於當前播放位置的數據是可用的,但沒有足夠的數據來播放下壹幀/毫秒',\n HAVE_FUTURE_DATA: '當前及至少下壹幀的數據是可用的',\n HAVE_ENOUGH_DATA: '可用數據足以開始播放',\n NETWORK_EMPTY: '音頻/視頻尚未初始化',\n NETWORK_IDLE: '音頻/視頻是活動的且已選取資源,但並未使用網絡',\n NETWORK_LOADING: '瀏覽器正在下載數據',\n NETWORK_NO_SOURCE: '未找到音頻/視頻來源',\n MEDIA_ERR_ABORTED: '取回過程被用戶中止',\n MEDIA_ERR_NETWORK: '當下載時發生錯誤',\n MEDIA_ERR_DECODE: '當解碼時發生錯誤',\n MEDIA_ERR_SRC_NOT_SUPPORTED: '不支持的音頻/視頻格式',\n REPLAY: '重播',\n ERROR: '網絡連接似乎出現了問題',\n PLAY_TIPS: '播放',\n PAUSE_TIPS: '暫停',\n PLAYNEXT_TIPS: '下壹集',\n DOWNLOAD_TIPS: '下載',\n ROTATE_TIPS: '旋轉',\n RELOAD_TIPS: '重新載入',\n FULLSCREEN_TIPS: \"進入全屏\",\n EXITFULLSCREEN_TIPS: '退出全屏',\n CSSFULLSCREEN_TIPS: '進入樣式全屏',\n EXITCSSFULLSCREEN_TIPS: '退出樣式全屏',\n TEXTTRACK: '字幕',\n PIP: '畫中畫',\n MINIPLAYER: '迷妳播放器',\n SCREENSHOT: '截圖',\n LIVE: '正在直播',\n OFF: '關閉',\n MINIPLAYER_DRAG: '點擊按住可拖動視頻',\n AIRPLAY_TIPS: '隔空播放',\n }\n lang['jp'] = {\n HAVE_NOTHING: 'オーディオ/ビデオが準備できているか情報がありません',\n HAVE_METADATA: 'オーディオ/ビデオのメタデータは準備できています',\n HAVE_CURRENT_DATA: '現在の再生位置に関するデータは利用可能ですが、次のフレーム/ミリ秒を再生するのに十分なデータがありません',\n HAVE_FUTURE_DATA: '現在、少なくとも次のフレームのデータが利用可能です',\n HAVE_ENOUGH_DATA: '利用可能なデータは再生を開始するのに十分です',\n NETWORK_EMPTY: 'オーディオ/ビデオが初期化されていません',\n NETWORK_IDLE: 'オーディオ/ビデオはアクティブでリソースが選択されていますが、ネットワークが使用されていません',\n NETWORK_LOADING: 'ブラウザーはデータをダウンロードしています',\n NETWORK_NO_SOURCE: 'オーディオ/ビデオ のソースが見つかりません',\n MEDIA_ERR_ABORTED: 'ユーザーによってフェッチプロセスが中止されました',\n MEDIA_ERR_NETWORK: 'ダウンロード中にエラーが発生しました',\n MEDIA_ERR_DECODE: 'デコード中にエラーが発生しました',\n MEDIA_ERR_SRC_NOT_SUPPORTED: 'オーディオ/ビデオ の形式がサポートされていません',\n REPLAY: 'リプレイ',\n ERROR: 'ネットワークの接続に問題が発生しました',\n PLAY_TIPS: 'プレイ',\n PAUSE_TIPS: '一時停止',\n PLAYNEXT_TIPS: '次をプレイ',\n DOWNLOAD_TIPS: 'ダウンロード',\n ROTATE_TIPS: '回転',\n RELOAD_TIPS: '再読み込み',\n FULLSCREEN_TIPS: \"フルスクリーン\",\n EXITFULLSCREEN_TIPS: 'フルスクリーンを終了',\n CSSFULLSCREEN_TIPS: 'シアターモード',\n EXITCSSFULLSCREEN_TIPS: 'シアターモードを終了',\n TEXTTRACK: '字幕',\n PIP: 'ミニプレーヤー',\n MINIPLAYER: 'ミニプレーヤー',\n SCREENSHOT: 'スクリーンショット',\n LIVE: '生放送',\n OFF: 'オフ',\n MINIPLAYER_DRAG: 'ボタンを押して働画をドラッグする',\n AIRPLAY_TIPS: '隔空放送',\n }\n\n Object.defineProperty(player, 'lang', {\n get: function () {\n if (player.config) {\n return lang[player.config.lang] || lang['en']\n } else {\n return lang['en']\n }\n },\n set: function (value) {\n if (typeOf(value) === 'Object') {\n Object.keys(value).forEach(key => {\n lang[key] = value[key]\n })\n }\n }\n })\n\n}\n\nexport default {\n name: 's_i18n',\n method: s_i18n\n}","import EventEmitter from 'event-emitter'\nimport { findDom, createDom, hasClass, removeClass, _clearInterval, _setInterval, on, once, getBuffered2, setStyle } from './utils/util'\nimport Errors from './error'\n\nclass Proxy {\n constructor (options) {\n this._hasStart = false\n this.videoConfig = {\n controls: !!options.isShowControl,\n autoplay: options.autoplay,\n playsinline: options.playsinline,\n 'webkit-playsinline': options.playsinline,\n 'x5-playsinline': options.playsinline,\n 'x5-video-player-type': options['x5-video-player-type'] || options['x5VideoPlayerType'],\n 'x5-video-player-fullscreen': options['x5-video-player-fullscreen'] || options['x5VideoPlayerFullscreen'],\n 'x5-video-orientation': options['x5-video-orientation'] || options['x5VideoOrientation'],\n airplay: options['airplay'],\n 'webkit-airplay': options['airplay'],\n tabindex: 2,\n mediaType: options.mediaType || 'video'\n }\n if (options.muted) {\n this.videoConfig.muted = 'muted'\n }\n if (options.loop) {\n this.videoConfig.loop = 'loop'\n }\n let textTrackDom = ''\n this.textTrackShowDefault = true\n if (options.nativeTextTrack && Array.isArray(options.nativeTextTrack)) {\n if (options.nativeTextTrack.length > 0 && !options.nativeTextTrack.some(track => { return track.default })) {\n options.nativeTextTrack[0].default = true\n this.textTrackShowDefault = false\n }\n options.nativeTextTrack.some(track => {\n if (track.src && track.label && track.default) {\n textTrackDom += `<track src=\"${track.src}\" `\n if (track.kind) {\n textTrackDom += `kind=\"${track.kind}\" `\n }\n textTrackDom += `label=\"${track.label}\" `\n if (track.srclang) {\n textTrackDom += `srclang=\"${track.srclang}\" `\n }\n textTrackDom += `${track.default ? 'default' : ''}>`\n return true\n }\n })\n this.videoConfig.crossorigin = 'anonymous'\n }\n if (options.textTrackStyle) {\n let style = document.createElement('style')\n this.textTrackStyle = style\n document.head.appendChild(style)\n let styleStr = ''\n for (let index in options.textTrackStyle) {\n styleStr += `${index}: ${options.textTrackStyle[index]};`\n }\n let wrap = options.id ? `#${options.id}` : (options.el.id ? `#${options.el.id}` : `.${options.el.className}`)\n if (style.sheet.insertRule) {\n style.sheet.insertRule(`${wrap} video::cue { ${styleStr} }`, 0)\n } else if (style.sheet.addRule) {\n style.sheet.addRule(`${wrap} video::cue`, styleStr)\n }\n }\n let el = options.el ? options.el : findDom(document, `#${options.id}`)\n const XgVideoProxy = this.constructor.XgVideoProxy\n if(XgVideoProxy && this.videoConfig.mediaType === XgVideoProxy.mediaType) {\n this.video = new XgVideoProxy(el, options)\n } else {\n this.video = createDom(this.videoConfig.mediaType, textTrackDom, this.videoConfig, '')\n }\n if (options.videoStyle) {\n Object.keys(options.videoStyle).forEach(key => {\n setStyle(this.video, key, options.videoStyle[key])\n })\n }\n if (!this.textTrackShowDefault && textTrackDom) {\n let trackDoms = this.video.getElementsByTagName('Track')\n trackDoms[0].track.mode = 'hidden'\n }\n if (options.autoplay) {\n this.video.autoplay = true\n if (options.autoplayMuted) {\n this.video.muted = true\n }\n }\n\n this.ev = ['play', 'playing', 'pause', 'ended', 'error', 'seeking', 'seeked', 'progress', \n 'timeupdate', 'waiting', 'canplay', 'canplaythrough', 'durationchange', 'volumechange', 'loadedmetadata', 'loadeddata', 'loadstart'\n ].map((item) => {\n return {\n [item]: `on${item.charAt(0).toUpperCase()}${item.slice(1)}`\n }\n })\n EventEmitter(this)\n\n this._interval = {}\n let lastBuffer = '0,0'\n let self = this\n\n const defaultVideoEventHandler = name => {\n // fix when video destroy called and video reload\n if (!this) {\n return\n }\n if (name === 'play') {\n this.hasStart = true\n } else if (name === 'canplay') {\n removeClass(this.root, 'xgplayer-is-enter')\n } else if (name === 'waiting') {\n this.inWaitingStart = new Date().getTime()\n } else if (name === 'playing') {\n removeClass(this.root, 'xgplayer-is-enter')\n if (this.inWaitingStart) {\n this.inWaitingStart = undefined\n }\n }\n if (name === 'error') {\n // process the error\n this._onError(name)\n } else {\n this.emit(name, this)\n }\n\n if (this.hasOwnProperty('_interval')) {\n if (['ended', 'error', 'timeupdate'].indexOf(name) < 0) {\n _clearInterval(this, 'bufferedChange')\n _setInterval(this, 'bufferedChange', function () {\n if (this.video && this.video.buffered) {\n let curBuffer = []\n for (let i = 0, len = this.video.buffered.length; i < len; i++) {\n curBuffer.push([this.video.buffered.start(i), this.video.buffered.end(i)])\n }\n if (curBuffer.toString() !== lastBuffer) {\n lastBuffer = curBuffer.toString()\n this.emit('bufferedChange', curBuffer)\n }\n }\n }, 200)\n } else {\n if (name !== 'timeupdate') {\n _clearInterval(this, 'bufferedChange')\n }\n }\n }\n }\n\n const videoEventHandler = name => {\n if(options.videoEventMiddleware && typeof options.videoEventMiddleware[name] === 'function') {\n options.videoEventMiddleware[name].call(this, this, name, defaultVideoEventHandler)\n } else {\n defaultVideoEventHandler.call(this, name);\n }\n }\n\n this.ev.forEach(item => {\n self.evItem = Object.keys(item)[0]\n let name = Object.keys(item)[0]\n self.video.addEventListener(Object.keys(item)[0], videoEventHandler.bind(self, name))\n })\n }\n /**\n * 错误监听处理逻辑抽离\n */\n _onError (name) {\n if (this.video && this.video.error) {\n this.emit(name, new Errors('other', this.currentTime, this.duration, this.networkState, this.readyState, this.currentSrc, this.src,\n this.ended, {\n line: 162,\n msg: this.error,\n handle: 'Constructor'\n }, this.video.error.code, this.video.error))\n }\n }\n\n get hasStart () {\n return this._hasStart\n }\n set hasStart (bool) {\n if (typeof bool === 'boolean' && bool === true && !this._hasStart) {\n this._hasStart = true\n this.emit('hasstart')\n }\n }\n destroy () {\n if (this.textTrackStyle) {\n this.textTrackStyle.parentNode.removeChild(this.textTrackStyle)\n }\n }\n play () {\n return this.video.play()\n }\n pause () {\n this.video.pause()\n }\n canPlayType (type) {\n return this.video.canPlayType(type)\n }\n getBufferedRange (buffered) {\n let range = [0, 0]\n let video = this.video\n if(!buffered) buffered = video.buffered\n let currentTime = video.currentTime\n if (buffered) {\n for (let i = 0, len = buffered.length; i < len; i++) {\n range[0] = buffered.start(i)\n range[1] = buffered.end(i)\n if (range[0] <= currentTime && currentTime <= range[1]) {\n break\n }\n }\n }\n if (range[0] - currentTime <= 0 && currentTime - range[1] <= 0) {\n return range\n } else {\n return [0, 0]\n }\n }\n proxyOn (event, fn) {\n on(this, event, fn, 'destroy')\n }\n proxyOnce (event, fn) {\n once(this, event, fn, 'destroy')\n }\n set autoplay (isTrue) {\n if(this.video) {\n this.video.autoplay = isTrue\n }\n }\n get autoplay () {\n if(this.video) {\n return this.video.autoplay\n } else {\n return false\n }\n }\n get buffered () {\n if(this.video) {\n return this.video.buffered\n } else {\n return undefined\n }\n }\n get buffered2 () {\n return getBuffered2(this.video.buffered)\n }\n get crossOrigin () {\n if(this.video) {\n return this.video.crossOrigin\n } else {\n return false\n }\n }\n set crossOrigin (isTrue) {\n if(this.video) {\n this.video.crossOrigin = isTrue\n }\n }\n get currentSrc () {\n if(this.video) {\n return this.video.currentSrc\n } else {\n return undefined\n }\n }\n get currentTime () {\n if(this.video) {\n return this.video.currentTime || 0\n } else {\n return 0\n }\n }\n set currentTime (time) {\n if (typeof isFinite === 'function' && !isFinite(time)) return\n if (hasClass(this.root, 'xgplayer-ended')) {\n this.once('playing', () => { this.video.currentTime = time })\n this.replay()\n } else {\n this.video.currentTime = time\n }\n this.emit('currentTimeChange', time)\n }\n get defaultMuted () {\n if(this.video) {\n return this.video.defaultMuted\n } else {\n return false\n }\n }\n set defaultMuted (isTrue) {\n if(this.video) {\n this.video.defaultMuted = isTrue\n }\n }\n get duration () {\n if(this.config.duration) {\n if(this.video) return Math.min(this.config.duration, this.video.duration)\n else return this.config.duration\n }\n if (!this.video) return null\n return this.video.duration\n }\n get ended () {\n if(this.video) {\n return this.video.ended || false\n } else {\n return true\n }\n }\n get error () {\n let err = this.video.error\n if (!err) {\n return null\n }\n let status = [{\n en: 'MEDIA_ERR_ABORTED',\n cn: '取回过程被用户中止'\n }, {\n en: 'MEDIA_ERR_NETWORK',\n cn: '当下载时发生错误'\n }, {\n en: 'MEDIA_ERR_DECODE',\n cn: '当解码时发生错误'\n }, {\n en: 'MEDIA_ERR_SRC_NOT_SUPPORTED',\n cn: '不支持音频/视频'\n }]\n return this.lang ? this.lang[status[err.code - 1].en] : status[err.code - 1].en\n }\n get loop () {\n if(this.video) {\n return this.video.loop\n } else {\n return false\n }\n }\n set loop (isTrue) {\n if(this.video) {\n this.video.loop = isTrue\n }\n }\n get muted () {\n if(this.video) {\n return this.video.muted\n } else {\n return false\n }\n }\n set muted (isTrue) {\n if(this.video) {\n this.video.muted = isTrue\n }\n }\n get networkState () {\n let status = [{\n en: 'NETWORK_EMPTY',\n cn: '音频/视频尚未初始化'\n }, {\n en: 'NETWORK_IDLE',\n cn: '音频/视频是活动的且已选取资源,但并未使用网络'\n }, {\n en: 'NETWORK_LOADING',\n cn: '浏览器正在下载数据'\n }, {\n en: 'NETWORK_NO_SOURCE',\n cn: '未找到音频/视频来源'\n }]\n return this.lang ? this.lang[status[this.video.networkState].en] : status[this.video.networkState].en\n }\n get paused () {\n // if(this.video) {\n // return this.video.paused\n // } else {\n // return false\n // }\n return hasClass(this.root, 'xgplayer-pause')\n }\n get playbackRate () {\n if(this.video) {\n return this.video.playbackRate\n } else {\n return 1\n }\n }\n set playbackRate (rate) {\n if(this.video) {\n this.video.playbackRate = rate\n }\n }\n get played () {\n if(this.video) {\n return this.video.played\n } else {\n return undefined\n }\n }\n get preload () {\n if(this.video) {\n return this.video.preload\n } else {\n return false\n }\n }\n set preload (isTrue) {\n if(this.video) {\n this.video.preload = isTrue\n }\n }\n get readyState () {\n let status = [{\n en: 'HAVE_NOTHING',\n cn: '没有关于音频/视频是否就绪的信息'\n }, {\n en: 'HAVE_METADATA',\n cn: '关于音频/视频就绪的元数据'\n }, {\n en: 'HAVE_CURRENT_DATA',\n cn: '关于当前播放位置的数据是可用的,但没有足够的数据来播放下一帧/毫秒'\n }, {\n en: 'HAVE_FUTURE_DATA',\n cn: '当前及至少下一帧的数据是可用的'\n }, {\n en: 'HAVE_ENOUGH_DATA',\n cn: '可用数据足以开始播放'\n }]\n return this.lang ? this.lang[status[this.video.readyState].en] : status[this.video.readyState]\n }\n get seekable () {\n if(this.video) {\n return this.video.seekable\n } else {\n return false\n }\n }\n get seeking () {\n if(this.video) {\n return this.video.seeking\n } else {\n return false\n }\n }\n get src () {\n if(this.video) {\n return this.video.src\n } else {\n return undefined\n }\n }\n set src (url) {\n if (!hasClass(this.root, 'xgplayer-ended')) {\n this.emit('urlchange', this.video.src)\n }\n removeClass(this.root, 'xgplayer-ended xgplayer-is-replay xgplayer-is-error')\n this.video.pause()\n this.emit('pause')\n this.video.src = url\n this.emit('srcChange')\n }\n set poster (posterUrl) {\n let poster = findDom(this.root, '.xgplayer-poster')\n if (poster) {\n poster.style.backgroundImage = `url(${posterUrl})`\n }\n }\n get volume () {\n if(this.video) {\n return this.video.volume\n } else {\n return 1\n }\n }\n set volume (vol) {\n if(this.video) {\n this.video.volume = vol\n }\n }\n get fullscreen () {\n return hasClass(this.root, 'xgplayer-is-fullscreen') || hasClass(this.root, 'xgplayer-fullscreen-active')\n }\n get bullet () {\n return findDom(this.root, 'xg-danmu') ? hasClass(findDom(this.root, 'xg-danmu'), 'xgplayer-has-danmu') : false\n }\n get textTrack () {\n return hasClass(this.root, 'xgplayer-is-textTrack')\n }\n get pip () {\n return hasClass(this.root, 'xgplayer-pip-active')\n }\n}\n\nexport default Proxy\n","'use strict';\n\nvar d = require('d')\n , callable = require('es5-ext/object/valid-callable')\n\n , apply = Function.prototype.apply, call = Function.prototype.call\n , create = Object.create, defineProperty = Object.defineProperty\n , defineProperties = Object.defineProperties\n , hasOwnProperty = Object.prototype.hasOwnProperty\n , descriptor = { configurable: true, enumerable: false, writable: true }\n\n , on, once, off, emit, methods, descriptors, base;\n\non = function (type, listener) {\n\tvar data;\n\n\tcallable(listener);\n\n\tif (!hasOwnProperty.call(this, '__ee__')) {\n\t\tdata = descriptor.value = create(null);\n\t\tdefineProperty(this, '__ee__', descriptor);\n\t\tdescriptor.value = null;\n\t} else {\n\t\tdata = this.__ee__;\n\t}\n\tif (!data[type]) data[type] = listener;\n\telse if (typeof data[type] === 'object') data[type].push(listener);\n\telse data[type] = [data[type], listener];\n\n\treturn this;\n};\n\nonce = function (type, listener) {\n\tvar once, self;\n\n\tcallable(listener);\n\tself = this;\n\ton.call(this, type, once = function () {\n\t\toff.call(self, type, once);\n\t\tapply.call(listener, this, arguments);\n\t});\n\n\tonce.__eeOnceListener__ = listener;\n\treturn this;\n};\n\noff = function (type, listener) {\n\tvar data, listeners, candidate, i;\n\n\tcallable(listener);\n\n\tif (!hasOwnProperty.call(this, '__ee__')) return this;\n\tdata = this.__ee__;\n\tif (!data[type]) return this;\n\tlisteners = data[type];\n\n\tif (typeof listeners === 'object') {\n\t\tfor (i = 0; (candidate = listeners[i]); ++i) {\n\t\t\tif ((candidate === listener) ||\n\t\t\t\t\t(candidate.__eeOnceListener__ === listener)) {\n\t\t\t\tif (listeners.length === 2) data[type] = listeners[i ? 0 : 1];\n\t\t\t\telse listeners.splice(i, 1);\n\t\t\t}\n\t\t}\n\t} else {\n\t\tif ((listeners === listener) ||\n\t\t\t\t(listeners.__eeOnceListener__ === listener)) {\n\t\t\tdelete data[type];\n\t\t}\n\t}\n\n\treturn this;\n};\n\nemit = function (type) {\n\tvar i, l, listener, listeners, args;\n\n\tif (!hasOwnProperty.call(this, '__ee__')) return;\n\tlisteners = this.__ee__[type];\n\tif (!listeners) return;\n\n\tif (typeof listeners === 'object') {\n\t\tl = arguments.length;\n\t\targs = new Array(l - 1);\n\t\tfor (i = 1; i < l; ++i) args[i - 1] = arguments[i];\n\n\t\tlisteners = listeners.slice();\n\t\tfor (i = 0; (listener = listeners[i]); ++i) {\n\t\t\tapply.call(listener, this, args);\n\t\t}\n\t} else {\n\t\tswitch (arguments.length) {\n\t\tcase 1:\n\t\t\tcall.call(listeners, this);\n\t\t\tbreak;\n\t\tcase 2:\n\t\t\tcall.call(listeners, this, arguments[1]);\n\t\t\tbreak;\n\t\tcase 3:\n\t\t\tcall.call(listeners, this, arguments[1], arguments[2]);\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tl = arguments.length;\n\t\t\targs = new Array(l - 1);\n\t\t\tfor (i = 1; i < l; ++i) {\n\t\t\t\targs[i - 1] = arguments[i];\n\t\t\t}\n\t\t\tapply.call(listeners, this, args);\n\t\t}\n\t}\n};\n\nmethods = {\n\ton: on,\n\tonce: once,\n\toff: off,\n\temit: emit\n};\n\ndescriptors = {\n\ton: d(on),\n\tonce: d(once),\n\toff: d(off),\n\temit: d(emit)\n};\n\nbase = defineProperties({}, descriptors);\n\nmodule.exports = exports = function (o) {\n\treturn (o == null) ? create(base) : defineProperties(Object(o), descriptors);\n};\nexports.methods = methods;\n","\"use strict\";\n\nvar isValue = require(\"type/value/is\")\n , isPlainFunction = require(\"type/plain-function/is\")\n , assign = require(\"es5-ext/object/assign\")\n , normalizeOpts = require(\"es5-ext/object/normalize-options\")\n , contains = require(\"es5-ext/string/#/contains\");\n\nvar d = (module.exports = function (dscr, value/*, options*/) {\n\tvar c, e, w, options, desc;\n\tif (arguments.length < 2 || typeof dscr !== \"string\") {\n\t\toptions = value;\n\t\tvalue = dscr;\n\t\tdscr = null;\n\t} else {\n\t\toptions = arguments[2];\n\t}\n\tif (isValue(dscr)) {\n\t\tc = contains.call(dscr, \"c\");\n\t\te = contains.call(dscr, \"e\");\n\t\tw = contains.call(dscr, \"w\");\n\t} else {\n\t\tc = w = true;\n\t\te = false;\n\t}\n\n\tdesc = { value: value, configurable: c, enumerable: e, writable: w };\n\treturn !options ? desc : assign(normalizeOpts(options), desc);\n});\n\nd.gs = function (dscr, get, set/*, options*/) {\n\tvar c, e, options, desc;\n\tif (typeof dscr !== \"string\") {\n\t\toptions = set;\n\t\tset = get;\n\t\tget = dscr;\n\t\tdscr = null;\n\t} else {\n\t\toptions = arguments[3];\n\t}\n\tif (!isValue(get)) {\n\t\tget = undefined;\n\t} else if (!isPlainFunction(get)) {\n\t\toptions = get;\n\t\tget = set = undefined;\n\t} else if (!isValue(set)) {\n\t\tset = undefined;\n\t} else if (!isPlainFunction(set)) {\n\t\toptions = set;\n\t\tset = undefined;\n\t}\n\tif (isValue(dscr)) {\n\t\tc = contains.call(dscr, \"c\");\n\t\te = contains.call(dscr, \"e\");\n\t} else {\n\t\tc = true;\n\t\te = false;\n\t}\n\n\tdesc = { get: get, set: set, configurable: c, enumerable: e };\n\treturn !options ? desc : assign(normalizeOpts(options), desc);\n};\n","\"use strict\";\n\nvar isFunction = require(\"../function/is\");\n\nvar classRe = /^\\s*class[\\s{/}]/, functionToString = Function.prototype.toString;\n\nmodule.exports = function (value) {\n\tif (!isFunction(value)) return false;\n\tif (classRe.test(functionToString.call(value))) return false;\n\treturn true;\n};\n","\"use strict\";\n\nvar isPrototype = require(\"../prototype/is\");\n\nmodule.exports = function (value) {\n\tif (typeof value !== \"function\") return false;\n\n\tif (!hasOwnProperty.call(value, \"length\")) return false;\n\n\ttry {\n\t\tif (typeof value.length !== \"number\") return false;\n\t\tif (typeof value.call !== \"function\") return false;\n\t\tif (typeof value.apply !== \"function\") return false;\n\t} catch (error) {\n\t\treturn false;\n\t}\n\n\treturn !isPrototype(value);\n};\n","\"use strict\";\n\nvar isObject = require(\"../object/is\");\n\nmodule.exports = function (value) {\n\tif (!isObject(value)) return false;\n\ttry {\n\t\tif (!value.constructor) return false;\n\t\treturn value.constructor.prototype === value;\n\t} catch (error) {\n\t\treturn false;\n\t}\n};\n","\"use strict\";\n\nvar isValue = require(\"../value/is\");\n\n// prettier-ignore\nvar possibleTypes = { \"object\": true, \"function\": true, \"undefined\": true /* document.all */ };\n\nmodule.exports = function (value) {\n\tif (!isValue(value)) return false;\n\treturn hasOwnProperty.call(possibleTypes, typeof value);\n};\n","\"use strict\";\n\nmodule.exports = require(\"./is-implemented\")() ? Object.assign : require(\"./shim\");\n","\"use strict\";\n\nmodule.exports = function () {\n\tvar assign = Object.assign, obj;\n\tif (typeof assign !== \"function\") return false;\n\tobj = { foo: \"raz\" };\n\tassign(obj, { bar: \"dwa\" }, { trzy: \"trzy\" });\n\treturn obj.foo + obj.bar + obj.trzy === \"razdwatrzy\";\n};\n","\"use strict\";\n\nvar keys = require(\"../keys\")\n , value = require(\"../valid-value\")\n , max = Math.max;\n\nmodule.exports = function (dest, src/*, …srcn*/) {\n\tvar error, i, length = max(arguments.length, 2), assign;\n\tdest = Object(value(dest));\n\tassign = function (key) {\n\t\ttry {\n\t\t\tdest[key] = src[key];\n\t\t} catch (e) {\n\t\t\tif (!error) error = e;\n\t\t}\n\t};\n\tfor (i = 1; i < length; ++i) {\n\t\tsrc = arguments[i];\n\t\tkeys(src).forEach(assign);\n\t}\n\tif (error !== undefined) throw error;\n\treturn dest;\n};\n","\"use strict\";\n\nmodule.exports = require(\"./is-implemented\")() ? Object.keys : require(\"./shim\");\n","\"use strict\";\n\nmodule.exports = function () {\n\ttry {\n\t\tObject.keys(\"primitive\");\n\t\treturn true;\n\t} catch (e) {\n\t\treturn false;\n\t}\n};\n","\"use strict\";\n\nvar isValue = require(\"../is-value\");\n\nvar keys = Object.keys;\n\nmodule.exports = function (object) { return keys(isValue(object) ? Object(object) : object); };\n","\"use strict\";\n\n// eslint-disable-next-line no-empty-function\nmodule.exports = function () {};\n","\"use strict\";\n\nvar isValue = require(\"./is-value\");\n\nmodule.exports = function (value) {\n\tif (!isValue(value)) throw new TypeError(\"Cannot use null or undefined\");\n\treturn value;\n};\n","\"use strict\";\n\nvar isValue = require(\"./is-value\");\n\nvar forEach = Array.prototype.forEach, create = Object.create;\n\nvar process = function (src, obj) {\n\tvar key;\n\tfor (key in src) obj[key] = src[key];\n};\n\n// eslint-disable-next-line no-unused-vars\nmodule.exports = function (opts1/*, …options*/) {\n\tvar result = create(null);\n\tforEach.call(arguments, function (options) {\n\t\tif (!isValue(options)) return;\n\t\tprocess(Object(options), result);\n\t});\n\treturn result;\n};\n","\"use strict\";\n\nmodule.exports = require(\"./is-implemented\")() ? String.prototype.contains : require(\"./shim\");\n","\"use strict\";\n\nvar str = \"razdwatrzy\";\n\nmodule.exports = function () {\n\tif (typeof str.contains !== \"function\") return false;\n\treturn str.contains(\"dwa\") === true && str.contains(\"foo\") === false;\n};\n","\"use strict\";\n\nvar indexOf = String.prototype.indexOf;\n\nmodule.exports = function (searchString/*, position*/) {\n\treturn indexOf.call(this, searchString, arguments[1]) > -1;\n};\n","\"use strict\";\n\nmodule.exports = function (fn) {\n\tif (typeof fn !== \"function\") throw new TypeError(fn + \" is not a function\");\n\treturn fn;\n};\n","'use strict';\n\nvar value = require('es5-ext/object/valid-object')\n\n , hasOwnProperty = Object.prototype.hasOwnProperty;\n\nmodule.exports = function (emitter/*, type*/) {\n\tvar type = arguments[1], data;\n\n\tvalue(emitter);\n\n\tif (type !== undefined) {\n\t\tdata = hasOwnProperty.call(emitter, '__ee__') && emitter.__ee__;\n\t\tif (!data) return;\n\t\tif (data[type]) delete data[type];\n\t\treturn;\n\t}\n\tif (hasOwnProperty.call(emitter, '__ee__')) delete emitter.__ee__;\n};\n","\"use strict\";\n\nvar isObject = require(\"./is-object\");\n\nmodule.exports = function (value) {\n\tif (!isObject(value)) throw new TypeError(value + \" is not an Object\");\n\treturn value;\n};\n","\"use strict\";\n\nvar isValue = require(\"./is-value\");\n\nvar map = { function: true, object: true };\n\nmodule.exports = function (value) { return (isValue(value) && map[typeof value]) || false; };\n","\nvar content = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/lib/index.js!../../../node_modules/sass-loader/lib/loader.js!./index.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/lib/index.js!../../../node_modules/sass-loader/lib/loader.js!./index.scss\", function() {\n\t\tvar newContent = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/lib/index.js!../../../node_modules/sass-loader/lib/loader.js!./index.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default{background:#000;width:100%;height:100%;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none;-ms-user-select:none}.xgplayer-skin-default *{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}.xgplayer-skin-default.xgplayer-rotate-fullscreen{position:absolute;top:0;left:100%;bottom:0;right:0;height:100vw!important;width:100vh!important;-webkit-transform-origin:top left;-ms-transform-origin:top left;transform-origin:top left;-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.xgplayer-skin-default.xgplayer-is-fullscreen{width:100%!important;height:100%!important;padding-top:0!important;z-index:9999}.xgplayer-skin-default.xgplayer-is-fullscreen.xgplayer-inactive{cursor:none}.xgplayer-skin-default video{width:100%;height:100%;outline:none}.xgplayer-skin-default .xgplayer-none{display:none}@-webkit-keyframes loadingRotate{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes loadingRotate{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@-webkit-keyframes loadingDashOffset{0%{stroke-dashoffset:236}to{stroke-dashoffset:0}}@keyframes loadingDashOffset{0%{stroke-dashoffset:236}to{stroke-dashoffset:0}}.xgplayer-skin-default .xgplayer-controls{display:-webkit-flex;display:-moz-box;display:flex;position:absolute;bottom:0;left:0;right:0;height:40px;background-image:linear-gradient(180deg,transparent,rgba(0,0,0,.37),rgba(0,0,0,.75),rgba(0,0,0,.75));z-index:10}.xgplayer-skin-default.xgplayer-inactive .xgplayer-controls,.xgplayer-skin-default.xgplayer-is-live .xgplayer-controls .xgplayer-progress,.xgplayer-skin-default.xgplayer-is-live .xgplayer-controls .xgplayer-time,.xgplayer-skin-default.xgplayer-no-controls .xgplayer-controls,.xgplayer-skin-default.xgplayer-nostart .xgplayer-controls{display:none}.xgplayer-skin-default.xgplayer-is-live .xgplayer-controls .xgplayer-live{display:block}.xgplayer-skin-default .xgplayer-live{display:block;font-size:12px;color:#fff;line-height:40px;-webkit-order:1;-moz-box-ordinal-group:2;order:1}.xgplayer-skin-default .xgplayer-icon{display:block;width:40px;height:40px;overflow:hidden;fill:#fff}.xgplayer-skin-default .xgplayer-icon svg{position:absolute}.xgplayer-skin-default .xgplayer-tips{background:rgba(0,0,0,.54);border-radius:1px;display:none;position:absolute;font-family:PingFangSC-Regular;font-size:11px;color:#fff;padding:2px 4px;text-align:center;top:-30px;left:50%;margin-left:-16px;width:auto;white-space:nowrap}.xgplayer-skin-default.xgplayer-mobile .xgplayer-tips{display:none!important}.xgplayer-skin-default .xgplayer-screen-container{display:block;width:100%}\", \"\"]);\n\n// exports\n","\n/**\n * When source maps are enabled, `style-loader` uses a link element with a data-uri to\n * embed the css on the page. This breaks all relative urls because now they are relative to a\n * bundle instead of the current page.\n *\n * One solution is to only use full urls, but that may be impossible.\n *\n * Instead, this function \"fixes\" the relative urls to be absolute according to the current page location.\n *\n * A rudimentary test suite is located at `test/fixUrls.js` and can be run via the `npm test` command.\n *\n */\n\nmodule.exports = function (css) {\n // get current location\n var location = typeof window !== \"undefined\" && window.location;\n\n if (!location) {\n throw new Error(\"fixUrls requires window.location\");\n }\n\n\t// blank or null?\n\tif (!css || typeof css !== \"string\") {\n\t return css;\n }\n\n var baseUrl = location.protocol + \"//\" + location.host;\n var currentDir = baseUrl + location.pathname.replace(/\\/[^\\/]*$/, \"/\");\n\n\t// convert each url(...)\n\t/*\n\tThis regular expression is just a way to recursively match brackets within\n\ta string.\n\n\t /url\\s*\\( = Match on the word \"url\" with any whitespace after it and then a parens\n\t ( = Start a capturing group\n\t (?: = Start a non-capturing group\n\t [^)(] = Match anything that isn't a parentheses\n\t | = OR\n\t \\( = Match a start parentheses\n\t (?: = Start another non-capturing groups\n\t [^)(]+ = Match anything that isn't a parentheses\n\t | = OR\n\t \\( = Match a start parentheses\n\t [^)(]* = Match anything that isn't a parentheses\n\t \\) = Match a end parentheses\n\t ) = End Group\n *\\) = Match anything and then a close parens\n ) = Close non-capturing group\n * = Match anything\n ) = Close capturing group\n\t \\) = Match a close parens\n\n\t /gi = Get all matches, not the first. Be case insensitive.\n\t */\n\tvar fixedCss = css.replace(/url\\s*\\(((?:[^)(]|\\((?:[^)(]+|\\([^)(]*\\))*\\))*)\\)/gi, function(fullMatch, origUrl) {\n\t\t// strip quotes (if they exist)\n\t\tvar unquotedOrigUrl = origUrl\n\t\t\t.trim()\n\t\t\t.replace(/^\"(.*)\"$/, function(o, $1){ return $1; })\n\t\t\t.replace(/^'(.*)'$/, function(o, $1){ return $1; });\n\n\t\t// already a full url? no change\n\t\tif (/^(#|data:|http:\\/\\/|https:\\/\\/|file:\\/\\/\\/|\\s*$)/i.test(unquotedOrigUrl)) {\n\t\t return fullMatch;\n\t\t}\n\n\t\t// convert the url to a full url\n\t\tvar newUrl;\n\n\t\tif (unquotedOrigUrl.indexOf(\"//\") === 0) {\n\t\t \t//TODO: should we add protocol?\n\t\t\tnewUrl = unquotedOrigUrl;\n\t\t} else if (unquotedOrigUrl.indexOf(\"/\") === 0) {\n\t\t\t// path should be relative to the base url\n\t\t\tnewUrl = baseUrl + unquotedOrigUrl; // already starts with '/'\n\t\t} else {\n\t\t\t// path should be relative to current directory\n\t\t\tnewUrl = currentDir + unquotedOrigUrl.replace(/^\\.\\//, \"\"); // Strip leading './'\n\t\t}\n\n\t\t// send back the fixed url(...)\n\t\treturn \"url(\" + JSON.stringify(newUrl) + \")\";\n\t});\n\n\t// send back the fixed css\n\treturn fixedCss;\n};\n","import { hasClass } from '../utils/util'\n\nlet mobile = function () {\n let player = this\n let root = player.root\n let clk = 0; let _click_\n let clickedTime = {\n first: '',\n second: ''\n }\n\n player.onElementTouchend = function (e, element) {\n if(!this.config.closeVideoPreventDefault) {\n e.preventDefault()\n }\n if(!this.config.closeVideoStopPropagation) {\n e.stopPropagation()\n }\n let player = this\n if (hasClass(root, 'xgplayer-inactive')) {\n player.emit('focus')\n } else {\n player.emit('blur')\n }\n if (!player.config.closeVideoTouch && !player.isTouchMove) {\n function onTouch() {\n _click_ = setTimeout(function () {\n if (hasClass(player.root, 'xgplayer-nostart')) {\n return false\n } else if (!player.ended) {\n if (player.paused) {\n let playPromise = player.play()\n if (playPromise !== undefined && playPromise) {\n playPromise.catch(err => {})\n }\n } else {\n player.pause()\n }\n }\n clk = 0\n }, 200)\n }\n if (!player.config.closeVideoClick) {\n clk++\n if (_click_) {\n clearTimeout(_click_)\n }\n if (clk === 1) {\n if(player.config.enableVideoDbltouch) {\n clickedTime.first = new Date()\n } else {\n onTouch()\n }\n } else if (clk === 2) {\n if(player.config.enableVideoDbltouch) {\n clickedTime.second = new Date()\n if (Math.abs(clickedTime.first - clickedTime.second) < 400) {\n // 双击\n onTouch()\n } else {\n clickedTime.first = new Date()\n clk = 1\n }\n } else {\n clk = 0\n }\n } else {\n clk = 0\n }\n }\n }\n }\n\n function onReady (e) {\n player.video.addEventListener('touchend', function (e) {\n player.onElementTouchend(e, player.video)\n })\n player.video.addEventListener('touchstart', () => {\n player.isTouchMove = false\n })\n player.video.addEventListener('touchmove', () => {\n player.isTouchMove = true\n })\n if (player.config.autoplay) {\n player.start()\n }\n }\n player.once('ready', onReady)\n\n function onDestroy () {\n player.off('ready', onReady)\n player.off('destroy', onDestroy)\n }\n player.once('destroy', onDestroy)\n}\n\nexport default {\n name: 'mobile',\n method: mobile\n}","import { hasClass } from '../utils/util'\n\nlet pc = function () {\n let player = this\n if(!player.controls || !player.video) return\n let controls = player.controls; let root = player.root\n let clk = 0; let _click_\n\n player.onElementClick = function (e, element) {\n if(!this.config.closeVideoPreventDefault) {\n e.preventDefault()\n }\n if(!this.config.closeVideoStopPropagation) {\n e.stopPropagation()\n }\n let player = this\n if (!player.config.closeVideoClick) {\n clk++\n if (_click_) {\n clearTimeout(_click_)\n }\n if (clk === 1) {\n _click_ = setTimeout(function () {\n if (hasClass(player.root, 'xgplayer-nostart')) {\n return false\n } else if (!player.ended) {\n if (player.paused) {\n let playPromise = player.play()\n if (playPromise !== undefined && playPromise) {\n playPromise.catch(err => {})\n }\n } else {\n player.pause()\n }\n }\n clk = 0\n }, 200)\n } else {\n clk = 0\n }\n }\n }\n player.video.addEventListener('click', function (e) { player.onElementClick(e, player.video) }, false)\n\n player.onElementDblclick = function (e, element) {\n if(!this.config.closeVideoPreventDefault) {\n e.preventDefault()\n }\n if(!this.config.closeVideoStopPropagation) {\n e.stopPropagation()\n }\n let player = this\n if (!player.config.closeVideoDblclick) {\n let fullscreen = controls.querySelector('.xgplayer-fullscreen')\n if (fullscreen) {\n let clk\n if (document.createEvent) {\n clk = document.createEvent('Event')\n clk.initEvent('click', true, true)\n } else {\n clk = new Event('click')\n }\n fullscreen.dispatchEvent(clk)\n }\n }\n }\n player.video.addEventListener('dblclick', function (e) { player.onElementDblclick(e, player.video) }, false)\n\n function onMouseEnter () {\n clearTimeout(player.leavePlayerTimer)\n player.emit('focus', player)\n }\n root.addEventListener('mouseenter', onMouseEnter)\n\n function onMouseLeave () {\n if(!player.config.closePlayerBlur) {\n player.leavePlayerTimer = setTimeout(function () {\n player.emit('blur', player)\n }, player.config.leavePlayerTime || 0)\n }\n }\n root.addEventListener('mouseleave', onMouseLeave)\n\n function onControlMouseEnter (e) {\n if (player.userTimer) {\n clearTimeout(player.userTimer)\n }\n }\n controls.addEventListener('mouseenter', onControlMouseEnter)\n\n function onControlMouseLeave (e) {\n if(!player.config.closeControlsBlur) {\n player.emit('focus', player)\n }\n }\n controls.addEventListener('mouseleave', onControlMouseLeave)\n\n function onControlClick (e) {\n e.preventDefault()\n e.stopPropagation()\n }\n controls.addEventListener('click', onControlClick)\n\n function onReady (e) {\n if (player.config.autoplay) {\n player.start()\n }\n }\n player.once('ready', onReady)\n\n function onDestroy () {\n root.removeEventListener('mouseenter', onMouseEnter)\n root.removeEventListener('mouseleave', onMouseLeave)\n player.off('ready', onReady)\n player.off('destroy', onDestroy)\n }\n player.once('destroy', onDestroy)\n}\n\nexport default {\n name: 'pc',\n method: pc\n}","import { addClass, hasClass, removeClass } from '../utils/util'\n\nlet start = function () {\n let player = this\n let root = player.root\n\n function onCanPlay () {\n player.off('canplay', onCanPlay)\n let playPromise = player.play()\n if (playPromise !== undefined && playPromise) {\n playPromise.catch(err => {})\n }\n }\n\n function onStartBtnClick () {\n if (hasClass(root, 'xgplayer-nostart')) {\n removeClass(root, 'xgplayer-nostart') // for ie quick switch\n addClass(root, 'xgplayer-is-enter')\n\n if(typeof root.contains === 'function') {\n if((player.video && player.video.nodeType === 1 && !root.contains(player.video)) || (player.video && player.video.nodeType !== 1 && player.video.mediaSource === undefined)) {\n player.once('canplay', onCanPlay)\n player.start()\n } else {\n onCanPlay()\n }\n } else {\n if((player.video && player.video.nodeType === 1 && !root.querySelector(this.videoConfig.mediaType)) || (player.video && player.video.nodeType !== 1 && player.video.mediaSource === undefined)) {\n player.once('canplay', onCanPlay)\n player.start()\n } else {\n onCanPlay()\n }\n }\n } else {\n if (player.paused) {\n removeClass(root, 'xgplayer-nostart xgplayer-isloading')\n setTimeout(() => {\n let playPromise = player.play()\n if (playPromise !== undefined && playPromise) {\n playPromise.catch(err => {})\n }\n }, 10)\n }\n }\n }\n player.on('startBtnClick', onStartBtnClick)\n\n function onDestroy () {\n player.off('startBtnClick', onStartBtnClick)\n player.off('canplay', onCanPlay)\n player.off('destroy', onDestroy)\n }\n player.once('destroy', onDestroy)\n}\n\nexport default {\n name: 'start',\n method: start\n}","import { createDom, addClass, removeClass, isWeiXin, isUc } from '../../utils/util'\nimport StartPlayIcon from '../assets/startPlay.svg'\nimport StartPauseIcon from '../assets/startPause.svg'\nimport '../style/controls/start.scss'\n\nlet s_start = function () {\n let player = this\n let root = player.root\n let btn = createDom('xg-start', `<div class=\"xgplayer-icon-play\">${StartPlayIcon}</div>\n <div class=\"xgplayer-icon-pause\">${StartPauseIcon}</div>`, {}, 'xgplayer-start')\n function onPlayerReady(player) {\n addClass(player.root, 'xgplayer-skin-default')\n if (player.config) {\n player.config.autoplay && !isWeiXin() && !isUc() && addClass(player.root, 'xgplayer-is-enter')\n if (player.config.lang && player.config.lang === 'en') {\n addClass(player.root, 'xgplayer-lang-is-en')\n } else if (player.config.lang === 'jp') {\n addClass(player.root, 'xgplayer-lang-is-jp')\n }\n if(!player.config.enableContextmenu) {\n player.video.addEventListener('contextmenu', e => {\n e.preventDefault()\n e.stopPropagation()\n })\n }\n }\n }\n\n if(player.config && player.config.hideStartBtn) {\n addClass(root, 'xgplayer-start-hide')\n }\n\n if (player.isReady) {\n root.appendChild(btn)\n onPlayerReady(player)\n } else {\n player.once('ready', () => {\n root.appendChild(btn)\n onPlayerReady(player)\n });\n }\n\n player.once('autoplay was prevented', () => {\n removeClass(player.root, 'xgplayer-is-enter')\n addClass(player.root, 'xgplayer-nostart')\n })\n\n player.once('canplay', () => {\n removeClass(player.root, 'xgplayer-is-enter')\n })\n\n btn.onclick = e => {\n e.preventDefault()\n e.stopPropagation()\n player.userGestureTrigEvent('startBtnClick')\n }\n}\n\nexport default {\n name: 's_start',\n method: s_start\n}","export default \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"70\\\" height=\\\"70\\\" viewBox=\\\"0 0 70 70\\\">\\n <path transform=\\\"translate(15,15) scale(0.04,0.04)\\\" d=\\\"M576,363L810,512L576,661zM342,214L576,363L576,661L342,810z\\\"></path>\\n</svg>\\n\"","export default \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"70\\\" height=\\\"70\\\" viewBox=\\\"0 0 70 70\\\">\\n <path transform=\\\"translate(15,15) scale(0.04 0.04)\\\" d=\\\"M598,214h170v596h-170v-596zM256 810v-596h170v596h-170z\\\"></path>\\n</svg>\\n\"","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./start.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./start.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./start.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-start{border-radius:50%;display:inline-block;width:70px;height:70px;background:rgba(0,0,0,.38);overflow:hidden;text-align:center;line-height:70px;vertical-align:middle;position:absolute;left:50%;top:50%;z-index:115;margin:-35px auto auto -35px;cursor:pointer}.xgplayer-skin-default .xgplayer-start div{position:absolute}.xgplayer-skin-default .xgplayer-start div svg{fill:hsla(0,0%,100%,.7)}.xgplayer-skin-default .xgplayer-start .xgplayer-icon-play{display:block}.xgplayer-skin-default .xgplayer-start .xgplayer-icon-pause{display:none}.xgplayer-skin-default .xgplayer-start:hover{opacity:.85}.xgplayer-skin-default.xgplayer-pause.xgplayer-start-hide .xgplayer-start,.xgplayer-skin-default.xgplayer-playing .xgplayer-start,.xgplayer-skin-default.xgplayer-playing .xgplayer-start .xgplayer-icon-play,.xgplayer-skin-default.xgplayer-start-hide .xgplayer-start{display:none}.xgplayer-skin-default.xgplayer-playing .xgplayer-start .xgplayer-icon-pause{display:block}.xgplayer-skin-default.xgplayer-pause .xgplayer-start{display:inline-block}.xgplayer-skin-default.xgplayer-pause .xgplayer-start .xgplayer-icon-play{display:block}.xgplayer-skin-default.xgplayer-is-replay .xgplayer-start,.xgplayer-skin-default.xgplayer-pause .xgplayer-start .xgplayer-icon-pause{display:none}.xgplayer-skin-default.xgplayer-is-replay .xgplayer-start .xgplayer-icon-play{display:block}.xgplayer-skin-default.xgplayer-is-replay .xgplayer-start .xgplayer-icon-pause{display:none}\", \"\"]);\n\n// exports\n","import { hasClass, addClass, removeClass } from '../utils/util'\n\nlet fullscreen = function () {\n let player = this\n let root = player.root\n\n function onFullscreenBtnClick () {\n if(player.config.rotateFullscreen) {\n if(hasClass(root, 'xgplayer-rotate-fullscreen')) {\n player.exitRotateFullscreen()\n } else {\n player.getRotateFullscreen()\n }\n } else {\n if (hasClass(root, 'xgplayer-is-fullscreen')) {\n player.exitFullscreen(root)\n } else {\n player.getFullscreen(root)\n }\n }\n }\n player.on('fullscreenBtnClick', onFullscreenBtnClick)\n\n function onFullscreenChange () {\n let fullscreenEl = document.fullscreenElement || document.webkitFullscreenElement || document.mozFullScreenElement || document.msFullscreenElement\n if (fullscreenEl && fullscreenEl === root) {\n addClass(root, 'xgplayer-is-fullscreen')\n player.emit('requestFullscreen')\n } else if (hasClass(root, 'xgplayer-is-fullscreen')) {\n removeClass(root, 'xgplayer-is-fullscreen')\n player.emit('exitFullscreen')\n }\n if(player.danmu && typeof player.danmu.resize === 'function') {\n player.danmu.resize()\n }\n };\n ['fullscreenchange', 'webkitfullscreenchange', 'mozfullscreenchange', 'MSFullscreenChange'].forEach(item => {\n document.addEventListener(item, onFullscreenChange)\n })\n\n player.video.addEventListener(\"webkitbeginfullscreen\", function(){\n addClass(root, 'xgplayer-is-fullscreen')\n player.emit('requestFullscreen')\n })\n\n player.video.addEventListener(\"webkitendfullscreen\", function(){\n removeClass(root, 'xgplayer-is-fullscreen')\n player.emit('exitFullscreen')\n })\n\n function onDestroy () {\n player.off('fullscreenBtnClick', onFullscreenBtnClick);\n ['fullscreenchange', 'webkitfullscreenchange', 'mozfullscreenchange', 'MSFullscreenChange'].forEach(item => {\n document.removeEventListener(item, onFullscreenChange)\n })\n player.off('destroy', onDestroy)\n }\n player.once('destroy', onDestroy)\n\n player.getFullscreen = function (el) {\n let player = this\n if (el.requestFullscreen) {\n let fullscreenPromise = el.requestFullscreen()\n if (fullscreenPromise) {\n fullscreenPromise.catch(function () {\n player.emit('fullscreen error')\n })\n }\n } else if (el.mozRequestFullScreen) {\n el.mozRequestFullScreen()\n } else if (el.webkitRequestFullscreen) {\n el.webkitRequestFullscreen(window.Element.ALLOW_KEYBOARD_INPUT)\n } else if (player.video.webkitSupportsFullscreen) {\n player.video.webkitEnterFullscreen()\n } else if (el.msRequestFullscreen) {\n el.msRequestFullscreen()\n } else {\n addClass(el, 'xgplayer-is-cssfullscreen')\n }\n }\n\n player.exitFullscreen = function (el) {\n if (document.exitFullscreen) {\n document.exitFullscreen()\n } else if (document.webkitExitFullscreen) {\n document.webkitExitFullscreen()\n } else if (document.mozCancelFullScreen) {\n document.mozCancelFullScreen()\n } else if (document.msExitFullscreen) {\n document.msExitFullscreen()\n }\n removeClass(el, 'xgplayer-is-cssfullscreen')\n }\n\n player.getRotateFullscreen = function () {\n let player = this\n document.documentElement.style.width = '100%'\n document.documentElement.style.height = '100%'\n if (player.config.fluid) {\n player.root.style['padding-top'] = ''\n player.root.style['max-width'] = 'unset'\n }\n if (player.root && !hasClass(player.root, 'xgplayer-rotate-fullscreen')) {\n addClass(player.root, 'xgplayer-rotate-fullscreen')\n }\n player.emit('getRotateFullscreen')\n }\n\n player.exitRotateFullscreen = function () {\n let player = this\n document.documentElement.style.width = 'unset'\n document.documentElement.style.height = 'unset'\n if (player.config.fluid) {\n player.root.style['width'] = '100%'\n player.root.style['height'] = '0'\n player.root.style['padding-top'] = `${player.config.height * 100 / player.config.width}%`\n player.root.style['max-width'] = '100%'\n }\n if (player.root && hasClass(player.root, 'xgplayer-rotate-fullscreen')) {\n removeClass(player.root, 'xgplayer-rotate-fullscreen')\n }\n player.emit('exitRotateFullscreen')\n }\n}\n\nexport default {\n name: 'fullscreen',\n method: fullscreen\n}","let play = function () {\n let player = this\n\n function onPlayBtnClick () {\n if (!player.config.allowPlayAfterEnded && player.ended) {\n return\n }\n if (player.paused) {\n let playPromise = player.play()\n if (playPromise !== undefined && playPromise) {\n playPromise.catch(err => {})\n }\n } else {\n player.pause()\n }\n }\n player.on('playBtnClick', onPlayBtnClick)\n\n function onDestroy () {\n player.off('playBtnClick', onPlayBtnClick)\n player.off('destroy', onDestroy)\n }\n player.once('destroy', onDestroy)\n}\n\nexport default {\n name: 'play',\n method: play\n}","import { addClass, removeClass } from '../utils/util'\n\nlet replay = function () {\n let player = this\n let root = player.root\n\n function onReplayBtnClick () {\n removeClass(root, 'xgplayer-is-replay')\n player.replay()\n }\n player.on('replayBtnClick', onReplayBtnClick)\n\n function onEnded () {\n if (!player.config.loop) {\n addClass(root, 'xgplayer-is-replay')\n }\n }\n player.on('ended', onEnded)\n\n function onDestroy () {\n player.off('replayBtnClick', onReplayBtnClick)\n player.off('destroy', onDestroy)\n }\n player.once('destroy', onDestroy)\n}\n\nexport default {\n name: 'replay',\n method: replay\n}","import { createDom, createImgBtn } from '../../utils/util'\nimport PlayIcon from '../assets/play.svg'\nimport PauseIcon from '../assets/pause.svg'\nimport '../style/controls/play.scss'\n\nlet s_play = function () {\n let player = this\n let playBtn = player.config.playBtn ? player.config.playBtn : {}\n let btn\n if (playBtn.type === 'img') {\n btn = createImgBtn('play', playBtn.url.play, playBtn.width, playBtn.height)\n } else {\n btn = createDom('xg-play', `<xg-icon class=\"xgplayer-icon\">\n <div class=\"xgplayer-icon-play\">${PlayIcon}</div>\n <div class=\"xgplayer-icon-pause\">${PauseIcon}</div>\n </xg-icon>`, {}, 'xgplayer-play')\n }\n\n let tipsText = {}\n tipsText.play = player.lang.PLAY_TIPS\n tipsText.pause = player.lang.PAUSE_TIPS\n let tips = createDom('xg-tips', `<span class=\"xgplayer-tip-play\">${tipsText.play}</span>\n <span class=\"xgplayer-tip-pause\">${tipsText.pause}</span>`, {}, 'xgplayer-tips')\n btn.appendChild(tips)\n player.once('ready', () => {\n if(player.controls) {\n player.controls.appendChild(btn)\n }\n });\n\n ['click', 'touchend'].forEach(item => {\n btn.addEventListener(item, function (e) {\n e.preventDefault()\n e.stopPropagation()\n player.userGestureTrigEvent('playBtnClick')\n })\n })\n}\n\nexport default {\n name: 's_play',\n method: s_play\n}","export default \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"40\\\" height=\\\"40\\\" viewBox=\\\"0 0 40 40\\\">\\n <path transform=\\\"translate(2,2) scale(0.0320625 0.0320625)\\\" d=\\\"M576,363L810,512L576,661zM342,214L576,363L576,661L342,810z\\\"></path>\\n</svg>\\n\"","export default \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"40\\\" height=\\\"40\\\" viewBox=\\\"0 0 40 40\\\">\\n <path transform=\\\"translate(2,2) scale(0.0320625 0.0320625)\\\" d=\\\"M598,214h170v596h-170v-596zM256 810v-596h170v596h-170z\\\"></path>\\n</svg>\\n\"","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./play.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./play.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./play.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-play,.xgplayer-skin-default .xgplayer-play-img{width:40px;position:relative;-webkit-order:0;-moz-box-ordinal-group:1;order:0;display:block;cursor:pointer;margin-left:3px}.xgplayer-skin-default .xgplayer-play-img .xgplayer-icon,.xgplayer-skin-default .xgplayer-play .xgplayer-icon{margin-top:3px;width:32px}.xgplayer-skin-default .xgplayer-play-img .xgplayer-icon div,.xgplayer-skin-default .xgplayer-play .xgplayer-icon div{position:absolute}.xgplayer-skin-default .xgplayer-play-img .xgplayer-icon .xgplayer-icon-play,.xgplayer-skin-default .xgplayer-play .xgplayer-icon .xgplayer-icon-play{display:block}.xgplayer-skin-default .xgplayer-play-img .xgplayer-icon .xgplayer-icon-pause,.xgplayer-skin-default .xgplayer-play .xgplayer-icon .xgplayer-icon-pause{display:none}.xgplayer-skin-default .xgplayer-play-img .xgplayer-tips .xgplayer-tip-play,.xgplayer-skin-default .xgplayer-play .xgplayer-tips .xgplayer-tip-play{display:block}.xgplayer-skin-default .xgplayer-play-img .xgplayer-tips .xgplayer-tip-pause,.xgplayer-skin-default .xgplayer-play .xgplayer-tips .xgplayer-tip-pause{display:none}.xgplayer-skin-default .xgplayer-play-img:hover,.xgplayer-skin-default .xgplayer-play:hover{opacity:.85}.xgplayer-skin-default .xgplayer-play-img:hover .xgplayer-tips,.xgplayer-skin-default .xgplayer-play:hover .xgplayer-tips{display:block}.xgplayer-skin-default.xgplayer-playing .xgplayer-play-img .xgplayer-icon .xgplayer-icon-play,.xgplayer-skin-default.xgplayer-playing .xgplayer-play .xgplayer-icon .xgplayer-icon-play{display:none}.xgplayer-skin-default.xgplayer-playing .xgplayer-play-img .xgplayer-icon .xgplayer-icon-pause,.xgplayer-skin-default.xgplayer-playing .xgplayer-play .xgplayer-icon .xgplayer-icon-pause{display:block}.xgplayer-skin-default.xgplayer-playing .xgplayer-play-img .xgplayer-tips .xgplayer-tip-play,.xgplayer-skin-default.xgplayer-playing .xgplayer-play .xgplayer-tips .xgplayer-tip-play{display:none}.xgplayer-skin-default.xgplayer-pause .xgplayer-play-img .xgplayer-icon .xgplayer-icon-play,.xgplayer-skin-default.xgplayer-pause .xgplayer-play .xgplayer-icon .xgplayer-icon-play,.xgplayer-skin-default.xgplayer-playing .xgplayer-play-img .xgplayer-tips .xgplayer-tip-pause,.xgplayer-skin-default.xgplayer-playing .xgplayer-play .xgplayer-tips .xgplayer-tip-pause{display:block}.xgplayer-skin-default.xgplayer-pause .xgplayer-play-img .xgplayer-icon .xgplayer-icon-pause,.xgplayer-skin-default.xgplayer-pause .xgplayer-play .xgplayer-icon .xgplayer-icon-pause{display:none}.xgplayer-skin-default.xgplayer-pause .xgplayer-play-img .xgplayer-tips .xgplayer-tip-play,.xgplayer-skin-default.xgplayer-pause .xgplayer-play .xgplayer-tips .xgplayer-tip-play{display:block}.xgplayer-skin-default.xgplayer-pause .xgplayer-play-img .xgplayer-tips .xgplayer-tip-pause,.xgplayer-skin-default.xgplayer-pause .xgplayer-play .xgplayer-tips .xgplayer-tip-pause{display:none}\", \"\"]);\n\n// exports\n","import { createDom } from '../../utils/util'\nimport '../style/controls/poster.scss'\n\nlet s_poster = function () {\n let player = this\n let root = player.root\n if (!player.config.poster) {\n return\n }\n let poster = createDom('xg-poster', '', {}, 'xgplayer-poster')\n poster.style.backgroundImage = `url(${player.config.poster})`\n root.appendChild(poster)\n}\n\nexport default {\n name: 's_poster',\n method: s_poster\n}","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./poster.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./poster.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./poster.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-poster{display:none;position:absolute;left:0;top:0;width:100%;height:100%;z-index:100;background-size:cover;background-position:50%}.xgplayer-skin-default.xgplayer-nostart .xgplayer-poster{display:block}\", \"\"]);\n\n// exports\n","import { createDom } from '../../utils/util'\nimport '../style/controls/placeholder.scss'\n\nlet s_flex = function () {\n let player = this\n let playceholder = createDom('xg-placeholder', '', {}, 'xgplayer-placeholder')\n player.controls.appendChild(playceholder)\n}\n\nexport default {\n name: 's_flex',\n method: s_flex\n}","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./placeholder.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./placeholder.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./placeholder.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-placeholder{-webkit-flex:1;-moz-box-flex:1;flex:1;-webkit-order:3;-moz-box-ordinal-group:4;order:3;display:block}\", \"\"]);\n\n// exports\n","import { createDom, createImgBtn } from '../../utils/util'\nimport RequestFullIcon from '../assets/requestFull.svg'\nimport ExitFullIcon from '../assets/exitFull.svg'\nimport '../style/controls/fullscreen.scss'\n\nlet s_fullscreen = function () {\n let player = this\n let fullscreenBtn = player.config.fullscreenBtn ? player.config.fullscreenBtn : {}\n let btn\n if (fullscreenBtn.type === 'img') {\n btn = createImgBtn('fullscreen', fullscreenBtn.url.request, fullscreenBtn.width, fullscreenBtn.height)\n } else {\n btn = createDom('xg-fullscreen', `<xg-icon class=\"xgplayer-icon\">\n <div class=\"xgplayer-icon-requestfull\">${RequestFullIcon}</div>\n <div class=\"xgplayer-icon-exitfull\">${ExitFullIcon}</div>\n </xg-icon>`, {}, 'xgplayer-fullscreen')\n }\n\n let tipsText = {}\n tipsText.requestfull = player.lang.FULLSCREEN_TIPS\n tipsText.exitfull = player.lang.EXITFULLSCREEN_TIPS\n let tips = createDom('xg-tips', `<span class=\"xgplayer-tip-requestfull\">${tipsText.requestfull}</span>\n <span class=\"xgplayer-tip-exitfull\">${tipsText.exitfull}</span>`, {}, 'xgplayer-tips')\n btn.appendChild(tips)\n player.once('ready', () => {\n if(player.controls) {\n player.controls.appendChild(btn)\n }\n });\n\n ['click', 'touchend'].forEach(item => {\n btn.addEventListener(item, function (e) {\n e.preventDefault()\n e.stopPropagation()\n player.userGestureTrigEvent('fullscreenBtnClick')\n })\n })\n}\n\nexport default {\n name: 's_fullscreen',\n method: s_fullscreen\n}","export default \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"40\\\" height=\\\"40\\\" viewBox=\\\"0 0 40 40\\\">\\n <path transform=\\\"scale(0.0320625 0.0320625)\\\" d=\\\"M598 214h212v212h-84v-128h-128v-84zM726 726v-128h84v212h-212v-84h128zM214 426v-212h212v84h-128v128h-84zM298 598v128h128v84h-212v-212h84z\\\"></path>\\n</svg>\\n\"","export default \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"40\\\" height=\\\"40\\\" viewBox=\\\"0 0 40 40\\\">\\n <path transform=\\\"scale(0.0320625 0.0320625)\\\" d=\\\"M682 342h128v84h-212v-212h84v128zM598 810v-212h212v84h-128v128h-84zM342 342v-128h84v212h-212v-84h128zM214 682v-84h212v212h-84v-128h-128z\\\"></path>\\n</svg>\\n\"","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./fullscreen.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./fullscreen.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./fullscreen.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-fullscreen,.xgplayer-skin-default .xgplayer-fullscreen-img{position:relative;-webkit-order:13;-moz-box-ordinal-group:14;order:13;display:block;cursor:pointer;margin-left:5px;margin-right:3px}.xgplayer-skin-default .xgplayer-fullscreen-img .xgplayer-icon,.xgplayer-skin-default .xgplayer-fullscreen .xgplayer-icon{margin-top:3px}.xgplayer-skin-default .xgplayer-fullscreen-img .xgplayer-icon div,.xgplayer-skin-default .xgplayer-fullscreen .xgplayer-icon div{position:absolute}.xgplayer-skin-default .xgplayer-fullscreen-img .xgplayer-icon .xgplayer-icon-requestfull,.xgplayer-skin-default .xgplayer-fullscreen .xgplayer-icon .xgplayer-icon-requestfull{display:block}.xgplayer-skin-default .xgplayer-fullscreen-img .xgplayer-icon .xgplayer-icon-exitfull,.xgplayer-skin-default .xgplayer-fullscreen .xgplayer-icon .xgplayer-icon-exitfull{display:none}.xgplayer-skin-default .xgplayer-fullscreen-img .xgplayer-tips,.xgplayer-skin-default .xgplayer-fullscreen .xgplayer-tips{position:absolute;right:0;left:auto}.xgplayer-skin-default .xgplayer-fullscreen-img .xgplayer-tips .xgplayer-tip-requestfull,.xgplayer-skin-default .xgplayer-fullscreen .xgplayer-tips .xgplayer-tip-requestfull{display:block}.xgplayer-skin-default .xgplayer-fullscreen-img .xgplayer-tips .xgplayer-tip-exitfull,.xgplayer-skin-default .xgplayer-fullscreen .xgplayer-tips .xgplayer-tip-exitfull{display:none}.xgplayer-skin-default .xgplayer-fullscreen-img:hover,.xgplayer-skin-default .xgplayer-fullscreen:hover{opacity:.85}.xgplayer-skin-default .xgplayer-fullscreen-img:hover .xgplayer-tips,.xgplayer-skin-default .xgplayer-fullscreen:hover .xgplayer-tips{display:block}.xgplayer-skin-default.xgplayer-is-fullscreen .xgplayer-fullscreen-img .xgplayer-icon .xgplayer-icon-requestfull,.xgplayer-skin-default.xgplayer-is-fullscreen .xgplayer-fullscreen .xgplayer-icon .xgplayer-icon-requestfull,.xgplayer-skin-default.xgplayer-rotate-fullscreen .xgplayer-fullscreen-img .xgplayer-icon .xgplayer-icon-requestfull,.xgplayer-skin-default.xgplayer-rotate-fullscreen .xgplayer-fullscreen .xgplayer-icon .xgplayer-icon-requestfull{display:none}.xgplayer-skin-default.xgplayer-is-fullscreen .xgplayer-fullscreen-img .xgplayer-icon .xgplayer-icon-exitfull,.xgplayer-skin-default.xgplayer-is-fullscreen .xgplayer-fullscreen .xgplayer-icon .xgplayer-icon-exitfull,.xgplayer-skin-default.xgplayer-rotate-fullscreen .xgplayer-fullscreen-img .xgplayer-icon .xgplayer-icon-exitfull,.xgplayer-skin-default.xgplayer-rotate-fullscreen .xgplayer-fullscreen .xgplayer-icon .xgplayer-icon-exitfull{display:block}.xgplayer-skin-default.xgplayer-is-fullscreen .xgplayer-fullscreen-img .xgplayer-tips .xgplayer-tip-requestfull,.xgplayer-skin-default.xgplayer-is-fullscreen .xgplayer-fullscreen .xgplayer-tips .xgplayer-tip-requestfull,.xgplayer-skin-default.xgplayer-rotate-fullscreen .xgplayer-fullscreen-img .xgplayer-tips .xgplayer-tip-requestfull,.xgplayer-skin-default.xgplayer-rotate-fullscreen .xgplayer-fullscreen .xgplayer-tips .xgplayer-tip-requestfull{display:none}.xgplayer-skin-default.xgplayer-is-fullscreen .xgplayer-fullscreen-img .xgplayer-tips .xgplayer-tip-exitfull,.xgplayer-skin-default.xgplayer-is-fullscreen .xgplayer-fullscreen .xgplayer-tips .xgplayer-tip-exitfull,.xgplayer-skin-default.xgplayer-rotate-fullscreen .xgplayer-fullscreen-img .xgplayer-tips .xgplayer-tip-exitfull,.xgplayer-skin-default.xgplayer-rotate-fullscreen .xgplayer-fullscreen .xgplayer-tips .xgplayer-tip-exitfull{display:block}\", \"\"]);\n\n// exports\n","import { createDom } from '../../utils/util'\nimport Loading from '../assets/loading.svg'\nimport '../style/controls/loading.scss'\n\nlet s_loading = function () {\n let player = this\n let root = player.root\n let container = createDom('xg-loading', `${Loading}`, {}, 'xgplayer-loading')\n player.once('ready', () => {\n root.appendChild(container)\n })\n}\n\nexport default {\n name: 's_loading',\n method: s_loading\n}","export default \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"100\\\" height=\\\"100\\\" viewbox=\\\"0 0 100 100\\\">\\n <path d=\\\"M100,50A50,50,0,1,1,50,0\\\"></path>\\n</svg>\\n\"","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./loading.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./loading.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./loading.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-loading{display:none;width:100px;height:100px;overflow:hidden;-webkit-transform:scale(.7);-ms-transform:scale(.7);transform:scale(.7);position:absolute;left:50%;top:50%;margin:-50px auto auto -50px}.xgplayer-skin-default .xgplayer-loading svg{border-radius:50%;-webkit-transform-origin:center;-ms-transform-origin:center;transform-origin:center;-webkit-animation:loadingRotate 1s linear infinite;animation:loadingRotate 1s linear infinite}.xgplayer-skin-default .xgplayer-loading svg path{stroke:#ddd;stroke-dasharray:236;-webkit-animation:loadingDashOffset 2s linear infinite;animation:loadingDashOffset 2s linear infinite;animation-direction:alternate-reverse;fill:none;stroke-width:12px}.xgplayer-skin-default.xgplayer-nostart .xgplayer-loading{display:none}.xgplayer-skin-default.xgplayer-pause .xgplayer-loading{display:none!important}.xgplayer-skin-default.xgplayer-isloading .xgplayer-loading{display:block}\", \"\"]);\n\n// exports\n","import { createDom, addClass, removeClass, hasClass, toggleClass, typeOf, event, format, findDom } from '../../utils/util'\r\nimport sniffer from '../../utils/sniffer'\r\nimport '../style/controls/progress.scss'\r\n\r\nconst isRotateFullscreen = (player) => {\r\n return hasClass(player.root, 'xgplayer-rotate-fullscreen')\r\n}\r\n\r\nlet s_progress = function () {\r\n let player = this\r\n let container = createDom('xg-progress', `<xg-outer class=\"xgplayer-progress-outer\">\r\n <xg-cache class=\"xgplayer-progress-cache\"></xg-cache>\r\n <xg-played class=\"xgplayer-progress-played\">\r\n <xg-progress-btn class=\"xgplayer-progress-btn\"></xg-progress-btn>\r\n <xg-point class=\"xgplayer-progress-point xgplayer-tips\"></xg-point>\r\n <xg-thumbnail class=\"xgplayer-progress-thumbnail xgplayer-tips\"></xg-thumbnail>\r\n </xg-played>\r\n </xg-outer>`, {tabindex: 1}, 'xgplayer-progress')\r\n let containerWidth\r\n player.controls.appendChild(container)\r\n let progress = container.querySelector('.xgplayer-progress-played')\r\n let outer = container.querySelector('.xgplayer-progress-outer')\r\n let cache = container.querySelector('.xgplayer-progress-cache')\r\n let point = container.querySelector('.xgplayer-progress-point')\r\n let thumbnail = container.querySelector('.xgplayer-progress-thumbnail')\r\n player.dotArr = {}\r\n function dotEvent (dotItem, text) {\r\n dotItem.addEventListener('mouseenter', function (e) {\r\n if (text) {\r\n addClass(dotItem, 'xgplayer-progress-dot-show')\r\n addClass(container, 'xgplayer-progress-dot-active')\r\n }\r\n })\r\n dotItem.addEventListener('mouseleave', function (e) {\r\n if (text) {\r\n removeClass(dotItem, 'xgplayer-progress-dot-show')\r\n removeClass(container, 'xgplayer-progress-dot-active')\r\n }\r\n })\r\n dotItem.addEventListener('touchend', function (e) {\r\n // e.preventDefault()\r\n e.stopPropagation()\r\n if (text) {\r\n if (!hasClass(dotItem, 'xgplayer-progress-dot-show')) {\r\n Object.keys(player.dotArr).forEach(function (key) {\r\n if (player.dotArr[key]) {\r\n removeClass(player.dotArr[key], 'xgplayer-progress-dot-show')\r\n }\r\n })\r\n }\r\n toggleClass(dotItem, 'xgplayer-progress-dot-show')\r\n toggleClass(container, 'xgplayer-progress-dot-active')\r\n }\r\n })\r\n }\r\n function onCanplay () {\r\n if (player.config.progressDot && typeOf(player.config.progressDot) === 'Array') {\r\n player.config.progressDot.forEach(item => {\r\n if (item.time >= 0 && item.time <= player.duration) {\r\n let dot = createDom('xg-progress-dot', item.text ? `<span class=\"xgplayer-progress-tip\">${item.text}</span>` : '', {}, 'xgplayer-progress-dot')\r\n dot.style.left = (item.time / player.duration) * 100 + '%'\r\n if (item.duration >= 0) {\r\n dot.style.width = (Math.min(item.duration, player.duration - item.time) / player.duration) * 100 + '%'\r\n }\r\n if(item.style) {\r\n for(let k in item.style) {\r\n dot.style[k] = item.style[k]\r\n }\r\n }\r\n outer.appendChild(dot)\r\n player.dotArr[item.time] = dot\r\n dotEvent(dot, item.text)\r\n }\r\n })\r\n }\r\n }\r\n player.once('canplay', onCanplay)\r\n player.addProgressDot = function (time, text, duration, style) {\r\n if (player.dotArr[time]) {\r\n return\r\n }\r\n if (time >= 0 && time <= player.duration) {\r\n let dot = createDom('xg-progress-dot', text ? `<span class=\"xgplayer-progress-tip\">${text}</span>` : '', {}, 'xgplayer-progress-dot')\r\n dot.style.left = (time / player.duration) * 100 + '%'\r\n if (duration >= 0) {\r\n dot.style.width = (Math.min(duration, player.duration - time) / player.duration) * 100 + '%'\r\n }\r\n if(style) {\r\n for(let k in style) {\r\n dot.style[k] = style[k]\r\n }\r\n }\r\n outer.appendChild(dot)\r\n player.dotArr[time] = dot\r\n dotEvent(dot, text)\r\n }\r\n }\r\n player.removeProgressDot = function (time) {\r\n if (time >= 0 && time <= player.duration && player.dotArr[time]) {\r\n let dot = player.dotArr[time]\r\n dot.parentNode.removeChild(dot)\r\n dot = null\r\n player.dotArr[time] = null\r\n }\r\n }\r\n player.removeAllProgressDot = function () {\r\n Object.keys(player.dotArr).forEach(function (key) {\r\n if (player.dotArr[key]) {\r\n let dot = player.dotArr[key]\r\n dot.parentNode.removeChild(dot)\r\n dot = null\r\n player.dotArr[key] = null\r\n }\r\n })\r\n }\r\n let tnailPicNum = 0\r\n let tnailWidth = 0\r\n let tnailHeight = 0\r\n let tnailCol = 0\r\n let tnailRow = 0\r\n let interval = 0\r\n let tnailUrls = []\r\n let coverPreviewContainer, coverPreviewPoint, coverPreviewOuter\r\n let onLoadedmetadata = function() {\r\n if (player.config.thumbnail) {\r\n if(player.config.thumbnail.isShowCoverPreview && !coverPreviewContainer) {\r\n progress.removeChild(thumbnail)\r\n coverPreviewContainer = createDom('xg-coverpreview', `<xg-outer class=\"xgplayer-coverpreview-outer\">\r\n <xg-thumbnail class=\"xgplayer-coverpreview-thumbnail\"></xg-thumbnail>\r\n <xg-point class=\"xgplayer-coverpreview-point\"></xg-point>\r\n </xg-outer>`, {tabindex: 1}, 'xgplayer-coverpreview')\r\n coverPreviewOuter = coverPreviewContainer.querySelector('.xgplayer-coverpreview-outer')\r\n coverPreviewPoint = coverPreviewContainer.querySelector('.xgplayer-coverpreview-point')\r\n thumbnail = coverPreviewContainer.querySelector('.xgplayer-coverpreview-thumbnail')\r\n player.root.appendChild(coverPreviewContainer)\r\n }\r\n tnailPicNum = player.config.thumbnail.pic_num\r\n tnailWidth = player.config.thumbnail.width\r\n tnailHeight = player.config.thumbnail.height\r\n tnailCol = player.config.thumbnail.col\r\n tnailRow = player.config.thumbnail.row\r\n tnailUrls = player.config.thumbnail.urls\r\n thumbnail.style.width = `${tnailWidth}px`\r\n thumbnail.style.height = `${tnailHeight}px`\r\n };\r\n };\r\n player.on('loadedmetadata', onLoadedmetadata);\r\n\r\n if (typeof player.config.disableSwipeHandler === 'function' && typeof player.config.enableSwipeHandler === 'function') {\r\n player.root.addEventListener('touchmove', e => {\r\n e.preventDefault();\r\n // e.stopPropagation();\r\n if (!player.disableSwipe) {\r\n player.disableSwipe = true\r\n player.config.disableSwipeHandler.call(player);\r\n }\r\n });\r\n player.root.addEventListener('touchstart', e => {\r\n // e.preventDefault();\r\n player.disableSwipe = true\r\n player.config.disableSwipeHandler.call(player);\r\n });\r\n player.root.addEventListener('touchend', e => {\r\n // e.preventDefault();\r\n player.disableSwipe = false\r\n player.config.enableSwipeHandler.call(player);\r\n });\r\n };\r\n\r\n ['touchstart', 'mousedown'].forEach(item => {\r\n container.addEventListener(item, function (e) {\r\n if (player.config.disableProgress) return;\r\n // e.preventDefault()\r\n e.stopPropagation()\r\n event(e)\r\n if (e._target === point || (!player.config.allowSeekAfterEnded && player.ended)) {\r\n return true\r\n }\r\n\r\n container.focus()\r\n let {left} = progress.getBoundingClientRect()\r\n\r\n const isRotate = isRotateFullscreen(player)\r\n if (isRotate) {\r\n left = progress.getBoundingClientRect().top\r\n containerWidth = container.getBoundingClientRect().height\r\n } else {\r\n containerWidth = container.getBoundingClientRect().width\r\n left = progress.getBoundingClientRect().left\r\n }\r\n\r\n let move = function (e) {\r\n // e.preventDefault()\r\n e.stopPropagation()\r\n event(e)\r\n player.isProgressMoving = true\r\n let w = (isRotate ? e.clientY : e.clientX) - left\r\n if (w > containerWidth) {\r\n w = containerWidth\r\n }\r\n let now = w / containerWidth * player.duration\r\n if(now < 0) now = 0\r\n if(player.config.allowSeekPlayed && (Number(now).toFixed(1) > player.maxPlayedTime)) {}\r\n else {\r\n progress.style.width = `${w * 100 / containerWidth}%`\r\n\r\n if (player.videoConfig.mediaType === 'video' && !player.dash && !player.config.closeMoveSeek) {\r\n player.currentTime = Number(now).toFixed(1)\r\n } else {\r\n let time = findDom(player.controls, '.xgplayer-time')\r\n if (time) {\r\n time.innerHTML = `<span class=\"xgplayer-time-current\">${format(now || 0)}</span><span>${format(player.duration)}</span>`\r\n }\r\n }\r\n }\r\n\r\n if(player.config.thumbnail && player.config.thumbnail.isShowCoverPreview) {\r\n coverPreviewPoint.innerHTML = `<span>${format(now)}</span> / ${format(player.duration || 0)}`\r\n\r\n interval = player.duration / tnailPicNum\r\n let index = Math.floor(now / interval)\r\n thumbnail.style.backgroundImage = `url(${tnailUrls[Math.ceil((index + 1) / (tnailCol * tnailRow)) - 1]})`\r\n let indexInPage = index + 1 - (tnailCol * tnailRow) * (Math.ceil((index + 1) / (tnailCol * tnailRow)) - 1)\r\n let tnaiRowIndex = Math.ceil(indexInPage / tnailRow) - 1\r\n let tnaiColIndex = indexInPage - tnaiRowIndex * tnailRow - 1\r\n thumbnail.style['background-position'] = `-${tnaiColIndex * tnailWidth}px -${tnaiRowIndex * tnailHeight}px`\r\n coverPreviewContainer.style.display = 'block'\r\n }\r\n \r\n player.emit('focus')\r\n }\r\n let up = function (e) {\r\n // e.preventDefault()\r\n e.stopPropagation()\r\n event(e)\r\n window.removeEventListener('mousemove', move)\r\n window.removeEventListener('touchmove', move, { passive: false })\r\n window.removeEventListener('mouseup', up)\r\n window.removeEventListener('touchend', up)\r\n if(sniffer.browser.indexOf('ie') < 0) {\r\n container.blur()\r\n }\r\n if (!player.isProgressMoving || (player.videoConfig && player.videoConfig.mediaType === 'audio') || player.dash || player.config.closeMoveSeek) {\r\n let w = (isRotate ? e.clientY : e.clientX) - left\r\n if (w > containerWidth) {\r\n w = containerWidth\r\n }\r\n let now = w / containerWidth * player.duration\r\n if(now < 0) now = 0\r\n if(player.config.allowSeekPlayed && (Number(now).toFixed(1) > player.maxPlayedTime)) {}\r\n else {\r\n progress.style.width = `${w * 100 / containerWidth}%`\r\n player.currentTime = Number(now).toFixed(1)\r\n }\r\n }\r\n if(player.config.thumbnail && player.config.thumbnail.isShowCoverPreview) {\r\n coverPreviewContainer.style.display = 'none'\r\n }\r\n player.emit('focus')\r\n player.isProgressMoving = false\r\n }\r\n window.addEventListener('mousemove', move)\r\n window.addEventListener('touchmove', move, { passive: false })\r\n window.addEventListener('mouseup', up)\r\n window.addEventListener('touchend', up)\r\n return true\r\n })\r\n })\r\n\r\n container.addEventListener('mouseenter', function (e) {\r\n if (!player.config.allowSeekAfterEnded && player.ended) {\r\n return true\r\n }\r\n const isRotate = isRotateFullscreen(player)\r\n let containerLeft = isRotate ? container.getBoundingClientRect().top : container.getBoundingClientRect().left\r\n let containerWidth = isRotate ? container.getBoundingClientRect().height : container.getBoundingClientRect().width\r\n\r\n let compute = function (e) {\r\n let now = ((isRotate ? e.clientY : e.clientX) - containerLeft) / containerWidth * player.duration\r\n now = now < 0 ? 0 : now\r\n point.textContent = format(now)\r\n let pointWidth = point.getBoundingClientRect().width\r\n if (player.config.thumbnail && !player.config.thumbnail.isShowCoverPreview) {\r\n interval = player.duration / tnailPicNum\r\n let index = Math.floor(now / interval)\r\n thumbnail.style.backgroundImage = `url(${tnailUrls[Math.ceil((index + 1) / (tnailCol * tnailRow)) - 1]})`\r\n let indexInPage = index + 1 - (tnailCol * tnailRow) * (Math.ceil((index + 1) / (tnailCol * tnailRow)) - 1)\r\n let tnaiRowIndex = Math.ceil(indexInPage / tnailRow) - 1\r\n let tnaiColIndex = indexInPage - tnaiRowIndex * tnailRow - 1\r\n thumbnail.style['background-position'] = `-${tnaiColIndex * tnailWidth}px -${tnaiRowIndex * tnailHeight}px`\r\n let left = (isRotate ? e.clientY : e.clientX) - containerLeft - tnailWidth / 2\r\n left = left > 0 ? left : 0\r\n left = left < containerWidth - tnailWidth ? left : containerWidth - tnailWidth\r\n thumbnail.style.left = `${left}px`\r\n thumbnail.style.top = `${-10 - tnailHeight}px`\r\n thumbnail.style.display = 'block'\r\n point.style.left = `${left + tnailWidth / 2 - pointWidth / 2}px`\r\n } else {\r\n let left = e.clientX - containerLeft - pointWidth / 2\r\n left = left > 0 ? left : 0\r\n left = left > containerWidth - pointWidth ? containerWidth - pointWidth : left\r\n point.style.left = `${left}px`\r\n }\r\n if (hasClass(container, 'xgplayer-progress-dot-active')) {\r\n point.style.display = 'none'\r\n } else {\r\n point.style.display = 'block'\r\n }\r\n }\r\n let move = function (e) {\r\n compute(e)\r\n }\r\n let leave = function (e) {\r\n container.removeEventListener('mousemove', move, false)\r\n container.removeEventListener('mouseleave', leave, false)\r\n compute(e)\r\n point.style.display = 'none'\r\n if (player.config.thumbnail && !player.config.thumbnail.isShowCoverPreview) {\r\n thumbnail.style.display = 'none'\r\n }\r\n }\r\n container.addEventListener('mousemove', move, false)\r\n container.addEventListener('mouseleave', leave, false)\r\n compute(e)\r\n }, false)\r\n\r\n // let lastBtnLeft = false\r\n let onTimeupdate = function () {\r\n if(player.maxPlayedTime === undefined) player.maxPlayedTime = 0\r\n if(player.maxPlayedTime < player.currentTime) player.maxPlayedTime = player.currentTime\r\n if (!containerWidth && container) {\r\n containerWidth = container.getBoundingClientRect().width\r\n }\r\n if (!player.isProgressMoving && !player.isSeeking && !player.seeking) {\r\n const precent = player.currentTime / player.duration\r\n const prevPrecent = Number(progress.style.width.replace('%', '') || '0') / Number(container.style.width || '100');\r\n if (Math.abs(precent - prevPrecent) <= 1) {\r\n progress.style.width = `${player.currentTime * 100 / player.duration}%`\r\n }\r\n }\r\n }\r\n player.on('timeupdate', onTimeupdate)\r\n\r\n let onCurrentTimeChange = function (time) {\r\n progress.style.width = `${time * 100 / player.duration}%`\r\n }\r\n player.on('currentTimeChange', onCurrentTimeChange)\r\n\r\n let onSrcChange = function () {\r\n progress.style.width = '0%'\r\n }\r\n player.on('srcChange', onSrcChange)\r\n\r\n let onCacheUpdate = function () {\r\n let buffered = player.buffered\r\n if (buffered && buffered.length > 0) {\r\n let end = buffered.end(buffered.length - 1)\r\n for (let i = 0, len = buffered.length; i < len; i++) {\r\n if (player.currentTime >= buffered.start(i) && player.currentTime <= buffered.end(i)) {\r\n end = buffered.end(i)\r\n for (let j = i + 1; j < buffered.length; j++) {\r\n if (buffered.start(j) - buffered.end(j - 1) >= 2) {\r\n end = buffered.end(j - 1)\r\n break\r\n }\r\n }\r\n break\r\n }\r\n }\r\n cache.style.width = `${end / player.duration * 100}%`\r\n }\r\n }\r\n const cacheUpdateEvents = ['bufferedChange', 'cacheupdate', 'ended', 'timeupdate']\r\n cacheUpdateEvents.forEach(item => {\r\n player.on(item, onCacheUpdate)\r\n })\r\n\r\n function destroyFunc () {\r\n player.removeAllProgressDot()\r\n player.off('canplay', onCanplay)\r\n player.off('timeupdate', onTimeupdate)\r\n player.off('currentTimeChange', onCurrentTimeChange)\r\n player.off('srcChange', onSrcChange)\r\n player.off('loadedmetadata', onLoadedmetadata);\r\n cacheUpdateEvents.forEach(item => {\r\n player.off(item, onCacheUpdate)\r\n })\r\n player.off('destroy', destroyFunc)\r\n }\r\n player.once('destroy', destroyFunc)\r\n}\r\n\r\nexport default {\r\n name: 's_progress',\r\n method: s_progress\r\n}","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./progress.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./progress.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./progress.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-progress{display:block;position:absolute;height:20px;line-height:20px;left:12px;right:12px;outline:none;top:-15px;z-index:35}.xgplayer-skin-default .xgplayer-progress-outer{background:hsla(0,0%,100%,.3);display:block;height:3px;line-height:3px;margin-top:8.5px;width:100%;position:relative;cursor:pointer}.xgplayer-skin-default .xgplayer-progress-cache,.xgplayer-skin-default .xgplayer-progress-played{display:block;height:100%;line-height:1;position:absolute;left:0;top:0}.xgplayer-skin-default .xgplayer-progress-cache{width:0;background:hsla(0,0%,100%,.5)}.xgplayer-skin-default .xgplayer-progress-played{display:block;width:0;background-image:linear-gradient(-90deg,#fa1f41,#e31106);border-radius:0 1.5px 1.5px 0}.xgplayer-skin-default .xgplayer-progress-btn{display:none;position:absolute;left:0;top:-5px;width:13px;height:13px;border-radius:30px;background:#fff;box-shadow:0 0 2px 0 rgba(0,0,0,.26);left:100%;-webkit-transform:translate(-50%);-ms-transform:translate(-50%);transform:translate(-50%);z-index:36}.xgplayer-skin-default .xgplayer-progress-point{position:absolute}.xgplayer-skin-default .xgplayer-progress-point.xgplayer-tips{margin-left:0;top:-25px;display:none;z-index:100}.xgplayer-skin-default .xgplayer-progress-dot{display:inline-block;position:absolute;height:3px;width:5px;top:0;background:#fff;border-radius:6px;z-index:16}.xgplayer-skin-default .xgplayer-progress-dot .xgplayer-progress-tip{position:absolute;bottom:200%;right:50%;-webkit-transform:translateX(50%);-ms-transform:translateX(50%);transform:translateX(50%);height:auto;line-height:30px;width:auto;background:rgba(0,0,0,.3);border-radius:6px;border:1px solid rgba(0,0,0,.8);cursor:default;white-space:nowrap;display:none}.xgplayer-skin-default .xgplayer-progress-dot-show .xgplayer-progress-tip{display:block}.xgplayer-skin-default .xgplayer-progress-thumbnail{position:absolute;-moz-box-sizing:border-box;box-sizing:border-box}.xgplayer-skin-default .xgplayer-progress-thumbnail.xgplayer-tips{margin-left:0;display:none;z-index:99}.xgplayer-skin-default .xgplayer-coverpreview{position:absolute;width:100%;height:100%;top:0;left:0;display:none}.xgplayer-skin-default .xgplayer-coverpreview .xgplayer-coverpreview-outer{position:absolute;display:block;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.xgplayer-skin-default .xgplayer-coverpreview .xgplayer-coverpreview-outer .xgplayer-coverpreview-thumbnail{display:block}.xgplayer-skin-default .xgplayer-coverpreview .xgplayer-coverpreview-outer .xgplayer-coverpreview-point{display:block;text-align:center;font-family:PingFangSC-Regular;font-size:11px;color:#ccc;padding:2px 4px}.xgplayer-skin-default .xgplayer-coverpreview .xgplayer-coverpreview-outer .xgplayer-coverpreview-point span{color:#fff}.xgplayer-skin-default .xgplayer-progress:focus .xgplayer-progress-outer,.xgplayer-skin-default .xgplayer-progress:hover .xgplayer-progress-outer{height:6px;margin-top:7px}.xgplayer-skin-default .xgplayer-progress:focus .xgplayer-progress-dot,.xgplayer-skin-default .xgplayer-progress:hover .xgplayer-progress-dot{height:6px}.xgplayer-skin-default .xgplayer-progress:focus .xgplayer-progress-btn,.xgplayer-skin-default .xgplayer-progress:hover .xgplayer-progress-btn{display:block;top:-3px}.xgplayer-skin-default.xgplayer-definition-active .xgplayer-progress,.xgplayer-skin-default.xgplayer-playbackrate-active .xgplayer-progress,.xgplayer-skin-default.xgplayer-texttrack-active .xgplayer-progress,.xgplayer-skin-default.xgplayer-volume-active .xgplayer-progress{z-index:15}.xgplayer-skin-default.xgplayer-mobile .xgplayer-progress-btn{display:block!important}.xgplayer-skin-default.xgplayer-mobile .xgplayer-progress:focus .xgplayer-progress-outer,.xgplayer-skin-default.xgplayer-mobile .xgplayer-progress:hover .xgplayer-progress-outer{height:3px!important;margin-top:8.5px!important}.xgplayer-skin-default.xgplayer-mobile .xgplayer-progress:focus .xgplayer-progress-btn,.xgplayer-skin-default.xgplayer-mobile .xgplayer-progress:hover .xgplayer-progress-btn{display:block!important;top:-5px!important}\", \"\"]);\n\n// exports\n","import { createDom, format } from '../../utils/util'\nimport '../style/controls/time.scss'\n\nlet s_time = function () {\n let player = this\n let container = createDom('xg-time', `<span class=\"xgplayer-time-current\">${player.currentTime || format(0)}</span>\n <span>${player.duration || format(0)}</span>`, {}, 'xgplayer-time')\n player.once('ready', () => {\n if(player.controls) {\n player.controls.appendChild(container)\n }\n })\n let onTimeChange = function () {\n // let liveText = player.lang.LIVE\n // if(player.duration === Infinity) {\n // addClass(player.root, 'xgplayer-is-live')\n // if(!findDom(player.root, '.xgplayer-live')) {\n // const live = createDom('xg-live', liveText, {}, 'xgplayer-live')\n // player.controls.appendChild(live)\n // }\n // }\n if (player.videoConfig.mediaType !== 'audio' || !player.isProgressMoving || !player.dash) {\n container.innerHTML = `<span class=\"xgplayer-time-current\">${format(player.currentTime || 0)}</span>` + `<span>${format(player.duration)}</span>`\n }\n }\n player.on('durationchange', onTimeChange)\n player.on('timeupdate', onTimeChange)\n\n function onDestroy () {\n player.off('durationchange', onTimeChange)\n player.off('timeupdate', onTimeChange)\n player.off('destroy', onDestroy)\n }\n player.once('destroy', onDestroy)\n}\n\nexport default {\n name: 's_time',\n method: s_time\n}","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./time.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./time.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./time.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-time{-webkit-order:2;-moz-box-ordinal-group:3;order:2;font-family:ArialMT;font-size:13px;color:#fff;line-height:40px;height:40px;text-align:center;display:inline-block;margin:auto 8px}.xgplayer-skin-default .xgplayer-time span{color:hsla(0,0%,100%,.5)}.xgplayer-skin-default .xgplayer-time .xgplayer-time-current{color:#fff}.xgplayer-skin-default .xgplayer-time .xgplayer-time-current:after{content:\\\"/\\\";display:inline-block;padding:0 3px}\", \"\"]);\n\n// exports\n","import { createDom } from '../../utils/util'\nimport ReplayIcon from '../assets/replay.svg'\nimport '../style/controls/replay.scss'\n\nlet s_replay = function () {\n let player = this\n let root = player.root\n\n let replayText = player.lang.REPLAY\n let btn = createDom('xg-replay', `${ReplayIcon}\n <xg-replay-txt class=\"xgplayer-replay-txt\">${replayText}</xg-replay-txt>\n `, {}, 'xgplayer-replay')\n player.once('ready', () => {\n root.appendChild(btn)\n })\n\n function onEnded () {\n let path = btn.querySelector('path')\n if(path) {\n let transform = window.getComputedStyle(path).getPropertyValue('transform')\n if(typeof transform === 'string' && transform.indexOf('none') > -1) {\n return\n } else {\n path.setAttribute('transform', transform)\n }\n }\n }\n player.on('ended', onEnded)\n\n function onBtnClick (e) {\n e.preventDefault()\n e.stopPropagation()\n }\n btn.addEventListener('click', onBtnClick)\n\n let svg = btn.querySelector('svg');\n\n ['click', 'touchend'].forEach(item => {\n svg.addEventListener(item, function (e) {\n e.preventDefault()\n e.stopPropagation()\n player.userGestureTrigEvent('replayBtnClick')\n })\n })\n\n function destroyFunc () {\n player.off('ended', onEnded)\n player.off('destroy', destroyFunc)\n }\n player.once('destroy', destroyFunc)\n}\n\nexport default {\n name: 's_replay',\n method: s_replay\n}","export default \"<svg class=\\\"xgplayer-replay-svg\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"78\\\" height=\\\"78\\\" viewbox=\\\"0 0 78 78\\\">\\n <path d=\\\"M8.22708362,13.8757234 L11.2677371,12.6472196 C11.7798067,12.4403301 12.3626381,12.6877273 12.5695276,13.1997969 L12.9441342,14.1269807 C13.1510237,14.6390502 12.9036264,15.2218816 12.3915569,15.4287712 L6.8284538,17.6764107 L5.90126995,18.0510173 C5.38920044,18.2579068 4.80636901,18.0105096 4.5994795,17.49844 L1.97723335,11.0081531 C1.77034384,10.4960836 2.0177411,9.91325213 2.52981061,9.70636262 L3.45699446,9.33175602 C3.96906396,9.12486652 4.5518954,9.37226378 4.75878491,9.88433329 L5.67885163,12.1615783 C7.99551726,6.6766934 13.3983951,3 19.5,3 C27.7842712,3 34.5,9.71572875 34.5,18 C34.5,26.2842712 27.7842712,33 19.5,33 C15.4573596,33 11.6658607,31.3912946 8.87004692,28.5831991 C8.28554571,27.9961303 8.28762719,27.0463851 8.87469603,26.4618839 C9.46176488,25.8773827 10.4115101,25.8794641 10.9960113,26.466533 C13.2344327,28.7147875 16.263503,30 19.5,30 C26.127417,30 31.5,24.627417 31.5,18 C31.5,11.372583 26.127417,6 19.5,6 C14.4183772,6 9.94214483,9.18783811 8.22708362,13.8757234 Z\\\"></path>\\n</svg>\\n\"","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./replay.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./replay.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./replay.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-replay{position:absolute;left:0;top:0;width:100%;height:100%;z-index:105;display:none;-webkit-justify-content:center;-moz-box-pack:center;justify-content:center;-webkit-align-items:center;-moz-box-align:center;align-items:center;background:rgba(0,0,0,.54);-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;flex-direction:column}.xgplayer-skin-default .xgplayer-replay svg{background:rgba(0,0,0,.58);border-radius:100%;cursor:pointer}.xgplayer-skin-default .xgplayer-replay svg path{-webkit-transform:translate(20px,21px);-ms-transform:translate(20px,21px);transform:translate(20px,21px);fill:#ddd}.xgplayer-skin-default .xgplayer-replay svg:hover{background:rgba(0,0,0,.38)}.xgplayer-skin-default .xgplayer-replay svg:hover path{fill:#fff}.xgplayer-skin-default .xgplayer-replay .xgplayer-replay-txt{display:inline-block;font-family:PingFangSC-Regular;font-size:14px;color:#fff;line-height:34px}.xgplayer-skin-default.xgplayer.xgplayer-ended .xgplayer-controls{display:none}.xgplayer-skin-default.xgplayer.xgplayer-ended .xgplayer-replay{display:-webkit-flex;display:-moz-box;display:flex}\", \"\"]);\n\n// exports\n","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./textTrack.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./textTrack.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./textTrack.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","import Player from './player'\n\nimport Airplay from './controls/airplay.js'\nimport CssFullscreen from './controls/cssFullscreen.js'\nimport Danmu from './controls/danmu.js'\nimport Definition from './controls/definition.js'\nimport Download from './controls/download.js'\nimport ErrorRetryControl from './controls/errorRetry.js'\nimport Fullscreen from './controls/fullscreen.js'\nimport Keyboard from './controls/keyboard.js'\nimport LocalPreview from './controls/localPreview.js'\nimport MemoryPlay from './controls/memoryPlay.js'\nimport Miniplayer from './controls/miniplayer.js'\nimport Mobile from './controls/mobile.js'\nimport Pc from './controls/pc.js'\nimport Pip from './controls/pip.js'\nimport Play from './controls/play.js'\nimport PlayNext from './controls/playNext.js'\nimport Reload from './controls/reload.js'\nimport Replay from './controls/replay.js'\nimport Rotate from './controls/rotate.js'\nimport ScreenShot from './controls/screenShot.js'\nimport StallCheck from './controls/stallCheck.js'\nimport Start from './controls/start.js'\nimport Volume from './controls/volume.js'\nimport TextTrack from './controls/textTrack.js'\n\nPlayer.installAll([\n Airplay,\n CssFullscreen,\n Danmu,\n Definition,\n Download,\n ErrorRetryControl,\n Fullscreen,\n Keyboard,\n LocalPreview,\n MemoryPlay,\n Miniplayer,\n Mobile,\n Pc,\n Pip,\n Play,\n PlayNext,\n Reload,\n Replay,\n Rotate,\n ScreenShot,\n StallCheck,\n Start,\n Volume,\n TextTrack \n])\n\nimport './skin/index.js';\n\nexport default Player\n","let airplay = function () {\n let player = this\n if(!player.config.airplay || !window.WebKitPlaybackTargetAvailabilityEvent) return\n\n function onAirplayBtnClick () {\n player.video.webkitShowPlaybackTargetPicker()\n }\n player.on('airplayBtnClick', onAirplayBtnClick)\n\n function onDestroy () {\n player.off('airplayBtnClick', onAirplayBtnClick)\n player.off('destroy', onDestroy)\n }\n player.once('destroy', onDestroy)\n}\n\nexport default {\n name: 'airplay',\n method: airplay\n}\n","import { hasClass, removeClass, addClass } from '../utils/util'\n\nlet cssFullscreen = function () {\n let player = this\n let root = player.root\n\n function onCssFullscreenBtnClick () {\n if (hasClass(root, 'xgplayer-is-cssfullscreen')) {\n player.exitCssFullscreen()\n } else {\n player.getCssFullscreen()\n }\n }\n player.on('cssFullscreenBtnClick', onCssFullscreenBtnClick)\n player.on('exitFullscreen', () => {\n removeClass(root, 'xgplayer-is-cssfullscreen')\n })\n\n function onDestroy () {\n player.off('cssFullscreenBtnClick', onCssFullscreenBtnClick)\n player.off('destroy', onDestroy)\n }\n player.once('destroy', onDestroy)\n\n player.getCssFullscreen = function () {\n let player = this\n if (player.config.fluid) {\n player.root.style['padding-top'] = ''\n }\n addClass(player.root, 'xgplayer-is-cssfullscreen')\n player.emit('requestCssFullscreen')\n }\n\n player.exitCssFullscreen = function () {\n let player = this\n if (player.config.fluid) {\n player.root.style['width'] = '100%'\n player.root.style['height'] = '0'\n player.root.style['padding-top'] = `${player.config.height * 100 / player.config.width}%`\n }\n removeClass(player.root, 'xgplayer-is-cssfullscreen')\n player.emit('exitCssFullscreen')\n }\n}\n\nexport default {\n name: 'cssFullscreen',\n method: cssFullscreen\n}","import { addClass, toggleClass, copyDom, hasClass, removeClass } from '../utils/util'\n\nlet danmu = function () {\n let player = this\n\n function onInitDanmu(danmujs) {\n let container = player.root.querySelector('xg-danmu')\n addClass(container, 'xgplayer-has-danmu')\n if (!player.config.danmu.closeDefaultBtn) {\n player.danmuBtn = copyDom(danmujs.bulletBtn.createSwitch(true))\n player.controls.appendChild(player.danmuBtn)\n\n function onTimeupdate () {\n danmujs.start()\n }\n ['click', 'touchend'].forEach(item => {\n player.danmuBtn.addEventListener(item, e => {\n e.preventDefault()\n e.stopPropagation()\n toggleClass(player.danmuBtn, 'danmu-switch-active')\n if (hasClass(player.danmuBtn, 'danmu-switch-active')) {\n player.emit('danmuBtnOn')\n addClass(container, 'xgplayer-has-danmu')\n player.once('timeupdate', onTimeupdate)\n } else {\n player.emit('danmuBtnOff')\n removeClass(container, 'xgplayer-has-danmu')\n danmujs.stop()\n }\n })\n })\n\n player.onElementClick && container.addEventListener('click', function (e) { player.onElementClick(e, container) }, false)\n player.onElementDblclick && container.addEventListener('dblclick', function (e) { player.onElementDblclick(e, container) }, false)\n\n function onPause () {\n if (hasClass(player.danmuBtn, 'danmu-switch-active')) {\n danmujs.pause()\n }\n }\n player.on('pause', onPause)\n\n function onPlay () {\n if (hasClass(player.danmuBtn, 'danmu-switch-active')) {\n danmujs.play()\n }\n }\n player.on('play', onPlay)\n\n function onSeeked () {\n if (hasClass(player.danmuBtn, 'danmu-switch-active')) {\n danmujs.stop()\n danmujs.start()\n }\n }\n player.on('seeked', onSeeked)\n\n function onDestroy () {\n player.off('timeupdate', onTimeupdate)\n player.off('pause', onPause)\n player.off('play', onPlay)\n player.off('seeked', onSeeked)\n player.off('destroy', onDestroy)\n }\n player.once('destroy', onDestroy)\n }\n }\n player.on('initDefaultDanmu', onInitDanmu)\n\n}\n\nexport default {\n name: 'danmu',\n method: danmu\n}","let definition = function () {\n let player = this\n\n function onDestroy () {\n player.off('destroy', onDestroy)\n }\n player.once('destroy', onDestroy)\n}\n\nexport default {\n name: 'definition',\n method: definition\n}","import downloadUtil from 'downloadjs'\nimport {getAbsoluteURL} from '../utils/url'\n\nlet download = function () {\n let player = this\n\n function onDownloadBtnClick () {\n // must pass an absolute url for download\n player.download()\n }\n player.on('downloadBtnClick', onDownloadBtnClick)\n\n function onDestroy () {\n player.off('downloadBtnClick', onDownloadBtnClick)\n player.off('destroy', onDestroy)\n }\n player.once('destroy', onDestroy)\n\n player.download = function () {\n const url = getAbsoluteURL(this.config.url)\n downloadUtil(url)\n }\n}\n\nexport default {\n name: 'download',\n method: download\n}","//download.js v4.2, by dandavis; 2008-2016. [MIT] see http://danml.com/download.html for tests/usage\n// v1 landed a FF+Chrome compat way of downloading strings to local un-named files, upgraded to use a hidden frame and optional mime\n// v2 added named files via a[download], msSaveBlob, IE (10+) support, and window.URL support for larger+faster saves than dataURLs\n// v3 added dataURL and Blob Input, bind-toggle arity, and legacy dataURL fallback was improved with force-download mime and base64 support. 3.1 improved safari handling.\n// v4 adds AMD/UMD, commonJS, and plain browser support\n// v4.1 adds url download capability via solo URL argument (same domain/CORS only)\n// v4.2 adds semantic variable names, long (over 2MB) dataURL support, and hidden by default temp anchors\n// https://github.com/rndme/download\n\n(function (root, factory) {\n\tif (typeof define === 'function' && define.amd) {\n\t\t// AMD. Register as an anonymous module.\n\t\tdefine([], factory);\n\t} else if (typeof exports === 'object') {\n\t\t// Node. Does not work with strict CommonJS, but\n\t\t// only CommonJS-like environments that support module.exports,\n\t\t// like Node.\n\t\tmodule.exports = factory();\n\t} else {\n\t\t// Browser globals (root is window)\n\t\troot.download = factory();\n }\n}(this, function () {\n\n\treturn function download(data, strFileName, strMimeType) {\n\n\t\tvar self = window, // this script is only for browsers anyway...\n\t\t\tdefaultMime = \"application/octet-stream\", // this default mime also triggers iframe downloads\n\t\t\tmimeType = strMimeType || defaultMime,\n\t\t\tpayload = data,\n\t\t\turl = !strFileName && !strMimeType && payload,\n\t\t\tanchor = document.createElement(\"a\"),\n\t\t\ttoString = function(a){return String(a);},\n\t\t\tmyBlob = (self.Blob || self.MozBlob || self.WebKitBlob || toString),\n\t\t\tfileName = strFileName || \"download\",\n\t\t\tblob,\n\t\t\treader;\n\t\t\tmyBlob= myBlob.call ? myBlob.bind(self) : Blob ;\n\t \n\t\tif(String(this)===\"true\"){ //reverse arguments, allowing download.bind(true, \"text/xml\", \"export.xml\") to act as a callback\n\t\t\tpayload=[payload, mimeType];\n\t\t\tmimeType=payload[0];\n\t\t\tpayload=payload[1];\n\t\t}\n\n\n\t\tif(url && url.length< 2048){ // if no filename and no mime, assume a url was passed as the only argument\n\t\t\tfileName = url.split(\"/\").pop().split(\"?\")[0];\n\t\t\tanchor.href = url; // assign href prop to temp anchor\n\t\t \tif(anchor.href.indexOf(url) !== -1){ // if the browser determines that it's a potentially valid url path:\n \t\tvar ajax=new XMLHttpRequest();\n \t\tajax.open( \"GET\", url, true);\n \t\tajax.responseType = 'blob';\n \t\tajax.onload= function(e){ \n\t\t\t\t download(e.target.response, fileName, defaultMime);\n\t\t\t\t};\n \t\tsetTimeout(function(){ ajax.send();}, 0); // allows setting custom ajax headers using the return:\n\t\t\t return ajax;\n\t\t\t} // end if valid url?\n\t\t} // end if url?\n\n\n\t\t//go ahead and download dataURLs right away\n\t\tif(/^data:([\\w+-]+\\/[\\w+.-]+)?[,;]/.test(payload)){\n\t\t\n\t\t\tif(payload.length > (1024*1024*1.999) && myBlob !== toString ){\n\t\t\t\tpayload=dataUrlToBlob(payload);\n\t\t\t\tmimeType=payload.type || defaultMime;\n\t\t\t}else{\t\t\t\n\t\t\t\treturn navigator.msSaveBlob ? // IE10 can't do a[download], only Blobs:\n\t\t\t\t\tnavigator.msSaveBlob(dataUrlToBlob(payload), fileName) :\n\t\t\t\t\tsaver(payload) ; // everyone else can save dataURLs un-processed\n\t\t\t}\n\t\t\t\n\t\t}else{//not data url, is it a string with special needs?\n\t\t\tif(/([\\x80-\\xff])/.test(payload)){\t\t\t \n\t\t\t\tvar i=0, tempUiArr= new Uint8Array(payload.length), mx=tempUiArr.length;\n\t\t\t\tfor(i;i<mx;++i) tempUiArr[i]= payload.charCodeAt(i);\n\t\t\t \tpayload=new myBlob([tempUiArr], {type: mimeType});\n\t\t\t}\t\t \n\t\t}\n\t\tblob = payload instanceof myBlob ?\n\t\t\tpayload :\n\t\t\tnew myBlob([payload], {type: mimeType}) ;\n\n\n\t\tfunction dataUrlToBlob(strUrl) {\n\t\t\tvar parts= strUrl.split(/[:;,]/),\n\t\t\ttype= parts[1],\n\t\t\tdecoder= parts[2] == \"base64\" ? atob : decodeURIComponent,\n\t\t\tbinData= decoder( parts.pop() ),\n\t\t\tmx= binData.length,\n\t\t\ti= 0,\n\t\t\tuiArr= new Uint8Array(mx);\n\n\t\t\tfor(i;i<mx;++i) uiArr[i]= binData.charCodeAt(i);\n\n\t\t\treturn new myBlob([uiArr], {type: type});\n\t\t }\n\n\t\tfunction saver(url, winMode){\n\n\t\t\tif ('download' in anchor) { //html5 A[download]\n\t\t\t\tanchor.href = url;\n\t\t\t\tanchor.setAttribute(\"download\", fileName);\n\t\t\t\tanchor.className = \"download-js-link\";\n\t\t\t\tanchor.innerHTML = \"downloading...\";\n\t\t\t\tanchor.style.display = \"none\";\n\t\t\t\tdocument.body.appendChild(anchor);\n\t\t\t\tsetTimeout(function() {\n\t\t\t\t\tanchor.click();\n\t\t\t\t\tdocument.body.removeChild(anchor);\n\t\t\t\t\tif(winMode===true){setTimeout(function(){ self.URL.revokeObjectURL(anchor.href);}, 250 );}\n\t\t\t\t}, 66);\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\t// handle non-a[download] safari as best we can:\n\t\t\tif(/(Version)\\/(\\d+)\\.(\\d+)(?:\\.(\\d+))?.*Safari\\//.test(navigator.userAgent)) {\n\t\t\t\tif(/^data:/.test(url))\turl=\"data:\"+url.replace(/^data:([\\w\\/\\-\\+]+)/, defaultMime);\n\t\t\t\tif(!window.open(url)){ // popup blocked, offer direct download:\n\t\t\t\t\tif(confirm(\"Displaying New Document\\n\\nUse Save As... to download, then click back to return to this page.\")){ location.href=url; }\n\t\t\t\t}\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\t//do iframe dataURL download (old ch+FF):\n\t\t\tvar f = document.createElement(\"iframe\");\n\t\t\tdocument.body.appendChild(f);\n\n\t\t\tif(!winMode && /^data:/.test(url)){ // force a mime that will download:\n\t\t\t\turl=\"data:\"+url.replace(/^data:([\\w\\/\\-\\+]+)/, defaultMime);\n\t\t\t}\n\t\t\tf.src=url;\n\t\t\tsetTimeout(function(){ document.body.removeChild(f); }, 333);\n\n\t\t}//end saver\n\n\n\n\n\t\tif (navigator.msSaveBlob) { // IE10+ : (has Blob, but not a[download] or URL)\n\t\t\treturn navigator.msSaveBlob(blob, fileName);\n\t\t}\n\n\t\tif(self.URL){ // simple fast and modern way using Blob and URL:\n\t\t\tsaver(self.URL.createObjectURL(blob), true);\n\t\t}else{\n\t\t\t// handle non-Blob()+non-URL browsers:\n\t\t\tif(typeof blob === \"string\" || blob.constructor===toString ){\n\t\t\t\ttry{\n\t\t\t\t\treturn saver( \"data:\" + mimeType + \";base64,\" + self.btoa(blob) );\n\t\t\t\t}catch(y){\n\t\t\t\t\treturn saver( \"data:\" + mimeType + \",\" + encodeURIComponent(blob) );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Blob but not URL support:\n\t\t\treader=new FileReader();\n\t\t\treader.onload=function(e){\n\t\t\t\tsaver(this.result);\n\t\t\t};\n\t\t\treader.readAsDataURL(blob);\n\t\t}\n\t\treturn true;\n\t}; /* end download() */\n}));\n","\nexport const getAbsoluteURL = function (url) {\n // Check if absolute URL\n if (!url.match(/^https?:\\/\\//)) {\n const div = document.createElement('div')\n div.innerHTML = `<a href=\"${url}\">x</a>`\n url = div.firstChild.href\n }\n return url\n}\n","import Errors from '../error'\n/**\n * Error retry plugin\n * get config from player.config.errorConfig\n * The Plugin is just deal with the situation that play with video.src,\n * and get the http status of current video.src\n */\n\nconst defaultConfig = {\n maxCount: 3, // max number of retries\n backupUrl: '', // the backup url for retry\n isFetch: true, // is need to check the cdn url statud\n fetchTimeout: 100 // timeout time for get cdn status\n}\n\nfunction errorRetry () {\n const player = this\n // 无设置参数或者是通过扩展播放的不做处理\n if (!player.config.errorConfig || player.src.indexOf('blob:') > -1) {\n return\n }\n const errorConfig = {}\n const _inConfig = player.config.errorConfig\n for (const key in defaultConfig) {\n if (_inConfig[key] === undefined) {\n errorConfig[key] = defaultConfig[key]\n } else {\n errorConfig[key] = _inConfig[key]\n }\n }\n player.retryData = {\n count: 0, // 重试次数\n errfTimer: null, // 超时设置定时器\n isFetchReturn: false, // fetch请求是否已经返回\n currentTime: 0 // 出错的时候时间\n }\n\n function errorfetch (player, url, timeout) {\n const resolveFun = (resolve, data) => {\n if (!player.retryData.isFetchReturn) {\n player.retryData.isFetchReturn = true\n resolve(data)\n }\n }\n return new Promise((resolve, reject) => {\n try {\n let xhr = new window.XMLHttpRequest()\n xhr.open('get', url)\n xhr.onload = function () {\n resolveFun(resolve, {status: xhr.status, statusText: xhr.statusText, xhr})\n }\n xhr.onerror = function () {\n resolveFun(resolve, {status: xhr.status, statusText: xhr.statusText || 'The network environment is disconnected or the address is invalid', xhr})\n }\n xhr.onabort = function () {\n // console.log('task onerror', xhr)\n }\n player.retryData.errfTimer = window.setTimeout(() => {\n let errfTimer = player.retryData.errfTimer\n window.clearTimeout(errfTimer)\n player.retryData.errfTimer = null\n resolveFun(resolve, {status: -1, statusText: 'request timeout'})\n }, timeout)\n xhr.send()\n } catch (err) {\n player.retryData.isFetchReturn = true\n resolveFun(resolve, {status: -2, statusText: 'request error'})\n }\n })\n }\n\n function retryCanPlay () {\n // console.log(`retryCanPlay this.retryData.currentTime:${this.retryData.currentTime}`)\n this.currentTime = this.retryData.currentTime\n this.play()\n this.retryData.retryCode = 0\n this.retryData.isFetchReturn = false\n this.retryData.currentTime = 0\n }\n\n const _originErrorEmit = player._onError\n player._onError = (data) => {\n const errorCount = this.retryData.count\n // console.log(`originErrorEmit:errorCount:${errorCount}`, data)\n if (errorCount > errorConfig.maxCount) {\n if (errorConfig.isFetch) {\n errorfetch(this, this.currentSrc, errorConfig.fetchTimeout).then((data) => {\n this.emit('error', new Errors({\n type: 'network',\n currentTime: this.currentTime,\n duration: this.duration || 0,\n networkState: this.networkState,\n readyState: this.readyState,\n currentSrc: this.currentSrc,\n src: this.src,\n ended: this.ended,\n httpCode: data.status,\n httpMsg: data.statusText,\n errd: {\n line: 101,\n msg: this.error,\n handle: 'plugin errorRetry'\n },\n errorCode: this.video && this.video.error.code,\n mediaError: this.video && this.video.error\n }));\n _originErrorEmit.call(this, data)\n })\n } else {\n _originErrorEmit.call(this, data)\n }\n return;\n }\n if (errorCount === 0) {\n this.retryData.currentTime = this.currentTime\n this.once('canplay', retryCanPlay.bind(this))\n }\n let src = ''\n if (errorConfig.count < 2) {\n src = errorConfig.backupUrl ? errorConfig.backupUrl : player.currentSrc\n } else {\n src = errorConfig.backupUrl && errorCount > 1 ? errorConfig.backupUrl : player.currentSrc\n }\n this.retryData.count++\n this.src = src\n }\n}\n\nexport default {\n name: 'errorretry',\n method: errorRetry\n}","import { on, hasClass, removeClass, addClass } from '../utils/util'\nclass Keyboard {\n constructor (player) {\n this.player = player\n this.state = {\n playbackRate: 0,\n isRepeat: false,\n keyCode: 0,\n repeat: 0,\n isBody: false\n }\n this.timer = null\n this.initEvents()\n }\n\n initEvents () {\n const {root, config} = this.player\n this.player.onBodyKeydown = this.onBodyKeydown.bind(this)\n this.player.onKeydown = this.onKeydown.bind(this)\n this.player.onKeyup = this.onKeyup.bind(this)\n if (!config.keyShortcut || config.keyShortcut === 'on') {\n document.addEventListener('keydown', this.player.onBodyKeydown)\n root.addEventListener('keydown', this.player.onKeydown)\n let destroyFunc = () => {\n document.removeEventListener('keydown', this.player.onBodyKeydown)\n root.removeEventListener('keydown', this.player.onKeydown)\n clearTimeout(this.timer)\n this.timer = null\n }\n on(this.player, 'destroy', destroyFunc)\n }\n }\n\n checkTarget (e) {\n const {player} = this\n return e.target === player.root || e.target === player.video || e.target === player.controls\n }\n\n onBodyKeydown (event) {\n let e = event || window.event\n const keyCode = e.keyCode\n if ((e.target === document.body) && (keyCode === 37 || keyCode === 39 || keyCode === 32)) {\n e.preventDefault()\n e.cancelBubble = true\n e.returnValue = false\n if (!e.repeat) {\n document.addEventListener('keyup', this.player.onKeyup)\n }\n this.handler(e)\n return false\n }\n }\n\n onKeydown (event) {\n let e = event || window.event\n const keyCode = e.keyCode\n if (this.checkTarget(e) && (keyCode === 37 || keyCode === 38 || keyCode === 39 || keyCode === 40 || keyCode === 32 || keyCode === 27)) {\n e.preventDefault()\n e.cancelBubble = true\n e.returnValue = false\n this.player.emit('focus')\n if (!e.repeat) {\n this.player.root.addEventListener('keyup', this.player.onKeyup)\n }\n this.handler(e)\n return false\n }\n }\n\n onKeyup () {\n const {state, player} = this\n document.removeEventListener('keyup', this.player.onKeyup)\n player.root.removeEventListener('keyup', this.player.onKeyup)\n if (!state.keyCode) {\n return\n }\n if (state.playbackRate !== 0) {\n player.playbackRate = state.playbackRate\n }\n\n if (!state.isRepeat) {\n this.handlerKeyCode(state.keyCode, false)\n }\n state.playbackRate = 0\n state.isRepeat = false\n state.keyCode = 0\n state.repeat = 0\n this.changeVolumeSlide()\n }\n\n handler (e) {\n const {state, player} = this\n state.keyCode = e.keyCode\n state.isRepeat = e.repeat\n if (e.repeat) {\n if (player.config.disableLongPress) {\n this.handlerKeyCode(state.keyCode, false)\n } else if(state.repeat % 2 === 0) {\n this.handlerKeyCode(state.keyCode, true)\n }\n state.repeat++\n }\n }\n\n handlerKeyCode (keyCode, isLonePress) {\n const {player, state} = this\n switch (keyCode) {\n case 39:\n // 快进\n if (isLonePress) {\n state.repeat === 0 && this.changeRate()\n } else {\n this.seek(false, isLonePress)\n }\n break\n case 37:\n // 快退\n this.seek(true, isLonePress)\n break\n case 38:\n this.changeVolume(true)\n // 上\n break\n case 40:\n this.changeVolume(false)\n // 下\n break\n case 32:\n if (!isLonePress) {\n player.paused ? player.play() : player.pause()\n }\n break\n case 27:\n if (hasClass(player.root, 'xgplayer-is-cssfullscreen')) {\n player.exitCssFullscreen()\n }\n break\n default:\n //\n }\n }\n\n seek (isBack, isLongPress) {\n const {player} = this\n const keyShortcutStep = player.config.keyShortcutStep || {}\n const currentTimeStep = keyShortcutStep.currentTime || 10\n if (player.isLoading || player.isSeeking || (isLongPress && this.state.repeat % 8 > 0)) {\n return\n }\n if (isBack) {\n if (player.currentTime - currentTimeStep >= 0) {\n player.currentTime -= currentTimeStep\n } else {\n player.currentTime = 0\n }\n } else {\n if(player.maxPlayedTime && player.config.allowSeekPlayed && (player.currentTime + currentTimeStep > player.maxPlayedTime)) {\n player.currentTime = player.maxPlayedTime\n } else {\n if (player.currentTime + currentTimeStep <= player.duration) {\n player.currentTime += currentTimeStep\n } else {\n player.currentTime = player.duration + 1\n }\n }\n }\n }\n\n changeRate () {\n this.state.playbackRate = this.player.playbackRate\n this.player.playbackRate = this.player.config.keyboardRate || 5\n }\n\n changeVolumeSlide (show) {\n const {player} = this\n if (!player.controls) {\n return\n }\n if (show) {\n player.emit('focus')\n if (!hasClass(player.root, 'xgplayer-volume-active')) {\n addClass(player.root, 'xgplayer-volume-active')\n }\n } else {\n clearTimeout(this.timer)\n this.timer = setTimeout(() => {\n removeClass(player.root, 'xgplayer-volume-active')\n }, 1000)\n }\n }\n\n changeVolume (isup) {\n const {player} = this\n const keyShortcutStep = player.config.keyShortcutStep || {}\n const volumeStep = keyShortcutStep.volume || 0.1\n this.changeVolumeSlide(true)\n const volume = player.volume\n if (isup && volume + volumeStep <= 1) {\n player.volume = volume + volumeStep\n } else if (!isup && volume - volumeStep >= 0) {\n player.volume = volume - volumeStep\n }\n }\n}\n\nlet keyboard = function () {\n let player = this\n player.keyboard = new Keyboard(player)\n}\n\nexport default {\n name: 'keyboard',\n method: keyboard\n}","import { hasClass } from '../utils/util'\n\nlet localPreview = function () {\n let player = this\n let root = player.root\n function onUpload (upload) {\n player.uploadFile = upload.files[0]\n let url = URL.createObjectURL(player.uploadFile)\n if (hasClass(root, 'xgplayer-nostart')) {\n player.config.url = url\n player.start()\n } else {\n player.src = url\n let playPromise = player.play()\n if (playPromise !== undefined && playPromise) {\n playPromise.catch(err => {})\n }\n }\n }\n player.on('upload', onUpload)\n\n function onDestroy () {\n player.off('upload', onUpload)\n player.off('destroy', onDestroy)\n }\n player.once('destroy', onDestroy)\n}\n\nexport default {\n name: 'localPreview',\n method: localPreview\n}","let memoryPlay = function () {\n let player = this\n player.on('memoryPlayStart', (lastPlayTime) => {\n player.currentTime = lastPlayTime\n })\n}\n\nexport default {\n name: 'memoryPlay',\n method: memoryPlay\n}","import { findDom, hasClass, createDom, addClass, removeClass } from '../utils/util'\nimport Draggabilly from 'draggabilly'\n\nlet miniplayer = function () {\n let player = this\n let root = player.root\n function onMiniplayerBtnClick () {\n if (hasClass(root, 'xgplayer-miniplayer-active')) {\n player.exitMiniplayer()\n } else {\n player.getMiniplayer()\n }\n }\n player.on('miniplayerBtnClick', onMiniplayerBtnClick)\n\n function onDestroy () {\n player.off('miniplayerBtnClick', onMiniplayerBtnClick)\n player.off('destroy', onDestroy)\n }\n player.once('destroy', onDestroy)\n\n player.getMiniplayer = function () {\n if (hasClass(root, 'xgplayer-is-fullscreen')) {\n this.exitFullscreen(root)\n }\n if (hasClass(root, 'xgplayer-is-cssfullscreen')) {\n this.exitCssFullscreen()\n }\n if (hasClass(root, 'xgplayer-rotate-fullscreen')) {\n this.exitRotateFullscreen()\n }\n // let ro = this.root.getBoundingClientRect()\n // let Top = ro.top\n // let Left = ro.left\n let dragLay = createDom('xg-miniplayer-lay', '<div></div>', {}, 'xgplayer-miniplayer-lay')\n this.root.appendChild(dragLay)\n let dragHandle = createDom('xg-miniplayer-drag', `<div class=\"drag-handle\"><span>${this.lang.MINIPLAYER_DRAG}</span></div>`, {tabindex: 9}, 'xgplayer-miniplayer-drag')\n this.root.appendChild(dragHandle)\n // eslint-disable-next-line no-unused-vars\n let draggie = new Draggabilly('.xgplayer', {\n handle: '.drag-handle'\n })\n addClass(this.root, 'xgplayer-miniplayer-active')\n this.root.style.right = 0\n this.root.style.bottom = '200px'\n this.root.style.top = ''\n this.root.style.left = ''\n this.root.style.width = '320px'\n this.root.style.height = '180px'\n if (this.config.miniplayerConfig) {\n if (this.config.miniplayerConfig.top !== undefined) {\n this.root.style.top = this.config.miniplayerConfig.top + 'px'\n this.root.style.bottom = ''\n }\n if (this.config.miniplayerConfig.bottom !== undefined) {\n this.root.style.bottom = this.config.miniplayerConfig.bottom + 'px'\n }\n if (this.config.miniplayerConfig.left !== undefined) {\n this.root.style.left = this.config.miniplayerConfig.left + 'px'\n this.root.style.right = ''\n }\n if (this.config.miniplayerConfig.right !== undefined) {\n this.root.style.right = this.config.miniplayerConfig.right + 'px'\n }\n if (this.config.miniplayerConfig.width !== undefined) {\n this.root.style.width = this.config.miniplayerConfig.width + 'px'\n }\n if (this.config.miniplayerConfig.height !== undefined) {\n this.root.style.height = this.config.miniplayerConfig.height + 'px'\n }\n }\n if (this.config.fluid) {\n this.root.style['padding-top'] = ''\n }\n let player = this;\n ['click', 'touchend'].forEach(item => {\n dragLay.addEventListener(item, function (e) {\n e.preventDefault()\n e.stopPropagation()\n player.exitMiniplayer()\n // player.root.style.top = `${Top}px`\n // player.root.style.left = `${Left}px`\n })\n })\n }\n\n player.exitMiniplayer = function () {\n removeClass(this.root, 'xgplayer-miniplayer-active')\n this.root.style.right = ''\n this.root.style.bottom = ''\n this.root.style.top = ''\n this.root.style.left = ''\n if (this.config.fluid) {\n this.root.style['width'] = '100%'\n this.root.style['height'] = '0'\n this.root.style['padding-top'] = `${this.config.height * 100 / this.config.width}%`\n } else {\n if (this.config.width) {\n if (typeof this.config.width !== 'number') {\n this.root.style.width = this.config.width\n } else {\n this.root.style.width = `${this.config.width}px`\n }\n }\n if (this.config.height) {\n if (typeof this.config.height !== 'number') {\n this.root.style.height = this.config.height\n } else {\n this.root.style.height = `${this.config.height}px`\n }\n }\n }\n\n let dragLay = findDom(this.root, '.xgplayer-miniplayer-lay')\n if (dragLay && dragLay.parentNode) {\n dragLay.parentNode.removeChild(dragLay)\n }\n let dragHandle = findDom(this.root, '.xgplayer-miniplayer-drag')\n if (dragHandle && dragHandle.parentNode) {\n dragHandle.parentNode.removeChild(dragHandle)\n }\n }\n}\n\nexport default {\n name: 'miniplayer',\n method: miniplayer\n}","/*!\n * Draggabilly v2.3.0\n * Make that shiz draggable\n * https://draggabilly.desandro.com\n * MIT license\n */\n\n/* jshint browser: true, strict: true, undef: true, unused: true */\n\n( function( window, factory ) {\n // universal module definition\n /* jshint strict: false */ /* globals define */\n if ( typeof define == 'function' && define.amd ) {\n // AMD\n define( [\n 'get-size/get-size',\n 'unidragger/unidragger',\n ],\n function( getSize, Unidragger ) {\n return factory( window, getSize, Unidragger );\n } );\n } else if ( typeof module == 'object' && module.exports ) {\n // CommonJS\n module.exports = factory(\n window,\n require('get-size'),\n require('unidragger')\n );\n } else {\n // browser global\n window.Draggabilly = factory(\n window,\n window.getSize,\n window.Unidragger\n );\n }\n\n}( window, function factory( window, getSize, Unidragger ) {\n\n// -------------------------- helpers & variables -------------------------- //\n\n// extend objects\nfunction extend( a, b ) {\n for ( var prop in b ) {\n a[ prop ] = b[ prop ];\n }\n return a;\n}\n\nfunction noop() {}\n\nvar jQuery = window.jQuery;\n\n// -------------------------- -------------------------- //\n\nfunction Draggabilly( element, options ) {\n // querySelector if string\n this.element = typeof element == 'string' ?\n document.querySelector( element ) : element;\n\n if ( jQuery ) {\n this.$element = jQuery( this.element );\n }\n\n // options\n this.options = extend( {}, this.constructor.defaults );\n this.option( options );\n\n this._create();\n}\n\n// inherit Unidragger methods\nvar proto = Draggabilly.prototype = Object.create( Unidragger.prototype );\n\nDraggabilly.defaults = {\n};\n\n/**\n * set options\n * @param {Object} opts\n */\nproto.option = function( opts ) {\n extend( this.options, opts );\n};\n\n// css position values that don't need to be set\nvar positionValues = {\n relative: true,\n absolute: true,\n fixed: true,\n};\n\nproto._create = function() {\n // properties\n this.position = {};\n this._getPosition();\n\n this.startPoint = { x: 0, y: 0 };\n this.dragPoint = { x: 0, y: 0 };\n\n this.startPosition = extend( {}, this.position );\n\n // set relative positioning\n var style = getComputedStyle( this.element );\n if ( !positionValues[ style.position ] ) {\n this.element.style.position = 'relative';\n }\n\n // events, bridge jQuery events from vanilla\n this.on( 'pointerMove', this.onPointerMove );\n this.on( 'pointerUp', this.onPointerUp );\n\n this.enable();\n this.setHandles();\n};\n\n/**\n * set this.handles and bind start events to 'em\n */\nproto.setHandles = function() {\n this.handles = this.options.handle ?\n this.element.querySelectorAll( this.options.handle ) : [ this.element ];\n\n this.bindHandles();\n};\n\n/**\n * emits events via EvEmitter and jQuery events\n * @param {String} type - name of event\n * @param {Event} event - original event\n * @param {Array} args - extra arguments\n */\nproto.dispatchEvent = function( type, event, args ) {\n var emitArgs = [ event ].concat( args );\n this.emitEvent( type, emitArgs );\n this.dispatchJQueryEvent( type, event, args );\n};\n\nproto.dispatchJQueryEvent = function( type, event, args ) {\n var jquery = window.jQuery;\n // trigger jQuery event\n if ( !jquery || !this.$element ) {\n return;\n }\n // create jQuery event\n /* eslint-disable-next-line new-cap */\n var $event = jquery.Event( event );\n $event.type = type;\n this.$element.trigger( $event, args );\n};\n\n// -------------------------- position -------------------------- //\n\n// get x/y position from style\nproto._getPosition = function() {\n var style = getComputedStyle( this.element );\n var x = this._getPositionCoord( style.left, 'width' );\n var y = this._getPositionCoord( style.top, 'height' );\n // clean up 'auto' or other non-integer values\n this.position.x = isNaN( x ) ? 0 : x;\n this.position.y = isNaN( y ) ? 0 : y;\n\n this._addTransformPosition( style );\n};\n\nproto._getPositionCoord = function( styleSide, measure ) {\n if ( styleSide.indexOf('%') != -1 ) {\n // convert percent into pixel for Safari, #75\n var parentSize = getSize( this.element.parentNode );\n // prevent not-in-DOM element throwing bug, #131\n return !parentSize ? 0 :\n ( parseFloat( styleSide ) / 100 ) * parentSize[ measure ];\n }\n return parseInt( styleSide, 10 );\n};\n\n// add transform: translate( x, y ) to position\nproto._addTransformPosition = function( style ) {\n var transform = style.transform;\n // bail out if value is 'none'\n if ( transform.indexOf('matrix') !== 0 ) {\n return;\n }\n // split matrix(1, 0, 0, 1, x, y)\n var matrixValues = transform.split(',');\n // translate X value is in 12th or 4th position\n var xIndex = transform.indexOf('matrix3d') === 0 ? 12 : 4;\n var translateX = parseInt( matrixValues[ xIndex ], 10 );\n // translate Y value is in 13th or 5th position\n var translateY = parseInt( matrixValues[ xIndex + 1 ], 10 );\n this.position.x += translateX;\n this.position.y += translateY;\n};\n\n// -------------------------- events -------------------------- //\n\nproto.onPointerDown = function( event, pointer ) {\n this.element.classList.add('is-pointer-down');\n this.dispatchJQueryEvent( 'pointerDown', event, [ pointer ] );\n};\n\nproto.pointerDown = function( event, pointer ) {\n var isOkay = this.okayPointerDown( event );\n if ( !isOkay || !this.isEnabled ) {\n this._pointerReset();\n return;\n }\n // track start event position\n // Safari 9 overrides pageX and pageY. These values needs to be copied. flickity#842\n this.pointerDownPointer = {\n pageX: pointer.pageX,\n pageY: pointer.pageY,\n };\n\n event.preventDefault();\n this.pointerDownBlur();\n // bind move and end events\n this._bindPostStartEvents( event );\n this.element.classList.add('is-pointer-down');\n this.dispatchEvent( 'pointerDown', event, [ pointer ] );\n};\n\n/**\n * drag start\n * @param {Event} event\n * @param {[Event, Touch]} pointer\n */\nproto.dragStart = function( event, pointer ) {\n if ( !this.isEnabled ) {\n return;\n }\n this._getPosition();\n this.measureContainment();\n // position _when_ drag began\n this.startPosition.x = this.position.x;\n this.startPosition.y = this.position.y;\n // reset left/top style\n this.setLeftTop();\n\n this.dragPoint.x = 0;\n this.dragPoint.y = 0;\n\n this.element.classList.add('is-dragging');\n this.dispatchEvent( 'dragStart', event, [ pointer ] );\n // start animation\n this.animate();\n};\n\nproto.measureContainment = function() {\n var container = this.getContainer();\n if ( !container ) {\n return;\n }\n\n var elemSize = getSize( this.element );\n var containerSize = getSize( container );\n var elemRect = this.element.getBoundingClientRect();\n var containerRect = container.getBoundingClientRect();\n\n var borderSizeX = containerSize.borderLeftWidth + containerSize.borderRightWidth;\n var borderSizeY = containerSize.borderTopWidth + containerSize.borderBottomWidth;\n\n var position = this.relativeStartPosition = {\n x: elemRect.left - ( containerRect.left + containerSize.borderLeftWidth ),\n y: elemRect.top - ( containerRect.top + containerSize.borderTopWidth ),\n };\n\n this.containSize = {\n width: ( containerSize.width - borderSizeX ) - position.x - elemSize.width,\n height: ( containerSize.height - borderSizeY ) - position.y - elemSize.height,\n };\n};\n\nproto.getContainer = function() {\n var containment = this.options.containment;\n if ( !containment ) {\n return;\n }\n var isElement = containment instanceof HTMLElement;\n // use as element\n if ( isElement ) {\n return containment;\n }\n // querySelector if string\n if ( typeof containment == 'string' ) {\n return document.querySelector( containment );\n }\n // fallback to parent element\n return this.element.parentNode;\n};\n\n// ----- move event ----- //\n\nproto.onPointerMove = function( event, pointer, moveVector ) {\n this.dispatchJQueryEvent( 'pointerMove', event, [ pointer, moveVector ] );\n};\n\n/**\n * drag move\n * @param {Event} event\n * @param {[Event, Touch]} pointer\n * @param {Object} moveVector - x and y coordinates\n */\nproto.dragMove = function( event, pointer, moveVector ) {\n if ( !this.isEnabled ) {\n return;\n }\n var dragX = moveVector.x;\n var dragY = moveVector.y;\n\n var grid = this.options.grid;\n var gridX = grid && grid[0];\n var gridY = grid && grid[1];\n\n dragX = applyGrid( dragX, gridX );\n dragY = applyGrid( dragY, gridY );\n\n dragX = this.containDrag( 'x', dragX, gridX );\n dragY = this.containDrag( 'y', dragY, gridY );\n\n // constrain to axis\n dragX = this.options.axis == 'y' ? 0 : dragX;\n dragY = this.options.axis == 'x' ? 0 : dragY;\n\n this.position.x = this.startPosition.x + dragX;\n this.position.y = this.startPosition.y + dragY;\n // set dragPoint properties\n this.dragPoint.x = dragX;\n this.dragPoint.y = dragY;\n\n this.dispatchEvent( 'dragMove', event, [ pointer, moveVector ] );\n};\n\nfunction applyGrid( value, grid, method ) {\n method = method || 'round';\n return grid ? Math[ method ]( value/grid ) * grid : value;\n}\n\nproto.containDrag = function( axis, drag, grid ) {\n if ( !this.options.containment ) {\n return drag;\n }\n var measure = axis == 'x' ? 'width' : 'height';\n\n var rel = this.relativeStartPosition[ axis ];\n var min = applyGrid( -rel, grid, 'ceil' );\n var max = this.containSize[ measure ];\n max = applyGrid( max, grid, 'floor' );\n return Math.max( min, Math.min( max, drag ) );\n};\n\n// ----- end event ----- //\n\n/**\n * pointer up\n * @param {Event} event\n * @param {[Event, Touch]} pointer\n */\nproto.onPointerUp = function( event, pointer ) {\n this.element.classList.remove('is-pointer-down');\n this.dispatchJQueryEvent( 'pointerUp', event, [ pointer ] );\n};\n\n/**\n * drag end\n * @param {Event} event\n * @param {[Event, Touch]} pointer\n */\nproto.dragEnd = function( event, pointer ) {\n if ( !this.isEnabled ) {\n return;\n }\n // use top left position when complete\n this.element.style.transform = '';\n this.setLeftTop();\n this.element.classList.remove('is-dragging');\n this.dispatchEvent( 'dragEnd', event, [ pointer ] );\n};\n\n// -------------------------- animation -------------------------- //\n\nproto.animate = function() {\n // only render and animate if dragging\n if ( !this.isDragging ) {\n return;\n }\n\n this.positionDrag();\n\n var _this = this;\n requestAnimationFrame( function animateFrame() {\n _this.animate();\n } );\n\n};\n\n// left/top positioning\nproto.setLeftTop = function() {\n this.element.style.left = this.position.x + 'px';\n this.element.style.top = this.position.y + 'px';\n};\n\nproto.positionDrag = function() {\n this.element.style.transform = 'translate3d( ' + this.dragPoint.x +\n 'px, ' + this.dragPoint.y + 'px, 0)';\n};\n\n// ----- staticClick ----- //\n\nproto.staticClick = function( event, pointer ) {\n this.dispatchEvent( 'staticClick', event, [ pointer ] );\n};\n\n// ----- methods ----- //\n\n/**\n * @param {Number} x\n * @param {Number} y\n */\nproto.setPosition = function( x, y ) {\n this.position.x = x;\n this.position.y = y;\n this.setLeftTop();\n};\n\nproto.enable = function() {\n this.isEnabled = true;\n};\n\nproto.disable = function() {\n this.isEnabled = false;\n if ( this.isDragging ) {\n this.dragEnd();\n }\n};\n\nproto.destroy = function() {\n this.disable();\n // reset styles\n this.element.style.transform = '';\n this.element.style.left = '';\n this.element.style.top = '';\n this.element.style.position = '';\n // unbind handles\n this.unbindHandles();\n // remove jQuery data\n if ( this.$element ) {\n this.$element.removeData('draggabilly');\n }\n};\n\n// ----- jQuery bridget ----- //\n\n// required for jQuery bridget\nproto._init = noop;\n\nif ( jQuery && jQuery.bridget ) {\n jQuery.bridget( 'draggabilly', Draggabilly );\n}\n\n// ----- ----- //\n\nreturn Draggabilly;\n\n} ) );\n","/*!\n * getSize v2.0.3\n * measure size of elements\n * MIT license\n */\n\n/* jshint browser: true, strict: true, undef: true, unused: true */\n/* globals console: false */\n\n( function( window, factory ) {\n /* jshint strict: false */ /* globals define, module */\n if ( typeof define == 'function' && define.amd ) {\n // AMD\n define( factory );\n } else if ( typeof module == 'object' && module.exports ) {\n // CommonJS\n module.exports = factory();\n } else {\n // browser global\n window.getSize = factory();\n }\n\n})( window, function factory() {\n'use strict';\n\n// -------------------------- helpers -------------------------- //\n\n// get a number from a string, not a percentage\nfunction getStyleSize( value ) {\n var num = parseFloat( value );\n // not a percent like '100%', and a number\n var isValid = value.indexOf('%') == -1 && !isNaN( num );\n return isValid && num;\n}\n\nfunction noop() {}\n\nvar logError = typeof console == 'undefined' ? noop :\n function( message ) {\n console.error( message );\n };\n\n// -------------------------- measurements -------------------------- //\n\nvar measurements = [\n 'paddingLeft',\n 'paddingRight',\n 'paddingTop',\n 'paddingBottom',\n 'marginLeft',\n 'marginRight',\n 'marginTop',\n 'marginBottom',\n 'borderLeftWidth',\n 'borderRightWidth',\n 'borderTopWidth',\n 'borderBottomWidth'\n];\n\nvar measurementsLength = measurements.length;\n\nfunction getZeroSize() {\n var size = {\n width: 0,\n height: 0,\n innerWidth: 0,\n innerHeight: 0,\n outerWidth: 0,\n outerHeight: 0\n };\n for ( var i=0; i < measurementsLength; i++ ) {\n var measurement = measurements[i];\n size[ measurement ] = 0;\n }\n return size;\n}\n\n// -------------------------- getStyle -------------------------- //\n\n/**\n * getStyle, get style of element, check for Firefox bug\n * https://bugzilla.mozilla.org/show_bug.cgi?id=548397\n */\nfunction getStyle( elem ) {\n var style = getComputedStyle( elem );\n if ( !style ) {\n logError( 'Style returned ' + style +\n '. Are you running this code in a hidden iframe on Firefox? ' +\n 'See https://bit.ly/getsizebug1' );\n }\n return style;\n}\n\n// -------------------------- setup -------------------------- //\n\nvar isSetup = false;\n\nvar isBoxSizeOuter;\n\n/**\n * setup\n * check isBoxSizerOuter\n * do on first getSize() rather than on page load for Firefox bug\n */\nfunction setup() {\n // setup once\n if ( isSetup ) {\n return;\n }\n isSetup = true;\n\n // -------------------------- box sizing -------------------------- //\n\n /**\n * Chrome & Safari measure the outer-width on style.width on border-box elems\n * IE11 & Firefox<29 measures the inner-width\n */\n var div = document.createElement('div');\n div.style.width = '200px';\n div.style.padding = '1px 2px 3px 4px';\n div.style.borderStyle = 'solid';\n div.style.borderWidth = '1px 2px 3px 4px';\n div.style.boxSizing = 'border-box';\n\n var body = document.body || document.documentElement;\n body.appendChild( div );\n var style = getStyle( div );\n // round value for browser zoom. desandro/masonry#928\n isBoxSizeOuter = Math.round( getStyleSize( style.width ) ) == 200;\n getSize.isBoxSizeOuter = isBoxSizeOuter;\n\n body.removeChild( div );\n}\n\n// -------------------------- getSize -------------------------- //\n\nfunction getSize( elem ) {\n setup();\n\n // use querySeletor if elem is string\n if ( typeof elem == 'string' ) {\n elem = document.querySelector( elem );\n }\n\n // do not proceed on non-objects\n if ( !elem || typeof elem != 'object' || !elem.nodeType ) {\n return;\n }\n\n var style = getStyle( elem );\n\n // if hidden, everything is 0\n if ( style.display == 'none' ) {\n return getZeroSize();\n }\n\n var size = {};\n size.width = elem.offsetWidth;\n size.height = elem.offsetHeight;\n\n var isBorderBox = size.isBorderBox = style.boxSizing == 'border-box';\n\n // get all measurements\n for ( var i=0; i < measurementsLength; i++ ) {\n var measurement = measurements[i];\n var value = style[ measurement ];\n var num = parseFloat( value );\n // any 'auto', 'medium' value will be 0\n size[ measurement ] = !isNaN( num ) ? num : 0;\n }\n\n var paddingWidth = size.paddingLeft + size.paddingRight;\n var paddingHeight = size.paddingTop + size.paddingBottom;\n var marginWidth = size.marginLeft + size.marginRight;\n var marginHeight = size.marginTop + size.marginBottom;\n var borderWidth = size.borderLeftWidth + size.borderRightWidth;\n var borderHeight = size.borderTopWidth + size.borderBottomWidth;\n\n var isBorderBoxSizeOuter = isBorderBox && isBoxSizeOuter;\n\n // overwrite width and height if we can get it from style\n var styleWidth = getStyleSize( style.width );\n if ( styleWidth !== false ) {\n size.width = styleWidth +\n // add padding and border unless it's already including it\n ( isBorderBoxSizeOuter ? 0 : paddingWidth + borderWidth );\n }\n\n var styleHeight = getStyleSize( style.height );\n if ( styleHeight !== false ) {\n size.height = styleHeight +\n // add padding and border unless it's already including it\n ( isBorderBoxSizeOuter ? 0 : paddingHeight + borderHeight );\n }\n\n size.innerWidth = size.width - ( paddingWidth + borderWidth );\n size.innerHeight = size.height - ( paddingHeight + borderHeight );\n\n size.outerWidth = size.width + marginWidth;\n size.outerHeight = size.height + marginHeight;\n\n return size;\n}\n\nreturn getSize;\n\n});\n","/*!\n * Unidragger v2.3.1\n * Draggable base class\n * MIT license\n */\n\n/*jshint browser: true, unused: true, undef: true, strict: true */\n\n( function( window, factory ) {\n // universal module definition\n /*jshint strict: false */ /*globals define, module, require */\n\n if ( typeof define == 'function' && define.amd ) {\n // AMD\n define( [\n 'unipointer/unipointer'\n ], function( Unipointer ) {\n return factory( window, Unipointer );\n });\n } else if ( typeof module == 'object' && module.exports ) {\n // CommonJS\n module.exports = factory(\n window,\n require('unipointer')\n );\n } else {\n // browser global\n window.Unidragger = factory(\n window,\n window.Unipointer\n );\n }\n\n}( window, function factory( window, Unipointer ) {\n\n'use strict';\n\n// -------------------------- Unidragger -------------------------- //\n\nfunction Unidragger() {}\n\n// inherit Unipointer & EvEmitter\nvar proto = Unidragger.prototype = Object.create( Unipointer.prototype );\n\n// ----- bind start ----- //\n\nproto.bindHandles = function() {\n this._bindHandles( true );\n};\n\nproto.unbindHandles = function() {\n this._bindHandles( false );\n};\n\n/**\n * Add or remove start event\n * @param {Boolean} isAdd\n */\nproto._bindHandles = function( isAdd ) {\n // munge isAdd, default to true\n isAdd = isAdd === undefined ? true : isAdd;\n // bind each handle\n var bindMethod = isAdd ? 'addEventListener' : 'removeEventListener';\n var touchAction = isAdd ? this._touchActionValue : '';\n for ( var i=0; i < this.handles.length; i++ ) {\n var handle = this.handles[i];\n this._bindStartEvent( handle, isAdd );\n handle[ bindMethod ]( 'click', this );\n // touch-action: none to override browser touch gestures. metafizzy/flickity#540\n if ( window.PointerEvent ) {\n handle.style.touchAction = touchAction;\n }\n }\n};\n\n// prototype so it can be overwriteable by Flickity\nproto._touchActionValue = 'none';\n\n// ----- start event ----- //\n\n/**\n * pointer start\n * @param {Event} event\n * @param {Event or Touch} pointer\n */\nproto.pointerDown = function( event, pointer ) {\n var isOkay = this.okayPointerDown( event );\n if ( !isOkay ) {\n return;\n }\n // track start event position\n // Safari 9 overrides pageX and pageY. These values needs to be copied. flickity#842\n this.pointerDownPointer = {\n pageX: pointer.pageX,\n pageY: pointer.pageY,\n };\n\n event.preventDefault();\n this.pointerDownBlur();\n // bind move and end events\n this._bindPostStartEvents( event );\n this.emitEvent( 'pointerDown', [ event, pointer ] );\n};\n\n// nodes that have text fields\nvar cursorNodes = {\n TEXTAREA: true,\n INPUT: true,\n SELECT: true,\n OPTION: true,\n};\n\n// input types that do not have text fields\nvar clickTypes = {\n radio: true,\n checkbox: true,\n button: true,\n submit: true,\n image: true,\n file: true,\n};\n\n// dismiss inputs with text fields. flickity#403, flickity#404\nproto.okayPointerDown = function( event ) {\n var isCursorNode = cursorNodes[ event.target.nodeName ];\n var isClickType = clickTypes[ event.target.type ];\n var isOkay = !isCursorNode || isClickType;\n if ( !isOkay ) {\n this._pointerReset();\n }\n return isOkay;\n};\n\n// kludge to blur previously focused input\nproto.pointerDownBlur = function() {\n var focused = document.activeElement;\n // do not blur body for IE10, metafizzy/flickity#117\n var canBlur = focused && focused.blur && focused != document.body;\n if ( canBlur ) {\n focused.blur();\n }\n};\n\n// ----- move event ----- //\n\n/**\n * drag move\n * @param {Event} event\n * @param {Event or Touch} pointer\n */\nproto.pointerMove = function( event, pointer ) {\n var moveVector = this._dragPointerMove( event, pointer );\n this.emitEvent( 'pointerMove', [ event, pointer, moveVector ] );\n this._dragMove( event, pointer, moveVector );\n};\n\n// base pointer move logic\nproto._dragPointerMove = function( event, pointer ) {\n var moveVector = {\n x: pointer.pageX - this.pointerDownPointer.pageX,\n y: pointer.pageY - this.pointerDownPointer.pageY\n };\n // start drag if pointer has moved far enough to start drag\n if ( !this.isDragging && this.hasDragStarted( moveVector ) ) {\n this._dragStart( event, pointer );\n }\n return moveVector;\n};\n\n// condition if pointer has moved far enough to start drag\nproto.hasDragStarted = function( moveVector ) {\n return Math.abs( moveVector.x ) > 3 || Math.abs( moveVector.y ) > 3;\n};\n\n// ----- end event ----- //\n\n/**\n * pointer up\n * @param {Event} event\n * @param {Event or Touch} pointer\n */\nproto.pointerUp = function( event, pointer ) {\n this.emitEvent( 'pointerUp', [ event, pointer ] );\n this._dragPointerUp( event, pointer );\n};\n\nproto._dragPointerUp = function( event, pointer ) {\n if ( this.isDragging ) {\n this._dragEnd( event, pointer );\n } else {\n // pointer didn't move enough for drag to start\n this._staticClick( event, pointer );\n }\n};\n\n// -------------------------- drag -------------------------- //\n\n// dragStart\nproto._dragStart = function( event, pointer ) {\n this.isDragging = true;\n // prevent clicks\n this.isPreventingClicks = true;\n this.dragStart( event, pointer );\n};\n\nproto.dragStart = function( event, pointer ) {\n this.emitEvent( 'dragStart', [ event, pointer ] );\n};\n\n// dragMove\nproto._dragMove = function( event, pointer, moveVector ) {\n // do not drag if not dragging yet\n if ( !this.isDragging ) {\n return;\n }\n\n this.dragMove( event, pointer, moveVector );\n};\n\nproto.dragMove = function( event, pointer, moveVector ) {\n event.preventDefault();\n this.emitEvent( 'dragMove', [ event, pointer, moveVector ] );\n};\n\n// dragEnd\nproto._dragEnd = function( event, pointer ) {\n // set flags\n this.isDragging = false;\n // re-enable clicking async\n setTimeout( function() {\n delete this.isPreventingClicks;\n }.bind( this ) );\n\n this.dragEnd( event, pointer );\n};\n\nproto.dragEnd = function( event, pointer ) {\n this.emitEvent( 'dragEnd', [ event, pointer ] );\n};\n\n// ----- onclick ----- //\n\n// handle all clicks and prevent clicks when dragging\nproto.onclick = function( event ) {\n if ( this.isPreventingClicks ) {\n event.preventDefault();\n }\n};\n\n// ----- staticClick ----- //\n\n// triggered after pointer down & up with no/tiny movement\nproto._staticClick = function( event, pointer ) {\n // ignore emulated mouse up clicks\n if ( this.isIgnoringMouseUp && event.type == 'mouseup' ) {\n return;\n }\n\n this.staticClick( event, pointer );\n\n // set flag for emulated clicks 300ms after touchend\n if ( event.type != 'mouseup' ) {\n this.isIgnoringMouseUp = true;\n // reset flag after 300ms\n setTimeout( function() {\n delete this.isIgnoringMouseUp;\n }.bind( this ), 400 );\n }\n};\n\nproto.staticClick = function( event, pointer ) {\n this.emitEvent( 'staticClick', [ event, pointer ] );\n};\n\n// ----- utils ----- //\n\nUnidragger.getPointerPoint = Unipointer.getPointerPoint;\n\n// ----- ----- //\n\nreturn Unidragger;\n\n}));\n","/*!\n * Unipointer v2.3.0\n * base class for doing one thing with pointer event\n * MIT license\n */\n\n/*jshint browser: true, undef: true, unused: true, strict: true */\n\n( function( window, factory ) {\n // universal module definition\n /* jshint strict: false */ /*global define, module, require */\n if ( typeof define == 'function' && define.amd ) {\n // AMD\n define( [\n 'ev-emitter/ev-emitter'\n ], function( EvEmitter ) {\n return factory( window, EvEmitter );\n });\n } else if ( typeof module == 'object' && module.exports ) {\n // CommonJS\n module.exports = factory(\n window,\n require('ev-emitter')\n );\n } else {\n // browser global\n window.Unipointer = factory(\n window,\n window.EvEmitter\n );\n }\n\n}( window, function factory( window, EvEmitter ) {\n\n'use strict';\n\nfunction noop() {}\n\nfunction Unipointer() {}\n\n// inherit EvEmitter\nvar proto = Unipointer.prototype = Object.create( EvEmitter.prototype );\n\nproto.bindStartEvent = function( elem ) {\n this._bindStartEvent( elem, true );\n};\n\nproto.unbindStartEvent = function( elem ) {\n this._bindStartEvent( elem, false );\n};\n\n/**\n * Add or remove start event\n * @param {Boolean} isAdd - remove if falsey\n */\nproto._bindStartEvent = function( elem, isAdd ) {\n // munge isAdd, default to true\n isAdd = isAdd === undefined ? true : isAdd;\n var bindMethod = isAdd ? 'addEventListener' : 'removeEventListener';\n\n // default to mouse events\n var startEvent = 'mousedown';\n if ( window.PointerEvent ) {\n // Pointer Events\n startEvent = 'pointerdown';\n } else if ( 'ontouchstart' in window ) {\n // Touch Events. iOS Safari\n startEvent = 'touchstart';\n }\n elem[ bindMethod ]( startEvent, this );\n};\n\n// trigger handler methods for events\nproto.handleEvent = function( event ) {\n var method = 'on' + event.type;\n if ( this[ method ] ) {\n this[ method ]( event );\n }\n};\n\n// returns the touch that we're keeping track of\nproto.getTouch = function( touches ) {\n for ( var i=0; i < touches.length; i++ ) {\n var touch = touches[i];\n if ( touch.identifier == this.pointerIdentifier ) {\n return touch;\n }\n }\n};\n\n// ----- start event ----- //\n\nproto.onmousedown = function( event ) {\n // dismiss clicks from right or middle buttons\n var button = event.button;\n if ( button && ( button !== 0 && button !== 1 ) ) {\n return;\n }\n this._pointerDown( event, event );\n};\n\nproto.ontouchstart = function( event ) {\n this._pointerDown( event, event.changedTouches[0] );\n};\n\nproto.onpointerdown = function( event ) {\n this._pointerDown( event, event );\n};\n\n/**\n * pointer start\n * @param {Event} event\n * @param {Event or Touch} pointer\n */\nproto._pointerDown = function( event, pointer ) {\n // dismiss right click and other pointers\n // button = 0 is okay, 1-4 not\n if ( event.button || this.isPointerDown ) {\n return;\n }\n\n this.isPointerDown = true;\n // save pointer identifier to match up touch events\n this.pointerIdentifier = pointer.pointerId !== undefined ?\n // pointerId for pointer events, touch.indentifier for touch events\n pointer.pointerId : pointer.identifier;\n\n this.pointerDown( event, pointer );\n};\n\nproto.pointerDown = function( event, pointer ) {\n this._bindPostStartEvents( event );\n this.emitEvent( 'pointerDown', [ event, pointer ] );\n};\n\n// hash of events to be bound after start event\nvar postStartEvents = {\n mousedown: [ 'mousemove', 'mouseup' ],\n touchstart: [ 'touchmove', 'touchend', 'touchcancel' ],\n pointerdown: [ 'pointermove', 'pointerup', 'pointercancel' ],\n};\n\nproto._bindPostStartEvents = function( event ) {\n if ( !event ) {\n return;\n }\n // get proper events to match start event\n var events = postStartEvents[ event.type ];\n // bind events to node\n events.forEach( function( eventName ) {\n window.addEventListener( eventName, this );\n }, this );\n // save these arguments\n this._boundPointerEvents = events;\n};\n\nproto._unbindPostStartEvents = function() {\n // check for _boundEvents, in case dragEnd triggered twice (old IE8 bug)\n if ( !this._boundPointerEvents ) {\n return;\n }\n this._boundPointerEvents.forEach( function( eventName ) {\n window.removeEventListener( eventName, this );\n }, this );\n\n delete this._boundPointerEvents;\n};\n\n// ----- move event ----- //\n\nproto.onmousemove = function( event ) {\n this._pointerMove( event, event );\n};\n\nproto.onpointermove = function( event ) {\n if ( event.pointerId == this.pointerIdentifier ) {\n this._pointerMove( event, event );\n }\n};\n\nproto.ontouchmove = function( event ) {\n var touch = this.getTouch( event.changedTouches );\n if ( touch ) {\n this._pointerMove( event, touch );\n }\n};\n\n/**\n * pointer move\n * @param {Event} event\n * @param {Event or Touch} pointer\n * @private\n */\nproto._pointerMove = function( event, pointer ) {\n this.pointerMove( event, pointer );\n};\n\n// public\nproto.pointerMove = function( event, pointer ) {\n this.emitEvent( 'pointerMove', [ event, pointer ] );\n};\n\n// ----- end event ----- //\n\n\nproto.onmouseup = function( event ) {\n this._pointerUp( event, event );\n};\n\nproto.onpointerup = function( event ) {\n if ( event.pointerId == this.pointerIdentifier ) {\n this._pointerUp( event, event );\n }\n};\n\nproto.ontouchend = function( event ) {\n var touch = this.getTouch( event.changedTouches );\n if ( touch ) {\n this._pointerUp( event, touch );\n }\n};\n\n/**\n * pointer up\n * @param {Event} event\n * @param {Event or Touch} pointer\n * @private\n */\nproto._pointerUp = function( event, pointer ) {\n this._pointerDone();\n this.pointerUp( event, pointer );\n};\n\n// public\nproto.pointerUp = function( event, pointer ) {\n this.emitEvent( 'pointerUp', [ event, pointer ] );\n};\n\n// ----- pointer done ----- //\n\n// triggered on pointer up & pointer cancel\nproto._pointerDone = function() {\n this._pointerReset();\n this._unbindPostStartEvents();\n this.pointerDone();\n};\n\nproto._pointerReset = function() {\n // reset properties\n this.isPointerDown = false;\n delete this.pointerIdentifier;\n};\n\nproto.pointerDone = noop;\n\n// ----- pointer cancel ----- //\n\nproto.onpointercancel = function( event ) {\n if ( event.pointerId == this.pointerIdentifier ) {\n this._pointerCancel( event, event );\n }\n};\n\nproto.ontouchcancel = function( event ) {\n var touch = this.getTouch( event.changedTouches );\n if ( touch ) {\n this._pointerCancel( event, touch );\n }\n};\n\n/**\n * pointer cancel\n * @param {Event} event\n * @param {Event or Touch} pointer\n * @private\n */\nproto._pointerCancel = function( event, pointer ) {\n this._pointerDone();\n this.pointerCancel( event, pointer );\n};\n\n// public\nproto.pointerCancel = function( event, pointer ) {\n this.emitEvent( 'pointerCancel', [ event, pointer ] );\n};\n\n// ----- ----- //\n\n// utility function for getting x/y coords from event\nUnipointer.getPointerPoint = function( pointer ) {\n return {\n x: pointer.pageX,\n y: pointer.pageY\n };\n};\n\n// ----- ----- //\n\nreturn Unipointer;\n\n}));\n","/**\n * EvEmitter v1.1.0\n * Lil' event emitter\n * MIT License\n */\n\n/* jshint unused: true, undef: true, strict: true */\n\n( function( global, factory ) {\n // universal module definition\n /* jshint strict: false */ /* globals define, module, window */\n if ( typeof define == 'function' && define.amd ) {\n // AMD - RequireJS\n define( factory );\n } else if ( typeof module == 'object' && module.exports ) {\n // CommonJS - Browserify, Webpack\n module.exports = factory();\n } else {\n // Browser globals\n global.EvEmitter = factory();\n }\n\n}( typeof window != 'undefined' ? window : this, function() {\n\n\"use strict\";\n\nfunction EvEmitter() {}\n\nvar proto = EvEmitter.prototype;\n\nproto.on = function( eventName, listener ) {\n if ( !eventName || !listener ) {\n return;\n }\n // set events hash\n var events = this._events = this._events || {};\n // set listeners array\n var listeners = events[ eventName ] = events[ eventName ] || [];\n // only add once\n if ( listeners.indexOf( listener ) == -1 ) {\n listeners.push( listener );\n }\n\n return this;\n};\n\nproto.once = function( eventName, listener ) {\n if ( !eventName || !listener ) {\n return;\n }\n // add event\n this.on( eventName, listener );\n // set once flag\n // set onceEvents hash\n var onceEvents = this._onceEvents = this._onceEvents || {};\n // set onceListeners object\n var onceListeners = onceEvents[ eventName ] = onceEvents[ eventName ] || {};\n // set flag\n onceListeners[ listener ] = true;\n\n return this;\n};\n\nproto.off = function( eventName, listener ) {\n var listeners = this._events && this._events[ eventName ];\n if ( !listeners || !listeners.length ) {\n return;\n }\n var index = listeners.indexOf( listener );\n if ( index != -1 ) {\n listeners.splice( index, 1 );\n }\n\n return this;\n};\n\nproto.emitEvent = function( eventName, args ) {\n var listeners = this._events && this._events[ eventName ];\n if ( !listeners || !listeners.length ) {\n return;\n }\n // copy over to avoid interference if .off() in listener\n listeners = listeners.slice(0);\n args = args || [];\n // once stuff\n var onceListeners = this._onceEvents && this._onceEvents[ eventName ];\n\n for ( var i=0; i < listeners.length; i++ ) {\n var listener = listeners[i]\n var isOnce = onceListeners && onceListeners[ listener ];\n if ( isOnce ) {\n // remove listener\n // remove before trigger to prevent recursion\n this.off( eventName, listener );\n // unset once flag\n delete onceListeners[ listener ];\n }\n // trigger listener\n listener.apply( this, args );\n }\n\n return this;\n};\n\nproto.allOff = function() {\n delete this._events;\n delete this._onceEvents;\n};\n\nreturn EvEmitter;\n\n}));\n","let pip = function () {\n let player = this\n function onPipBtnClick () {\n if (player.video !== document.pictureInPictureElement) {\n player.video.requestPictureInPicture();\n } else {\n document.exitPictureInPicture();\n }\n }\n player.on('pipBtnClick', onPipBtnClick)\n\n player.video.addEventListener(\"enterpictureinpicture\", function(pipWindow){\n player.emit('requestPictureInPicture', pipWindow)\n })\n\n player.video.addEventListener(\"leavepictureinpicture\", function(){\n player.emit('exitPictureInPicture')\n })\n\n function onDestroy () {\n player.off('pipBtnClick', onPipBtnClick)\n player.off('destroy', onDestroy)\n }\n player.once('destroy', onDestroy)\n}\n\nexport default {\n name: 'pip',\n method: pip\n}","let playNext = function () {\n let player = this\n let nextBtn = player.config.playNext\n player.currentVideoIndex = -1\n\n function onPlayNextBtnClick () {\n if (player.currentVideoIndex + 1 < nextBtn.urlList.length) {\n player.currentVideoIndex++\n player.video.autoplay = true\n player.src = nextBtn.urlList[player.currentVideoIndex]\n player.emit('playerNext', player.currentVideoIndex + 1)\n if (player.currentVideoIndex + 1 === nextBtn.urlList.length) {\n player.emit('urlListEnd')\n }\n }\n }\n player.on('playNextBtnClick', onPlayNextBtnClick)\n\n function onDestroy () {\n player.off('playNextBtnClick', onPlayNextBtnClick)\n player.off('destroy', onDestroy)\n }\n player.once('destroy', onDestroy)\n}\n\nexport default {\n name: 'playNext',\n method: playNext\n}","import { removeClass } from '../utils/util'\n\nlet reload = function () {\n let player = this\n let reloadConfig = player.config.reload\n if (!reloadConfig) { return }\n\n function onReloadBtnClick () {\n removeClass(player.root, 'xgplayer-is-error')\n player.src = player.config.url\n }\n player.on('reloadBtnClick', onReloadBtnClick)\n\n function onDestroy () {\n player.off('reloadBtnClick', onReloadBtnClick)\n player.off('destroy', onDestroy)\n }\n player.once('destroy', onDestroy)\n}\n\nexport default {\n name: 'reload',\n method: reload\n}","let rotate = function () {\n let player = this\n let rotateConfig = player.config.rotate\n if (!rotateConfig) { return }\n\n function onRotateBtnClick () {\n player.rotate(rotateConfig.clockwise, rotateConfig.innerRotate)\n }\n player.on('rotateBtnClick', onRotateBtnClick)\n\n function onDestroy () {\n player.off('rotateBtnClick', onRotateBtnClick)\n player.off('destroy', onDestroy)\n }\n player.once('destroy', onDestroy)\n\n player.updateRotateDeg = function () {\n let player = this;\n if (!player.rotateDeg) {\n player.rotateDeg = 0\n }\n\n let width = player.root.offsetWidth\n let height = player.root.offsetHeight\n let targetWidth = player.video.videoWidth\n let targetHeight = player.video.videoHeight\n\n if (!player.config.rotate.innerRotate && player.config.rotate.controlsFix) {\n player.root.style.width = height + 'px'\n player.root.style.height = width + 'px'\n }\n\n let scale\n if (player.rotateDeg === 0.25 || player.rotateDeg === 0.75) {\n if (player.config.rotate.innerRotate) {\n if ((targetWidth / targetHeight) > (height / width)) { // 旋转后纵向撑满\n let videoWidth = 0\n if ((targetHeight / targetWidth) > (height / width)) { // 旋转前是纵向撑满\n videoWidth = height * targetWidth / targetHeight\n } else { // 旋转前是横向撑满\n videoWidth = width\n }\n scale = height / videoWidth\n } else { // 旋转后横向撑满\n let videoHeight = 0\n if ((targetHeight / targetWidth) > (height / width)) { // 旋转前是纵向撑满\n videoHeight = height\n } else { // 旋转前是横向撑满\n videoHeight = width * targetHeight / targetWidth\n }\n scale = width / videoHeight\n }\n } else {\n if (width >= height) {\n scale = width / height\n } else {\n scale = height / width\n }\n }\n scale = Number(scale.toFixed(5))\n } else {\n scale = 1\n }\n\n if (player.config.rotate.innerRotate) {\n player.video.style.transformOrigin = 'center center'\n player.video.style.transform = `rotate(${player.rotateDeg}turn) scale(${scale})`\n player.video.style.webKitTransform = `rotate(${player.rotateDeg}turn) scale(${scale})`\n } else {\n if (player.config.rotate.controlsFix) {\n player.video.style.transformOrigin = 'center center'\n player.video.style.transform = `rotate(${player.rotateDeg}turn) scale(${scale})`\n player.video.style.webKitTransform = `rotate(${player.rotateDeg}turn) scale(${scale})`\n } else {\n player.root.style.transformOrigin = 'center center'\n player.root.style.transform = `rotate(${player.rotateDeg}turn) scale(${1})`\n player.root.style.webKitTransform = `rotate(${player.rotateDeg}turn) scale(${1})`\n }\n }\n }\n\n player.rotate = function (clockwise = false, innerRotate = true, times = 1) {\n let player = this;\n if (!player.rotateDeg) {\n player.rotateDeg = 0\n }\n let factor = clockwise ? 1 : -1\n\n player.rotateDeg = (player.rotateDeg + 1 + factor * 0.25 * times) % 1\n this.updateRotateDeg()\n\n player.emit('rotate', player.rotateDeg * 360)\n }\n}\n\nexport default {\n name: 'rotate',\n method: rotate\n}","let screenShot = function () {\n let player = this\n let screenShotOptions = player.config.screenShot\n if (!screenShotOptions) {\n return\n }\n\n player.video.setAttribute('crossOrigin', 'anonymous')\n\n let encoderOptions = 0.92\n if(screenShotOptions.quality || screenShotOptions.quality === 0) {\n encoderOptions = screenShotOptions.quality\n }\n let type = screenShotOptions.type === undefined ? 'image/png' : screenShotOptions.type\n let format = screenShotOptions.format === undefined ? '.png' : screenShotOptions.format\n\n let canvas = document.createElement('canvas')\n let canvasCtx = canvas.getContext('2d')\n let img = new Image()\n canvas.width = this.config.width || 600\n canvas.height = this.config.height || 337.5\n\n let saveScreenShot = function (data, filename) {\n let saveLink = document.createElement('a')\n saveLink.href = data\n saveLink.download = filename\n let event = document.createEvent('MouseEvents')\n event.initMouseEvent('click', true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null)\n saveLink.dispatchEvent(event)\n }\n\n player.screenShot = function (save = true) {\n save = screenShotOptions.saveImg === undefined ? save : screenShotOptions.saveImg\n canvas.width = player.video.videoWidth || 600\n canvas.height = player.video.videoHeight || 337.5\n img.onload = (function () {\n canvasCtx.drawImage(player.video, 0, 0, canvas.width, canvas.height)\n img.src = canvas.toDataURL(type, encoderOptions).replace(type, 'image/octet-stream')\n let screenShotImg = img.src.replace(/^data:image\\/[^;]+/, 'data:application/octet-stream')\n player.emit('screenShot', screenShotImg)\n save && saveScreenShot(screenShotImg, '截图' + format)\n })()\n }\n player.on('screenShotBtnClick', player.screenShot)\n\n function onDestroy () {\n player.off('screenShotBtnClick', player.screenShot)\n player.off('destroy', onDestroy)\n }\n player.once('destroy', onDestroy)\n}\n\nexport default {\n name: 'screenShot',\n method: screenShot\n}","import Errors from '../error'\n\nfunction stallCheck () {\n const player = this\n if(!player.config.enableStallCheck) return;\n let lastCurrentTime = 0;\n let stallFlag, stallCheckTimer, progressTimer;\n player.once('complete', () => {\n progressTimer = setInterval(() => {\n if (player.currentTime - (lastCurrentTime || 0) > 0.1 || player.paused) {\n if (stallFlag === 1 || stallFlag === 2) {\n stallFlag = 0;\n clearTimeout(stallCheckTimer);\n stallCheckTimer = null;\n }\n } else {\n if (!stallFlag) {\n stallFlag = 1;\n stallCheckTimer = setTimeout(() => {\n if (stallFlag === 1) {\n stallFlag = 2;\n player.emit('error', new Errors('STALL'));\n }\n stallCheckTimer = null;\n }, 20000);\n }\n }\n lastCurrentTime = player.currentTime;\n }, 1000);\n })\n}\n \nexport default {\n name: 'stallCheck',\n method: stallCheck\n}\n\n\n","import { addClass, removeClass, event } from '../utils/util'\nimport sniffer from '../utils/sniffer'\n\nlet volume = function () {\n let player = this\n let root = player.root\n let container, slider, bar, selected\n function onCanplay () {\n // player.volume = sniffer.device === 'mobile' ? 1 : player.config.volume\n if(!player.controls) return\n player.volume = player.config.volume\n container = player.controls.querySelector('.xgplayer-volume')\n if(!container) return\n slider = container.querySelector('.xgplayer-slider')\n bar = container.querySelector('.xgplayer-bar')\n selected = container.querySelector('.xgplayer-drag')\n if (sniffer.device === 'mobile') {\n onVolumeChange()\n }\n }\n player.once('canplay', onCanplay)\n\n function onVolumeBarClick (e) {\n if(!slider) return\n player.video.muted = false\n slider.focus()\n event(e)\n\n let barRect = bar.getBoundingClientRect()\n let pos = {x: e.clientX, y: e.clientY}\n let height = selected.getBoundingClientRect().height\n let isMove = false\n let onMove = function (e) {\n e.preventDefault()\n e.stopPropagation()\n event(e)\n isMove = true\n let w = height - e.clientY + pos.y\n let now = w / barRect.height\n selected.style.height = `${w}px`\n player.volume = Math.max(Math.min(now, 1), 0)\n }\n let onUp = function (e) {\n e.preventDefault()\n e.stopPropagation()\n event(e)\n window.removeEventListener('mousemove', onMove)\n window.removeEventListener('touchmove', onMove)\n window.removeEventListener('mouseup', onUp)\n window.removeEventListener('touchend', onUp)\n\n if (!isMove) {\n let w = barRect.height - (e.clientY - barRect.top)\n let now = w / barRect.height\n selected.style.height = `${w}px`\n if (now <= 0) {\n if (player.volume > 0) {\n selected.volume = player.video.volume\n } else {\n now = selected.volume\n }\n }\n player.volume = Math.max(Math.min(now, 1), 0)\n }\n slider.volume = player.volume\n isMove = false\n }\n window.addEventListener('mousemove', onMove)\n window.addEventListener('touchmove', onMove)\n window.addEventListener('mouseup', onUp)\n window.addEventListener('touchend', onUp)\n return false\n }\n player.on('volumeBarClick', onVolumeBarClick)\n\n function onVolumeIconClick () {\n if (sniffer.device === 'mobile') {\n if (player.video.muted) {\n player.video.muted = false\n player.emit('unmute')\n player.volume = 1\n } else {\n player.video.muted = true\n player.emit('mute')\n player.volume = 0\n }\n } else {\n if(!slider) return\n player.video.muted = false\n if (player.volume < 0.1) {\n if (slider.volume < 0.1) {\n player.volume = 0.6\n } else {\n player.volume = slider.volume\n }\n player.emit('unmute')\n } else {\n player.volume = 0\n player.emit('mute')\n }\n }\n // onVolumeChange ()\n }\n player.on('volumeIconClick', onVolumeIconClick)\n\n function onVolumeIconEnter () {\n addClass(root, 'xgplayer-volume-active')\n if (container) {\n container.focus()\n }\n }\n player.on('volumeIconEnter', onVolumeIconEnter)\n\n function onVolumeIconLeave () {\n removeClass(root, 'xgplayer-volume-active')\n }\n player.on('volumeIconLeave', onVolumeIconLeave)\n\n let _changeTimer = null\n function onVolumeChange () {\n if (_changeTimer) {\n clearTimeout(_changeTimer)\n }\n _changeTimer = setTimeout(() => {\n if (sniffer.device === 'mobile') {\n removeClass(root, 'xgplayer-volume-muted')\n removeClass(root, 'xgplayer-volume-large')\n if (player.video.muted || player.video.defaultMuted) {\n if (!player.video.muted) {\n player.video.muted = true\n }\n player.video.defaultMuted = false\n addClass(root, 'xgplayer-volume-muted')\n } else {\n addClass(root, 'xgplayer-volume-large')\n }\n } else {\n removeClass(root, 'xgplayer-volume-muted')\n removeClass(root, 'xgplayer-volume-small')\n removeClass(root, 'xgplayer-volume-large')\n if (player.volume === 0) {\n addClass(root, 'xgplayer-volume-muted')\n } else if (player.volume < 0.5) {\n addClass(root, 'xgplayer-volume-small')\n } else {\n addClass(root, 'xgplayer-volume-large')\n }\n if (!bar) return\n let containerHeight = bar.getBoundingClientRect().height || 76\n selected.style.height = `${player.volume * containerHeight}px`\n }\n }, 50)\n }\n player.on('volumechange', onVolumeChange)\n\n function onDestroy () {\n player.off('canplay', onCanplay)\n player.off('volumeBarClick', onVolumeBarClick)\n player.off('volumeIconClick', onVolumeIconClick)\n player.off('volumeIconEnter', onVolumeIconEnter)\n player.off('volumeIconLeave', onVolumeIconLeave)\n player.off('volumechange', onVolumeChange)\n player.off('destroy', onDestroy)\n if (_changeTimer) {\n clearTimeout(_changeTimer);\n _changeTimer = null;\n }\n }\n player.once('destroy', onDestroy)\n}\n\nexport default {\n name: 'volume',\n method: volume\n}","import SubTitles from 'xgplayer-subtitles'\nconst defaultStyle = {\n follow: true, // 是否跟随控制栏调整位置\n mode: 'stroke', // 字体显示模式,默认是描边\n followBottom: 50, // 跟随底部控制栏的高度\n fitVideo: true, // 是否跟随视频自动调整字号\n offsetBottom: 2, // 字幕距离画面底部百分比,默认2%\n baseSizeX: 49, // 横屏视频适配基准字号\n baseSizeY: 28, // 竖屏视频适配基准字号\n minSize: 16, // pc端最小字号\n minMobileSize: 13, // 移动端最小字号\n line: 'double', // 最大显示行数 single/double/three\n fontColor: '#fff' // 字体颜色\n}\n\n// function createSubTitle (textTrack, style = {}, defaultOpen = true) {\n// const config = {\n// subTitles: textTrack,\n// defaultOpen: defaultOpen\n// }\n\n// Object.keys(style).map(key => {\n// config[key] = style[key]\n// })\n// return new SubTitles(config)\n// }\n\nclass XgSubtitles {\n constructor (player, list, style) {\n const subtitle = this.create(list, style, player.textTrackShowDefault)\n subtitle.attachPlayer(player)\n this.subtitle = subtitle\n this.player = player\n this.positionData = {\n vBottom: 0,\n marginBottom: 0\n }\n this.isActive = false\n this.followBottom = style.followBottom;\n ['onSubtitleResize', 'onFocus', 'onBlur'].map(item => {\n this[item] = this[item].bind(this)\n })\n\n if (player.controls && style.follow) {\n this.subtitle.on('resize', this.onSubtitleResize)\n player.on('focus', this.onFocus)\n player.on('blur', this.onBlur)\n }\n }\n\n create (textTrack, style = {}, defaultOpen = true) {\n const config = {\n subTitles: textTrack,\n defaultOpen: defaultOpen\n }\n Object.keys(style).map(key => {\n config[key] = style[key]\n })\n return new SubTitles(config)\n }\n\n switch (subtitle) {\n return this.subtitle.switch(subtitle)\n }\n\n switchOff () {\n return this.subtitle.switchOff()\n }\n\n setSubTitles (subtitles, showDefault, isNeedMove) {\n return this.subtitle.setSubTitles(subtitles, showDefault, isNeedMove)\n }\n\n onFocus () {\n const { marginBottom, vBottom } = this.positionData\n if (this.isActive || !marginBottom) {\n return\n }\n this.isActive = true\n let bottom = marginBottom + vBottom\n if (this.followBottom > bottom) {\n bottom = this.followBottom\n }\n this.subtitle && (this.subtitle.root.style.bottom = `${bottom}px`)\n }\n\n onBlur () {\n this.isActive = false\n const bottom = this.positionData.vBottom + this.positionData.marginBottom\n this.subtitle && (this.subtitle.root.style.bottom = `${bottom}px`)\n }\n\n onSubtitleResize (data) {\n this.positionData.vBottom = data.vBottom\n this.positionData.marginBottom = data.marginBottom\n }\n\n destroy () {\n this.subtitle.off('resize', this.onSubtitleResize)\n this.player.off('focus', this.onFocus)\n this.player.off('blur', this.onBlur)\n this.subtitle.destroy()\n this.subtitle = null\n }\n}\n\nlet textTrack = function () {\n const player = this\n const { textTrack } = player.config\n if (!textTrack) {\n return\n }\n let textTrackStyle = player.config.textTrackStyle || {}\n Object.keys(defaultStyle).map(key => {\n if (textTrackStyle[key] === undefined) {\n textTrackStyle[key] = defaultStyle[key]\n }\n })\n player.textTrackShowDefault = false\n player.config.textTrack.map((item, index) => {\n if (!item.id && !item.language) {\n item.id = index\n }\n !item.url && (item.url = item.src)\n !item.language && (item.language = item.srclang)\n item.isDefault === undefined && (item.isDefault = item.default)\n !player.textTrackShowDefault && (player.textTrackShowDefault = item.isDefault || item.default)\n })\n\n this.subTitles = new XgSubtitles(player, player.config.textTrack, textTrackStyle)\n\n player.setSubTitles = (textTrack, needRemove = true) => {\n let showDefault = false\n textTrack.map((item, index) => {\n if (!item.id && !item.language) {\n item.id = index\n }\n !item.url && (item.url = item.src)\n !item.language && (item.language = item.srclang)\n item.isDefault === undefined && (item.isDefault = item.default)\n item.isDefault && (showDefault = true)\n })\n player.textTrackShowDefault = showDefault\n this.subTitles.setSubTitles(textTrack, showDefault, needRemove)\n player.emit('subtitle_change', {\n off: false,\n isListUpdate: true,\n list: textTrack\n })\n }\n\n player.switchSubTitle = (subtitle = { id: '', language: '' }) => {\n this.subTitles.switch(subtitle).then(data => {\n if (data.code === 0) {\n subtitle.off = false\n subtitle.isListUpdate = false\n subtitle.list = []\n player.emit('subtitle_change', subtitle)\n }\n })\n }\n\n player.switchOffSubtile = () => {\n this.subTitles.switchOff()\n player.emit('subtitle_change', {\n off: true,\n isListUpdate: false,\n list: []\n })\n }\n\n function onDestroy () {\n this.subTitles.destroy()\n this.subTitles = null\n }\n player.once('destroy', onDestroy)\n}\n\nexport default {\n name: 'textTrack',\n method: textTrack\n}\n","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=t||self,t.XgSubtitle=e())}(this,function(){\"use strict\";function t(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,\"default\")?t.default:t}function e(t,e){return e={exports:{}},t(e,e.exports),e.exports}function n(t){var e,n;this.promise=new t(function(t,r){if(void 0!==e||void 0!==n)throw TypeError(\"Bad Promise constructor\");e=t,n=r}),this.resolve=I(e),this.reject=I(n)}function r(t){var e=t.length;return 3===e?(60*(60*Number(t[0])+Number(t[1]))*1e3+1e3*Number(t[2]))/1e3:2===e?(60*Number(t[0])*1e3+1e3*Number(t[1]))/1e3:Number(t[0])}function i(t){return/^(\\-|\\+)?\\d+(\\.\\d+)?$/.test(t)}function o(t){return t}function s(t,e){return t>=0&&t<e.length?e[t]:\"\"}function a(t,e){if(!t)return!1;if(t.classList)return Array.prototype.some.call(t.classList,function(t){return t===e});var n=t.className&&\"object\"===Ke(t.className)?t.getAttribute(\"class\"):t.className;return n&&!!n.match(new RegExp(\"(\\\\s|^)\"+e+\"(\\\\s|$)\"))}function u(t,e){t&&(t.classList?e.replace(/(^\\s+|\\s+$)/g,\"\").split(/\\s+/g).forEach(function(e){e&&t.classList.add(e)}):a(t,e)||(t.className&&\"object\"===Ke(t.className)?t.setAttribute(\"class\",t.getAttribute(\"class\")+\" \"+e):t.className+=\" \"+e))}function c(t,e){t&&(t.classList?e.split(/\\s+/g).forEach(function(e){t.classList.remove(e)}):a(t,e)&&e.split(/\\s+/g).forEach(function(e){var n=new RegExp(\"(\\\\s|^)\"+e+\"(\\\\s|$)\");t.className&&\"object\"===Ke(t.className)?t.setAttribute(\"class\",t.getAttribute(\"class\").replace(n,\" \")):t.className=t.className.replace(n,\" \")}))}function l(t,e,n){var r=e.length;if(r<1)return-1;if(n=n<0?0:n>=r?r-1:n,e[n].start<=t&&t<e[n].end)return n;for(var i=e[n].end<=t?n+1:0;i<r;i++){if(e[i].start<=t&&t<e[i].end)return i;if(t>e[i].end&&i+1<r&&t<e[i+1].start)return-1;if(t>e[i].end&&i+1>=r)return-1}return-1}function f(t,e,n){var r=e.length;if(r<1)return[];var i=[];if((n=n<0?0:n>=r?r-1:n)<r)for(var o=e[n].end<=t?n:0;o<r&&(e[o].start<=t&&t<e[o].end&&i.push(o),!(t<e[o].start));o++);return i}function h(t){return Object.prototype.toString.call(t).match(/([^\\s.*]+)(?=]$)/g)[0]}function d(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"div\",e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"\",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:\"\",i=document.createElement(t);return i.className=r,i.innerHTML=e,br(n).forEach(function(e){var r=e,o=n[e];\"video\"===t||\"audio\"===t||\"live-video\"===t?o&&i.setAttribute(r,o):i.setAttribute(r,o)}),i}function p(){var t=navigator.userAgent,e=/(?:Windows Phone)/.test(t),n=/(?:SymbianOS)/.test(t)||e,r=/(?:Android)/.test(t),i=/(?:Firefox)/.test(t),o=/(?:iPad|PlayBook)/.test(t)||r&&!/(?:Mobile)/.test(t)||i&&/(?:Tablet)/.test(t);return/(?:iPhone)/.test(t)&&!o||r||n||o}function v(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"\",n=\"\";t.map(function(t){n+=\" \"+e+\" \"+t.key+\" {\"+t.style+\"}\"});var r=document.createElement(\"style\"),i=document.head||document.getElementsByTagName(\"head\")[0];if(r.type=\"text/css\",r.id=\"ssss\",r.styleSheet){var o=function(){try{r.styleSheet.cssText=n}catch(t){}};r.styleSheet.disabled?setTimeout(o,10):o()}else{var s=document.createTextNode(n);r.appendChild(s)}i.appendChild(r)}function y(t,e){Lr||(Lr=new Nr),Lr.addObserver(t,e)}function g(t,e){Lr&&Lr.unObserver(t,e)}function m(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n={code:Ir[t].code,msg:Ir[t].msg};return br(e).map(function(t){n[t]=e[t]}),n}function _(t){return new _r(function(e,n){t.list&&e(t),new wr({url:t.url,type:\"text\"}).then(function(r){Rr.parse(r.res.response,function(r,i){if(i){var o=m(2,i);console.trace(o),n(o,{format:r.format})}else if(r.format)t.list=r.list,t.format=r.format,t.styles=r.styles,e(t);else{var s=m(3);console.trace(s),n(s)}})}).catch(function(t){var e=m(1,{statusText:t.statusText,status:t.status,type:t.type,message:\"http load error\"});console.trace(e),n(e)})})}function x(t,e){return!!(t.id&&t.id===e.id||t.language&&t.language===e.language)}var b=function(t){if(void 0==t)throw TypeError(\"Can't call method on \"+t);return t},k=function(t){return Object(b(t))},w={}.hasOwnProperty,T=function(t,e){return w.call(t,e)},S=e(function(t){var e=t.exports={version:\"2.6.12\"};\"number\"==typeof __e&&(__e=e)}),O=(S.version,e(function(t){var e=t.exports=\"undefined\"!=typeof window&&window.Math==Math?window:\"undefined\"!=typeof self&&self.Math==Math?self:Function(\"return this\")();\"number\"==typeof __g&&(__g=e)})),E=e(function(t){var e=O[\"__core-js_shared__\"]||(O[\"__core-js_shared__\"]={});(t.exports=function(t,n){return e[t]||(e[t]=void 0!==n?n:{})})(\"versions\",[]).push({version:S.version,mode:\"pure\",copyright:\"© 2020 Denis Pushkarev (zloirock.ru)\"})}),P=0,j=Math.random(),M=function(t){return\"Symbol(\".concat(void 0===t?\"\":t,\")_\",(++P+j).toString(36))},A=E(\"keys\"),C=function(t){return A[t]||(A[t]=M(t))},R=C(\"IE_PROTO\"),N=Object.prototype,L=Object.getPrototypeOf||function(t){return t=k(t),T(t,R)?t[R]:\"function\"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?N:null},I=function(t){if(\"function\"!=typeof t)throw TypeError(t+\" is not a function!\");return t},F=function(t,e,n){if(I(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,i){return t.call(e,n,r,i)}}return function(){return t.apply(e,arguments)}},z=function(t){return\"object\"==typeof t?null!==t:\"function\"==typeof t},B=function(t){if(!z(t))throw TypeError(t+\" is not an object!\");return t},D=function(t){try{return!!t()}catch(t){return!0}},H=!D(function(){return 7!=Object.defineProperty({},\"a\",{get:function(){return 7}}).a}),V=O.document,W=z(V)&&z(V.createElement),G=function(t){return W?V.createElement(t):{}},U=!H&&!D(function(){return 7!=Object.defineProperty(G(\"div\"),\"a\",{get:function(){return 7}}).a}),$=function(t,e){if(!z(t))return t;var n,r;if(e&&\"function\"==typeof(n=t.toString)&&!z(r=n.call(t)))return r;if(\"function\"==typeof(n=t.valueOf)&&!z(r=n.call(t)))return r;if(!e&&\"function\"==typeof(n=t.toString)&&!z(r=n.call(t)))return r;throw TypeError(\"Can't convert object to primitive value\")},K=Object.defineProperty,Y={f:H?Object.defineProperty:function(t,e,n){if(B(t),e=$(e,!0),B(n),U)try{return K(t,e,n)}catch(t){}if(\"get\"in n||\"set\"in n)throw TypeError(\"Accessors not supported!\");return\"value\"in n&&(t[e]=n.value),t}},X=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}},J=H?function(t,e,n){return Y.f(t,e,X(1,n))}:function(t,e,n){return t[e]=n,t},q=function(t,e,n){var r,i,o,s=t&q.F,a=t&q.G,u=t&q.S,c=t&q.P,l=t&q.B,f=t&q.W,h=a?S:S[e]||(S[e]={}),d=h.prototype,p=a?O:u?O[e]:(O[e]||{}).prototype;a&&(n=e);for(r in n)(i=!s&&p&&void 0!==p[r])&&T(h,r)||(o=i?p[r]:n[r],h[r]=a&&\"function\"!=typeof p[r]?n[r]:l&&i?F(o,O):f&&p[r]==o?function(t){var e=function(e,n,r){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(e);case 2:return new t(e,n)}return new t(e,n,r)}return t.apply(this,arguments)};return e.prototype=t.prototype,e}(o):c&&\"function\"==typeof o?F(Function.call,o):o,c&&((h.virtual||(h.virtual={}))[r]=o,t&q.R&&d&&!d[r]&&J(d,r,o)))};q.F=1,q.G=2,q.S=4,q.P=8,q.B=16,q.W=32,q.U=64,q.R=128;var Z=q,Q=function(t,e){var n=(S.Object||{})[t]||Object[t],r={};r[t]=e(n),Z(Z.S+Z.F*D(function(){n(1)}),\"Object\",r)};Q(\"getPrototypeOf\",function(){return function(t){return L(k(t))}});var tt=S.Object.getPrototypeOf,et=t(e(function(t){t.exports={default:tt,__esModule:!0}})),nt=t(e(function(t,e){e.__esModule=!0,e.default=function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}})),rt=Math.ceil,it=Math.floor,ot=function(t){return isNaN(t=+t)?0:(t>0?it:rt)(t)},st=J,at={},ut={}.toString,ct=function(t){return ut.call(t).slice(8,-1)},lt=Object(\"z\").propertyIsEnumerable(0)?Object:function(t){return\"String\"==ct(t)?t.split(\"\"):Object(t)},ft=function(t){return lt(b(t))},ht=Math.min,dt=function(t){return t>0?ht(ot(t),9007199254740991):0},pt=Math.max,vt=Math.min,yt=function(t,e){return t=ot(t),t<0?pt(t+e,0):vt(t,e)},gt=function(t){return function(e,n,r){var i,o=ft(e),s=dt(o.length),a=yt(r,s);if(t&&n!=n){for(;s>a;)if((i=o[a++])!=i)return!0}else for(;s>a;a++)if((t||a in o)&&o[a]===n)return t||a||0;return!t&&-1}}(!1),mt=C(\"IE_PROTO\"),_t=function(t,e){var n,r=ft(t),i=0,o=[];for(n in r)n!=mt&&T(r,n)&&o.push(n);for(;e.length>i;)T(r,n=e[i++])&&(~gt(o,n)||o.push(n));return o},xt=\"constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf\".split(\",\"),bt=Object.keys||function(t){return _t(t,xt)},kt=H?Object.defineProperties:function(t,e){B(t);for(var n,r=bt(e),i=r.length,o=0;i>o;)Y.f(t,n=r[o++],e[n]);return t},wt=O.document,Tt=wt&&wt.documentElement,St=C(\"IE_PROTO\"),Ot=function(){},Et=function(){var t,e=G(\"iframe\"),n=xt.length;for(e.style.display=\"none\",Tt.appendChild(e),e.src=\"javascript:\",(t=e.contentWindow.document).open(),t.write(\"<script>document.F=Object<\\/script>\"),t.close(),Et=t.F;n--;)delete Et.prototype[xt[n]];return Et()},Pt=Object.create||function(t,e){var n;return null!==t?(Ot.prototype=B(t),n=new Ot,Ot.prototype=null,n[St]=t):n=Et(),void 0===e?n:kt(n,e)},jt=e(function(t){var e=E(\"wks\"),n=O.Symbol,r=\"function\"==typeof n;(t.exports=function(t){return e[t]||(e[t]=r&&n[t]||(r?n:M)(\"Symbol.\"+t))}).store=e}),Mt=Y.f,At=jt(\"toStringTag\"),Ct=function(t,e,n){t&&!T(t=n?t:t.prototype,At)&&Mt(t,At,{configurable:!0,value:e})},Rt={};J(Rt,jt(\"iterator\"),function(){return this});var Nt=function(t,e,n){t.prototype=Pt(Rt,{next:X(1,n)}),Ct(t,e+\" Iterator\")},Lt=jt(\"iterator\"),It=!([].keys&&\"next\"in[].keys()),Ft=function(){return this},zt=function(t,e,n,r,i,o,s){Nt(n,e,r);var a,u,c,l=function(t){if(!It&&t in p)return p[t];switch(t){case\"keys\":case\"values\":return function(){return new n(this,t)}}return function(){return new n(this,t)}},f=e+\" Iterator\",h=\"values\"==i,d=!1,p=t.prototype,v=p[Lt]||p[\"@@iterator\"]||i&&p[i],y=v||l(i),g=i?h?l(\"entries\"):y:void 0,m=\"Array\"==e?p.entries||v:v;if(m&&(c=L(m.call(new t)))!==Object.prototype&&c.next&&Ct(c,f,!0),h&&v&&\"values\"!==v.name&&(d=!0,y=function(){return v.call(this)}),s&&(It||d||!p[Lt])&&J(p,Lt,y),at[e]=y,at[f]=Ft,i)if(a={values:h?y:l(\"values\"),keys:o?y:l(\"keys\"),entries:g},s)for(u in a)u in p||st(p,u,a[u]);else Z(Z.P+Z.F*(It||d),e,a);return a},Bt=function(t){return function(e,n){var r,i,o=String(b(e)),s=ot(n),a=o.length;return s<0||s>=a?t?\"\":void 0:(r=o.charCodeAt(s),r<55296||r>56319||s+1===a||(i=o.charCodeAt(s+1))<56320||i>57343?t?o.charAt(s):r:t?o.slice(s,s+2):i-56320+(r-55296<<10)+65536)}}(!0);zt(String,\"String\",function(t){this._t=String(t),this._i=0},function(){var t,e=this._t,n=this._i;return n>=e.length?{value:void 0,done:!0}:(t=Bt(e,n),this._i+=t.length,{value:t,done:!1})});var Dt=function(t,e){return{value:e,done:!!t}};zt(Array,\"Array\",function(t,e){this._t=ft(t),this._i=0,this._k=e},function(){var t=this._t,e=this._k,n=this._i++;return!t||n>=t.length?(this._t=void 0,Dt(1)):\"keys\"==e?Dt(0,n):\"values\"==e?Dt(0,t[n]):Dt(0,[n,t[n]])},\"values\");at.Arguments=at.Array;for(var Ht=jt(\"toStringTag\"),Vt=\"CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,TextTrackList,TouchList\".split(\",\"),Wt=0;Wt<Vt.length;Wt++){var Gt=Vt[Wt],Ut=O[Gt],$t=Ut&&Ut.prototype;$t&&!$t[Ht]&&J($t,Ht,Gt),at[Gt]=at.Array}var Kt={f:jt},Yt=Kt.f(\"iterator\"),Xt=e(function(t){t.exports={default:Yt,__esModule:!0}});t(Xt);var Jt=e(function(t){var e=M(\"meta\"),n=Y.f,r=0,i=Object.isExtensible||function(){return!0},o=!D(function(){return i(Object.preventExtensions({}))}),s=function(t){n(t,e,{value:{i:\"O\"+ ++r,w:{}}})},a=function(t,n){if(!z(t))return\"symbol\"==typeof t?t:(\"string\"==typeof t?\"S\":\"P\")+t;if(!T(t,e)){if(!i(t))return\"F\";if(!n)return\"E\";s(t)}return t[e].i},u=function(t,n){if(!T(t,e)){if(!i(t))return!0;if(!n)return!1;s(t)}return t[e].w},c=function(t){return o&&l.NEED&&i(t)&&!T(t,e)&&s(t),t},l=t.exports={KEY:e,NEED:!1,fastKey:a,getWeak:u,onFreeze:c}}),qt=(Jt.KEY,Jt.NEED,Jt.fastKey,Jt.getWeak,Jt.onFreeze,Y.f),Zt=function(t){var e=S.Symbol||(S.Symbol={});\"_\"==t.charAt(0)||t in e||qt(e,t,{value:Kt.f(t)})},Qt={f:Object.getOwnPropertySymbols},te={f:{}.propertyIsEnumerable},ee=function(t){var e=bt(t),n=Qt.f;if(n)for(var r,i=n(t),o=te.f,s=0;i.length>s;)o.call(t,r=i[s++])&&e.push(r);return e},ne=Array.isArray||function(t){return\"Array\"==ct(t)},re=xt.concat(\"length\",\"prototype\"),ie={f:Object.getOwnPropertyNames||function(t){return _t(t,re)}},oe=ie.f,se={}.toString,ae=\"object\"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],ue=function(t){try{return oe(t)}catch(t){return ae.slice()}},ce={f:function(t){return ae&&\"[object Window]\"==se.call(t)?ue(t):oe(ft(t))}},le=Object.getOwnPropertyDescriptor,fe={f:H?le:function(t,e){if(t=ft(t),e=$(e,!0),U)try{return le(t,e)}catch(t){}if(T(t,e))return X(!te.f.call(t,e),t[e])}},he=Jt.KEY,de=fe.f,pe=Y.f,ve=ce.f,ye=O.Symbol,ge=O.JSON,me=ge&&ge.stringify,_e=jt(\"_hidden\"),xe=jt(\"toPrimitive\"),be={}.propertyIsEnumerable,ke=E(\"symbol-registry\"),we=E(\"symbols\"),Te=E(\"op-symbols\"),Se=Object.prototype,Oe=\"function\"==typeof ye&&!!Qt.f,Ee=O.QObject,Pe=!Ee||!Ee.prototype||!Ee.prototype.findChild,je=H&&D(function(){return 7!=Pt(pe({},\"a\",{get:function(){return pe(this,\"a\",{value:7}).a}})).a})?function(t,e,n){var r=de(Se,e);r&&delete Se[e],pe(t,e,n),r&&t!==Se&&pe(Se,e,r)}:pe,Me=function(t){var e=we[t]=Pt(ye.prototype);return e._k=t,e},Ae=Oe&&\"symbol\"==typeof ye.iterator?function(t){return\"symbol\"==typeof t}:function(t){return t instanceof ye},Ce=function(t,e,n){return t===Se&&Ce(Te,e,n),B(t),e=$(e,!0),B(n),T(we,e)?(n.enumerable?(T(t,_e)&&t[_e][e]&&(t[_e][e]=!1),n=Pt(n,{enumerable:X(0,!1)})):(T(t,_e)||pe(t,_e,X(1,{})),t[_e][e]=!0),je(t,e,n)):pe(t,e,n)},Re=function(t,e){B(t);for(var n,r=ee(e=ft(e)),i=0,o=r.length;o>i;)Ce(t,n=r[i++],e[n]);return t},Ne=function(t,e){return void 0===e?Pt(t):Re(Pt(t),e)},Le=function(t){var e=be.call(this,t=$(t,!0));return!(this===Se&&T(we,t)&&!T(Te,t))&&(!(e||!T(this,t)||!T(we,t)||T(this,_e)&&this[_e][t])||e)},Ie=function(t,e){if(t=ft(t),e=$(e,!0),t!==Se||!T(we,e)||T(Te,e)){var n=de(t,e);return!n||!T(we,e)||T(t,_e)&&t[_e][e]||(n.enumerable=!0),n}},Fe=function(t){for(var e,n=ve(ft(t)),r=[],i=0;n.length>i;)T(we,e=n[i++])||e==_e||e==he||r.push(e);return r},ze=function(t){for(var e,n=t===Se,r=ve(n?Te:ft(t)),i=[],o=0;r.length>o;)!T(we,e=r[o++])||n&&!T(Se,e)||i.push(we[e]);return i};Oe||(st((ye=function(){if(this instanceof ye)throw TypeError(\"Symbol is not a constructor!\");var t=M(arguments.length>0?arguments[0]:void 0),e=function(n){this===Se&&e.call(Te,n),T(this,_e)&&T(this[_e],t)&&(this[_e][t]=!1),je(this,t,X(1,n))};return H&&Pe&&je(Se,t,{configurable:!0,set:e}),Me(t)}).prototype,\"toString\",function(){return this._k}),fe.f=Ie,Y.f=Ce,ie.f=ce.f=Fe,te.f=Le,Qt.f=ze,Kt.f=function(t){return Me(jt(t))}),Z(Z.G+Z.W+Z.F*!Oe,{Symbol:ye});for(var Be=\"hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables\".split(\",\"),De=0;Be.length>De;)jt(Be[De++]);for(var He=bt(jt.store),Ve=0;He.length>Ve;)Zt(He[Ve++]);Z(Z.S+Z.F*!Oe,\"Symbol\",{for:function(t){return T(ke,t+=\"\")?ke[t]:ke[t]=ye(t)},keyFor:function(t){if(!Ae(t))throw TypeError(t+\" is not a symbol!\");for(var e in ke)if(ke[e]===t)return e},useSetter:function(){Pe=!0},useSimple:function(){Pe=!1}}),Z(Z.S+Z.F*!Oe,\"Object\",{create:Ne,defineProperty:Ce,defineProperties:Re,getOwnPropertyDescriptor:Ie,getOwnPropertyNames:Fe,getOwnPropertySymbols:ze});var We=D(function(){Qt.f(1)});Z(Z.S+Z.F*We,\"Object\",{getOwnPropertySymbols:function(t){return Qt.f(k(t))}}),ge&&Z(Z.S+Z.F*(!Oe||D(function(){var t=ye();return\"[null]\"!=me([t])||\"{}\"!=me({a:t})||\"{}\"!=me(Object(t))})),\"JSON\",{stringify:function(t){for(var e,n,r=[t],i=1;arguments.length>i;)r.push(arguments[i++]);if(n=e=r[1],(z(e)||void 0!==t)&&!Ae(t))return ne(e)||(e=function(t,e){if(\"function\"==typeof n&&(e=n.call(this,t,e)),!Ae(e))return e}),r[1]=e,me.apply(ge,r)}}),ye.prototype[xe]||J(ye.prototype,xe,ye.prototype.valueOf),Ct(ye,\"Symbol\"),Ct(Math,\"Math\",!0),Ct(O.JSON,\"JSON\",!0),Zt(\"asyncIterator\"),Zt(\"observable\");var Ge=S.Symbol,Ue=e(function(t){t.exports={default:Ge,__esModule:!0}});t(Ue);var $e=e(function(t,e){function n(t){return t&&t.__esModule?t:{default:t}}e.__esModule=!0;var r=n(Xt),i=n(Ue),o=\"function\"==typeof i.default&&\"symbol\"==typeof r.default?function(t){return typeof t}:function(t){return t&&\"function\"==typeof i.default&&t.constructor===i.default&&t!==i.default.prototype?\"symbol\":typeof t};e.default=\"function\"==typeof i.default&&\"symbol\"===o(r.default)?function(t){return void 0===t?\"undefined\":o(t)}:function(t){return t&&\"function\"==typeof i.default&&t.constructor===i.default&&t!==i.default.prototype?\"symbol\":void 0===t?\"undefined\":o(t)}}),Ke=t($e),Ye=t(e(function(t,e){e.__esModule=!0;var n=function(t){return t&&t.__esModule?t:{default:t}}($e);e.default=function(t,e){if(!t)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!e||\"object\"!==(void 0===e?\"undefined\":(0,n.default)(e))&&\"function\"!=typeof e?t:e}}));Z(Z.S+Z.F*!H,\"Object\",{defineProperty:Y.f});var Xe=S.Object,Je=function(t,e,n){return Xe.defineProperty(t,e,n)},qe=e(function(t){t.exports={default:Je,__esModule:!0}});t(qe);var Ze=t(e(function(t,e){e.__esModule=!0;var n=function(t){return t&&t.__esModule?t:{default:t}}(qe);e.default=function(){function t(t,e){for(var r=0;r<e.length;r++){var i=e[r];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),(0,n.default)(t,i.key,i)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}()})),Qe=function(t,e){if(B(t),!z(e)&&null!==e)throw TypeError(e+\": can't set as prototype!\")},tn={set:Object.setPrototypeOf||(\"__proto__\"in{}?function(t,e,n){try{(n=F(Function.call,fe.f(Object.prototype,\"__proto__\").set,2))(t,[]),e=!(t instanceof Array)}catch(t){e=!0}return function(t,r){return Qe(t,r),e?t.__proto__=r:n(t,r),t}}({},!1):void 0),check:Qe};Z(Z.S,\"Object\",{setPrototypeOf:tn.set});var en=S.Object.setPrototypeOf,nn=e(function(t){t.exports={default:en,__esModule:!0}});t(nn),Z(Z.S,\"Object\",{create:Pt});var rn=S.Object,on=function(t,e){return rn.create(t,e)},sn=e(function(t){t.exports={default:on,__esModule:!0}});t(sn);var an,un,cn,ln=t(e(function(t,e){function n(t){return t&&t.__esModule?t:{default:t}}e.__esModule=!0;var r=n(nn),i=n(sn),o=n($e);e.default=function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+(void 0===e?\"undefined\":(0,o.default)(e)));t.prototype=(0,i.default)(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(r.default?(0,r.default)(t,e):t.__proto__=e)}})),fn=jt(\"toStringTag\"),hn=\"Arguments\"==ct(function(){return arguments}()),dn=function(t,e){try{return t[e]}catch(t){}},pn=function(t){var e,n,r;return void 0===t?\"Undefined\":null===t?\"Null\":\"string\"==typeof(n=dn(e=Object(t),fn))?n:hn?ct(e):\"Object\"==(r=ct(e))&&\"function\"==typeof e.callee?\"Arguments\":r},vn=function(t,e,n,r){if(!(t instanceof e)||void 0!==r&&r in t)throw TypeError(n+\": incorrect invocation!\");return t},yn=function(t,e,n,r){try{return r?e(B(n)[0],n[1]):e(n)}catch(e){var i=t.return;throw void 0!==i&&B(i.call(t)),e}},gn=jt(\"iterator\"),mn=Array.prototype,_n=function(t){return void 0!==t&&(at.Array===t||mn[gn]===t)},xn=jt(\"iterator\"),bn=S.getIteratorMethod=function(t){if(void 0!=t)return t[xn]||t[\"@@iterator\"]||at[pn(t)]},kn=e(function(t){var e={},n={},r=t.exports=function(t,r,i,o,s){var a,u,c,l,f=s?function(){return t}:bn(t),h=F(i,o,r?2:1),d=0;if(\"function\"!=typeof f)throw TypeError(t+\" is not iterable!\");if(_n(f)){for(a=dt(t.length);a>d;d++)if((l=r?h(B(u=t[d])[0],u[1]):h(t[d]))===e||l===n)return l}else for(c=f.call(t);!(u=c.next()).done;)if((l=yn(c,h,u.value,r))===e||l===n)return l};r.BREAK=e,r.RETURN=n}),wn=jt(\"species\"),Tn=function(t,e){var n,r=B(t).constructor;return void 0===r||void 0==(n=B(r)[wn])?e:I(n)},Sn=function(t,e,n){var r=void 0===n;switch(e.length){case 0:return r?t():t.call(n);case 1:return r?t(e[0]):t.call(n,e[0]);case 2:return r?t(e[0],e[1]):t.call(n,e[0],e[1]);case 3:return r?t(e[0],e[1],e[2]):t.call(n,e[0],e[1],e[2]);case 4:return r?t(e[0],e[1],e[2],e[3]):t.call(n,e[0],e[1],e[2],e[3])}return t.apply(n,e)},On=O.process,En=O.setImmediate,Pn=O.clearImmediate,jn=O.MessageChannel,Mn=O.Dispatch,An=0,Cn={},Rn=function(){var t=+this;if(Cn.hasOwnProperty(t)){var e=Cn[t];delete Cn[t],e()}},Nn=function(t){Rn.call(t.data)};En&&Pn||(En=function(t){for(var e=[],n=1;arguments.length>n;)e.push(arguments[n++]);return Cn[++An]=function(){Sn(\"function\"==typeof t?t:Function(t),e)},an(An),An},Pn=function(t){delete Cn[t]},\"process\"==ct(On)?an=function(t){On.nextTick(F(Rn,t,1))}:Mn&&Mn.now?an=function(t){Mn.now(F(Rn,t,1))}:jn?(cn=(un=new jn).port2,un.port1.onmessage=Nn,an=F(cn.postMessage,cn,1)):O.addEventListener&&\"function\"==typeof postMessage&&!O.importScripts?(an=function(t){O.postMessage(t+\"\",\"*\")},O.addEventListener(\"message\",Nn,!1)):an=\"onreadystatechange\"in G(\"script\")?function(t){Tt.appendChild(G(\"script\")).onreadystatechange=function(){Tt.removeChild(this),Rn.call(t)}}:function(t){setTimeout(F(Rn,t,1),0)});var Ln={set:En,clear:Pn},In=Ln.set,Fn=O.MutationObserver||O.WebKitMutationObserver,zn=O.process,Bn=O.Promise,Dn=\"process\"==ct(zn),Hn={f:function(t){return new n(t)}},Vn=function(t){try{return{e:!1,v:t()}}catch(t){return{e:!0,v:t}}},Wn=O.navigator,Gn=Wn&&Wn.userAgent||\"\",Un=function(t,e){if(B(t),z(e)&&e.constructor===t)return e;var n=Hn.f(t);return(0,n.resolve)(e),n.promise},$n=jt(\"species\"),Kn=jt(\"iterator\"),Yn=!1;try{var Xn=[7][Kn]();Xn.return=function(){Yn=!0},Array.from(Xn,function(){throw 2})}catch(t){}var Jn,qn,Zn,Qn,tr=Ln.set,er=function(){var t,e,n,r=function(){var r,i;for(Dn&&(r=zn.domain)&&r.exit();t;){i=t.fn,t=t.next;try{i()}catch(r){throw t?n():e=void 0,r}}e=void 0,r&&r.enter()};if(Dn)n=function(){zn.nextTick(r)};else if(!Fn||O.navigator&&O.navigator.standalone)if(Bn&&Bn.resolve){var i=Bn.resolve(void 0);n=function(){i.then(r)}}else n=function(){In.call(O,r)};else{var o=!0,s=document.createTextNode(\"\");new Fn(r).observe(s,{characterData:!0}),n=function(){s.data=o=!o}}return function(r){var i={fn:r,next:void 0};e&&(e.next=i),t||(t=i,n()),e=i}}(),nr=O.TypeError,rr=O.process,ir=rr&&rr.versions,or=ir&&ir.v8||\"\",sr=O.Promise,ar=\"process\"==pn(rr),ur=function(){},cr=qn=Hn.f,lr=!!function(){try{var t=sr.resolve(1),e=(t.constructor={})[jt(\"species\")]=function(t){t(ur,ur)};return(ar||\"function\"==typeof PromiseRejectionEvent)&&t.then(ur)instanceof e&&0!==or.indexOf(\"6.6\")&&-1===Gn.indexOf(\"Chrome/66\")}catch(t){}}(),fr=function(t){var e;return!(!z(t)||\"function\"!=typeof(e=t.then))&&e},hr=function(t,e){if(!t._n){t._n=!0;var n=t._c;er(function(){for(var r=t._v,i=1==t._s,o=0;n.length>o;)!function(e){var n,o,s,a=i?e.ok:e.fail,u=e.resolve,c=e.reject,l=e.domain;try{a?(i||(2==t._h&&vr(t),t._h=1),!0===a?n=r:(l&&l.enter(),n=a(r),l&&(l.exit(),s=!0)),n===e.promise?c(nr(\"Promise-chain cycle\")):(o=fr(n))?o.call(n,u,c):u(n)):c(r)}catch(t){l&&!s&&l.exit(),c(t)}}(n[o++]);t._c=[],t._n=!1,e&&!t._h&&dr(t)})}},dr=function(t){tr.call(O,function(){var e,n,r,i=t._v,o=pr(t);if(o&&(e=Vn(function(){ar?rr.emit(\"unhandledRejection\",i,t):(n=O.onunhandledrejection)?n({promise:t,reason:i}):(r=O.console)&&r.error&&r.error(\"Unhandled promise rejection\",i)}),t._h=ar||pr(t)?2:1),t._a=void 0,o&&e.e)throw e.v})},pr=function(t){return 1!==t._h&&0===(t._a||t._c).length},vr=function(t){tr.call(O,function(){var e;ar?rr.emit(\"rejectionHandled\",t):(e=O.onrejectionhandled)&&e({promise:t,reason:t._v})})},yr=function(t){var e=this;e._d||(e._d=!0,(e=e._w||e)._v=t,e._s=2,e._a||(e._a=e._c.slice()),hr(e,!0))},gr=function(t){var e,n=this;if(!n._d){n._d=!0,n=n._w||n;try{if(n===t)throw nr(\"Promise can't be resolved itself\");(e=fr(t))?er(function(){var r={_w:n,_d:!1};try{e.call(t,F(gr,r,1),F(yr,r,1))}catch(t){yr.call(r,t)}}):(n._v=t,n._s=1,hr(n,!1))}catch(t){yr.call({_w:n,_d:!1},t)}}};lr||(sr=function(t){vn(this,sr,\"Promise\",\"_h\"),I(t),Jn.call(this);try{t(F(gr,this,1),F(yr,this,1))}catch(t){yr.call(this,t)}},(Jn=function(t){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1}).prototype=function(t,e,n){for(var r in e)n&&t[r]?t[r]=e[r]:J(t,r,e[r]);return t}(sr.prototype,{then:function(t,e){var n=cr(Tn(this,sr));return n.ok=\"function\"!=typeof t||t,n.fail=\"function\"==typeof e&&e,n.domain=ar?rr.domain:void 0,this._c.push(n),this._a&&this._a.push(n),this._s&&hr(this,!1),n.promise},catch:function(t){return this.then(void 0,t)}}),Zn=function(){var t=new Jn;this.promise=t,this.resolve=F(gr,t,1),this.reject=F(yr,t,1)},Hn.f=cr=function(t){return t===sr||t===Qn?new Zn(t):qn(t)}),Z(Z.G+Z.W+Z.F*!lr,{Promise:sr}),Ct(sr,\"Promise\"),function(t){var e=\"function\"==typeof S[t]?S[t]:O[t];H&&e&&!e[$n]&&Y.f(e,$n,{configurable:!0,get:function(){return this}})}(\"Promise\"),Qn=S.Promise,Z(Z.S+Z.F*!lr,\"Promise\",{reject:function(t){var e=cr(this);return(0,e.reject)(t),e.promise}}),Z(Z.S+!0*Z.F,\"Promise\",{resolve:function(t){return Un(this===Qn?sr:this,t)}}),Z(Z.S+Z.F*!(lr&&function(t,e){if(!e&&!Yn)return!1;var n=!1;try{var r=[7],i=r[Kn]();i.next=function(){return{done:n=!0}},r[Kn]=function(){return i},t(r)}catch(t){}return n}(function(t){sr.all(t).catch(ur)})),\"Promise\",{all:function(t){var e=this,n=cr(e),r=n.resolve,i=n.reject,o=Vn(function(){var n=[],o=0,s=1;kn(t,!1,function(t){var a=o++,u=!1;n.push(void 0),s++,e.resolve(t).then(function(t){u||(u=!0,n[a]=t,--s||r(n))},i)}),--s||r(n)});return o.e&&i(o.v),n.promise},race:function(t){var e=this,n=cr(e),r=n.reject,i=Vn(function(){kn(t,!1,function(t){e.resolve(t).then(n.resolve,r)})});return i.e&&r(i.v),n.promise}}),Z(Z.P+Z.R,\"Promise\",{finally:function(t){var e=Tn(this,S.Promise||O.Promise),n=\"function\"==typeof t;return this.then(n?function(n){return Un(e,t()).then(function(){return n})}:t,n?function(n){return Un(e,t()).then(function(){throw n})}:t)}}),Z(Z.S,\"Promise\",{try:function(t){var e=Hn.f(this),n=Vn(t);return(n.e?e.reject:e.resolve)(n.v),e.promise}});var mr=S.Promise,_r=t(e(function(t){t.exports={default:mr,__esModule:!0}}));Q(\"keys\",function(){return function(t){return bt(k(t))}});var xr=S.Object.keys,br=t(e(function(t){t.exports={default:xr,__esModule:!0}})),kr=e(function(t){function e(){}function n(t,e,n){this.fn=t,this.context=e,this.once=n||!1}function r(t,e,r,i,o){if(\"function\"!=typeof r)throw new TypeError(\"The listener must be a function\");var s=new n(r,i||t,o),u=a?a+e:e;return t._events[u]?t._events[u].fn?t._events[u]=[t._events[u],s]:t._events[u].push(s):(t._events[u]=s,t._eventsCount++),t}function i(t,n){0==--t._eventsCount?t._events=new e:delete t._events[n]}function o(){this._events=new e,this._eventsCount=0}var s=Object.prototype.hasOwnProperty,a=\"~\";Object.create&&(e.prototype=Object.create(null),(new e).__proto__||(a=!1)),o.prototype.eventNames=function(){var t,e,n=[];if(0===this._eventsCount)return n;for(e in t=this._events)s.call(t,e)&&n.push(a?e.slice(1):e);return Object.getOwnPropertySymbols?n.concat(Object.getOwnPropertySymbols(t)):n},o.prototype.listeners=function(t){var e=a?a+t:t,n=this._events[e];if(!n)return[];if(n.fn)return[n.fn];for(var r=0,i=n.length,o=new Array(i);r<i;r++)o[r]=n[r].fn;return o},o.prototype.listenerCount=function(t){var e=a?a+t:t,n=this._events[e];return n?n.fn?1:n.length:0},o.prototype.emit=function(t,e,n,r,i,o){var s=a?a+t:t;if(!this._events[s])return!1;var u,c,l=this._events[s],f=arguments.length;if(l.fn){switch(l.once&&this.removeListener(t,l.fn,void 0,!0),f){case 1:return l.fn.call(l.context),!0;case 2:return l.fn.call(l.context,e),!0;case 3:return l.fn.call(l.context,e,n),!0;case 4:return l.fn.call(l.context,e,n,r),!0;case 5:return l.fn.call(l.context,e,n,r,i),!0;case 6:return l.fn.call(l.context,e,n,r,i,o),!0}for(c=1,u=new Array(f-1);c<f;c++)u[c-1]=arguments[c];l.fn.apply(l.context,u)}else{var h,d=l.length;for(c=0;c<d;c++)switch(l[c].once&&this.removeListener(t,l[c].fn,void 0,!0),f){case 1:l[c].fn.call(l[c].context);break;case 2:l[c].fn.call(l[c].context,e);break;case 3:l[c].fn.call(l[c].context,e,n);break;case 4:l[c].fn.call(l[c].context,e,n,r);break;default:if(!u)for(h=1,u=new Array(f-1);h<f;h++)u[h-1]=arguments[h];l[c].fn.apply(l[c].context,u)}}return!0},o.prototype.on=function(t,e,n){return r(this,t,e,n,!1)},o.prototype.once=function(t,e,n){return r(this,t,e,n,!0)},o.prototype.removeListener=function(t,e,n,r){var o=a?a+t:t;if(!this._events[o])return this;if(!e)return i(this,o),this;var s=this._events[o];if(s.fn)s.fn!==e||r&&!s.once||n&&s.context!==n||i(this,o);else{for(var u=0,c=[],l=s.length;u<l;u++)(s[u].fn!==e||r&&!s[u].once||n&&s[u].context!==n)&&c.push(s[u]);c.length?this._events[o]=1===c.length?c[0]:c:i(this,o)}return this},o.prototype.removeAllListeners=function(t){var n;return t?(n=a?a+t:t,this._events[n]&&i(this,n)):(this._events=new e,this._eventsCount=0),this},o.prototype.off=o.prototype.removeListener,o.prototype.addListener=o.prototype.on,o.prefixed=a,o.EventEmitter=o,t.exports=o}),wr=function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=e.url,r=e.method,i=void 0===r?\"GET\":r,o=e.type,s=void 0===o?\"arraybuffer\":o,a=e.timeout,u=void 0===a?1e4:a,c=e.data,l=void 0===c?{}:c,f=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return nt(this,t),new _r(function(t,e){var r=new window.XMLHttpRequest,o=i.toUpperCase(),a=[];s&&(r.responseType=s),u&&(r.timeout=u);for(var c in l)a.push(\"k=\"+l[c]);if(r.onload=function(){200===r.status||206===r.status?t({context:f,res:r}):e(new Error({context:f,res:r,type:\"error\"}))},r.onerror=function(t){e(new Error({context:f,res:r,type:\"error\"}))},r.ontimeout=function(t){e(new Error({context:f,res:r,type:\"error\"}))},r.onabort=function(){e(new Error({context:f,res:r,type:\"error\"}))},\"GET\"===o)r.open(o,\"\"+n),r.send();else{if(\"post\"!==o)throw new Error(\"xhr \"+o+\" is not supported\");r.open(o,n),r.setRequestHeader(\"Content-type\",\"application/x-www-form-urlencoded\"),r.send(a.join(\"&\"))}})},Tr=/^WEBVTT/,Sr=/^STYLE+$/,Or=/^\\:\\:cue/,Er=/^}+$/,Pr=/^\\[Script Info\\].*/,jr=[/[0-9]{2}:[0-9]{2}:[0-9]{2}\\.[0-9]{3}-->[0-9]{2}:[0-9]{2}:[0-9]{2}\\.[0-9]{3}/,/[0-9]{2}:[0-9]{2}\\.[0-9]{3}-->[0-9]{2}:[0-9]{2}\\.[0-9]{3}/,/[0-9]{2}\\.[0-9]{3}-->[0-9]{2}\\.[0-9]{3}/],Mr=/^Format:\\s/,Ar=/^Style:\\s/,Cr=/^Dialogue:\\s/,Rr=function(){function t(){nt(this,t)}return Ze(t,null,[{key:\"parse\",value:function(e,n){var r=t.checkFormat(e);r||n({format:r});try{var i=[];\"ass\"===r?i=t.parseASS(e):\"vtt\"===r&&(i=t.parseVTT(e)),n({format:r,list:i.list,styles:i.styles})}catch(t){console.error(t),n({format:r},t)}}},{key:\"parseASSItem\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"\",e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=t.split(\",\"),i={},s=\"\";try{var a=n.length-e.length;return s=a>0?n.splice(e.length-1,a+1).join(\",\")+\"\":n[n.length-1]+\"\",s=s.replace(/\\\\n+/g,\"\"),s=o(s),n[e.length-1]=s,e.map(function(t,e){\"end\"===t||\"start\"===t?i[t]=r(n[e].split(\":\")):\"text\"===t?i[t]=[n[e]]:\"layer\"===t?(i[t]=[n[e]],i.textTag=[n[e]]):i[t]=\"style\"===t?[n[e]]:Number(n[e])?Number(n[e]):n[e]}),i}catch(t){return console.error(t),{}}}},{key:\"parseASS\",value:function(e){for(var n=e.split(\"\\n\"),r=[],i=0,o=0,s=[],a=[],u=null;i<n.length;){if(Mr.test(n[i]))a=(a=n[i].replace(Mr,\"\").replace(/\\s+/g,\"\").split(\",\")).map(function(t){return t.toLocaleLowerCase()});else if(Ar.test(n[i]))s.push(n[i].replace(Ar,\"\").replace(/\\s+/g,\"\"));else if(Cr.test(n[i])){var c=t.parseASSItem(n[i].replace(Cr,\"\"),a);if(u&&c.start===u.start&&c.end===u.end)try{var l=u,f=l.text,h=l.textTag,d=l.style;f.push(c.text[0]),h.push(c.textTag[0]),d.push(c.style[0])}catch(t){console.error(t)}else{u=c;var p=null;o%50==0?((p={start:u.start,end:u.end,list:[]}).list.push(u),r.push(p)):((p=r[r.length-1]).end=u.end,p.list.push(u)),o++}}i++}return{list:r,style:{}}}},{key:\"parseVTTStyle\",value:function(t,e){var n=t.split(\":\");if(n.length>1){var r=n[0].trim().split(\"-\"),i=\"\";r.length>1?r.map(function(t,e){i+=0===e?t:t.charAt(0).toUpperCase()+t.slice(1)}):i=r[0],e[i]=n[1].trim().replace(/;$/,\"\")}return e}},{key:\"parseVTT\",value:function(t){for(var e=(t=t.replace(Tr,\"\")).split(\"\\n\"),n=[],r=0,o=0,a=null,u=!1,c=!1,l=null,f=null,h=[];r<e.length;){var d=s(r,e).trim();if(!d||u&&i(d))u=!d;else if(Or.test(d)&&Sr.test(s(r-1,e).trim())){c=!0;var p=/\\((.+?)\\)/g.exec(d);f=p?p[1]:\"\",l=\"\"}else if(c)Er.test(d)?(h.push({key:f,style:l}),l=null,f=null,c=!1):l+=d;else if(d){u=!1;var v=this.checkIsTime(e[r]);if(v){var y=this.parseVttTime(v);if(!a||y.start!==a.start||y.end!==a.end){(a=y).text=[],a.textTag=[];var g=null;o%50==0?((g={start:a.start,end:a.end,list:[]}).list.push(a),n.push(g)):((g=n[n.length-1]).end=a.end,g.list.push(a)),o++}}else if(a){var m=a,_=m.text,x=m.textTag,b=this.parseVttText(e[r]);_.push(b.text),x.push(b.tag)}u=!1}r++}return{list:n,styles:h}}},{key:\"checkIsTime\",value:function(t){t=t.replace(/\\s+/g,\"\");for(var e=0,n=null;e<jr.length&&!(n=jr[e].exec(t));)e++;return n?n[0]:null}},{key:\"parseVttText\",value:function(t){var e=/^(<?.+?>)/g.exec(t),n=\"\",r=\"default\";if(e){r=e[0].replace(/\\<|\\>|\\&/g,\"\");var i=RegExp(\"^<\"+r+\">(([\\\\s\\\\S])*?)</\"+r+\">$\").exec(t);i?n=i[1]:(n=t,r=\"\")}else n=t;for(var s=/<(\\w+).(\\w+)>/g,a=s.exec(n);a&&a.length>2;)n=n.replace(a[0],\"<\"+a[1]+' class=\"'+a[2]+'\">'),a=s.exec(n);return{tag:r,text:o(n.replace(/\\\\n+/g,\"<br/>\"))}}},{key:\"parseVttTime\",value:function(t){var e=t.split(\"--\\x3e\"),n=void 0,i=0;if(2===e.length){var o=e[0].split(\":\"),s=e[1].split(\":\");n=r(o),i=r(s)}return{start:n,end:i,time:t}}},{key:\"isVTT\",value:function(t){return Tr.test(t)}},{key:\"isASS\",value:function(t){return Pr.test(t)}},{key:\"checkFormat\",value:function(t){return t?Tr.test(t)?\"vtt\":Pr.test(t)?\"ass\":null:null}}]),t}(),Nr=function(){function t(){var e=this;nt(this,t),this.__handlers=[],window.ResizeObserver&&(this.observer=new window.ResizeObserver(function(t){e.__trigger(t)}))}return Ze(t,[{key:\"addObserver\",value:function(t,e){if(this.observer){this.observer&&this.observer.observe(t);for(var n=this.__handlers,r=-1,i=0;i<n.length;i++)n[i]&&t===n[i].target&&(r=i);r>-1?this.__handlers[r].handler.push(e):this.__handlers.push({target:t,handler:[e]})}}},{key:\"unObserver\",value:function(t){var e=-1;this.__handlers.map(function(n,r){t===n.target&&(e=r)}),this.observer&&this.observer.unobserve(t),e>-1&&this.__handlers.splice(e,1)}},{key:\"destroyObserver\",value:function(){this.observer&&this.observer.disconnect(),this.observer=null,this.__handlers=null}},{key:\"__runHandler\",value:function(t,e){for(var n=this.__handlers,r=0;r<n.length;r++)if(n[r]&&t===n[r].target){n[r].handler&&n[r].handler.map(function(n){try{n(t,e)}catch(t){console.error(t)}});break}}},{key:\"__trigger\",value:function(t){var e=this;t.map(function(t){var n=t.contentRect;e.__runHandler(t.target,n)})}}]),t}(),Lr=null;!function(t,e){void 0===e&&(e={});var n=e.insertAt;if(t&&\"undefined\"!=typeof document){var r=document.head||document.getElementsByTagName(\"head\")[0],i=document.createElement(\"style\");i.type=\"text/css\",\"top\"===n&&r.firstChild?r.insertBefore(i,r.firstChild):r.appendChild(i),i.styleSheet?i.styleSheet.cssText=t:i.appendChild(document.createTextNode(t))}}('xg-text-track.xg-text-track {\\n font-family: \"PingFang SC\",\"SF Pro SC\",\"SF Pro Text\",\"SF Pro Icons\",\"Helvetica Neue\",\"Helvetica\",\"Arial\",sans-serif;\\n -webkit-font-smoothing: antialiased;\\n position: absolute;\\n bottom: 0;\\n color: #fff;\\n left: 0;\\n right: 0;\\n pointer-events: none;\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-pack: center;\\n -ms-flex-pack: center;\\n justify-content: center; }\\n xg-text-track.xg-text-track.text-track-no-fitvideo {\\n margin-bottom: 2%; }\\n xg-text-track.xg-text-track.text-track-hide {\\n opacity: 0;\\n visibility: hidden; }\\n xg-text-track.xg-text-track.text-track-show {\\n opacity: 1;\\n visibility: visible; }\\n xg-text-track.xg-text-track xg-text-track-inner {\\n display: block;\\n max-width: 92%; }\\n xg-text-track.xg-text-track xg-text-track-span {\\n display: -webkit-box;\\n text-align: center;\\n text-overflow: ellipsis;\\n -webkit-box-orient: vertical;\\n overflow: hidden;\\n padding: 1px 4px;\\n -webkit-line-clamp: 1;\\n line-height: 120%;\\n word-break: break-word; }\\n xg-text-track.xg-text-track xg-text-track-span.text-track-deputy {\\n font-size: 75%; }\\n xg-text-track.xg-text-track xg-text-track-span.text-track-single {\\n -webkit-line-clamp: 1; }\\n xg-text-track.xg-text-track xg-text-track-span.text-track-double {\\n -webkit-line-clamp: 2; }\\n xg-text-track.xg-text-track xg-text-track-span.text-track-three {\\n -webkit-line-clamp: 3; }\\n xg-text-track.xg-text-track.text-track-bg xg-text-track-inner {\\n background-color: rgba(0, 0, 0, .54);\\n border-radius: 2px; }\\n xg-text-track.xg-text-track.text-track-stroke xg-text-track-inner {\\n background-color: none;\\n border-radius: 0;\\n text-shadow: -1px 1px 0 rgba(0, 0, 0, .7), 1px 1px 0 rgba(0, 0, 0, .7), 1px -1px 0 rgba(0, 0, 0, .7), -1px -1px 0 rgba(0, 0, 0, .7); }\\n');var Ir=[{code:0,msg:\"SUCCESS\"},{code:1,msg:\"LOAD_ERROR\"},{code:2,msg:\"PARSER_ERROR\"},{code:3,msg:\"FORMAT_NOT_SUPPORTED\"},{code:4,msg:\"ID_OR_LANGUAGE_NOT_EXIST\"},{code:5,msg:\"PARAMETERS_ERROR\"},{code:6,msg:\"ABORT\"},{code:7,msg:\"UNKNOWN\"}],Fr={RESIZE:\"resize\"},zr=!1;return function(t){function e(t){nt(this,e);var n=Ye(this,(e.__proto__||et(e)).call(this));return zr=p(),n.currentText=null,n.textTrack=[],n._cid=-1,n._gid=-1,n._cids=[],n._iId=null,n._iC=0,n.player=null,n.root=null,n.config={line:\"double\",bottom:0,mode:\"stroke\",defaultOpen:!1,baseSizeX:49,baseSizeY:28,minSize:16,minMobileSize:13,fitVideo:!0,offsetBottom:2,fontColor:\"#fff\"},n._ctime=0,n._loadingTrack={},br(n.config).map(function(e){void 0!==t[e]&&null!==t[e]&&(n.config[e]=t[e])}),n._isOpen=n.config.defaultOpen||!1,n._videoMeta={scale:0,videoHeight:0,videoWidth:0,lwidth:0,lheight:0,vWidth:0,vHeight:0,vBottom:0,vLeft:0,marginBottom:0},t.subTitles&&\"Array\"===h(t.subTitles)?(t.player&&n.attachPlayer(t.player),n.setSubTitles(t.subTitles),n):Ye(n)}return ln(e,t),Ze(e,[{key:\"version\",get:function(){return\"1.0.12\"}}]),Ze(e,[{key:\"setSubTitles\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=this,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],i=this._isOpen||n;r&&this.innerRoot&&this.switchOff(),this.currentText=null,this.textTrack=[],t.map(function(t){var n={};br(t).map(function(e){n[e]=t[e]}),n.isDefault&&(e.currentText=n),e.textTrack.push(n)}),this.currentText&&_(this.currentText).then(function(t){e.addStyles(t),i&&e.switch()})}},{key:\"addStyles\",value:function(t){var e=t.styles,n=t.format;e&&\"vtt\"===n&&(e.map(function(t){t.key||(t.key=\"xg-text-track-span\")}),v(e,\"xg-text-track\"))}},{key:\"attachPlayer\",value:function(t){var e=this;if(t){this.player&&this.detachPlayer();var n=this.config,r=n.fontColor,i=n.mode,o=n.fitVideo;this.player=t,this.root=document.createElement(\"xg-text-track\"),this.root.className=\"xg-text-track\",!this._isOpen&&u(this.root,\"text-track-hide\"),!o&&u(this.root,\"text-track-no-fitvideo\"),i&&u(this.root,\"text-track-\"+i),this.innerRoot=document.createElement(\"xg-text-track-inner\"),this.root.appendChild(this.innerRoot),r&&(this.root.style.color=r),this.currentText&&[\"language\",\"id\",\"label\"].map(function(t){e.root.setAttribute(\"data-\"+t,e.currentText[t]||\"\")}),this.player.root.appendChild(this.root),[\"destroy\",\"__onTimeupdate\",\"_onResize\"].map(function(t){e[t]=e[t].bind(e)}),this.player.on(\"destroy\",this.destroy),this.player.on(\"timeupdate\",this.__onTimeupdate),y(t.root,this._onResize)}}},{key:\"detachPlayer\",value:function(){var t=this.player;t&&(t.off(\"destroy\",this.destroy),t.off(\"timeupdate\",this.__onTimeupdate),t.root&&(g(t.root,this._onResize),t.root.removeChild(this.root)),this.innerRoot=null,this.root=null,this.player=null)}},{key:\"switch\",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{id:\"\",language:\"\"};return this._loadingTrack=e,new _r(function(n,r){if(!e.id&&!e.language){if(t.currentText){t._loadingTrack={},t._updateCurrent(t.currentText),t._isOpen=!0,t.show();var i=m(0,{message:\"switch default subtitle success\"});return void n(i)}var o=m(5,{message:\"no default subtitle\"});return void r(o)}if(t.currentText&&x(e,t.currentText))t._loadingTrack={},t._updateCurrent(t.currentText),t._isOpen=!0,t.show(),n(m(0));else{for(var s=null,a=0;a<t.textTrack.length;a++)if(x(e,t.textTrack[a])){s=t.textTrack[a];break}if(s)s.list?(t._loadingTrack={},t._updateCurrent(s),t._isOpen=!0,t.show(),n(m(0))):_(s).then(function(e){if(t.addStyles(e),t._loadingTrack.id===s.id||t._loadingTrack.language===e.language)t._loadingTrack={},t._updateCurrent(e),t._isOpen=!0,t.show(),n(m(0));else{var i=m(6,{message:\"check _loadingTrack fail id: \"+t._loadingTrack.id+\" nextSubtitle:\"+e.id});console.trace(i),r(i)}}).catch(function(t){r(t)});else{var u=m(4,new Error(\"The is no subtitle with id:[{\"+e.id+\"}] or language:[\"+e.language+\"]\"));console.trace(u),r(u)}}})}},{key:\"switchOff\",value:function(){this._isOpen=!1,this.hide()}},{key:\"_updateCurrent\",value:function(t){var e=this;this.currentText=t,[\"language\",\"id\",\"label\"].map(function(t){e.root.setAttribute(\"data-\"+t,e.currentText[t]||\"\")}),this.__remove(this._cids);var n=this.player.currentTime;this._cids=[],this._gid=-1,this._cid=-1,this._update(n)}},{key:\"__loadAll\",value:function(){this.textTrack.map(function(t){_(t)})}},{key:\"getDelCid\",value:function(t,e){for(var n=[],r=0;r<t.length;r++)e.includes(t[r])||n.push(t[r]);return n}},{key:\"getNewCid\",value:function(t,e){for(var n=[],r=0;r<e.length;r++)t.includes(e[r])||n.push(e[r]);return n}},{key:\"_update\",value:function(t){var e=this,n=l(t,this.currentText.list,this._gid),r=[];if(n>-1&&(r=f(t,this.currentText.list[n].list,this._cid)),r.length<1)return this._cids.length>0&&this.__remove(this._cids),void(this._cids=[]);if(this._cids!==r||n!==this._gid){this._gid=n,this._cid=r[0];var i=this.getDelCid(this._cids,r),o=this.getNewCid(this._cids,r);this._cids=r,this.__remove(i);var s=[];o.map(function(t){var r=e.currentText.list[n].list[t];r.index=t,s.push(r)}),this.__render(s,t)}}},{key:\"__onTimeupdate\",value:function(){if(this._isOpen){var t=this.player.video,e=t.videoWidth,n=t.videoHeight;!this._videoMeta.scale&&e&&n&&this._onResize(this.player.root);var r=this.player.currentTime;Math.round(Math.abs(1e3*r-this._ctime))<200||(this._ctime=1e3*r,this.currentText&&this.currentText.list&&this._update(r))}}},{key:\"_onResize\",value:function(t){var e=this._videoMeta;if(t&&t instanceof window.Element||(t=this.player.root),this._iId&&(clearTimeout(this._iId),this._iId=null),!e.scale){if(!this.player.video)return;var n=this.player.video,r=n.videoWidth,i=n.videoHeight;if(!r||!i)return;e.videoWidth=r,e.videoHeight=i,e.scale=parseInt(i/r*100,10)}this.__startResize(t)}},{key:\"resize\",value:function(t,e){var n=this,r=this.config,i=r.baseSizeX,o=r.baseSizeY,s=r.minMobileSize,a=r.minSize,u=r.fitVideo,c=r.offsetBottom,l=this._videoMeta.scale;this._videoMeta.lwidth=t,this._videoMeta.lheight=e;var f=void 0,h=0;e/t*100>=l?(h=parseInt(l*t,10)/100,f=t):(h=e,f=parseInt(e/l*100,10)),this._videoMeta.vWidth=f,this._videoMeta.vHeight=h;var d=0,p=0;l>120?(d=o,p=parseInt(d*h/1080,10)):(d=i,p=parseInt(d*f/1920,10));var v=zr?s:a,y={fontSize:p=p<v?v:p>d?d:p},g=parseInt((e-h)/2,10),m=parseInt((t-f)/2,10),_=parseInt(h*c,10)/100;this._videoMeta.vBottom=g,this._videoMeta.vLeft=m,this._videoMeta.marginBottom=_,u&&(y.bottom=g+_,y.left=y.right=m),br(y).map(function(t){n.root.style[t]=y[t]+\"px\"}),this.emit(Fr.RESIZE,{vLeft:m,vBottom:g,marginBottom:_,vWidth:f,vHeight:h,fontSize:p,scale:l})}},{key:\"__startResize\",value:function(t){var e=this,n=t.getBoundingClientRect(),r=this._videoMeta,i=n.width,o=n.height;if(this._iId&&(clearTimeout(this._iId),this._iId=null),i>0&&o>0&&(i!==r.lwidth||o!==r.lheight))this._iC=0,this.resize(i,o);else{if(this._iC>=5)return void(this._iC=0);this._iC++,this._iId=setTimeout(function(){e.__startResize(t)},50)}}},{key:\"__remove\",value:function(t){var e=this;if(t&&!(t.length<1)){for(var n=this.innerRoot.children,r=[],i=0;i<n.length;i++){var o=Number(n[i].getAttribute(\"data-index\"));t.includes(o)&&r.push(n[i])}r.map(function(t){e.innerRoot.removeChild(t)})}}},{key:\"__render\",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];e.length>0&&e.map(function(e){var n=\"text-track-\"+t.config.line;e.text.map(function(r,i){i>0&&(n+=\" text-track-deputy\");var o={\"data-tag\":e.textTag[i],\"data-start\":e.start,\"data-end\":e.end,\"data-index\":e.index};t.innerRoot.appendChild(d(\"xg-text-track-span\",r,o,n))})})}},{key:\"show\",value:function(){c(this.root,\"text-track-hide\")}},{key:\"hide\",value:function(){u(this.root,\"text-track-hide\"),this.innerRoot.innerHTML=\"\"}},{key:\"destroy\",value:function(){this.detachPlayer(),this.removeAllListeners(),this.player=null,this.textTrack=null}},{key:\"marginBottom\",get:function(){var t=this._videoMeta,e=t.bottom,n=t.marginBottom;return this.config.fitVideo?e+n:n}}]),e}(kr)});\n//# sourceMappingURL=index.min.js.map\n","import Player from '../player'\n\nimport I18n from './controls/i18n.js'\nimport Enter from './controls/enter.js'\nimport Play from './controls/play.js'\nimport Start from './controls/start.js'\nimport Poster from './controls/poster.js'\nimport Flex from './controls/flex.js'\nimport Fullscreen from './controls/fullscreen.js'\nimport CssFullscreen from './controls/cssFullscreen.js'\nimport Volume from './controls/volume.js'\nimport Definition from './controls/definition.js'\nimport Loading from './controls/loading.js'\nimport Progress from './controls/progress.js'\nimport Time from './controls/time.js'\nimport Replay from './controls/replay.js'\nimport PlaybackRate from './controls/playbackRate.js'\nimport LocalPreview from './controls/localPreview.js'\nimport Download from './controls/download.js'\nimport Danmu from './controls/danmu.js'\nimport Pip from './controls/pip.js'\nimport Miniplayer from './controls/miniplayer.js'\nimport PlayNext from './controls/playNext.js'\nimport Rotate from './controls/rotate.js'\nimport Reload from './controls/reload.js'\nimport ScreenShot from './controls/screenShot.js'\nimport NativeTextTrack from './controls/nativeTextTrack.js'\nimport TextTrack from './controls/textTrack.js'\nimport ErrorControl from './controls/error.js'\nimport MemoryPlay from './controls/memoryPlay.js'\nimport Airplay from './controls/airplay.js'\n\nPlayer.installAll([\n I18n,\n Enter,\n Play,\n Start,\n Poster,\n Flex,\n Fullscreen,\n CssFullscreen,\n Volume,\n Definition,\n Loading,\n Progress,\n Time,\n Replay,\n PlaybackRate,\n LocalPreview,\n Download,\n Danmu,\n Pip,\n Miniplayer,\n PlayNext,\n Rotate,\n Reload,\n ScreenShot,\n NativeTextTrack,\n TextTrack,\n ErrorControl,\n MemoryPlay,\n Airplay\n])","import { createDom } from '../../utils/util'\nimport '../style/controls/enter.scss'\n\nlet s_enter = function () {\n let player = this\n let root = player.root\n\n let barStr = ''\n for(let i = 1; i <= 12; i++) {\n barStr += `<div class=\"xgplayer-enter-bar${i}\"></div>`\n }\n let enter = createDom('xg-enter', `<div class=\"xgplayer-enter-spinner\">\n ${barStr}\n </div>`, {}, 'xgplayer-enter');\n root.appendChild(enter)\n}\n\nexport default {\n name: 's_enter',\n method: s_enter\n}","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./enter.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./enter.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./enter.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-enter{display:none;position:absolute;left:0;top:0;width:100%;height:100%;background:#000;z-index:120}.xgplayer-skin-default .xgplayer-enter .xgplayer-enter-spinner{display:block;position:absolute;left:50%;top:50%;height:100px;width:100px;position:relative;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.xgplayer-skin-default .xgplayer-enter .xgplayer-enter-spinner div{width:12%;height:26%;background-color:hsla(0,0%,100%,.7);position:absolute;left:44%;top:37%;opacity:0;border-radius:30px;-webkit-animation:fade 1s linear infinite;animation:fade 1s linear infinite}.xgplayer-skin-default .xgplayer-enter .xgplayer-enter-spinner div.xgplayer-enter-bar1{-webkit-transform:rotate(0deg) translateY(-142%);-ms-transform:rotate(0deg) translateY(-142%);transform:rotate(0deg) translateY(-142%);-webkit-animation-delay:0s;animation-delay:0s}.xgplayer-skin-default .xgplayer-enter .xgplayer-enter-spinner div.xgplayer-enter-bar2{-webkit-transform:rotate(30deg) translateY(-142%);-ms-transform:rotate(30deg) translateY(-142%);transform:rotate(30deg) translateY(-142%);-webkit-animation-delay:-.9163s;animation-delay:-.9163s}.xgplayer-skin-default .xgplayer-enter .xgplayer-enter-spinner div.xgplayer-enter-bar3{-webkit-transform:rotate(60deg) translateY(-142%);-ms-transform:rotate(60deg) translateY(-142%);transform:rotate(60deg) translateY(-142%);-webkit-animation-delay:-.833s;animation-delay:-.833s}.xgplayer-skin-default .xgplayer-enter .xgplayer-enter-spinner div.xgplayer-enter-bar4{-webkit-transform:rotate(90deg) translateY(-142%);-ms-transform:rotate(90deg) translateY(-142%);transform:rotate(90deg) translateY(-142%);-webkit-animation-delay:-.7497s;animation-delay:-.7497s}.xgplayer-skin-default .xgplayer-enter .xgplayer-enter-spinner div.xgplayer-enter-bar5{-webkit-transform:rotate(120deg) translateY(-142%);-ms-transform:rotate(120deg) translateY(-142%);transform:rotate(120deg) translateY(-142%);-webkit-animation-delay:-.6664s;animation-delay:-.6664s}.xgplayer-skin-default .xgplayer-enter .xgplayer-enter-spinner div.xgplayer-enter-bar6{-webkit-transform:rotate(150deg) translateY(-142%);-ms-transform:rotate(150deg) translateY(-142%);transform:rotate(150deg) translateY(-142%);-webkit-animation-delay:-.5831s;animation-delay:-.5831s}.xgplayer-skin-default .xgplayer-enter .xgplayer-enter-spinner div.xgplayer-enter-bar7{-webkit-transform:rotate(180deg) translateY(-142%);-ms-transform:rotate(180deg) translateY(-142%);transform:rotate(180deg) translateY(-142%);-webkit-animation-delay:-.4998s;animation-delay:-.4998s}.xgplayer-skin-default .xgplayer-enter .xgplayer-enter-spinner div.xgplayer-enter-bar8{-webkit-transform:rotate(210deg) translateY(-142%);-ms-transform:rotate(210deg) translateY(-142%);transform:rotate(210deg) translateY(-142%);-webkit-animation-delay:-.4165s;animation-delay:-.4165s}.xgplayer-skin-default .xgplayer-enter .xgplayer-enter-spinner div.xgplayer-enter-bar9{-webkit-transform:rotate(240deg) translateY(-142%);-ms-transform:rotate(240deg) translateY(-142%);transform:rotate(240deg) translateY(-142%);-webkit-animation-delay:-.3332s;animation-delay:-.3332s}.xgplayer-skin-default .xgplayer-enter .xgplayer-enter-spinner div.xgplayer-enter-bar10{-webkit-transform:rotate(270deg) translateY(-142%);-ms-transform:rotate(270deg) translateY(-142%);transform:rotate(270deg) translateY(-142%);-webkit-animation-delay:-.2499s;animation-delay:-.2499s}.xgplayer-skin-default .xgplayer-enter .xgplayer-enter-spinner div.xgplayer-enter-bar11{-webkit-transform:rotate(300deg) translateY(-142%);-ms-transform:rotate(300deg) translateY(-142%);transform:rotate(300deg) translateY(-142%);-webkit-animation-delay:-.1666s;animation-delay:-.1666s}.xgplayer-skin-default .xgplayer-enter .xgplayer-enter-spinner div.xgplayer-enter-bar12{-webkit-transform:rotate(330deg) translateY(-142%);-ms-transform:rotate(330deg) translateY(-142%);transform:rotate(330deg) translateY(-142%);-webkit-animation-delay:-.0833s;animation-delay:-.0833s}@-webkit-keyframes fade{0%{opacity:1}to{opacity:.25}}@keyframes fade{0%{opacity:1}to{opacity:.25}}.xgplayer-skin-default.xgplayer-is-enter .xgplayer-enter{display:block}\", \"\"]);\n\n// exports\n","import { createDom } from '../../utils/util'\nimport RequestCssFullIcon from '../assets/requestCssFull.svg'\nimport ExitCssFullIcon from '../assets/exitCssFull.svg'\nimport '../style/controls/cssfullscreen.scss'\n\nlet s_cssFullscreen = function () {\n let player = this\n if (!player.config.cssFullscreen) { return }\n let btn = createDom('xg-cssfullscreen', `<xg-icon class=\"xgplayer-icon\">\n <div class=\"xgplayer-icon-requestfull\">${RequestCssFullIcon}</div>\n <div class=\"xgplayer-icon-exitfull\">${ExitCssFullIcon}</div>\n </xg-icon>`, {}, 'xgplayer-cssfullscreen')\n\n let tipsText = {}\n tipsText.requestfull = player.lang.CSSFULLSCREEN_TIPS\n tipsText.exitfull = player.lang.EXITCSSFULLSCREEN_TIPS\n let tips = createDom('xg-tips', `<span class=\"xgplayer-tip-requestfull\">${tipsText.requestfull}</span>\n <span class=\"xgplayer-tip-exitfull\">${tipsText.exitfull}</span>`, {}, 'xgplayer-tips')\n btn.appendChild(tips)\n player.once('ready', () => {\n player.controls.appendChild(btn)\n });\n\n ['click', 'touchend'].forEach(item => {\n btn.addEventListener(item, function (e) {\n e.preventDefault()\n e.stopPropagation()\n player.userGestureTrigEvent('cssFullscreenBtnClick')\n })\n })\n}\n\nexport default {\n name: 's_cssFullscreen',\n method: s_cssFullscreen\n}","export default \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"40\\\" height=\\\"40\\\" viewBox=\\\"0 0 40 40\\\">\\n <path transform=\\\"scale(0.028 0.028)\\\" d=\\\"M843.617212 67.898413 175.411567 67.898413c-61.502749 0-111.367437 49.856501-111.367437 111.367437l0 668.205645c0 61.510936 49.864688 111.367437 111.367437 111.367437L843.617212 958.838931c61.510936 0 111.367437-49.856501 111.367437-111.367437L954.984648 179.26585C954.984648 117.754914 905.12917 67.898413 843.617212 67.898413zM398.146441 736.104057c15.380292 0 27.842115 12.461823 27.842115 27.842115 0 15.379269-12.461823 27.841092-27.842115 27.841092L259.725858 791.787264c-7.785314 0-14.781658-3.217275-19.838837-8.365528-5.383614-4.577249-8.791224-11.228739-8.791224-19.475564L231.095797 624.736621c0-15.371082 12.471033-27.842115 27.842115-27.842115 15.380292 0 27.842115 12.471033 27.842115 27.842115l-0.61603 71.426773 133.036969-133.037992 39.378869 39.378869L324.962651 736.113267 398.146441 736.104057zM419.199942 463.611943 286.162974 330.565764l0.61603 71.435982c0 15.380292-12.461823 27.842115-27.842115 27.842115-15.371082 0-27.842115-12.461823-27.842115-27.842115L231.094774 262.791172c0-8.256034 3.40761-14.908548 8.791224-19.476587 5.057179-5.148253 12.053524-8.374738 19.838837-8.374738l138.420583 0.00921c15.380292 0 27.842115 12.461823 27.842115 27.842115s-12.461823 27.842115-27.842115 27.842115l-73.175603-0.00921 133.607974 133.607974L419.199942 463.611943zM787.932981 763.946172c0 8.247848-3.40761 14.899338-8.791224 19.475564-5.057179 5.148253-12.053524 8.365528-19.839861 8.365528L620.881314 791.787264c-15.379269 0-27.841092-12.461823-27.841092-27.841092 0-15.380292 12.461823-27.842115 27.841092-27.842115l73.185836 0.00921L560.449967 602.50427l39.378869-39.378869L732.875015 696.163393l-0.62524-71.426773c0-15.371082 12.462846-27.842115 27.842115-27.842115 15.380292 0 27.842115 12.471033 27.842115 27.842115L787.934005 763.946172zM787.932981 402.000724c0 15.380292-12.461823 27.842115-27.842115 27.842115-15.379269 0-27.842115-12.461823-27.842115-27.842115l0.62524-71.435982L599.828836 463.611943l-39.378869-39.378869 133.617184-133.607974-73.185836 0.00921c-15.379269 0-27.841092-12.461823-27.841092-27.842115s12.461823-27.842115 27.841092-27.842115l138.421606-0.00921c7.785314 0 14.781658 3.226484 19.839861 8.374738 5.383614 4.568039 8.791224 11.219529 8.791224 19.476587L787.934005 402.000724z\\\"></path>\\n</svg>\\n\"","export default \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"40\\\" height=\\\"40\\\" viewBox=\\\"0 0 40 40\\\">\\n <path transform=\\\"scale(0.028 0.028)\\\" d=\\\"M834.56 81.92H189.44c-59.392 0-107.52 48.128-107.52 107.52v645.12c0 59.392 48.128 107.52 107.52 107.52h645.12c59.392 0 107.52-48.128 107.52-107.52V189.44c0-59.392-48.128-107.52-107.52-107.52zM458.24 727.04c0 14.848-12.288 26.624-26.624 26.624S404.48 741.888 404.48 727.04v-69.632L289.28 773.12c-10.752 10.24-27.648 10.24-37.888 0-10.24-10.752-10.24-27.648 0-37.888L366.592 619.52H296.96c-14.848 0-26.624-12.288-26.624-26.624s12.288-26.624 26.624-26.624h134.144c14.848 0 26.624 12.288 26.624 26.624V727.04z m0-295.936c0 14.848-12.288 26.624-26.624 26.624H296.96c-14.848 0-26.624-12.288-26.624-26.624S282.112 404.48 296.96 404.48h69.632L251.392 289.28c-10.24-10.752-10.24-27.648 0-37.888 5.12-5.12 12.288-7.68 18.944-7.68 6.656 0 13.824 2.56 18.944 7.68L404.48 366.592V296.96c0-14.848 12.288-26.624 26.624-26.624s26.624 12.288 26.624 26.624v134.144zM773.12 773.12c-10.752 10.24-27.648 10.24-37.888 0L619.52 657.408V727.04c0 14.848-12.288 26.624-26.624 26.624s-26.624-11.776-26.624-26.624v-134.144c0-14.848 12.288-26.624 26.624-26.624H727.04c14.848 0 26.624 12.288 26.624 26.624s-12.288 26.624-26.624 26.624h-69.632l115.2 115.2c10.752 10.752 10.752 27.648 0.512 38.4z m0-483.84L657.408 404.48H727.04c14.848 0 26.624 12.288 26.624 26.624 0 14.848-12.288 26.624-26.624 26.624h-134.144c-14.848 0-26.624-12.288-26.624-26.624V296.96c0-14.848 12.288-26.624 26.624-26.624s26.624 12.288 26.624 26.624v69.632L734.72 250.88c5.12-5.12 12.288-7.68 18.944-7.68s13.824 2.56 18.944 7.68c10.752 10.752 10.752 27.648 0.512 38.4z\\\"></path>\\n</svg>\\n\"","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./cssfullscreen.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./cssfullscreen.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./cssfullscreen.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-cssfullscreen,.xgplayer-skin-default .xgplayer-cssfullscreen-img{position:relative;-webkit-order:12;-moz-box-ordinal-group:13;order:12;display:block;cursor:pointer}.xgplayer-skin-default .xgplayer-cssfullscreen-img .xgplayer-icon,.xgplayer-skin-default .xgplayer-cssfullscreen .xgplayer-icon{width:32px;margin-top:5px}.xgplayer-skin-default .xgplayer-cssfullscreen-img .xgplayer-icon div,.xgplayer-skin-default .xgplayer-cssfullscreen .xgplayer-icon div{position:absolute}.xgplayer-skin-default .xgplayer-cssfullscreen-img .xgplayer-icon .xgplayer-icon-requestfull,.xgplayer-skin-default .xgplayer-cssfullscreen .xgplayer-icon .xgplayer-icon-requestfull{display:block}.xgplayer-skin-default .xgplayer-cssfullscreen-img .xgplayer-icon .xgplayer-icon-exitfull,.xgplayer-skin-default .xgplayer-cssfullscreen .xgplayer-icon .xgplayer-icon-exitfull{display:none}.xgplayer-skin-default .xgplayer-cssfullscreen-img .xgplayer-tips,.xgplayer-skin-default .xgplayer-cssfullscreen .xgplayer-tips{margin-left:-40px}.xgplayer-skin-default .xgplayer-cssfullscreen-img .xgplayer-tips .xgplayer-tip-requestfull,.xgplayer-skin-default .xgplayer-cssfullscreen .xgplayer-tips .xgplayer-tip-requestfull{display:block}.xgplayer-skin-default .xgplayer-cssfullscreen-img .xgplayer-tips .xgplayer-tip-exitfull,.xgplayer-skin-default .xgplayer-cssfullscreen .xgplayer-tips .xgplayer-tip-exitfull{display:none}.xgplayer-skin-default .xgplayer-cssfullscreen-img:hover,.xgplayer-skin-default .xgplayer-cssfullscreen:hover{opacity:.85}.xgplayer-skin-default .xgplayer-cssfullscreen-img:hover .xgplayer-tips,.xgplayer-skin-default .xgplayer-cssfullscreen:hover .xgplayer-tips{display:block}.xgplayer-skin-default.xgplayer-is-cssfullscreen .xgplayer-cssfullscreen-img .xgplayer-icon .xgplayer-icon-requestfull,.xgplayer-skin-default.xgplayer-is-cssfullscreen .xgplayer-cssfullscreen .xgplayer-icon .xgplayer-icon-requestfull{display:none}.xgplayer-skin-default.xgplayer-is-cssfullscreen .xgplayer-cssfullscreen-img .xgplayer-icon .xgplayer-icon-exitfull,.xgplayer-skin-default.xgplayer-is-cssfullscreen .xgplayer-cssfullscreen .xgplayer-icon .xgplayer-icon-exitfull{display:block}.xgplayer-skin-default.xgplayer-is-cssfullscreen .xgplayer-cssfullscreen-img .xgplayer-tips,.xgplayer-skin-default.xgplayer-is-cssfullscreen .xgplayer-cssfullscreen .xgplayer-tips{margin-left:-47px}.xgplayer-skin-default.xgplayer-is-cssfullscreen .xgplayer-cssfullscreen-img .xgplayer-tips .xgplayer-tip-requestfull,.xgplayer-skin-default.xgplayer-is-cssfullscreen .xgplayer-cssfullscreen .xgplayer-tips .xgplayer-tip-requestfull{display:none}.xgplayer-skin-default.xgplayer-is-cssfullscreen .xgplayer-cssfullscreen-img .xgplayer-tips .xgplayer-tip-exitfull,.xgplayer-skin-default.xgplayer-is-cssfullscreen .xgplayer-cssfullscreen .xgplayer-tips .xgplayer-tip-exitfull{display:block}.xgplayer-skin-default.xgplayer-is-fullscreen .xgplayer-cssfullscreen,.xgplayer-skin-default.xgplayer-is-fullscreen .xgplayer-cssfullscreen-img{display:none}.xgplayer-skin-default.xgplayer-is-cssfullscreen{position:fixed!important;left:0!important;top:0!important;width:100%!important;height:100%!important;z-index:99999!important}.xgplayer-lang-is-en .xgplayer-cssfullscreen-img .xgplayer-tips,.xgplayer-lang-is-en .xgplayer-cssfullscreen .xgplayer-tips,.xgplayer-lang-is-en.xgplayer-is-cssfullscreen .xgplayer-cssfullscreen-img .xgplayer-tips,.xgplayer-lang-is-en.xgplayer-is-cssfullscreen .xgplayer-cssfullscreen .xgplayer-tips{margin-left:-46px}.lang-is-jp .xgplayer-cssfullscreen-img .xgplayer-tips,.lang-is-jp .xgplayer-cssfullscreen .xgplayer-tips{margin-left:-120px}.lang-is-jp.xgplayer-is-cssfullscreen .xgplayer-cssfullscreen-img .xgplayer-tips,.lang-is-jp.xgplayer-is-cssfullscreen .xgplayer-cssfullscreen .xgplayer-tips{margin-left:-60px}\", \"\"]);\n\n// exports\n","import { createDom } from '../../utils/util'\nimport MutedIcon from '../assets/volumeMuted.svg'\nimport SmallIcon from '../assets/volumeSmall.svg'\nimport LargeIcon from '../assets/volumeLarge.svg'\nimport '../style/controls/volume.scss'\n\nlet s_volume = function () {\n let player = this\n let container = createDom('xg-volume', `<xg-icon class=\"xgplayer-icon\">\n <div class=\"xgplayer-icon-large\">${LargeIcon}</div>\n <div class=\"xgplayer-icon-small\">${SmallIcon}</div>\n <div class=\"xgplayer-icon-muted\">${MutedIcon}</div>\n </xg-icon>\n <xg-slider class=\"xgplayer-slider\" tabindex=\"2\">\n <xg-bar class=\"xgplayer-bar\">\n <xg-drag class=\"xgplayer-drag\"></xg-drag>\n </xg-bar>\n </xg-slider>`, {}, 'xgplayer-volume')\n player.once('ready', () => {\n if(player.controls) {\n player.controls.appendChild(container)\n }\n })\n let slider = container.querySelector('.xgplayer-slider')\n let bar = container.querySelector('.xgplayer-bar')\n let selected = container.querySelector('.xgplayer-drag')\n let icon = container.querySelector('.xgplayer-icon')\n selected.style.height = `${player.config.volume * 100}%`\n slider.volume = player.config.volume;\n\n bar.addEventListener('mousedown', e => {\n e.preventDefault()\n e.stopPropagation()\n player.userGestureTrigEvent('volumeBarClick', e)\n });\n\n ['click', 'touchend'].forEach(item => {\n icon.addEventListener(item, e => {\n e.preventDefault()\n e.stopPropagation()\n player.userGestureTrigEvent('volumeIconClick')\n })\n })\n\n icon.addEventListener('mouseenter', e => {\n e.preventDefault()\n e.stopPropagation()\n player.userGestureTrigEvent('volumeIconEnter')\n });\n\n ['blur', 'mouseleave'].forEach(item => {\n container.addEventListener(item, e => {\n e.preventDefault()\n e.stopPropagation()\n player.userGestureTrigEvent('volumeIconLeave')\n })\n })\n}\n\nexport default {\n name: 's_volume',\n method: s_volume\n}","export default \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"28\\\" height=\\\"28\\\" viewBox=\\\"0 0 28 28\\\">\\n <path transform=\\\"scale(0.0220625 0.0220625)\\\" d=\\\"M358.4 358.4h-204.8v307.2h204.8l256 256v-819.2l-256 256z\\\"></path>\\n <path transform=\\\"scale(0.0220625 0.0220625)\\\" d=\\\"M920.4 439.808l-108.544-109.056-72.704 72.704 109.568 108.544-109.056 108.544 72.704 72.704 108.032-109.568 108.544 109.056 72.704-72.704-109.568-108.032 109.056-108.544-72.704-72.704-108.032 109.568z\\\"></path>\\n</svg>\\n\"","export default \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"28\\\" height=\\\"28\\\" viewBox=\\\"0 0 28 28\\\">\\n <path transform=\\\"scale(0.0220625 0.0220625)\\\" d=\\\"M358.4 358.4h-204.8v307.2h204.8l256 256v-819.2l-256 256z\\\"></path>\\n <path transform=\\\"scale(0.0220625 0.0220625)\\\" d=\\\"M795.648 693.248l-72.704-72.704c27.756-27.789 44.921-66.162 44.921-108.544s-17.165-80.755-44.922-108.546l0.002 0.002 72.704-72.704c46.713 46.235 75.639 110.363 75.639 181.248s-28.926 135.013-75.617 181.227l-0.021 0.021zM795.648 693.248l-72.704-72.704c27.756-27.789 44.921-66.162 44.921-108.544s-17.165-80.755-44.922-108.546l0.002 0.002 72.704-72.704c46.713 46.235 75.639 110.363 75.639 181.248s-28.926 135.013-75.617 181.227l-0.021 0.021z\\\"></path>\\n</svg>\\n\"","export default \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"28\\\" height=\\\"28\\\" viewBox=\\\"0 0 28 28\\\">\\n <path transform=\\\"scale(0.0220625 0.0220625)\\\" d=\\\"M358.4 358.4h-204.8v307.2h204.8l256 256v-819.2l-256 256z\\\"></path>\\n <path transform=\\\"scale(0.0220625 0.0220625)\\\" d=\\\"M940.632 837.632l-72.192-72.192c65.114-64.745 105.412-154.386 105.412-253.44s-40.299-188.695-105.396-253.424l-0.016-0.016 72.192-72.192c83.639 83.197 135.401 198.37 135.401 325.632s-51.762 242.434-135.381 325.612l-0.020 0.020zM795.648 693.248l-72.704-72.704c27.756-27.789 44.921-66.162 44.921-108.544s-17.165-80.755-44.922-108.546l0.002 0.002 72.704-72.704c46.713 46.235 75.639 110.363 75.639 181.248s-28.926 135.013-75.617 181.227l-0.021 0.021z\\\"></path>\\n</svg>\\n\"","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./volume.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./volume.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./volume.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-volume{outline:none;-webkit-order:4;-moz-box-ordinal-group:5;order:4;width:40px;height:40px;display:block;position:relative;z-index:18}.xgplayer-skin-default .xgplayer-volume .xgplayer-icon{margin-top:8px;cursor:pointer;position:absolute;bottom:-9px}.xgplayer-skin-default .xgplayer-volume .xgplayer-icon div{position:absolute}.xgplayer-skin-default .xgplayer-volume .xgplayer-icon .xgplayer-icon-large{display:block}.xgplayer-skin-default .xgplayer-volume .xgplayer-icon .xgplayer-icon-muted,.xgplayer-skin-default .xgplayer-volume .xgplayer-icon .xgplayer-icon-small{display:none}.xgplayer-skin-default .xgplayer-slider{display:none;position:absolute;width:28px;height:92px;background:rgba(0,0,0,.54);border-radius:1px;bottom:42px;outline:none}.xgplayer-skin-default .xgplayer-slider:after{content:\\\" \\\";display:block;height:15px;width:28px;position:absolute;bottom:-15px;left:0;z-index:20}.xgplayer-skin-default .xgplayer-bar,.xgplayer-skin-default .xgplayer-drag{display:block;position:absolute;bottom:6px;left:12px;background:hsla(0,0%,100%,.3);border-radius:100px;width:4px;height:76px;outline:none;cursor:pointer}.xgplayer-skin-default .xgplayer-drag{bottom:0;left:0;background:#fa1f41;max-height:76px}.xgplayer-skin-default .xgplayer-drag:after{content:\\\" \\\";display:inline-block;width:8px;height:8px;background:#fff;box-shadow:0 0 5px 0 rgba(0,0,0,.26);position:absolute;border-radius:50%;left:-2px;top:-6px}.xgplayer-skin-default.xgplayer-volume-active .xgplayer-slider,.xgplayer-skin-default.xgplayer-volume-large .xgplayer-volume .xgplayer-icon .xgplayer-icon-large{display:block}.xgplayer-skin-default.xgplayer-volume-large .xgplayer-volume .xgplayer-icon .xgplayer-icon-muted,.xgplayer-skin-default.xgplayer-volume-large .xgplayer-volume .xgplayer-icon .xgplayer-icon-small,.xgplayer-skin-default.xgplayer-volume-small .xgplayer-volume .xgplayer-icon .xgplayer-icon-large{display:none}.xgplayer-skin-default.xgplayer-volume-small .xgplayer-volume .xgplayer-icon .xgplayer-icon-small{display:block}.xgplayer-skin-default.xgplayer-volume-muted .xgplayer-volume .xgplayer-icon .xgplayer-icon-large,.xgplayer-skin-default.xgplayer-volume-muted .xgplayer-volume .xgplayer-icon .xgplayer-icon-small,.xgplayer-skin-default.xgplayer-volume-small .xgplayer-volume .xgplayer-icon .xgplayer-icon-muted{display:none}.xgplayer-skin-default.xgplayer-volume-muted .xgplayer-volume .xgplayer-icon .xgplayer-icon-muted{display:block}.xgplayer-skin-default.xgplayer-mobile .xgplayer-volume .xgplayer-slider{display:none}\", \"\"]);\n\n// exports\n","import { createDom, addClass, removeClass, hasClass, toggleClass } from '../../utils/util'\nimport sniffer from '../../utils/sniffer'\nimport '../style/controls/definition.scss'\n\nlet s_definition = function () {\n let player = this\n let root = player.root\n let paused\n let container = createDom('xg-definition', '', {tabindex: 3}, 'xgplayer-definition')\n if (sniffer.device === 'mobile') {\n player.config.definitionActive = 'click'\n }\n\n function onCanplayResourceReady () {\n let list = player.definitionList\n let tmp = ['<ul>'], src = player.config.url, a = document.createElement('a')\n if (player.switchURL) {\n ['mp4', 'hls', '__flv__', 'dash'].every(item => {\n if (player[item]) {\n if(player[item].url) {\n a.href = player[item].url\n }\n if(item === '__flv__') {\n if(player[item]._options) {\n a.href = player[item]._options.url\n } else {\n a.href = player[item]._mediaDataSource.url\n }\n }\n if(item === 'hls') {\n a.href = player[item].originUrl || player[item].url\n src = a.href\n }\n src = a.href\n return false\n } else {\n return true\n }\n })\n } else {\n src = player.currentSrc || player.src\n }\n list.forEach(item => {\n a.href = item.url\n if (player.dash) {\n tmp.push(`<li url='${item.url}' cname='${item.name}' class='${item.selected ? 'selected' : ''}'>${item.name}</li>`)\n } else {\n tmp.push(`<li url='${item.url}' cname='${item.name}' class='${a.href === src ? 'selected' : ''}'>${item.name}</li>`)\n }\n })\n let cursrc = list.filter(item => {\n a.href = item.url\n if (player.dash) {\n return item.selected === true\n } else {\n return a.href === src\n }\n })\n tmp.push(`</ul><p class='name'>${(cursrc[0] || {name: ''}).name}</p>`)\n let urlInRoot = root.querySelector('.xgplayer-definition')\n if (urlInRoot) {\n urlInRoot.innerHTML = tmp.join('')\n let cur = urlInRoot.querySelector('.name')\n if (!player.config.definitionActive || player.config.definitionActive === 'hover') {\n cur.addEventListener('mouseenter', (e) => {\n e.preventDefault()\n e.stopPropagation()\n addClass(player.root, 'xgplayer-definition-active')\n urlInRoot.focus()\n })\n }\n } else {\n container.innerHTML = tmp.join('')\n let cur = container.querySelector('.name')\n if (!player.config.definitionActive || player.config.definitionActive === 'hover') {\n cur.addEventListener('mouseenter', (e) => {\n e.preventDefault()\n e.stopPropagation()\n addClass(player.root, 'xgplayer-definition-active')\n container.focus()\n })\n }\n player.controls.appendChild(container)\n }\n }\n function onResourceReady (list) {\n player.definitionList = list\n if (list && list instanceof Array && list.length > 0) {\n addClass(root, 'xgplayer-is-definition')\n player.once('canplay', onCanplayResourceReady)\n }\n }\n player.on('resourceReady', onResourceReady)\n\n function onPlayingChangeDefinition () {\n player.currentTime = player.curTime\n if (paused) {\n player.pause()\n } else {\n let playPromise = player.play()\n if (playPromise !== undefined && playPromise) {\n playPromise.catch(err => {})\n }\n }\n };\n function onTimeupdateChangeDefinition () {\n player.once('timeupdate', onPlayingChangeDefinition)\n };\n ['touchend', 'click'].forEach(item => {\n container.addEventListener(item, function (e) {\n e.preventDefault()\n e.stopPropagation()\n let list = player.definitionList\n let li = e.target || e.srcElement, a = document.createElement('a')\n if (li && li.tagName.toLocaleLowerCase() === 'li') {\n let from, to\n Array.prototype.forEach.call(li.parentNode.childNodes, item => {\n if(hasClass(item, 'selected')) {\n from = item.getAttribute('cname')\n removeClass(item, 'selected')\n player.emit('beforeDefinitionChange', item.getAttribute('url'))\n }\n })\n if (player.dash) {\n list.forEach(item => {\n item.selected = false\n if (item.name === li.innerHTML) {\n item.selected = true\n }\n })\n }\n\n addClass(li, 'selected')\n to = li.getAttribute('cname')\n li.parentNode.nextSibling.innerHTML = `${li.getAttribute('cname')}`\n a.href = li.getAttribute('url')\n paused = player.paused\n if (player.switchURL) {\n let curRUL = document.createElement('a');\n ['mp4', 'hls', '__flv__', 'dash'].every(item => {\n if (player[item]) {\n if(player[item].url) {\n curRUL.href = player[item].url\n }\n if(item === '__flv__') {\n if(player[item]._options) {\n curRUL.href = player[item]._options.url\n } else {\n curRUL.href = player[item]._mediaDataSource.url\n }\n }\n if(item === 'hls') {\n curRUL.href = player[item].originUrl || player[item].url\n }\n return false\n } else {\n return true\n }\n })\n if (curRUL.href !== a.href && !player.ended) {\n player.switchURL(a.href)\n }\n } else {\n if (player['hls']) {\n let curRUL = document.createElement('a')\n curRUL = player['hls'].url\n }\n if (a.href !== player.currentSrc) {\n player.curTime = player.currentTime\n if (!player.ended) {\n player.src = a.href\n }\n }\n }\n if(navigator.userAgent.toLowerCase().indexOf('android') > -1) {\n player.once('timeupdate', onTimeupdateChangeDefinition)\n } else {\n player.once('loadedmetadata', onPlayingChangeDefinition)\n }\n player.emit('definitionChange', {from, to})\n if (sniffer.device === 'mobile') {\n removeClass(player.root, 'xgplayer-definition-active')\n }\n } else if (player.config.definitionActive === 'click' && li && (li.tagName.toLocaleLowerCase() === 'p' || li.tagName.toLocaleLowerCase() === 'em')) {\n if(sniffer.device === 'mobile') {\n toggleClass(player.root, 'xgplayer-definition-active')\n } else {\n addClass(player.root, 'xgplayer-definition-active')\n }\n container.focus()\n }\n player.emit('focus')\n }, false)\n })\n\n container.addEventListener('mouseleave', e => {\n e.preventDefault()\n e.stopPropagation()\n removeClass(root, 'xgplayer-definition-active')\n })\n\n function onBlur () {\n removeClass(root, 'xgplayer-definition-active')\n }\n player.on('blur', onBlur)\n\n function onDestroy () {\n player.off('resourceReady', onResourceReady)\n player.off('canplay', onCanplayResourceReady)\n if(navigator.userAgent.toLowerCase().indexOf('android') > -1) {\n player.off('timeupdate', onTimeupdateChangeDefinition)\n player.off('timeupdate', onPlayingChangeDefinition)\n } else {\n player.off('loadedmetadata', onPlayingChangeDefinition)\n }\n player.off('blur', onBlur)\n player.off('destroy', onDestroy)\n }\n player.once('destroy', onDestroy)\n\n player.getCurrentDefinition = function () {\n let liList = player.controls.querySelectorAll('.xgplayer-definition ul li')\n for(let i = 0; i < liList.length; i++) {\n if(liList[i].className && liList[i].className.indexOf('selected') > -1) {\n return {\n name: liList[i].getAttribute('cname'),\n url: liList[i].getAttribute('url')\n }\n }\n }\n return {\n name: liList[0].getAttribute('cname'),\n url: liList[0].getAttribute('url')\n }\n }\n\n player.switchDefinition = function (definitionObj = {}) {\n let liList = player.controls.querySelectorAll('.xgplayer-definition ul li')\n for(let i = 0; i < liList.length; i++) {\n if(liList[i].getAttribute('cname') === definitionObj.name || liList[i].getAttribute('url') === definitionObj.url || i === definitionObj.index) {\n liList[i].click()\n }\n }\n }\n}\n\nexport default {\n name: 's_definition',\n method: s_definition\n}","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./definition.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./definition.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./definition.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-definition{-webkit-order:5;-moz-box-ordinal-group:6;order:5;width:60px;height:150px;z-index:18;position:relative;outline:none;display:none;cursor:default;margin-left:10px;margin-top:-119px}.xgplayer-skin-default .xgplayer-definition ul{display:none;list-style:none;width:78px;background:rgba(0,0,0,.54);border-radius:1px;position:absolute;bottom:30px;left:0;text-align:center;white-space:nowrap;margin-left:-10px;z-index:26;cursor:pointer}.xgplayer-skin-default .xgplayer-definition ul li{opacity:.7;font-family:PingFangSC-Regular;font-size:11px;color:hsla(0,0%,100%,.8);padding:6px 13px}.xgplayer-skin-default .xgplayer-definition ul li.selected,.xgplayer-skin-default .xgplayer-definition ul li:hover{color:#fff;opacity:1}.xgplayer-skin-default .xgplayer-definition .name{text-align:center;font-family:PingFangSC-Regular;font-size:13px;cursor:pointer;color:hsla(0,0%,100%,.8);position:absolute;bottom:0;width:60px;height:20px;line-height:20px;background:rgba(0,0,0,.38);border-radius:10px;display:inline-block;vertical-align:middle}.xgplayer-skin-default.xgplayer-definition-active .xgplayer-definition ul,.xgplayer-skin-default.xgplayer-is-definition .xgplayer-definition{display:block}\", \"\"]);\n\n// exports\n","import { createDom, addClass, removeClass, hasClass, toggleClass } from '../../utils/util'\nimport sniffer from '../../utils/sniffer'\nimport '../style/controls/playbackRate.scss'\n\nlet s_playbackRate = function () {\n let player = this\n let playbackRateList = []\n if (player.config.playbackRate) {\n playbackRateList = [].concat(player.config.playbackRate)\n playbackRateList.sort((a, b) => b - a)\n } else {\n return false\n }\n let unit = player.config.playbackRateUnit !== undefined ? player.config.playbackRateUnit : 'x'\n let container = createDom('xg-playbackrate', \" \", {}, 'xgplayer-playbackrate')\n if (sniffer.device === 'mobile') {\n player.config.playbackRateActive = 'click'\n }\n\n let list = []\n playbackRateList.forEach(item => {\n list.push({name: `${item}`, rate: `${item}${unit}`, selected: false})\n })\n let selectedSpeed = 1\n let tmp = ['<ul>']\n list.forEach(item => {\n if(player.config.defaultPlaybackRate && player.config.defaultPlaybackRate.toString() === item.name) {\n item.selected = true\n selectedSpeed = player.config.defaultPlaybackRate\n player.once('playing', () => { player.video.playbackRate = player.config.defaultPlaybackRate})\n } else if (item.name === '1.0' || item.name === '1') {\n if(!player.config.defaultPlaybackRate || player.config.defaultPlaybackRate === 1) {\n item.selected = true\n }\n }\n tmp.push(`<li cname='${item.name}' class='${item.selected ? 'selected' : ''}'>${item.rate}</li>`)\n })\n tmp.push(`</ul><p class='name'>${selectedSpeed}${unit}</p>`)\n let playbackDom = player.root.querySelector('.xgplayer-playbackrate')\n if (playbackDom) {\n playbackDom.innerHTML = tmp.join('')\n let cur = playbackDom.querySelector('.name')\n if (!player.config.playbackRateActive || player.config.playbackRateActive === 'hover') {\n cur.addEventListener('mouseenter', (e) => {\n e.preventDefault()\n e.stopPropagation()\n addClass(player.root, 'xgplayer-playbackrate-active')\n playbackDom.focus()\n })\n }\n } else {\n container.innerHTML = tmp.join('')\n let cur = container.querySelector('.name')\n if (!player.config.playbackRateActive || player.config.playbackRateActive === 'hover') {\n cur.addEventListener('mouseenter', (e) => {\n e.preventDefault()\n e.stopPropagation()\n addClass(player.root, 'xgplayer-playbackrate-active')\n container.focus()\n })\n }\n player.once('ready', () => {\n player.controls.appendChild(container)\n })\n }\n\n let ev = ['touchend', 'click']\n ev.forEach(item => {\n container.addEventListener(item, e => {\n e.stopPropagation()\n e.preventDefault()\n let li = e.target\n if(li && li.tagName.toLocaleLowerCase() === 'li') {\n let from, to\n list.forEach(item => {\n item.selected = false\n if (li.textContent.replace(/\\s+/g,\"\") === item.rate) {\n Array.prototype.forEach.call(li.parentNode.childNodes, item => {\n if(hasClass(item, 'selected')) {\n from = Number(item.getAttribute('cname'))\n removeClass(item, 'selected')\n }\n })\n item.selected = true\n player.video.playbackRate = item.name * 1\n selectedSpeed = item.name * 1\n }\n })\n addClass(li, 'selected')\n to = Number(li.getAttribute('cname'))\n li.parentNode.nextSibling.innerHTML = `${li.getAttribute('cname')}${unit}`\n player.emit('playbackrateChange', {from, to})\n if (sniffer.device === 'mobile') {\n removeClass(player.root, 'xgplayer-playbackrate-active')\n }\n } else if (player.config.playbackRateActive === 'click' && li && (li.tagName.toLocaleLowerCase() === 'p' || li.tagName.toLocaleLowerCase() === 'span')) {\n if(sniffer.device === 'mobile') {\n toggleClass(player.root, 'xgplayer-playbackrate-active')\n } else {\n addClass(player.root, 'xgplayer-playbackrate-active')\n }\n container.focus()\n }\n player.emit('focus')\n }, false)\n })\n container.addEventListener('mouseleave', (e) => {\n e.preventDefault()\n e.stopPropagation()\n removeClass(player.root, 'xgplayer-playbackrate-active')\n })\n\n function onBlur () {\n removeClass(player.root, 'xgplayer-playbackrate-active')\n }\n player.on('blur', onBlur)\n\n player.on('play', () => {\n if(player.video.playbackRate.toFixed(1) !== selectedSpeed.toFixed(1) ) {\n player.video.playbackRate = selectedSpeed\n }\n })\n\n player.switchPlaybackRate = function (playbackRateObj = {}) {\n let liList = player.controls.querySelectorAll('.xgplayer-playbackrate ul li')\n for(let i = 0; i < liList.length; i++) {\n if(liList[i].getAttribute('cname') === `${playbackRateObj.playbackRate}` || i === playbackRateObj.index) {\n liList[i].click()\n }\n }\n }\n}\n\nexport default {\n name: 's_playbackRate',\n method: s_playbackRate\n}","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./playbackRate.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./playbackRate.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./playbackRate.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-playbackrate{-webkit-order:8;-moz-box-ordinal-group:9;order:8;width:60px;height:150px;z-index:18;position:relative;display:inline-block;cursor:default;margin-top:-119px}.xgplayer-skin-default .xgplayer-playbackrate ul{display:none;list-style:none;width:78px;background:rgba(0,0,0,.54);border-radius:1px;position:absolute;bottom:30px;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);text-align:left;white-space:nowrap;z-index:26;cursor:pointer}.xgplayer-skin-default .xgplayer-playbackrate ul li{opacity:.7;font-family:PingFangSC-Regular;font-size:11px;color:hsla(0,0%,100%,.8);position:relative;padding:4px 0;text-align:center}.xgplayer-skin-default .xgplayer-playbackrate ul li.selected,.xgplayer-skin-default .xgplayer-playbackrate ul li:hover{color:#fff;opacity:1}.xgplayer-skin-default .xgplayer-playbackrate ul li:first-child{position:relative;margin-top:12px}.xgplayer-skin-default .xgplayer-playbackrate ul li:last-child{position:relative;margin-bottom:12px}.xgplayer-skin-default .xgplayer-playbackrate .name{width:60px;height:20px;position:absolute;bottom:0;text-align:center;font-family:PingFangSC-Regular;font-size:13px;background:rgba(0,0,0,.38);color:hsla(0,0%,100%,.8);border-radius:10px;line-height:20px}.xgplayer-skin-default .xgplayer-playbackrate span{position:relative;top:19px;font-weight:700;text-shadow:0 0 4px rgba(0,0,0,.6)}.xgplayer-skin-default .xgplayer-playbackrate:hover{opacity:1}.xgplayer-skin-default.xgplayer-playbackrate-active .xgplayer-playbackrate ul{display:block}\", \"\"]);\n\n// exports\n","import { createDom } from '../../utils/util'\n\nlet s_localPreview = function () {\n let player = this\n if (player.config.preview && player.config.preview.uploadEl) {\n let preview = createDom('xg-preview', '<input type=\"file\">', {}, 'xgplayer-preview')\n let upload = preview.querySelector('input')\n player.config.preview.uploadEl.appendChild(preview)\n upload.onchange = function () {\n player.emit('upload', upload)\n }\n }\n}\n\nexport default {\n name: 's_localPreview',\n method: s_localPreview\n}","import { createDom } from '../../utils/util'\nimport DownloadIcon from '../assets/download.svg'\nimport '../style/controls/download.scss'\n\nlet s_download = function () {\n let player = this\n if (!player.config.download) { return }\n let btn = createDom('xg-download', `<xg-icon class=\"xgplayer-icon\">${DownloadIcon}</xg-icon>`, {}, 'xgplayer-download')\n\n let tipsText = player.lang.DOWNLOAD_TIPS\n let tips = createDom('xg-tips', `<span class=\"xgplayer-tip-download\">${tipsText}</span>`, {}, 'xgplayer-tips')\n btn.appendChild(tips)\n player.once('ready', () => {\n player.controls.appendChild(btn)\n });\n\n ['click', 'touchend'].forEach(item => {\n btn.addEventListener(item, function (e) {\n e.preventDefault()\n e.stopPropagation()\n player.userGestureTrigEvent('downloadBtnClick')\n })\n })\n}\n\nexport default {\n name: 's_download',\n method: s_download\n}","export default \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"24px\\\" height=\\\"24px\\\" viewBox=\\\"0 0 24 24\\\">\\n <g id=\\\"Page-1\\\" stroke=\\\"none\\\" stroke-width=\\\"1\\\" fill=\\\"none\\\" fill-rule=\\\"evenodd\\\">\\n <g transform=\\\"translate(-488.000000, -340.000000)\\\" fill=\\\"#FFFFFF\\\">\\n <g id=\\\"Group-2\\\">\\n <g id=\\\"volme_big-copy\\\" transform=\\\"translate(488.000000, 340.000000)\\\">\\n <rect id=\\\"Rectangle-18\\\" x=\\\"11\\\" y=\\\"4\\\" width=\\\"2\\\" height=\\\"12\\\" rx=\\\"1\\\"></rect>\\n <rect id=\\\"Rectangle-2\\\" x=\\\"3\\\" y=\\\"18\\\" width=\\\"18\\\" height=\\\"2\\\" rx=\\\"1\\\"></rect>\\n <rect id=\\\"Rectangle-2\\\" transform=\\\"translate(4.000000, 17.500000) rotate(90.000000) translate(-4.000000, -17.500000) \\\" x=\\\"1.5\\\" y=\\\"16.5\\\" width=\\\"5\\\" height=\\\"2\\\" rx=\\\"1\\\"></rect><rect id=\\\"Rectangle-2-Copy-3\\\" transform=\\\"translate(20.000000, 17.500000) rotate(90.000000) translate(-20.000000, -17.500000) \\\" x=\\\"17.5\\\" y=\\\"16.5\\\" width=\\\"5\\\" height=\\\"2\\\" rx=\\\"1\\\"></rect>\\n <path d=\\\"M9.48791171,8.26502656 L9.48791171,14.2650266 C9.48791171,14.8173113 9.04019646,15.2650266 8.48791171,15.2650266 C7.93562696,15.2650266 7.48791171,14.8173113 7.48791171,14.2650266 L7.48791171,7.26502656 C7.48791171,6.71274181 7.93562696,6.26502656 8.48791171,6.26502656 L15.4879117,6.26502656 C16.0401965,6.26502656 16.4879117,6.71274181 16.4879117,7.26502656 C16.4879117,7.81731131 16.0401965,8.26502656 15.4879117,8.26502656 L9.48791171,8.26502656 Z\\\" id=\\\"Combined-Shape\\\" transform=\\\"translate(11.987912, 10.765027) scale(1, -1) rotate(45.000000) translate(-11.987912, -10.765027) \\\"></path>\\n </g>\\n </g>\\n </g>\\n </g>\\n</svg>\\n\"","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./download.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./download.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./download.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-download{position:relative;-webkit-order:9;-moz-box-ordinal-group:10;order:9;display:block;cursor:pointer}.xgplayer-skin-default .xgplayer-download .xgplayer-icon{margin-top:3px}.xgplayer-skin-default .xgplayer-download .xgplayer-icon div{position:absolute}.xgplayer-skin-default .xgplayer-download .xgplayer-icon svg{position:relative;top:5px;left:5px}.xgplayer-skin-default .xgplayer-download .xgplayer-tips{margin-left:-20px}.xgplayer-skin-default .xgplayer-download .xgplayer-tips .xgplayer-tip-download{display:block}.xgplayer-skin-default .xgplayer-download:hover{opacity:.85}.xgplayer-skin-default .xgplayer-download:hover .xgplayer-tips{display:block}.xgplayer-lang-is-en .xgplayer-download .xgplayer-tips{margin-left:-32px}.xgplayer-lang-is-jp .xgplayer-download .xgplayer-tips{margin-left:-40px}\", \"\"]);\n\n// exports\n","import { createDom, deepCopy, addClass, removeClass } from '../../utils/util'\nimport DanmuJs from 'danmu.js'\nimport PanelIcon from '../assets/panel.svg'\nimport '../style/controls/danmu.scss'\n\nlet s_danmu = function () {\n let player = this\n let root = player.root\n if(!player.config.danmu) { return }\n let container = createDom('xg-danmu', '', {}, 'xgplayer-danmu')\n player.once('ready', () => {\n root.appendChild(container)\n })\n let config = deepCopy({\n container,\n player: player.video,\n comments: [],\n area: {\n start: 0,\n end: 1\n }\n }, player.config.danmu)\n let panelBtn\n if (player.config.danmu.panel) {\n panelBtn = createDom('xg-panel', `<xg-panel-icon class=\"xgplayer-panel-icon\">\n ${PanelIcon}\n </xg-panel-icon>\n <xg-panel-slider class=\"xgplayer-panel-slider\">\n <xg-hidemode class=\"xgplayer-hidemode\">\n <p class=\"xgplayer-hidemode-font\">屏蔽类型</p>\n <ul class=\"xgplayer-hidemode-radio\">\n <li class=\"xgplayer-hidemode-scroll\" id=\"false\">滚动</li><li class=\"xgplayer-hidemode-top\" id=\"false\">顶部</li><li class=\"xgplayer-hidemode-bottom\" id=\"false\">底部</li><li class=\"xgplayer-hidemode-color\" id=\"false\">色彩</li>\n </ul>\n </xg-hidemode>\n <xg-transparency class=\"xgplayer-transparency\">\n <span>不透明度</span>\n <input class=\"xgplayer-transparency-line xgplayer-transparency-color xgplayer-transparency-bar xgplayer-transparency-gradient\" type=\"range\" min=\"0\" max=\"100\" step=\"0.1\" value=\"50\"></input>\n </xg-transparency>\n <xg-showarea class=\"xgplayer-showarea\">\n <div class=\"xgplayer-showarea-name\">显示区域</div>\n <div class=\"xgplayer-showarea-control\">\n <div class=\"xgplayer-showarea-control-up\">\n <span class=\"xgplayer-showarea-control-up-item xgplayer-showarea-onequarters\">1/4</span>\n <span class=\"xgplayer-showarea-control-up-item xgplayer-showarea-twoquarters selected-color\">1/2</span>\n <span class=\"xgplayer-showarea-control-up-item xgplayer-showarea-threequarters\">3/4</span>\n <span class=\"xgplayer-showarea-control-up-item xgplayer-showarea-full\">1</span>\n </div>\n <div class=\"xgplayer-showarea-control-down\">\n <div class=\"xgplayer-showarea-control-down-dots\">\n <span class=\"xgplayer-showarea-onequarters-dot\"></span>\n <span class=\"xgplayer-showarea-twoquarters-dot\"></span>\n <span class=\"xgplayer-showarea-threequarters-dot\"></span>\n <span class=\"xgplayer-showarea-full-dot\"></span>\n </div>\n <input class=\"xgplayer-showarea-line xgplayer-showarea-color xgplayer-showarea-bar xgplayer-gradient\" type=\"range\" min=\"1\" max=\"4\" step=\"1\" value=\"1\">\n </div>\n </div>\n </xg-showarea>\n <xg-danmuspeed class=\"xgplayer-danmuspeed\">\n <div class=\"xgplayer-danmuspeed-name\">弹幕速度</div>\n <div class=\"xgplayer-danmuspeed-control\">\n <div class=\"xgplayer-danmuspeed-control-up\">\n <span class=\"xgplayer-danmuspeed-control-up-item xgplayer-danmuspeed-small\">慢</span>\n <span class=\"xgplayer-danmuspeed-control-up-item xgplayer-danmuspeed-middle selected-color\">中</span>\n <span class=\"xgplayer-danmuspeed-control-up-item xgplayer-danmuspeed-large\">快</span>\n </div>\n <div class=\"xgplayer-danmuspeed-control-down\">\n <div class=\"xgplayer-danmuspeed-control-down-dots\">\n <span class=\"xgplayer-danmuspeed-small-dot\"></span>\n <span class=\"xgplayer-danmuspeed-middle-dot\"></span>\n <span class=\"xgplayer-danmuspeed-large-dot\"></span>\n </div>\n <input class=\"xgplayer-danmuspeed-line xgplayer-danmuspeed-color xgplayer-danmuspeed-bar xgplayer-gradient\" type=\"range\" min=\"50\" max=\"150\" step=\"50\" value=\"100\">\n </div>\n </div>\n </xg-danmuspeed>\n <xg-danmufont class=\"xgplayer-danmufont\">\n <div class=\"xgplayer-danmufont-name\">字体大小</div>\n <div class=\"xgplayer-danmufont-control\">\n <div class=\"xgplayer-danmufont-control-up\">\n <span class=\"xgplayer-danmufont-control-up-item xgplayer-danmufont-small\">小</span>\n <span class=\"xgplayer-danmufont-control-up-item xgplayer-danmufont-middle\">中</span>\n <span class=\"xgplayer-danmufont-control-up-item xgplayer-danmufont-large selected-color\">大</span>\n </div>\n <div class=\"xgplayer-danmufont-control-down\">\n <div class=\"xgplayer-danmufont-control-down-dots\">\n <span class=\"xgplayer-danmufont-small-dot\"></span>\n <span class=\"xgplayer-danmufont-middle-dot\"></span>\n <span class=\"xgplayer-danmufont-large-dot\"></span>\n </div>\n <input class=\"xgplayer-danmufont-line xgplayer-danmufont-color xgplayer-danmufont-bar xgplayer-gradient\" type=\"range\" min=\"20\" max=\"30\" step=\"5\" value=\"25\">\n </div>\n </div>\n </xg-danmufont>\n </xg-panel-slider>`, {tabindex: 7}, 'xgplayer-panel')\n player.once('ready', () => {\n player.controls.appendChild(panelBtn)\n })\n }\n player.once('complete', () => {\n let danmujs = new DanmuJs(config)\n player.emit('initDefaultDanmu', danmujs)\n player.danmu = danmujs\n\n if (!player.config.danmu.panel) {\n return\n }\n\n let slider = panelBtn.querySelector('.xgplayer-panel-slider')\n let focusStatus\n let focusarray = ['mouseenter', 'touchend', 'click']\n focusarray.forEach(item => {\n panelBtn.addEventListener(item, function (e) {\n e.preventDefault()\n e.stopPropagation()\n addClass(slider, 'xgplayer-panel-active')\n panelBtn.focus()\n focusStatus = true\n })\n })\n panelBtn.addEventListener('mouseleave', function (e) {\n e.preventDefault()\n e.stopPropagation()\n removeClass(slider, 'xgplayer-panel-active')\n focusStatus = false\n })\n slider.addEventListener('mouseleave', function (e) {\n e.preventDefault()\n e.stopPropagation()\n if (focusStatus === false) {\n removeClass(slider, 'xgplayer-panel-active')\n }\n })\n\n let danmuConfig = player.config.danmu\n let hidemodeScroll = panelBtn.querySelector('.xgplayer-hidemode-scroll')\n let hidemodeTop = panelBtn.querySelector('.xgplayer-hidemode-top')\n let hidemodeBottom = panelBtn.querySelector('.xgplayer-hidemode-bottom')\n let hidemodeColor = panelBtn.querySelector('.xgplayer-hidemode-color')\n let hidemodeArray = {\n 'scroll': hidemodeScroll,\n 'top': hidemodeTop,\n 'bottom': hidemodeBottom,\n 'color': hidemodeColor\n }\n for (let key in hidemodeArray) {\n let keys = key\n let ev = ['touchend', 'click']\n ev.forEach(item => {\n hidemodeArray[keys].addEventListener(item, function (e) {\n if (hidemodeArray[keys].getAttribute('id') !== 'true') {\n hidemodeArray[keys].style.color = '#f85959'\n hidemodeArray[keys].setAttribute('id', 'true')\n player.danmu.hide(keys)\n } else {\n hidemodeArray[keys].style.color = '#aaa'\n hidemodeArray[keys].setAttribute('id', 'false')\n player.danmu.show(keys)\n }\n })\n })\n }\n let transparency = panelBtn.querySelector('.xgplayer-transparency-line')\n let transparencyGradient = panelBtn.querySelector('.xgplayer-transparency-gradient')\n let transparencyValue = 50\n transparencyGradient.style.background = 'linear-gradient(to right, #f85959 0%, #f85959 ' + transparencyValue + '%, #aaa ' + transparencyValue + '%, #aaa)'\n transparency.addEventListener('input', function (e) {\n e.preventDefault()\n e.stopPropagation()\n transparencyValue = e.target.value\n transparencyGradient.style.background = 'linear-gradient(to right, #f85959 0%, #f85959 ' + transparencyValue + '%, #aaa ' + transparencyValue + '%, #aaa)'\n danmuConfig.comments.forEach(item => {\n item.style.opacity = transparencyValue / 100\n })\n })\n let showarea = panelBtn.querySelector('.xgplayer-showarea-line')\n showarea.addEventListener('input', function (e) {\n e.preventDefault()\n e.stopPropagation()\n let showareaValue = e.target.value\n player.danmu.config.area.end = showareaValue / 100\n player.config.danmu.area.end = showareaValue / 100\n player.danmu.bulletBtn.main.channel.resize()\n })\n let danmuspeed = panelBtn.querySelector('.xgplayer-danmuspeed-line')\n danmuspeed.addEventListener('input', function (e) {\n e.preventDefault()\n e.stopPropagation()\n let danmuspeedValue = e.target.value\n danmuConfig.comments.forEach(item => {\n item.duration = (200 - danmuspeedValue) * 100\n })\n })\n let danmufont = panelBtn.querySelector('.xgplayer-danmufont-line')\n danmufont.addEventListener('input', function (e) {\n e.preventDefault()\n e.stopPropagation()\n let danmufontValue = e.target.value\n danmuConfig.comments.forEach(item => {\n item.style.fontSize = danmufontValue + 'px'\n })\n })\n if(navigator.userAgent.indexOf(\"Firefox\") > -1) {\n for (let i = 0; i < slider.querySelectorAll('input').length; i++) {\n slider.querySelectorAll('input')[i].style.marginTop = '10px'\n }\n }\n })\n}\n\nexport default {\n name: 's_danmu',\n method: s_danmu\n}","!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof exports?exports[\"danmu.js\"]=t():e[\"danmu.js\"]=t()}(window,(function(){return function(e){var t={};function n(i){if(t[i])return t[i].exports;var o=t[i]={i:i,l:!1,exports:{}};return e[i].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,i){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},n.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var o in e)n.d(i,o,function(t){return e[t]}.bind(null,o));return i},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,\"a\",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p=\"\",n(n.s=4)}([function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var i={createDom:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"div\",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"\",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:\"\",o=document.createElement(e);return o.className=i,o.innerHTML=t,Object.keys(n).forEach((function(t){var i=t,r=n[t];\"video\"===e||\"audio\"===e?r&&o.setAttribute(i,r):o.setAttribute(i,r)})),o},hasClass:function(e,t){return e.classList?Array.prototype.some.call(e.classList,(function(e){return e===t})):!!e.className.match(new RegExp(\"(\\\\s|^)\"+t+\"(\\\\s|$)\"))},addClass:function(e,t){e.classList?t.replace(/(^\\s+|\\s+$)/g,\"\").split(/\\s+/g).forEach((function(t){t&&e.classList.add(t)})):i.hasClass(e,t)||(e.className+=\" \"+t)},removeClass:function(e,t){e.classList?t.split(/\\s+/g).forEach((function(t){e.classList.remove(t)})):i.hasClass(e,t)&&t.split(/\\s+/g).forEach((function(t){var n=new RegExp(\"(\\\\s|^)\"+t+\"(\\\\s|$)\");e.className=e.className.replace(n,\" \")}))},toggleClass:function(e,t){t.split(/\\s+/g).forEach((function(t){i.hasClass(e,t)?i.removeClass(e,t):i.addClass(e,t)}))},findDom:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:document,t=arguments[1],n=void 0;try{n=e.querySelector(t)}catch(i){t.startsWith(\"#\")&&(n=e.getElementById(t.slice(1)))}return n},deepCopy:function(e,t){if(\"Object\"===i.typeOf(t)&&\"Object\"===i.typeOf(e))return Object.keys(t).forEach((function(n){\"Object\"!==i.typeOf(t[n])||t[n]instanceof Node?\"Array\"===i.typeOf(t[n])?e[n]=\"Array\"===i.typeOf(e[n])?e[n].concat(t[n]):t[n]:e[n]=t[n]:e[n]?i.deepCopy(e[n],t[n]):e[n]=t[n]})),e},typeOf:function(e){return Object.prototype.toString.call(e).match(/([^\\s.*]+)(?=]$)/g)[0]},copyDom:function(e){if(e&&1===e.nodeType){var t=document.createElement(e.tagName);return Array.prototype.forEach.call(e.attributes,(function(e){t.setAttribute(e.name,e.value)})),e.innerHTML&&(t.innerHTML=e.innerHTML),t}return\"\"},formatTime:function(e){var t=Math.floor(e);return 1e3*t+(e-t)},offInDestroy:function(e,t,n,i){e.once(i,(function o(){e.off(t,n),e.off(i,o)}))},on:function(e,t,n,o){if(o)e.on(t,n),i.offInDestroy(e,t,n,o);else{e.on(t,(function i(o){n(o),e.off(t,i)}))}},style:function(e,t,n){var i=e.style;try{i[t]=n}catch(e){i.setProperty(t,n)}}};t.default=i,e.exports=t.default},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var i,o=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),r=n(26),a=(i=r)&&i.__esModule?i:{default:i};var s=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,e)}return o(e,[{key:\"setLogger\",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"\";this.logger=new a.default(e+\".js\")}}]),e}();t.default=s,e.exports=t.default},function(e,t,n){\"use strict\";var i=n(19)();e.exports=function(e){return e!==i&&null!==e}},function(e,t,n){\"use strict\";e.exports=function(e){return null!=e}},function(e,t,n){e.exports=n(5)},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var i,o=n(6),r=(i=o)&&i.__esModule?i:{default:i};n(34),t.default=r.default,e.exports=t.default},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),o=f(n(7)),r=f(n(1)),a=f(n(27)),s=f(n(31)),l=f(n(0)),u=n(32),c=n(33);function f(e){return e&&e.__esModule?e:{default:e}}function h(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}var d=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,t);var n=h(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));n.setLogger(\"danmu\"),n.logger&&n.logger.info(\"danmu.js version: \"+u.version);var i=n;if(i.config=l.default.deepCopy({overlap:!1,area:{start:0,end:1},live:!1,comments:[],direction:\"r2l\",needResizeObserver:!1},e),i.hideArr=[],i.domObj=new s.default,(0,o.default)(i),i.config.comments.forEach((function(e){e.duration=e.duration?e.duration:5e3,e.mode||(e.mode=\"scroll\")})),!i.config.container||1!==i.config.container.nodeType)return i.emit(\"error\",\"container id can't be empty\"),!1,h(n,!1);if(i.container=i.config.container,i.config.containerStyle){var r=i.config.containerStyle;Object.keys(r).forEach((function(e){i.container.style[e]=r[e]}))}return i.live=i.config.live,i.player=i.config.player,i.direction=i.config.direction,l.default.addClass(i.container,\"danmu\"),i.bulletBtn=new a.default(i),i.isReady=!0,i.emit(\"ready\"),n.logger&&n.logger.info(\"ready\"),n.addResizeObserver(),n}return function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),i(t,[{key:\"addResizeObserver\",value:function(){var e=this;this.config.needResizeObserver&&(0,c.addObserver)(this.container,(function(){e.logger&&e.logger.info(\"needResizeObserver\"),e.resize()}))}},{key:\"start\",value:function(){this.logger&&this.logger.info(\"start\"),this.bulletBtn.main.start()}},{key:\"pause\",value:function(){this.logger&&this.logger.info(\"pause\"),this.bulletBtn.main.pause()}},{key:\"play\",value:function(){this.logger&&this.logger.info(\"play\"),this.bulletBtn.main.play()}},{key:\"stop\",value:function(){this.logger&&this.logger.info(\"stop\"),this.bulletBtn.main.stop()}},{key:\"clear\",value:function(){this.logger&&this.logger.info(\"clear\"),this.bulletBtn.main.clear()}},{key:\"destroy\",value:function(){for(var e in(0,c.unObserver)(this.container),this.logger&&this.logger.info(\"destroy\"),this.stop(),this.bulletBtn.destroy(),this.domObj.destroy(),this)delete this[e];this.emit(\"destroy\")}},{key:\"sendComment\",value:function(e){this.logger&&this.logger.info(\"sendComment: \"+(e.txt||\"[DOM Element]\")),e.duration||(e.duration=15e3),e&&e.id&&e.duration&&(e.el||e.txt)&&(e.duration=e.duration?e.duration:5e3,e.style||(e.style={opacity:void 0,fontSize:void 0}),e.style&&(this.opacity&&this.opacity!==e.style.opacity&&(e.style.opacity=this.opacity),this.fontSize&&this.fontSize!==e.style.fontSize&&(e.style.fontSize=this.fontSize),this.like&&(e.like=e.like?e.like:this.like)),e.prior||e.realTime?(this.bulletBtn.main.data.unshift(e),e.realTime&&(this.bulletBtn.main.readData(),this.bulletBtn.main.dataHandle())):this.bulletBtn.main.data.push(e))}},{key:\"setCommentID\",value:function(e,t){var n=this;this.logger&&this.logger.info(\"setCommentID: oldID \"+e+\" newID \"+t);var i=this.container.getBoundingClientRect();e&&t&&(this.bulletBtn.main.data.some((function(n){return n.id===e&&(n.id=t,!0)})),this.bulletBtn.main.queue.some((function(o){return o.id===e&&(o.id=t,o.pauseMove(i),\"paused\"!==n.bulletBtn.main.status&&o.startMove(i),!0)})))}},{key:\"setCommentDuration\",value:function(e,t){var n=this;this.logger&&this.logger.info(\"setCommentDuration: id \"+e+\" duration \"+t);var i=this.container.getBoundingClientRect();e&&t&&(t=t||5e3,this.bulletBtn.main.data.some((function(n){return n.id===e&&(n.duration=t,!0)})),this.bulletBtn.main.queue.some((function(o){return o.id===e&&(o.duration=t,o.pauseMove(i),\"paused\"!==n.bulletBtn.main.status&&o.startMove(i),!0)})))}},{key:\"setCommentLike\",value:function(e,t){this.logger&&this.logger.info(\"setCommentLike: id \"+e+\" like \"+t);var n=this.container.getBoundingClientRect();this.like=t,e&&t&&(this.bulletBtn.main.data.some((function(n){return n.id===e&&(n.like=t,!0)})),this.bulletBtn.main.queue.some((function(i){return i.id===e&&(i.pauseMove(n),i.setLikeDom(t.el,t.style),\"paused\"!==i.danmu.bulletBtn.main.status&&i.startMove(n),!0)})))}},{key:\"restartComment\",value:function(e){this.logger&&this.logger.info(\"restartComment: id \"+e),this.mouseControl=!1;var t=this.container.getBoundingClientRect();e&&this.bulletBtn.main.queue.some((function(n){return n.id===e&&(\"paused\"!==n.danmu.bulletBtn.main.status?n.startMove(t,!0):n.status=\"paused\",!0)}))}},{key:\"freezeComment\",value:function(e){this.logger&&this.logger.info(\"freezeComment: id \"+e),this.mouseControl=!0;var t=this.container.getBoundingClientRect();e&&this.bulletBtn.main.queue.some((function(n){return n.id===e&&(n.status=\"forcedPause\",n.pauseMove(t),n.el&&n.el.style&&l.default.style(n.el,\"zIndex\",10),!0)}))}},{key:\"removeComment\",value:function(e){this.logger&&this.logger.info(\"removeComment: id \"+e),e&&(this.bulletBtn.main.queue.some((function(t){return t.id===e&&(t.remove(),!0)})),this.bulletBtn.main.data=this.bulletBtn.main.data.filter((function(t){return t.id!==e})))}},{key:\"updateComments\",value:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];t&&(this.bulletBtn.main.data=[]),this.bulletBtn.main.data=this.bulletBtn.main.data.concat(e)}},{key:\"setAllDuration\",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"scroll\",t=arguments[1],n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];this.logger&&this.logger.info(\"setAllDuration: mode \"+e+\" duration \"+t+\" force \"+n);var i=this.container.getBoundingClientRect();t&&(t=t||5e3,n&&(this.bulletBtn.main.forceDuration=t),this.bulletBtn.main.data.forEach((function(n){e===n.mode&&(n.duration=t)})),this.bulletBtn.main.queue.forEach((function(n){e===n.mode&&(n.duration=t,n.pauseMove(i),\"paused\"!==n.danmu.bulletBtn.main.status&&n.startMove(i))})))}},{key:\"setOpacity\",value:function(e){this.logger&&this.logger.info(\"setOpacity: opacity \"+e),this.container.style.opacity=e}},{key:\"setFontSize\",value:function(e,t){var n=this;this.logger&&this.logger.info(\"setFontSize: size \"+e+\" channelSize \"+t),this.fontSize=e+\"px\",e&&(this.bulletBtn.main.data.forEach((function(e){e.style&&(e.style.fontSize=n.fontSize)})),this.bulletBtn.main.queue.forEach((function(e){e.options.style||(e.options.style={}),e.options.style.fontSize=n.fontSize,e.setFontSize(n.fontSize),t&&(e.top=e.channel_id[0]*t,e.topInit())}))),t&&(this.config.channelSize=t,this.bulletBtn.main.channel.resize(!0))}},{key:\"setArea\",value:function(e){this.logger&&this.logger.info(\"setArea: area \"+e),this.config.area=e,this.bulletBtn.main.channel.resize(!0)}},{key:\"hide\",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"scroll\";this.logger&&this.logger.info(\"hide: mode \"+e),this.hideArr.indexOf(e)<0&&this.hideArr.push(e);var t=this.bulletBtn.main.queue.filter((function(t){return e===t.mode||\"color\"===e&&t.color}));t.forEach((function(e){return e.remove()}))}},{key:\"show\",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"scroll\";this.logger&&this.logger.info(\"show: mode \"+e);var t=this.hideArr.indexOf(e);t>-1&&this.hideArr.splice(t,1)}},{key:\"setDirection\",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"r2l\";this.logger&&this.logger.info(\"setDirection: direction \"+e),this.emit(\"changeDirection\",e)}},{key:\"resize\",value:function(){this.logger&&this.logger.info(\"resize\"),this.emit(\"channel_resize\")}}]),t}(r.default);t.default=d,e.exports=t.default},function(e,t,n){\"use strict\";var i,o,r,a,s,l,u,c=n(8),f=n(25),h=Function.prototype.apply,d=Function.prototype.call,g=Object.create,p=Object.defineProperty,m=Object.defineProperties,v=Object.prototype.hasOwnProperty,b={configurable:!0,enumerable:!1,writable:!0};o=function(e,t){var n,o;return f(t),o=this,i.call(this,e,n=function(){r.call(o,e,n),h.call(t,this,arguments)}),n.__eeOnceListener__=t,this},s={on:i=function(e,t){var n;return f(t),v.call(this,\"__ee__\")?n=this.__ee__:(n=b.value=g(null),p(this,\"__ee__\",b),b.value=null),n[e]?\"object\"==typeof n[e]?n[e].push(t):n[e]=[n[e],t]:n[e]=t,this},once:o,off:r=function(e,t){var n,i,o,r;if(f(t),!v.call(this,\"__ee__\"))return this;if(!(n=this.__ee__)[e])return this;if(\"object\"==typeof(i=n[e]))for(r=0;o=i[r];++r)o!==t&&o.__eeOnceListener__!==t||(2===i.length?n[e]=i[r?0:1]:i.splice(r,1));else i!==t&&i.__eeOnceListener__!==t||delete n[e];return this},emit:a=function(e){var t,n,i,o,r;if(v.call(this,\"__ee__\")&&(o=this.__ee__[e]))if(\"object\"==typeof o){for(n=arguments.length,r=new Array(n-1),t=1;t<n;++t)r[t-1]=arguments[t];for(o=o.slice(),t=0;i=o[t];++t)h.call(i,this,r)}else switch(arguments.length){case 1:d.call(o,this);break;case 2:d.call(o,this,arguments[1]);break;case 3:d.call(o,this,arguments[1],arguments[2]);break;default:for(n=arguments.length,r=new Array(n-1),t=1;t<n;++t)r[t-1]=arguments[t];h.call(o,this,r)}}},l={on:c(i),once:c(o),off:c(r),emit:c(a)},u=m({},l),e.exports=t=function(e){return null==e?g(u):m(Object(e),l)},t.methods=s},function(e,t,n){\"use strict\";var i=n(3),o=n(9),r=n(13),a=n(21),s=n(22);(e.exports=function(e,t){var n,o,l,u,c;return arguments.length<2||\"string\"!=typeof e?(u=t,t=e,e=null):u=arguments[2],i(e)?(n=s.call(e,\"c\"),o=s.call(e,\"e\"),l=s.call(e,\"w\")):(n=l=!0,o=!1),c={value:t,configurable:n,enumerable:o,writable:l},u?r(a(u),c):c}).gs=function(e,t,n){var l,u,c,f;return\"string\"!=typeof e?(c=n,n=t,t=e,e=null):c=arguments[3],i(t)?o(t)?i(n)?o(n)||(c=n,n=void 0):n=void 0:(c=t,t=n=void 0):t=void 0,i(e)?(l=s.call(e,\"c\"),u=s.call(e,\"e\")):(l=!0,u=!1),f={get:t,set:n,configurable:l,enumerable:u},c?r(a(c),f):f}},function(e,t,n){\"use strict\";var i=n(10),o=/^\\s*class[\\s{/}]/,r=Function.prototype.toString;e.exports=function(e){return!!i(e)&&!o.test(r.call(e))}},function(e,t,n){\"use strict\";var i=n(11);e.exports=function(e){if(\"function\"!=typeof e)return!1;if(!hasOwnProperty.call(e,\"length\"))return!1;try{if(\"number\"!=typeof e.length)return!1;if(\"function\"!=typeof e.call)return!1;if(\"function\"!=typeof e.apply)return!1}catch(e){return!1}return!i(e)}},function(e,t,n){\"use strict\";var i=n(12);e.exports=function(e){if(!i(e))return!1;try{return!!e.constructor&&e.constructor.prototype===e}catch(e){return!1}}},function(e,t,n){\"use strict\";var i=n(3),o={object:!0,function:!0,undefined:!0};e.exports=function(e){return!!i(e)&&hasOwnProperty.call(o,typeof e)}},function(e,t,n){\"use strict\";e.exports=n(14)()?Object.assign:n(15)},function(e,t,n){\"use strict\";e.exports=function(){var e,t=Object.assign;return\"function\"==typeof t&&(t(e={foo:\"raz\"},{bar:\"dwa\"},{trzy:\"trzy\"}),e.foo+e.bar+e.trzy===\"razdwatrzy\")}},function(e,t,n){\"use strict\";var i=n(16),o=n(20),r=Math.max;e.exports=function(e,t){var n,a,s,l=r(arguments.length,2);for(e=Object(o(e)),s=function(i){try{e[i]=t[i]}catch(e){n||(n=e)}},a=1;a<l;++a)i(t=arguments[a]).forEach(s);if(void 0!==n)throw n;return e}},function(e,t,n){\"use strict\";e.exports=n(17)()?Object.keys:n(18)},function(e,t,n){\"use strict\";e.exports=function(){try{return Object.keys(\"primitive\"),!0}catch(e){return!1}}},function(e,t,n){\"use strict\";var i=n(2),o=Object.keys;e.exports=function(e){return o(i(e)?Object(e):e)}},function(e,t,n){\"use strict\";e.exports=function(){}},function(e,t,n){\"use strict\";var i=n(2);e.exports=function(e){if(!i(e))throw new TypeError(\"Cannot use null or undefined\");return e}},function(e,t,n){\"use strict\";var i=n(2),o=Array.prototype.forEach,r=Object.create,a=function(e,t){var n;for(n in e)t[n]=e[n]};e.exports=function(e){var t=r(null);return o.call(arguments,(function(e){i(e)&&a(Object(e),t)})),t}},function(e,t,n){\"use strict\";e.exports=n(23)()?String.prototype.contains:n(24)},function(e,t,n){\"use strict\";var i=\"razdwatrzy\";e.exports=function(){return\"function\"==typeof i.contains&&(!0===i.contains(\"dwa\")&&!1===i.contains(\"foo\"))}},function(e,t,n){\"use strict\";var i=String.prototype.indexOf;e.exports=function(e){return i.call(this,e,arguments[1])>-1}},function(e,t,n){\"use strict\";e.exports=function(e){if(\"function\"!=typeof e)throw new TypeError(e+\" is not a function\");return e}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}();var o=\"undefined\"!=typeof window&&window.location.href.indexOf(\"danmu-debug\")>-1,r=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,e),this.constructorName=t||\"\"}return i(e,[{key:\"info\",value:function(e){for(var t,n=arguments.length,i=Array(n>1?n-1:0),r=1;r<n;r++)i[r-1]=arguments[r];o&&(t=console).log.apply(t,[\"[Danmu Log][\"+this.constructorName+\"]\",e].concat(i))}}]),e}();t.default=r,e.exports=t.default},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),o=s(n(1)),r=s(n(0)),a=s(n(28));function s(e){return e&&e.__esModule?e:{default:e}}var l=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return n.setLogger(\"control\"),n.danmu=e,n.main=new a.default(e),e.config.defaultOff||n.main.start(),n}return function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),i(t,[{key:\"createSwitch\",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this.logger&&this.logger.info(\"createSwitch\"),this.switchBtn=r.default.createDom(\"dk-switch\",'<span class=\"txt\">弹</span>',{},\"danmu-switch \"+(e?\"danmu-switch-active\":\"\")),this.switchBtn}},{key:\"destroy\",value:function(){for(var e in this.logger&&this.logger.info(\"destroy\"),this.main.destroy(),this)delete this[e]}}]),t}(o.default);t.default=l,e.exports=t.default},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),o=l(n(1)),r=l(n(29)),a=l(n(30)),s=l(n(0));function l(e){return e&&e.__esModule?e:{default:e}}var u=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));n.setLogger(\"main\"),n.danmu=e,n.container=e.container,n.channel=new r.default(e),n.data=[].concat(e.config.comments),n.playedData=[],n.queue=[],n.timer=null,n.retryTimer=null,n.retryStatus=\"normal\",n.interval=e.config.interval||2e3,n.status=\"idle\",s.default.on(e,\"bullet_remove\",n.updateQueue.bind(n),\"destroy\");var i=n;return s.default.on(n.danmu,\"changeDirection\",(function(e){i.danmu.direction=e}),\"destroy\"),n.nums=0,n}return function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),i(t,[{key:\"destroy\",value:function(){for(var e in this.logger&&this.logger.info(\"destroy\"),clearTimeout(this.dataHandleTimer),this.channel.destroy(),this.data=[],this)delete this[e]}},{key:\"updateQueue\",value:function(e){this.logger&&this.logger.info(\"updateQueue\");var t=this;t.queue.some((function(n,i){return n.id===e.bullet.id&&(t.queue.splice(i,1),!0)})),t.data.some((function(t,n){return t.id===e.bullet.id&&(t.hasAttached=!1,!0)}))}},{key:\"init\",value:function(e,t){t.logger&&t.logger.info(\"init\"),t||(t=this),t.retryStatus=\"normal\",t.data.sort((function(e,t){return e.start-t.start}));t.retryTimer||function e(){\"closed\"===t.status&&\"stop\"===t.retryStatus||(\"playing\"===t.status&&(t.readData(),t.dataHandle()),\"stop\"===t.retryStatus&&\"paused\"!==t.status||(t.dataHandleTimer=setTimeout((function(){e()}),t.interval-1e3)))}()}},{key:\"start\",value:function(){this.logger&&this.logger.info(\"start\");this.status=\"playing\",this.queue=[],this.container.innerHTML=\"\",this.channel.resetWithCb(this.init,this)}},{key:\"stop\",value:function(){this.logger&&this.logger.info(\"stop\");this.status=\"closed\",this.retryTimer=null,this.retryStatus=\"stop\",this.channel.reset(),this.queue=[],this.container.innerHTML=\"\"}},{key:\"clear\",value:function(){this.logger&&this.logger.info(\"clear\"),this.channel.reset(),this.data=[],this.queue=[],this.container.innerHTML=\"\"}},{key:\"play\",value:function(){var e=this;this.logger&&this.logger.info(\"play\"),this.status=\"playing\";var t=this.channel.channels,n=this.danmu.container.getBoundingClientRect();t&&t.length>0&&[\"scroll\",\"top\",\"bottom\"].forEach((function(i){e.queue.forEach((function(e){e.startMove(n),e.resized=!0}));for(var o=0;o<t.length;o++)t[o].queue[i].forEach((function(e){e.resized=!1}))}))}},{key:\"pause\",value:function(){this.logger&&this.logger.info(\"pause\"),this.status=\"paused\";var e=this.channel.channels,t=this.danmu.container.getBoundingClientRect();e&&e.length>0&&this.queue.forEach((function(e){e.pauseMove(t)}))}},{key:\"dataHandle\",value:function(){var e=this;\"paused\"!==this.status&&\"closed\"!==this.status&&e.queue.length&&e.queue.forEach((function(t){\"waiting\"===t.status&&t.startMove(e.channel.containerPos)}))}},{key:\"readData\",value:function(){var e=this,t=this.danmu;if(t.isReady){var n=0;t.player&&t.player.currentTime&&(n=s.default.formatTime(t.player.currentTime));var i=void 0,o=e.interval,r=e.channel,l=void 0;t.player?(l=e.data.filter((function(t){return!t.start&&e.danmu.hideArr.indexOf(t.mode)<0&&(!t.color||e.danmu.hideArr.indexOf(\"color\")<0)&&(t.start=n),e.danmu.hideArr.indexOf(t.mode)<0&&(!t.color||e.danmu.hideArr.indexOf(\"color\")<0)&&t.start-o<=n&&n<=t.start+o})),t.live&&(e.data=[])):0===(l=e.data.splice(0,1)).length&&(l=e.playedData.splice(0,1)),l.length>0&&l.forEach((function(n){if(e.forceDuration&&e.forceDuration!=n.duration&&(n.duration=e.forceDuration),i=new a.default(t,n),n.hasAttached){for(var o in i.detach(),i)delete i[o];i=null,n.hasAttached=!1,n.noDiscard&&(n.prior?e.data.unshift(n):e.data.push(n))}else if(i.attach(),n.hasAttached=!0,r.addBullet(i).result)e.queue.push(i),e.nums++,i.topInit();else{for(var s in i.detach(),i)delete i[s];i=null,n.hasAttached=!1,n.noDiscard&&(n.prior?e.data.unshift(n):e.data.push(n))}}))}}}]),t}(o.default);t.default=u,e.exports=t.default},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),o=a(n(1)),r=a(n(0));function a(e){return e&&e.__esModule?e:{default:e}}var s=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));n.setLogger(\"channel\"),n.danmu=e,n.reset(!0);var i=n;return r.default.on(n.danmu,\"bullet_remove\",(function(e){i.removeBullet(e.bullet)}),\"destroy\"),n.direction=e.direction,r.default.on(n.danmu,\"changeDirection\",(function(e){i.direction=e}),\"destroy\"),n.containerPos=n.danmu.container.getBoundingClientRect(),n.containerWidth=n.containerPos.width,n.containerHeight=n.containerPos.height,n.containerLeft=n.containerPos.left,n.containerRight=n.containerPos.right,r.default.on(n.danmu,\"channel_resize\",(function(){i.containerPos=i.danmu.container.getBoundingClientRect(),i.resizing||(i.containerWidth=i.containerPos.width,i.containerHeight=i.containerPos.height,i.containerLeft=i.containerPos.left,i.containerRight=i.containerPos.right,i.resize(!0))}),\"destroy\"),n}return function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),i(t,[{key:\"destroy\",value:function(){for(var e in this.logger&&this.logger.info(\"destroy\"),clearTimeout(this.resizeTimer),this.channels=[],this)delete this[e]}},{key:\"resize\",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.logger&&this.logger.info(\"resize\");var t=this.danmu.container,n=this;n.resizing||(n.resizing=!0,this.resizeTimer=setTimeout((function(){n.danmu.bulletBtn.main.data&&n.danmu.bulletBtn.main.data.forEach((function(e){e.bookChannelId&&(delete e.bookChannelId,n.logger&&n.logger.info(\"resize导致\"+e.id+\"号优先弹幕预定取消\"))})),n.logger&&n.logger.info(\"resize导致所有轨道恢复正常使用\");var i=t.getBoundingClientRect();n.width=i.width,n.height=i.height,n.danmu.config.area&&n.danmu.config.area.start>=0&&n.danmu.config.area.end>=n.danmu.config.area.start&&(\"b2t\"===n.direction?n.width=n.width*(n.danmu.config.area.end-n.danmu.config.area.start):n.height=n.height*(n.danmu.config.area.end-n.danmu.config.area.start)),n.container=t;var o=n.danmu.config.channelSize||(/mobile/gi.test(navigator.userAgent)?10:12),r=void 0;r=\"b2t\"===n.direction?Math.floor(n.width/o):Math.floor(n.height/o);for(var a=[],s=0;s<r;s++)a[s]={id:s,queue:{scroll:[],top:[],bottom:[]},operating:{scroll:!1,top:!1,bottom:!1},bookId:{}};if(n.channels&&n.channels.length<=a.length){for(var l=function(t){a[t]={id:t,queue:{scroll:[],top:[],bottom:[]},operating:{scroll:!1,top:!1,bottom:!1},bookId:{}},[\"scroll\",\"top\"].forEach((function(i){n.channels[t].queue[i].forEach((function(o){o.el&&(a[t].queue[i].push(o),o.resized||(o.pauseMove(n.containerPos,e),\"paused\"!==o.danmu.bulletBtn.main.status&&o.startMove(n.containerPos),o.resized=!0))}))})),n.channels[t].queue.bottom.forEach((function(i){if(i.el){if(a[t+a.length-n.channels.length].queue.bottom.push(i),i.channel_id[0]+i.channel_id[1]-1===t){var r=[].concat(i.channel_id);i.channel_id=[r[0]-n.channels.length+a.length,r[1]],i.top=i.channel_id[0]*o,n.danmu.config.area&&n.danmu.config.area.start&&(i.top+=n.containerHeight*n.danmu.config.area.start),i.topInit()}i.resized||(i.pauseMove(n.containerPos,e),\"paused\"!==i.danmu.bulletBtn.main.status&&i.startMove(n.containerPos),i.resized=!0)}}))},u=0;u<n.channels.length;u++)l(u);for(var c=function(e){[\"scroll\",\"top\",\"bottom\"].forEach((function(t){a[e].queue[t].forEach((function(e){e.resized=!1}))}))},f=0;f<a.length;f++)c(f);n.channels=a,\"b2t\"===n.direction?n.channelWidth=o:n.channelHeight=o}else if(n.channels&&n.channels.length>a.length){for(var h=function(t){a[t]={id:t,queue:{scroll:[],top:[],bottom:[]},operating:{scroll:!1,top:!1,bottom:!1},bookId:{}},[\"scroll\",\"top\",\"bottom\"].forEach((function(i){if(\"top\"===i&&t>Math.floor(a.length/2));else if(\"bottom\"===i&&t<=Math.floor(a.length/2));else{var r=\"bottom\"===i?t-a.length+n.channels.length:t;n.channels[r].queue[i].forEach((function(s,l){if(s.el){if(a[t].queue[i].push(s),\"bottom\"===i&&s.channel_id[0]+s.channel_id[1]-1===r){var u=[].concat(s.channel_id);s.channel_id=[u[0]-n.channels.length+a.length,u[1]],s.top=s.channel_id[0]*o,n.danmu.config.area&&n.danmu.config.area.start&&(s.top+=n.containerHeight*n.danmu.config.area.start),s.topInit()}s.pauseMove(n.containerPos,e),\"paused\"!==s.danmu.bulletBtn.main.status&&s.startMove(n.containerPos),s.resized||(s.resized=!0)}n.channels[r].queue[i].splice(l,1)}))}}))},d=0;d<a.length;d++)h(d);for(var g=function(e){[\"scroll\",\"top\",\"bottom\"].forEach((function(t){a[e].queue[t].forEach((function(e){e.resized=!1}))}))},p=0;p<a.length;p++)g(p);n.channels=a,\"b2t\"===n.direction?n.channelWidth=o:n.channelHeight=o}n.resizing=!1}),10))}},{key:\"addBullet\",value:function(e){var t=this,n=this.danmu,i=this.channels,o=void 0,r=void 0,a=void 0;if(\"b2t\"===t.direction?(r=this.channelWidth,a=Math.ceil(e.width/r)):(o=this.channelHeight,a=Math.ceil(e.height/o)),a>i.length)return{result:!1,message:\"exceed channels.length, occupy=\"+a+\",channelsSize=\"+i.length};for(var s=!0,l=void 0,u=-1,c=0,f=i.length;c<f;c++)if(i[c].queue[e.mode].some((function(t){return t.id===e.id})))return{result:!1,message:\"exsited, channelOrder=\"+c+\",danmu_id=\"+e.id};if(\"scroll\"===e.mode)for(var h=0,d=i.length-a;h<=d;h++){s=!0;for(var g=h;g<h+a;g++){if((l=i[g]).operating.scroll){s=!1;break}if(l.bookId.scroll&&l.bookId.scroll!==e.id){s=!1;break}l.operating.scroll=!0;var p=l.queue.scroll[0];if(p){var m=p.el.getBoundingClientRect();if(\"b2t\"===t.direction){if(m.bottom>t.containerPos.bottom){s=!1,l.operating.scroll=!1;break}}else if(m.right>t.containerPos.right){s=!1,l.operating.scroll=!1;break}var v,b=void 0,y=void 0,w=void 0,_=void 0;if(\"b2t\"===t.direction?(y=(m.top-t.containerPos.top+m.height)/(b=(t.containerPos.height+m.height)/p.duration),w=t.containerPos.height,_=(t.containerPos.height+e.height)/e.duration):(y=(m.left-t.containerPos.left+m.width)/(b=(t.containerPos.width+m.width)/p.duration),w=t.containerPos.width,_=(t.containerPos.width+e.width)/e.duration),v=w/_,n.config.bOffset||(n.config.bOffset=0),b<_&&y+n.config.bOffset>v){s=!1,l.operating.scroll=!1;break}}l.operating.scroll=!1}if(s){u=h;break}}else if(\"top\"===e.mode)for(var O=0,k=i.length-a;O<=k;O++){s=!0;for(var x=O;x<O+a;x++){if(x>Math.floor(i.length/2)){s=!1;break}if((l=i[x]).operating[e.mode]){s=!1;break}if((l.bookId[e.mode]||e.prior)&&l.bookId[e.mode]!==e.id){s=!1;break}if(l.operating[e.mode]=!0,l.queue[e.mode].length>0){s=!1,l.operating[e.mode]=!1;break}l.operating[e.mode]=!1}if(s){u=O;break}}else if(\"bottom\"===e.mode)for(var M=i.length-a;M>=0;M--){s=!0;for(var C=M;C<M+a;C++){if(C<=Math.floor(i.length/2)){s=!1;break}if((l=i[C]).operating[e.mode]){s=!1;break}if((l.bookId[e.mode]||e.prior)&&l.bookId[e.mode]!==e.id){s=!1;break}if(l.operating[e.mode]=!0,l.queue[e.mode].length>0){s=!1,l.operating[e.mode]=!1;break}l.operating[e.mode]=!1}if(s){u=M;break}}if(-1!==u){for(var j=u,E=u+a;j<E;j++)(l=i[j]).operating[e.mode]=!0,l.queue[e.mode].unshift(e),e.prior&&(delete l.bookId[e.mode],t.logger&&t.logger.info(j+\"号轨道恢复正常使用\")),l.operating[e.mode]=!1;if(e.prior)if(t.logger&&t.logger.info(e.id+\"号优先弹幕运行完毕\"),delete e.bookChannelId,n.player)n.bulletBtn.main.data.some((function(t){return t.id===e.id&&(delete t.bookChannelId,!0)}));return e.channel_id=[u,a],\"b2t\"===t.direction?(e.top=u*r,t.danmu.config.area&&t.danmu.config.area.start&&(e.top+=t.containerWidth*t.danmu.config.area.start)):(e.top=u*o,t.danmu.config.area&&t.danmu.config.area.start&&(e.top+=t.containerHeight*t.danmu.config.area.start)),{result:e,message:\"success\"}}if(e.options.realTime){var B=0,T=-1,P=null;if(t.danmu.bulletBtn.main.queue.forEach((function(e,n){!e.prior&&!e.options.realTime&&e.el&&e.el.getBoundingClientRect().left>t.containerPos.right&&e.start>=B&&(B=e.start,T=n,P=e)})),P){P.remove(),t.removeBullet(P),t.danmu.bulletBtn.main.queue.splice(T,1),e.channel_id=P.channel_id;for(var z=P.channel_id[0],S=P.channel_id[0]+P.channel_id[1];z<S;z++)(l=i[z]).operating[e.mode]=!0,l.queue[e.mode].unshift(e),e.prior&&delete l.bookId[e.mode],l.operating[e.mode]=!1;return e.top=P.top,t.danmu.config.area&&t.danmu.config.area.start&&(e.top+=t.containerHeight*t.danmu.config.area.start),{result:e,message:\"success\"}}}if(e.prior)if(e.bookChannelId||t.danmu.live){if(n.player)n.bulletBtn.main.data.some((function(n){return n.id===e.id&&(t.logger&&t.logger.info(e.id+\"号优先弹幕将于2秒后再次请求注册\"),n.start+=2e3,!0)}))}else{u=-1;for(var L=0,D=i.length-a;L<=D;L++){s=!0;for(var q=L;q<L+a;q++)if(i[q].bookId[e.mode]){s=!1;break}if(s){u=L;break}}if(-1!==u){for(var R=u;R<u+a;R++)i[R].bookId[e.mode]=e.id,t.logger&&t.logger.info(R+\"号轨道被\"+e.id+\"号优先弹幕预定\");if(n.player)n.bulletBtn.main.data.some((function(n){return n.id===e.id&&(t.logger&&t.logger.info(e.id+\"号优先弹幕将于2秒后再次请求注册\"),n.start+=2e3,n.bookChannelId=[u,a],t.logger&&t.logger.info(e.id+\"号优先弹幕预定了\"+u+\"~\"+(u+a-1)+\"号轨道\"),!0)}))}}return{result:!1,message:\"no surplus will right\"}}},{key:\"removeBullet\",value:function(e){this.logger&&this.logger.info(\"removeBullet \"+(e.options.txt||\"[DOM Element]\"));for(var t=this.channels,n=e.channel_id,i=void 0,o=n[0],r=n[0]+n[1];o<r;o++)if(i=t[o]){i.operating[e.mode]=!0;var a=-1;i.queue[e.mode].some((function(t,n){return t.id===e.id&&(a=n,!0)})),a>-1&&i.queue[e.mode].splice(a,1),i.operating[e.mode]=!1}e.options.loop&&this.danmu.bulletBtn.main.playedData.push(e.options)}},{key:\"resetArea\",value:function(){this.logger&&this.logger.info(\"resetArea\");var e=this.danmu.container,t=this,n=e.getBoundingClientRect();t.width=n.width,t.height=n.height,t.danmu.config.area&&t.danmu.config.area.start>=0&&t.danmu.config.area.end>=t.danmu.config.area.start&&(\"b2t\"===t.direction?t.width=t.width*(t.danmu.config.area.end-t.danmu.config.area.start):t.height=t.height*(t.danmu.config.area.end-t.danmu.config.area.start)),t.container=e;var i=t.danmu.config.channelSize||(/mobile/gi.test(navigator.userAgent)?10:12),o=void 0;o=\"b2t\"===t.direction?Math.floor(t.width/i):Math.floor(t.height/i);for(var r=[],a=0;a<o;a++)r[a]={id:a,queue:{scroll:[],top:[],bottom:[]},operating:{scroll:!1,top:!1,bottom:!1},bookId:{}};if(t.channels&&t.channels.length<=r.length){for(var s=function(e){r[e]={id:e,queue:{scroll:[],top:[],bottom:[]},operating:{scroll:!1,top:!1,bottom:!1},bookId:{}},[\"scroll\",\"top\"].forEach((function(n){t.channels[e].queue[n].forEach((function(i){i.el&&(r[e].queue[n].push(i),i.resized||(i.pauseMove(t.containerPos,!1),i.startMove(t.containerPos),i.resized=!0))}))})),t.channels[e].queue.bottom.forEach((function(n){if(n.el){if(r[e+r.length-t.channels.length].queue.bottom.push(n),n.channel_id[0]+n.channel_id[1]-1===e){var o=[].concat(n.channel_id);n.channel_id=[o[0]-t.channels.length+r.length,o[1]],n.top=n.channel_id[0]*i,t.danmu.config.area&&t.danmu.config.area.start&&(n.top+=t.containerHeight*t.danmu.config.area.start),n.topInit()}n.resized||(n.pauseMove(t.containerPos,!1),n.startMove(t.containerPos),n.resized=!0)}}))},l=0;l<t.channels.length;l++)s(l);for(var u=function(e){[\"scroll\",\"top\",\"bottom\"].forEach((function(t){r[e].queue[t].forEach((function(e){e.resized=!1}))}))},c=0;c<r.length;c++)u(c);t.channels=r,\"b2t\"===t.direction?t.channelWidth=i:t.channelHeight=i}else if(t.channels&&t.channels.length>r.length){for(var f=function(e){r[e]={id:e,queue:{scroll:[],top:[],bottom:[]},operating:{scroll:!1,top:!1,bottom:!1},bookId:{}},[\"scroll\",\"top\",\"bottom\"].forEach((function(n){if(\"top\"===n&&e>Math.floor(r.length/2));else if(\"bottom\"===n&&e<=Math.floor(r.length/2));else{var o=\"bottom\"===n?e-r.length+t.channels.length:e;t.channels[o].queue[n].forEach((function(a,s){if(a.el){if(r[e].queue[n].push(a),\"bottom\"===n&&a.channel_id[0]+a.channel_id[1]-1===o){var l=[].concat(a.channel_id);a.channel_id=[l[0]-t.channels.length+r.length,l[1]],a.top=a.channel_id[0]*i,t.danmu.config.area&&t.danmu.config.area.start&&(a.top+=t.containerHeight*t.danmu.config.area.start),a.topInit()}a.resized||(a.pauseMove(t.containerPos,!1),a.startMove(t.containerPos),a.resized=!0)}t.channels[o].queue[n].splice(s,1)}))}}))},h=0;h<r.length;h++)f(h);for(var d=function(e){[\"scroll\",\"top\",\"bottom\"].forEach((function(t){r[e].queue[t].forEach((function(e){e.resized=!1}))}))},g=0;g<r.length;g++)d(g);t.channels=r,\"b2t\"===t.direction?t.channelWidth=i:t.channelHeight=i}}},{key:\"reset\",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.logger&&this.logger.info(\"reset\");var t=this.danmu.container,n=this;function i(){var e=t.getBoundingClientRect();n.width=e.width,n.height=e.height,n.danmu.config.area&&n.danmu.config.area.start>=0&&n.danmu.config.area.end>=n.danmu.config.area.start&&(\"b2t\"===n.direction?n.width=n.width*(n.danmu.config.area.end-n.danmu.config.area.start):n.height=n.height*(n.danmu.config.area.end-n.danmu.config.area.start)),n.container=t;var i=n.danmu.config.channelSize||(/mobile/gi.test(navigator.userAgent)?10:12),o=void 0;o=\"b2t\"===n.direction?Math.floor(n.width/i):Math.floor(n.height/i);for(var r=[],a=0;a<o;a++)r[a]={id:a,queue:{scroll:[],top:[],bottom:[]},operating:{scroll:!1,top:!1,bottom:!1},bookId:{}};n.channels=r,\"b2t\"===n.direction?n.channelWidth=i:n.channelHeight=i}n.danmu.bulletBtn&&n.danmu.bulletBtn.main&&n.danmu.bulletBtn.main.queue.forEach((function(e){e.pauseMove(n.containerPos),e.remove()})),n.channels&&n.channels.length>0&&[\"scroll\",\"top\",\"bottom\"].forEach((function(e){for(var t=0;t<n.channels.length;t++)n.channels[t].queue[e].forEach((function(e){e.pauseMove(n.containerPos),e.remove()}))})),n.danmu.bulletBtn&&n.danmu.bulletBtn.main&&n.danmu.bulletBtn.main.data&&n.danmu.bulletBtn.main.data.forEach((function(e){e.hasAttached=!1})),e?this.resetTimer=setTimeout(i,200):i()}},{key:\"resetWithCb\",value:function(e,t){this.logger&&this.logger.info(\"resetWithCb\");var n=this.danmu.container,i=this;i.channels&&i.channels.length>0&&[\"scroll\",\"top\",\"bottom\"].forEach((function(e){for(var t=0;t<i.channels.length;t++)i.channels[t].queue[e].forEach((function(e){e.pauseMove(i.containerPos),e.remove()}))}));var o=n.getBoundingClientRect();i.width=o.width,i.height=o.height,i.danmu.config.area&&i.danmu.config.area.start>=0&&i.danmu.config.area.end>=i.danmu.config.area.start&&(\"b2t\"===i.direction?i.width=i.width*(i.danmu.config.area.end-i.danmu.config.area.start):i.height=i.height*(i.danmu.config.area.end-i.danmu.config.area.start)),i.container=n;var r=i.danmu.config.channelSize||(/mobile/gi.test(navigator.userAgent)?10:12),a=void 0;a=\"b2t\"===i.direction?Math.floor(i.width/r):Math.floor(i.height/r);for(var s=[],l=0;l<a;l++)s[l]={id:l,queue:{scroll:[],top:[],bottom:[]},operating:{scroll:!1,top:!1,bottom:!1},bookId:{}};i.channels=s,i.channelHeight=r,e&&e(!0,t)}}]),t}(o.default);t.default=s,e.exports=t.default},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),o=a(n(1)),r=a(n(0));function a(e){return e&&e.__esModule?e:{default:e}}var s=function(e){function t(e,n){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,t);var i=function(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));i.setLogger(\"bullet\"),i.danmu=e,i.options=n,i.duration=n.duration,i.moveV=n.moveV,i.id=n.id,i.container=e.container,i.start=n.start,i.prior=n.prior,i.color=n.color,i.bookChannelId=n.bookChannelId,i.direction=e.direction;var o=i;i.onChangeDirection=function(e){o.direction=e},i.danmu.on(\"changeDirection\",i.onChangeDirection);var a=void 0;if(i.domObj=e.domObj,n.el&&1===n.el.nodeType){a=i.domObj.use();var s=r.default.copyDom(n.el);n.eventListeners&&n.eventListeners.length>0&&n.eventListeners.forEach((function(e){s.addEventListener(e.event,e.listener,e.useCapture||!1)})),a.appendChild(s)}else(a=i.domObj.use()).textContent=n.txt;if(n.style){var l=n.style;Object.keys(l).forEach((function(e){r.default.style(a,e,l[e])}))}\"top\"===n.mode||\"bottom\"===n.mode?i.mode=n.mode:i.mode=\"scroll\",i.el=a,n.like&&n.like.el&&i.setLikeDom(n.like.el,n.like.style),i.status=\"waiting\";var u=i.container.getBoundingClientRect(),c=Math.floor(Math.random()*(u.width/10>100?200:u.width/10));n.realTime&&(c=0);var f=u.width+c+\"px\";return r.default.style(i.el,\"left\",f),i.containerPos=u,i}return function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),i(t,[{key:\"attach\",value:function(){if(this.container.appendChild(this.el),this.elPos=this.el.getBoundingClientRect(),\"b2t\"===this.direction?(this.width=this.elPos.height,this.height=this.elPos.width):(this.width=this.elPos.width,this.height=this.elPos.height),this.moveV){var e=this.containerPos;this.duration=(e.width+this.width)/this.moveV*1e3}this.danmu.config&&this.danmu.config.mouseControl&&(this.mouseoverFunWrapper=this.mouseoverFun.bind(this),this.el.addEventListener(\"mouseover\",this.mouseoverFunWrapper,!1))}},{key:\"mouseoverFun\",value:function(e){this.danmu&&this.danmu.mouseControl&&this.danmu.config.mouseControlPause||\"waiting\"===this.status||\"end\"===this.status||this.danmu&&this.danmu.emit(\"bullet_hover\",{bullet:this,event:e})}},{key:\"detach\",value:function(){this.el&&(this.danmu.config&&this.danmu.config.mouseControl&&this.el.removeEventListener(\"mouseover\",this.mouseoverFunWrapper,!1),this.el.parentNode&&this.el.parentNode.removeChild(this.el),this.domObj.unuse(this.el),this.el=null),this.danmu.off(\"changeDirection\",this.onChangeDirection)}},{key:\"topInit\",value:function(){if(this.logger&&this.logger.info(\"topInit #\"+(this.options.txt||\"[DOM Element]\")+\"#\"),\"b2t\"===this.direction){var e=this.containerPos;r.default.style(this.el,\"transformOrigin\",\"left top\"),r.default.style(this.el,\"transform\",\"translateX(-\"+this.top+\"px) translateY(\"+e.height+\"px) translateZ(0px) rotate(90deg)\"),r.default.style(this.el,\"transition\",\"transform 0s linear 0s\")}else r.default.style(this.el,\"top\",this.top+\"px\")}},{key:\"pauseMove\",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.logger&&this.logger.info(\"pauseMove #\"+(this.options.txt||\"[DOM Element]\")+\"#\");var n=this;if(\"paused\"!==this.status&&(\"forcedPause\"!==n.status&&(this.status=\"paused\"),clearTimeout(n.removeTimer),this.el))if(r.default.style(this.el,\"willChange\",\"auto\"),\"scroll\"===this.mode){if(t){var i=((new Date).getTime()-n.moveTime)/1e3,o=i*this.moveV,a=0;a=n.moveMoreS-o>=0?\"b2t\"===this.direction?(n.moveMoreS-o)/n.moveContainerHeight*e.height:(n.moveMoreS-o)/n.moveContainerWidth*e.width:n.moveMoreS-o,\"b2t\"===this.direction?r.default.style(this.el,\"transform\",\"translateX(-\"+this.top+\"px) translateY(\"+a+\"px) translateZ(0px) rotate(90deg)\"):r.default.style(this.el,\"left\",a+\"px\")}else\"b2t\"===this.direction?r.default.style(this.el,\"transform\",\"translateX(-\"+this.top+\"px) translateY(\"+(this.el.getBoundingClientRect().top-e.top)+\"px) translateZ(0px) rotate(90deg)\"):r.default.style(this.el,\"left\",this.el.getBoundingClientRect().left-e.left+\"px\");\"b2t\"===this.direction||r.default.style(this.el,\"transform\",\"translateX(0px) translateY(0px) translateZ(0px)\"),r.default.style(this.el,\"transition\",\"transform 0s linear 0s\")}else this.pastDuration&&this.startTime?this.pastDuration=this.pastDuration+(new Date).getTime()-this.startTime:this.pastDuration=1}},{key:\"startMove\",value:function(e,t){this.logger&&this.logger.info(\"startMove #\"+(this.options.txt||\"[DOM Element]\")+\"#\");var n=this;if(n.hasMove||(n.danmu.emit(\"bullet_start\",n),n.hasMove=!0),(\"forcedPause\"!==n.status||t)&&this.el&&\"start\"!==this.status)if(this.status=\"start\",r.default.style(this.el,\"willChange\",\"transform\"),\"scroll\"===this.mode)if(\"b2t\"===this.direction){this.moveV=(e.height+this.height)/this.duration*1e3;var i=(n.el.getBoundingClientRect().bottom-e.top)/this.moveV;r.default.style(this.el,\"transition\",\"transform \"+i+\"s linear 0s\"),this.startMoveTimer=setTimeout((function(){n.el&&(r.default.style(n.el,\"transform\",\"translateX(-\"+n.top+\"px) translateY(-\"+n.height+\"px) translateZ(0px) rotate(90deg)\"),n.moveTime=(new Date).getTime(),n.moveMoreS=n.el.getBoundingClientRect().top-e.top,n.moveContainerHeight=e.height,n.removeTimer=setTimeout(l,1e3*i))}),20)}else{var o=this.el.getBoundingClientRect();this.moveV=(e.width+this.width)/this.duration*1e3;var a=(o.right-e.left)/this.moveV;r.default.style(this.el,\"transition\",\"transform \"+a+\"s linear 0s\"),this.startMoveTimer=setTimeout((function(){if(n.el){var t=n.el.getBoundingClientRect(),i=(t.right-e.left)/a;t.right>e.left&&i>n.moveV-1&&i<n.moveV+1?(r.default.style(n.el,\"transform\",\"translateX(-\"+(t.right-e.left)+\"px) translateY(0px) translateZ(0px)\"),n.moveTime=(new Date).getTime(),n.moveMoreS=t.left-e.left,n.moveContainerWidth=e.width,n.removeTimer=setTimeout(l,1e3*a)):(n.status=\"end\",n.remove())}}),0)}else{r.default.style(this.el,\"left\",\"50%\"),r.default.style(this.el,\"margin\",\"0 0 0 -\"+this.width/2+\"px\"),this.pastDuration||(this.pastDuration=1);var s=this.duration>=this.pastDuration?this.duration-this.pastDuration:0;this.removeTimer=setTimeout(l,s),this.startTime=(new Date).getTime()}function l(){if(n.el)if(\"scroll\"===n.mode){var e=n.containerPos,t=n.el.getBoundingClientRect();\"b2t\"===n.direction?t&&t.bottom<=e.top+100?(n.status=\"end\",n.remove()):(n.pauseMove(e),\"paused\"!==n.danmu.bulletBtn.main.status&&n.startMove(e)):t&&t.right<=e.left+100?(n.status=\"end\",n.remove()):(n.pauseMove(e),\"paused\"!==n.danmu.bulletBtn.main.status&&n.startMove(e))}else n.status=\"end\",n.remove()}}},{key:\"remove\",value:function(){this.logger&&this.logger.info(\"remove #\"+(this.options.txt||\"[DOM Element]\")+\"#\");this.removeTimer&&clearTimeout(this.removeTimer),this.startMoveTimer&&clearTimeout(this.startMoveTimer),this.el&&this.el.parentNode&&(r.default.style(this.el,\"willChange\",\"auto\"),this.detach(),this.danmu.emit(\"bullet_remove\",{bullet:this}))}},{key:\"setFontSize\",value:function(e){this.el&&(this.el.style.fontSize=e)}},{key:\"setLikeDom\",value:function(e,t){if(e){Object.keys(t).forEach((function(n){e.style[n]=t[n]}));if(e.className=\"danmu-like\",this.el){var n=this.el.querySelector(\".danmu-like\");n&&this.el.removeChild(n),this.el.innerHTML=\"\"+this.el.innerHTML+e.outerHTML}}return e}}]),t}(o.default);t.default=s,e.exports=t.default},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var i,o=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),r=n(0),a=(i=r)&&i.__esModule?i:{default:i};var s=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,e),t={initDOM:function(){return document.createElement(\"div\")},initSize:10},this.init(t)}return o(e,[{key:\"init\",value:function(e){this.idleList=[],this.usingList=[],this._id=0,this.options=e,this._expand(e.initSize)}},{key:\"use\",value:function(){this.idleList.length||this._expand(1);var e=this.idleList.shift();return this.usingList.push(e),e}},{key:\"unuse\",value:function(e){var t=this.usingList.indexOf(e);t<0||(this.usingList.splice(t,1),e.innerHTML=\"\",e.textcontent=\"\",this.clearElementStyle(e),this.idleList.push(e))}},{key:\"_expand\",value:function(e){for(var t=0;t<e;t++)this.idleList.push(this.options.initDOM(this._id++))}},{key:\"destroy\",value:function(){for(var e=0;e<this.idleList.length;e++)this.idleList[e].innerHTML=\"\",this.idleList[e].textcontent=\"\",this.clearElementStyle(this.idleList[e]);for(var t=0;t<this.usingList.length;t++)this.usingList[t].innerHTML=\"\",this.usingList[t].textcontent=\"\",this.clearElementStyle(this.usingList[t]);for(var n in this)delete this[n]}},{key:\"clearElementStyle\",value:function(e){var t=\"undefined\"!=typeof window?window.navigator.userAgent:null;t&&(t.indexOf(\"MSIE \")>-1||t.indexOf(\"Trident/\")>-1?a.default.style(e,\"transform\",\"none\"):e.setAttribute(\"style\",\"\"))}}]),e}();t.default=s,e.exports=t.default},function(e){e.exports=JSON.parse('{\"version\":\"0.5.9\"}')},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}();var o=new(function(){function e(){var t=this;if(function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,e),this.__handlers=[],window.ResizeObserver)try{this.observer=new window.ResizeObserver((function(e){var n=(new Date).getTime();n-t.timeStampe<200||(t.timeStampe=n,t.__trigger(e))})),this.timeStampe=(new Date).getTime()}catch(e){}}return i(e,[{key:\"addObserver\",value:function(e,t){if(this.observer){this.observer&&this.observer.observe(e);for(var n=this.__handlers,i=-1,o=0;o<n.length;o++)n[o]&&e===n[o].target&&(i=o);i>-1?this.__handlers[i].handler.push(t):this.__handlers.push({target:e,handler:[t]})}}},{key:\"unObserver\",value:function(e){var t=-1;this.__handlers.map((function(n,i){e===n.target&&(t=i)})),this.observer&&this.observer.unobserve(e),t>-1&&this.__handlers.splice(t,1)}},{key:\"destroyObserver\",value:function(){this.observer&&this.observer.disconnect(),this.observer=null,this.__handlers=null}},{key:\"__runHandler\",value:function(e){for(var t=this.__handlers,n=0;n<t.length;n++)if(t[n]&&e===t[n].target){t[n].handler&&t[n].handler.map((function(e){try{e()}catch(e){console.error(e)}}));break}}},{key:\"__trigger\",value:function(e){var t=this;e.map((function(e){t.__runHandler(e.target)}))}}]),e}());t.addObserver=function(e,t){o.addObserver(e,t)},t.unObserver=function(e,t){o.unObserver(e,t)},t.destroyObserver=function(e,t){o.destroyObserver(e,t)}},function(e,t,n){var i=n(35);\"string\"==typeof i&&(i=[[e.i,i,\"\"]]);var o={hmr:!0,transform:void 0,insertInto:void 0};n(37)(i,o);i.locals&&(e.exports=i.locals)},function(e,t,n){(e.exports=n(36)(!1)).push([e.i,\".danmu{overflow:hidden;-webkit-user-select:none;-moz-user-select:none;user-select:none;-ms-user-select:none}.danmu>*{position:absolute;white-space:nowrap}.danmu-switch{width:32px;height:20px;border-radius:100px;background-color:#ccc;-webkit-box-sizing:border-box;box-sizing:border-box;outline:none;cursor:pointer;position:relative;text-align:center;margin:10px auto}.danmu-switch.danmu-switch-active{padding-left:12px;background-color:#f85959}.danmu-switch span.txt{width:20px;height:20px;line-height:20px;text-align:center;display:block;border-radius:100px;background-color:#ffffff;-webkit-box-shadow:-2px 0 0 0 rgba(0, 0, 0, .04);box-shadow:-2px 0 0 0 rgba(0, 0, 0, .04);font-family:PingFangSC;font-size:10px;font-weight:500;color:#f44336}\\n\",\"\"])},function(e,t){e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n=function(e,t){var n=e[1]||\"\",i=e[3];if(!i)return n;if(t&&\"function\"==typeof btoa){var o=(a=i,\"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,\"+btoa(unescape(encodeURIComponent(JSON.stringify(a))))+\" */\"),r=i.sources.map((function(e){return\"/*# sourceURL=\"+i.sourceRoot+e+\" */\"}));return[n].concat(r).concat([o]).join(\"\\n\")}var a;return[n].join(\"\\n\")}(t,e);return t[2]?\"@media \"+t[2]+\"{\"+n+\"}\":n})).join(\"\")},t.i=function(e,n){\"string\"==typeof e&&(e=[[null,e,\"\"]]);for(var i={},o=0;o<this.length;o++){var r=this[o][0];\"number\"==typeof r&&(i[r]=!0)}for(o=0;o<e.length;o++){var a=e[o];\"number\"==typeof a[0]&&i[a[0]]||(n&&!a[2]?a[2]=n:n&&(a[2]=\"(\"+a[2]+\") and (\"+n+\")\"),t.push(a))}},t}},function(e,t,n){var i,o,r={},a=(i=function(){return window&&document&&document.all&&!window.atob},function(){return void 0===o&&(o=i.apply(this,arguments)),o}),s=function(e){return document.querySelector(e)},l=function(e){var t={};return function(e){if(\"function\"==typeof e)return e();if(void 0===t[e]){var n=s.call(this,e);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}t[e]=n}return t[e]}}(),u=null,c=0,f=[],h=n(38);function d(e,t){for(var n=0;n<e.length;n++){var i=e[n],o=r[i.id];if(o){o.refs++;for(var a=0;a<o.parts.length;a++)o.parts[a](i.parts[a]);for(;a<i.parts.length;a++)o.parts.push(y(i.parts[a],t))}else{var s=[];for(a=0;a<i.parts.length;a++)s.push(y(i.parts[a],t));r[i.id]={id:i.id,refs:1,parts:s}}}}function g(e,t){for(var n=[],i={},o=0;o<e.length;o++){var r=e[o],a=t.base?r[0]+t.base:r[0],s={css:r[1],media:r[2],sourceMap:r[3]};i[a]?i[a].parts.push(s):n.push(i[a]={id:a,parts:[s]})}return n}function p(e,t){var n=l(e.insertInto);if(!n)throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insertInto' parameter is invalid.\");var i=f[f.length-1];if(\"top\"===e.insertAt)i?i.nextSibling?n.insertBefore(t,i.nextSibling):n.appendChild(t):n.insertBefore(t,n.firstChild),f.push(t);else if(\"bottom\"===e.insertAt)n.appendChild(t);else{if(\"object\"!=typeof e.insertAt||!e.insertAt.before)throw new Error(\"[Style Loader]\\n\\n Invalid value for parameter 'insertAt' ('options.insertAt') found.\\n Must be 'top', 'bottom', or Object.\\n (https://github.com/webpack-contrib/style-loader#insertat)\\n\");var o=l(e.insertInto+\" \"+e.insertAt.before);n.insertBefore(t,o)}}function m(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e);var t=f.indexOf(e);t>=0&&f.splice(t,1)}function v(e){var t=document.createElement(\"style\");return void 0===e.attrs.type&&(e.attrs.type=\"text/css\"),b(t,e.attrs),p(e,t),t}function b(e,t){Object.keys(t).forEach((function(n){e.setAttribute(n,t[n])}))}function y(e,t){var n,i,o,r;if(t.transform&&e.css){if(!(r=t.transform(e.css)))return function(){};e.css=r}if(t.singleton){var a=c++;n=u||(u=v(t)),i=O.bind(null,n,a,!1),o=O.bind(null,n,a,!0)}else e.sourceMap&&\"function\"==typeof URL&&\"function\"==typeof URL.createObjectURL&&\"function\"==typeof URL.revokeObjectURL&&\"function\"==typeof Blob&&\"function\"==typeof btoa?(n=function(e){var t=document.createElement(\"link\");return void 0===e.attrs.type&&(e.attrs.type=\"text/css\"),e.attrs.rel=\"stylesheet\",b(t,e.attrs),p(e,t),t}(t),i=x.bind(null,n,t),o=function(){m(n),n.href&&URL.revokeObjectURL(n.href)}):(n=v(t),i=k.bind(null,n),o=function(){m(n)});return i(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;i(e=t)}else o()}}e.exports=function(e,t){if(\"undefined\"!=typeof DEBUG&&DEBUG&&\"object\"!=typeof document)throw new Error(\"The style-loader cannot be used in a non-browser environment\");(t=t||{}).attrs=\"object\"==typeof t.attrs?t.attrs:{},t.singleton||\"boolean\"==typeof t.singleton||(t.singleton=a()),t.insertInto||(t.insertInto=\"head\"),t.insertAt||(t.insertAt=\"bottom\");var n=g(e,t);return d(n,t),function(e){for(var i=[],o=0;o<n.length;o++){var a=n[o];(s=r[a.id]).refs--,i.push(s)}e&&d(g(e,t),t);for(o=0;o<i.length;o++){var s;if(0===(s=i[o]).refs){for(var l=0;l<s.parts.length;l++)s.parts[l]();delete r[s.id]}}}};var w,_=(w=[],function(e,t){return w[e]=t,w.filter(Boolean).join(\"\\n\")});function O(e,t,n,i){var o=n?\"\":i.css;if(e.styleSheet)e.styleSheet.cssText=_(t,o);else{var r=document.createTextNode(o),a=e.childNodes;a[t]&&e.removeChild(a[t]),a.length?e.insertBefore(r,a[t]):e.appendChild(r)}}function k(e,t){var n=t.css,i=t.media;if(i&&e.setAttribute(\"media\",i),e.styleSheet)e.styleSheet.cssText=n;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(n))}}function x(e,t,n){var i=n.css,o=n.sourceMap,r=void 0===t.convertToAbsoluteUrls&&o;(t.convertToAbsoluteUrls||r)&&(i=h(i)),o&&(i+=\"\\n/*# sourceMappingURL=data:application/json;base64,\"+btoa(unescape(encodeURIComponent(JSON.stringify(o))))+\" */\");var a=new Blob([i],{type:\"text/css\"}),s=e.href;e.href=URL.createObjectURL(a),s&&URL.revokeObjectURL(s)}},function(e,t){e.exports=function(e){var t=\"undefined\"!=typeof window&&window.location;if(!t)throw new Error(\"fixUrls requires window.location\");if(!e||\"string\"!=typeof e)return e;var n=t.protocol+\"//\"+t.host,i=n+t.pathname.replace(/\\/[^\\/]*$/,\"/\");return e.replace(/url\\s*\\(((?:[^)(]|\\((?:[^)(]+|\\([^)(]*\\))*\\))*)\\)/gi,(function(e,t){var o,r=t.trim().replace(/^\"(.*)\"$/,(function(e,t){return t})).replace(/^'(.*)'$/,(function(e,t){return t}));return/^(#|data:|http:\\/\\/|https:\\/\\/|file:\\/\\/\\/|\\s*$)/i.test(r)?e:(o=0===r.indexOf(\"//\")?r:0===r.indexOf(\"/\")?n+r:i+r.replace(/^\\.\\//,\"\"),\"url(\"+JSON.stringify(o)+\")\")}))}}])}));\n//# sourceMappingURL=index.js.map","module.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function() {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","export default \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 40 40\\\" width=\\\"40\\\" height=\\\"40\\\">\\n <path fill=\\\"#f85959\\\" transform=\\\"scale(0.8 0.8)\\\" d=\\\"M36.5,18.73a1.19,1.19,0,0,0,1-1.14V16.33a1.2,1.2,0,0,0-1-1.13l-.61-.08a1.75,1.75,0,0,1-1.3-.86l-.21-.36-.2-.36A1.72,1.72,0,0,1,34,12l.23-.58a1.18,1.18,0,0,0-.5-1.42l-1.1-.62a1.18,1.18,0,0,0-1.47.3l-.39.51a1.82,1.82,0,0,1-1.41.72c-.44,0-1.88-.27-2.22-.7l-.39-.49a1.18,1.18,0,0,0-1.48-.28l-1.09.64a1.19,1.19,0,0,0-.47,1.43l.25.59a1.87,1.87,0,0,1-.08,1.58c-.26.37-1.17,1.5-1.71,1.58l-.63.09a1.19,1.19,0,0,0-1,1.14l0,1.27a1.17,1.17,0,0,0,1,1.12l.61.08a1.74,1.74,0,0,1,1.3.87l.21.36.2.35A1.69,1.69,0,0,1,24,22.08l-.23.59a1.19,1.19,0,0,0,.5,1.42l1.1.62a1.19,1.19,0,0,0,1.48-.31l.38-.5a1.83,1.83,0,0,1,1.41-.72c.44,0,1.88.25,2.22.69l.39.49a1.18,1.18,0,0,0,1.48.28L33.86,24a1.19,1.19,0,0,0,.47-1.43L34.09,22a1.84,1.84,0,0,1,.07-1.58c.26-.37,1.17-1.5,1.72-1.58ZM31,18.94a2.76,2.76,0,0,1-4.65-1.2A2.71,2.71,0,0,1,27,15.13a2.76,2.76,0,0,1,4.64,1.2A2.7,2.7,0,0,1,31,18.94Z\\\"/>\\n <path fill=\\\"#f85959\\\" transform=\\\"scale(0.8 0.8)\\\" d=\\\"M32,0H3.59A3.59,3.59,0,0,0,0,3.59v17A3.59,3.59,0,0,0,3.59,24.2H19.72a12.59,12.59,0,0,1-.81-1.2A11.73,11.73,0,0,1,35.54,7.28V3.59A3.59,3.59,0,0,0,32,0ZM13,14.18H4.29a1.52,1.52,0,0,1,0-3H13a1.52,1.52,0,0,1,0,3ZM16.45,8H4.29a1.51,1.51,0,0,1,0-3H16.45a1.51,1.51,0,1,1,0,3Z\\\"/>\\n</svg>\\n\"","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./danmu.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./danmu.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./danmu.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .danmu-switch{-webkit-order:6;-moz-box-ordinal-group:7;order:6;z-index:26}.xgplayer-skin-default .xgplayer-danmu{display:none;position:absolute;top:0;left:0;right:0;height:100%;overflow:hidden;z-index:9;outline:none}.xgplayer-skin-default .xgplayer-danmu>*{position:absolute;white-space:nowrap;z-index:9}.xgplayer-skin-default .xgplayer-danmu.xgplayer-has-danmu{display:block}.xgplayer-skin-default .xgplayer-panel{outline:none;-webkit-order:7;-moz-box-ordinal-group:8;order:7;width:40px;height:40px;display:inline-block;position:relative;font-family:PingFangSC-Regular;font-size:13px;color:hsla(0,0%,100%,.8);z-index:36}.xgplayer-skin-default .xgplayer-panel .xgplayer-panel-icon{cursor:pointer;position:absolute;margin-left:5px;top:10px}.xgplayer-skin-default .xgplayer-panel-active{display:block!important;bottom:30px}.xgplayer-skin-default .xgplayer-panel-slider{z-index:36;display:none;position:absolute;width:230px;height:230px;background:rgba(0,0,0,.54);border-radius:1px;padding:10px 20px;outline:none;left:-115px;bottom:40px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-hidemode{padding-bottom:10px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-hidemode-radio li{display:inline;list-style:none;cursor:pointer}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-hidemode ul{display:-webkit-flex;display:-moz-box;display:flex;-webkit-justify-content:space-around;justify-content:space-around}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-hidemode li{margin:0 12px;font-size:11px;color:#aaa}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-hidemode-font{margin-bottom:10px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-transparency{display:block;margin-top:10px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-transparency .xgplayer-transparency-line{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;outline:none;width:150px;height:4px;background:#aaa;border-radius:4px;border-style:none;margin-left:10px;margin-top:-2px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-transparency .xgplayer-transparency-line::-moz-focus-outer{border:0!important}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-transparency .xgplayer-transparency-color::-webkit-slider-runnable-track{outline:none;width:150px;height:4px;border-radius:4px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-transparency .xgplayer-transparency-color::-moz-range-track{outline:none;background-color:#aaa;border-color:transparent;cursor:pointer;width:150px;height:4px;border-radius:4px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-transparency .xgplayer-transparency-color::-ms-track{outline:none;background-color:#aaa;color:transparent;border-color:transparent;width:150px;height:4px;border-radius:4px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-transparency .xgplayer-transparency-bar::-webkit-slider-thumb{outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:6px solid #f85959;height:6px;width:6px;margin-top:-4px;border-radius:6px;cursor:pointer}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-transparency .xgplayer-transparency-bar::-moz-range-thumb{outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:6px solid #f85959;height:0;width:0;border-radius:6px;cursor:pointer}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-transparency .xgplayer-transparency-bar::-ms-thumb{outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:6px solid #f85959;height:6px;width:6px;border-radius:6px;cursor:pointer}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-transparency .xgplayer-transparency-bar::-moz-range-progress{outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:4px;border-radius:4px;background:linear-gradient(90deg,#f85959,#f85959 100%,#aaa)}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea{display:block;margin-top:8px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea-name{display:inline-block;position:relative;top:-10px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea-control{display:inline-block}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea-control-up{width:150px;margin-left:10px;display:-moz-box;display:-webkit-flex;display:flex;-webkit-justify-content:space-between;-moz-box-pack:justify;justify-content:space-between;color:#aaa}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea-control-down{position:relative;top:-10px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea-control-down-dots{display:-webkit-flex;display:-moz-box;display:flex;width:150px;margin-left:10px;-webkit-justify-content:space-between;-moz-box-pack:justify;justify-content:space-between}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea-threequarters,.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea-twoquarters{margin-left:-6px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea-full{margin-right:3px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea .xgplayer-showarea-line{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;outline:none;width:150px;height:4px;background:#aaa;border-radius:4px;border-style:none;margin-left:10px;margin-top:-2px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea .xgplayer-showarea-line::-moz-focus-outer{border:0!important}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea .xgplayer-showarea-color::-webkit-slider-runnable-track{outline:none;width:150px;height:4px;border-radius:4px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea .xgplayer-showarea-color::-moz-range-track{outline:none;background-color:#aaa;border-color:transparent;cursor:pointer;width:150px;height:4px;border-radius:4px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea .xgplayer-showarea-color::-ms-track{outline:none;background-color:#aaa;color:transparent;border-color:transparent;width:150px;height:4px;border-radius:4px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea .xgplayer-showarea-bar::-webkit-slider-thumb{outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:6px solid #f85959;height:6px;width:6px;margin-top:-4px;border-radius:6px;cursor:pointer}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea .xgplayer-showarea-bar::-moz-range-thumb{outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:6px solid #f85959;height:0;width:0;border-radius:6px;cursor:pointer}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea .xgplayer-showarea-bar::-ms-thumb{outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:6px solid #f85959;height:6px;width:6px;border-radius:6px;cursor:pointer}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea .xgplayer-showarea-full-dot,.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea .xgplayer-showarea-onequarters-dot,.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea .xgplayer-showarea-threequarters-dot,.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea .xgplayer-showarea-twoquarters-dot,.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea .xgplayer-showarea-zero-dot{width:3px;height:3px;border:3px solid #aaa;border-radius:50%;background-color:#aaa;position:relative;top:16px;z-index:-1}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmuspeed{display:block}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmuspeed-name{display:inline-block;position:relative;top:-10px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmuspeed-control{display:inline-block}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmuspeed-control-up{width:150px;margin-left:10px;display:-moz-box;display:-webkit-flex;display:flex;-webkit-justify-content:space-between;-moz-box-pack:justify;justify-content:space-between;color:#aaa}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmuspeed-control-down{position:relative;top:-10px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmuspeed-control-down-dots{display:-webkit-flex;display:-moz-box;display:flex;width:150px;margin-left:10px;-webkit-justify-content:space-between;-moz-box-pack:justify;justify-content:space-between}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmuspeed .xgplayer-danmuspeed-line{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;outline:none;width:150px;height:4px;background:#aaa;border-radius:4px;border-style:none;margin-left:10px;margin-top:-2px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmuspeed .xgplayer-danmuspeed-line::-moz-focus-outer{border:0!important}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmuspeed .xgplayer-danmuspeed-color::-webkit-slider-runnable-track{outline:none;width:150px;height:4px;border-radius:4px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmuspeed .xgplayer-danmuspeed-color::-moz-range-track{outline:none;background-color:#aaa;border-color:transparent;cursor:pointer;width:150px;height:4px;border-radius:4px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmuspeed .xgplayer-danmuspeed-color::-ms-track{outline:none;background-color:#aaa;color:transparent;border-color:transparent;width:150px;height:4px;border-radius:4px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmuspeed .xgplayer-danmuspeed-bar::-webkit-slider-thumb{outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:6px solid #f85959;height:6px;width:6px;margin-top:-4px;border-radius:6px;cursor:pointer}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmuspeed .xgplayer-danmuspeed-bar::-moz-range-thumb{outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:6px solid #f85959;height:0;width:0;border-radius:6px;cursor:pointer}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmuspeed .xgplayer-danmuspeed-bar::-ms-thumb{outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:6px solid #f85959;height:6px;width:6px;border-radius:6px;cursor:pointer}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmuspeed .xgplayer-danmuspeed-large-dot,.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmuspeed .xgplayer-danmuspeed-middle-dot,.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmuspeed .xgplayer-danmuspeed-small-dot{width:3px;height:3px;border:3px solid #aaa;border-radius:50%;background-color:#aaa;position:relative;top:16px;z-index:-1}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmufont{display:block}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmufont-name{display:inline-block;position:relative;top:-10px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmufont-control{display:inline-block}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmufont-control-up{width:150px;margin-left:10px;display:-moz-box;display:-webkit-flex;display:flex;-webkit-justify-content:space-between;-moz-box-pack:justify;justify-content:space-between;color:#aaa}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmufont-control-down{position:relative;top:-10px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmufont-control-down-dots{display:-webkit-flex;display:-moz-box;display:flex;width:150px;margin-left:10px;-webkit-justify-content:space-between;-moz-box-pack:justify;justify-content:space-between}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmufont .xgplayer-danmufont-line{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;outline:none;width:150px;height:4px;background:#aaa;border-radius:4px;border-style:none;margin-left:10px;margin-top:-2px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmufont .xgplayer-danmufont-line::-moz-focus-outer{border:0!important}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmufont .xgplayer-danmufont-color::-webkit-slider-runnable-track{outline:none;width:150px;height:4px;border-radius:4px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmufont .xgplayer-danmufont-color::-moz-range-track{outline:none;background-color:#aaa;border-color:transparent;cursor:pointer;width:150px;height:4px;border-radius:4px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmufont .xgplayer-danmufont-color::-ms-track{outline:none;background-color:#aaa;color:transparent;border-color:transparent;width:150px;height:4px;border-radius:4px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmufont .xgplayer-danmufont-bar::-webkit-slider-thumb{outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:6px solid #f85959;height:6px;width:6px;margin-top:-4px;border-radius:6px;cursor:pointer}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmufont .xgplayer-danmufont-bar::-moz-range-thumb{outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:6px solid #f85959;height:0;width:0;border-radius:6px;cursor:pointer}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmufont .xgplayer-danmufont-bar::-ms-thumb{outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:6px solid #f85959;height:6px;width:6px;border-radius:6px;cursor:pointer}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmufont .xgplayer-danmufont-large-dot,.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmufont .xgplayer-danmufont-middle-dot,.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmufont .xgplayer-danmufont-small-dot{width:3px;height:3px;border:3px solid #aaa;border-radius:50%;background-color:#aaa;position:relative;top:16px;z-index:-1}\", \"\"]);\n\n// exports\n","import { createDom } from '../../utils/util'\nimport '../style/controls/pip.scss'\n\nlet s_pip = function () {\n let player = this\n if (!player.config.pip || typeof player.video.requestPictureInPicture !== 'function') { return }\n let pip = player.lang.PIP\n let btn = createDom('xg-pip', `<p class=\"name\"><span>${pip}</span></p>`, {tabindex: 9}, 'xgplayer-pip')\n\n player.once('ready', () => {\n player.controls.appendChild(btn);\n });\n\n ['click', 'touchend'].forEach(item => {\n btn.addEventListener(item, e => {\n e.preventDefault()\n e.stopPropagation()\n player.userGestureTrigEvent('pipBtnClick')\n })\n })\n}\n\nexport default {\n name: 's_pip',\n method: s_pip\n}","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./pip.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./pip.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./pip.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-pip{-webkit-order:9;-moz-box-ordinal-group:10;order:9;position:relative;outline:none;display:block;cursor:pointer;height:20px;top:10px}.xgplayer-skin-default .xgplayer-pip .name{text-align:center;font-family:PingFangSC-Regular;font-size:13px;line-height:20px;height:20px;color:hsla(0,0%,100%,.8)}.xgplayer-skin-default .xgplayer-pip .name span{width:60px;height:20px;line-height:20px;background:rgba(0,0,0,.38);border-radius:10px;display:inline-block;vertical-align:middle}.lang-is-jp .xgplayer-pip .name span{width:70px;height:20px}\", \"\"]);\n\n// exports\n","import { createDom } from '../../utils/util'\nimport '../style/controls/miniplayer.scss'\n\nlet s_miniplayer = function () {\n let player = this\n if (!player.config.miniplayer) { return }\n let miniplayer = player.lang.MINIPLAYER\n let btn = createDom('xg-miniplayer', `<p class=\"name\"><span>${miniplayer}</span></p>`, {tabindex: 9}, 'xgplayer-miniplayer')\n\n player.once('ready', () => {\n player.controls.appendChild(btn);\n });\n\n ['click', 'touchend'].forEach(item => {\n btn.addEventListener(item, e => {\n e.preventDefault()\n e.stopPropagation()\n player.userGestureTrigEvent('miniplayerBtnClick')\n })\n })\n}\n\nexport default {\n name: 's_miniplayer',\n method: s_miniplayer\n}","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./miniplayer.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./miniplayer.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./miniplayer.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-miniplayer{-webkit-order:9;-moz-box-ordinal-group:10;order:9;position:relative;outline:none;display:block;cursor:pointer;height:20px;top:10px}.xgplayer-skin-default .xgplayer-miniplayer .name{text-align:center;font-family:PingFangSC-Regular;font-size:13px;line-height:20px;height:20px;color:hsla(0,0%,100%,.8)}.xgplayer-skin-default .xgplayer-miniplayer .name span{width:80px;height:20px;line-height:20px;background:rgba(0,0,0,.38);border-radius:10px;display:inline-block;vertical-align:middle}.xgplayer-skin-default .xgplayer-miniplayer-lay{position:absolute;top:26px;left:0;width:100%;height:100%;z-index:130;cursor:pointer;background-color:transparent;display:none}.xgplayer-skin-default .xgplayer-miniplayer-lay div{width:100%;height:100%}.xgplayer-skin-default .xgplayer-miniplayer-drag{cursor:move;position:absolute;top:0;left:0;width:100%;height:26px;line-height:26px;background-image:linear-gradient(rgba(0,0,0,.3),transparent);z-index:130;display:none}.xgplayer-skin-default .xgplayer-miniplayer-drag .drag-handle{width:100%}.xgplayer-skin-default.xgplayer-miniplayer-active{position:fixed;right:0;bottom:200px;width:320px;height:180px;z-index:110}.xgplayer-skin-default.xgplayer-miniplayer-active .xgplayer-controls,.xgplayer-skin-default.xgplayer-miniplayer-active .xgplayer-danmu{display:none}.xgplayer-skin-default.xgplayer-miniplayer-active .xgplayer-miniplayer-lay{display:block}.xgplayer-skin-default.xgplayer-miniplayer-active .xgplayer-miniplayer-drag{display:-webkit-flex;display:-moz-box;display:flex}.xgplayer-skin-default.xgplayer-inactive .xgplayer-miniplayer-drag{display:none}.lang-is-jp .xgplayer-miniplayer .name span{width:70px;height:20px}\", \"\"]);\n\n// exports\n","import { createDom, addClass } from '../../utils/util'\nimport PlayNextIcon from '../assets/playNext.svg'\nimport '../style/controls/playNext.scss'\n\nlet s_playNext = function () {\n let player = this\n let nextBtn = player.config.playNext\n if (!nextBtn || !nextBtn.urlList) { return }\n let btn = createDom('xg-playnext', `<xg-icon class=\"xgplayer-icon\">${PlayNextIcon}</xg-icon>`, {}, 'xgplayer-playnext')\n let tipsText = player.lang.PLAYNEXT_TIPS\n let tips = createDom('xg-tips', `<span class=\"xgplayer-tip-playnext\">${tipsText}</span>`, {}, 'xgplayer-tips')\n btn.appendChild(tips)\n player.once('ready', () => {\n player.controls.appendChild(btn)\n });\n\n ['click', 'touchend'].forEach(item => {\n btn.addEventListener(item, e => {\n e.preventDefault()\n e.stopPropagation()\n addClass(player.root, 'xgplayer-is-enter')\n player.userGestureTrigEvent('playNextBtnClick')\n })\n })\n\n let onUrlListEnd = function () {\n addClass(player.root, 'xgplayer-playnext-inactive')\n }\n player.on('urlListEnd', onUrlListEnd)\n\n function onDestroy () {\n player.off('urlListEnd', onUrlListEnd)\n player.off('destroy', onDestroy)\n }\n player.once('destroy', onDestroy)\n}\n\nexport default {\n name: 's_playNext',\n method: s_playNext\n}","export default \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"40\\\" height=\\\"40\\\" viewBox=\\\"0 0 40 40\\\">\\n <path transform=\\\"scale(0.038 0.028)\\\" d=\\\"M800 380v768h-128v-352l-320 320v-704l320 320v-352z\\\"></path>\\n</svg>\\n\"","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./playNext.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./playNext.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./playNext.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-playnext{position:relative;-webkit-order:1;-moz-box-ordinal-group:2;order:1;display:block;cursor:pointer;top:-2px}.xgplayer-skin-default .xgplayer-playnext .xgplayer-icon div{position:absolute}.xgplayer-skin-default .xgplayer-playnext .xgplayer-tips .xgplayer-tip-playnext{display:block}.xgplayer-skin-default .xgplayer-playnext:hover{opacity:.85}.xgplayer-skin-default .xgplayer-playnext:hover .xgplayer-tips{display:block}.xgplayer-lang-is-en .xgplayer-playnext .xgplayer-tips{margin-left:-25px}.xgplayer-lang-is-jp .xgplayer-playnext .xgplayer-tips{margin-left:-38px}.xgplayer-skin-default.xgplayer-playnext-inactive .xgplayer-playnext{display:none}\", \"\"]);\n\n// exports\n","import { createDom } from '../../utils/util'\nimport RotateIcon from '../assets/rotate.svg'\nimport '../style/controls/rotate.scss'\n\nlet s_rotate = function () {\n let player = this\n if (!player.config.rotate) { return }\n let btn = createDom('xg-rotate', `<xg-icon class=\"xgplayer-icon\">${RotateIcon}</xg-icon>`, {}, 'xgplayer-rotate')\n\n let tipsText = player.lang.ROTATE_TIPS\n let tips = createDom('xg-tips', `<span class=\"xgplayer-tip-rotate\">${tipsText}</span>`, {}, 'xgplayer-tips')\n btn.appendChild(tips)\n player.once('ready', () => {\n player.controls.appendChild(btn)\n });\n\n ['click', 'touchend'].forEach(item => {\n btn.addEventListener(item, function (e) {\n e.preventDefault()\n e.stopPropagation()\n player.userGestureTrigEvent('rotateBtnClick')\n })\n })\n}\n\nexport default {\n name: 's_rotate',\n method: s_rotate\n}","export default \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"32\\\" height=\\\"32\\\" viewBox=\\\"0 0 40 40\\\" fill=\\\"none\\\">\\n <g clip-path=\\\"url(#clip0)\\\">\\n <path transform=\\\"scale(1.5 1.5)\\\" d=\\\"M11.6665 9.16663H4.1665C2.78579 9.16663 1.6665 10.2859 1.6665 11.6666V15.8333C1.6665 17.214 2.78579 18.3333 4.1665 18.3333H11.6665C13.0472 18.3333 14.1665 17.214 14.1665 15.8333V11.6666C14.1665 10.2859 13.0472 9.16663 11.6665 9.16663Z\\\" fill=\\\"white\\\"/>\\n <path transform=\\\"scale(1.5 1.5)\\\" fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" d=\\\"M3.88148 4.06298C3.75371 4.21005 3.67667 4.40231 3.67749 4.61242C3.67847 4.87253 3.79852 5.10435 3.98581 5.25646L6.99111 8.05895C7.32771 8.37283 7.85502 8.35443 8.16891 8.01782C8.48279 7.68122 8.46437 7.15391 8.12778 6.84003L6.62061 5.43457L9.8198 5.4224C9.82848 5.42239 9.8372 5.42221 9.84591 5.4219C10.9714 5.38233 12.0885 5.6285 13.0931 6.13744C14.0976 6.64635 14.957 7.40148 15.5908 8.33234C16.2246 9.2632 16.6122 10.3394 16.7177 11.4606C16.823 12.5819 16.6427 13.7115 16.1934 14.7442C16.0098 15.1661 16.203 15.6571 16.6251 15.8408C17.0471 16.0243 17.5381 15.8311 17.7216 15.4091C18.2833 14.1183 18.5087 12.7063 18.3771 11.3047C18.2453 9.90318 17.7607 8.55792 16.9684 7.39433C16.1761 6.23073 15.1021 5.28683 13.8463 4.65065C12.5946 4.01651 11.203 3.70872 9.80072 3.75583L6.43415 3.76862L7.96326 2.12885C8.27715 1.79225 8.25872 1.26494 7.92213 0.951061C7.58553 0.63718 7.05822 0.655585 6.74433 0.99219L3.90268 4.0395C3.89545 4.04724 3.88841 4.05509 3.88154 4.06303L3.88148 4.06298Z\\\" fill=\\\"white\\\"/>\\n </g>\\n <defs>\\n <clipPath id=\\\"clip0\\\">\\n <rect width=\\\"40\\\" height=\\\"40\\\" fill=\\\"white\\\"/>\\n </clipPath>\\n </defs>\\n</svg>\\n\"","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./rotate.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./rotate.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./rotate.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-rotate{position:relative;-webkit-order:10;-moz-box-ordinal-group:11;order:10;display:block;cursor:pointer}.xgplayer-skin-default .xgplayer-rotate .xgplayer-icon{margin-top:7px;width:26px}.xgplayer-skin-default .xgplayer-rotate .xgplayer-icon div{position:absolute}.xgplayer-skin-default .xgplayer-rotate .xgplayer-tips{margin-left:-22px}.xgplayer-skin-default .xgplayer-rotate .xgplayer-tips .xgplayer-tip-rotate{display:block}.xgplayer-skin-default .xgplayer-rotate:hover{opacity:.85}.xgplayer-skin-default .xgplayer-rotate:hover .xgplayer-tips{display:block}.xgplayer-lang-is-en .xgplayer-rotate .xgplayer-tips{margin-left:-26px}.xgplayer-lang-is-jp .xgplayer-rotate .xgplayer-tips{margin-left:-38px}\", \"\"]);\n\n// exports\n","import { createDom } from '../../utils/util'\nimport ReloadIcon from '../assets/reload.svg'\nimport '../style/controls/reload.scss'\n\nlet s_reload = function () {\n let player = this\n if (!player.config.reload) { return }\n let btn = createDom('xg-reload', `<xg-icon class=\"xgplayer-icon\">${ReloadIcon}</xg-icon>`, {}, 'xgplayer-reload')\n\n let tipsText = player.lang.RELOAD_TIPS\n let tips = createDom('xg-tips', `<span class=\"xgplayer-tip-reload\">${tipsText}</span>`, {}, 'xgplayer-tips')\n btn.appendChild(tips)\n player.once('ready', () => {\n player.controls.appendChild(btn)\n });\n\n ['click', 'touchend'].forEach(item => {\n btn.addEventListener(item, function (e) {\n e.preventDefault()\n e.stopPropagation()\n player.userGestureTrigEvent('reloadBtnClick')\n })\n })\n}\n\nexport default {\n name: 's_reload',\n method: s_reload\n}","export default \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"28\\\" height=\\\"28\\\" viewBox=\\\"0 0 28 28\\\">\\n <path fill=\\\"#FFF\\\" fill-opacity=\\\"1\\\" fill-rule=\\\"nonzero\\\" d=\\\"M18.17 19.988a7.182 7.182 0 0 1-4.256 1.318 7.806 7.806 0 0 1-.595-.03c-.08-.008-.16-.021-.242-.031a8.004 8.004 0 0 1-.458-.071c-.094-.018-.185-.042-.276-.063a7.743 7.743 0 0 1-.439-.113c-.068-.022-.136-.047-.205-.07a7.03 7.03 0 0 1-.492-.181c-.037-.015-.072-.032-.108-.049a7.295 7.295 0 0 1-.554-.269l-.025-.012a7.347 7.347 0 0 1-2.111-1.753c-.03-.036-.057-.074-.086-.11a7.305 7.305 0 0 1-1.594-4.557h1.686a.123.123 0 0 0 .108-.064.119.119 0 0 0-.006-.125L5.684 9.532a.123.123 0 0 0-.103-.056.123.123 0 0 0-.102.056l-2.834 4.276a.121.121 0 0 0-.005.125c.022.04.064.064.107.064h1.687c0 2.025.627 3.902 1.693 5.454.013.021.022.044.037.066.11.159.233.305.352.455.043.057.085.116.13.171.175.213.36.413.55.61.02.018.036.038.054.055a9.447 9.447 0 0 0 2.91 1.996c.058.026.115.054.175.079.202.084.41.158.619.228.098.034.196.069.296.1.183.054.37.1.558.145.125.029.249.06.376.085.052.01.102.027.155.035.177.032.355.05.533.071.064.007.128.018.19.026.32.03.639.052.956.052a9.46 9.46 0 0 0 5.47-1.746 1.16 1.16 0 0 0 .282-1.608 1.143 1.143 0 0 0-1.6-.283zm5.397-5.991a9.604 9.604 0 0 0-1.685-5.441c-.016-.027-.026-.054-.043-.078-.132-.19-.276-.366-.419-.543-.017-.022-.032-.044-.05-.065a9.467 9.467 0 0 0-3.571-2.7l-.114-.051a11.2 11.2 0 0 0-.673-.248c-.082-.027-.163-.057-.247-.082a9.188 9.188 0 0 0-.6-.156c-.113-.026-.224-.055-.337-.077-.057-.011-.109-.028-.164-.037-.151-.027-.304-.039-.455-.058-.104-.013-.208-.03-.313-.04a10.05 10.05 0 0 0-.759-.039c-.045 0-.09-.007-.136-.007l-.025.003a9.45 9.45 0 0 0-5.46 1.737 1.16 1.16 0 0 0-.284 1.608c.363.523 1.08.65 1.6.284a7.182 7.182 0 0 1 4.222-1.32c.217.002.429.013.639.033.065.007.129.017.193.025.173.021.344.046.513.08.075.014.149.033.221.05.166.037.331.077.494.127l.152.051c.185.061.366.127.545.201l.054.025a7.308 7.308 0 0 1 2.741 2.067l.013.018a7.302 7.302 0 0 1 1.652 4.633h-1.686a.123.123 0 0 0-.108.064.12.12 0 0 0 .006.124l2.834 4.277c.022.033.06.054.103.054.042 0 .08-.021.102-.054l2.833-4.277a.12.12 0 0 0 .005-.124.123.123 0 0 0-.108-.064h-1.685z\\\"/>\\n</svg>\\n\"","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./reload.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./reload.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./reload.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-reload{position:relative;-webkit-order:1;-moz-box-ordinal-group:2;order:1;display:block;width:40px;height:40px;cursor:pointer}.xgplayer-skin-default .xgplayer-reload .xgplayer-icon{margin-top:7px;width:26px}.xgplayer-skin-default .xgplayer-reload .xgplayer-icon div{position:absolute}.xgplayer-skin-default .xgplayer-reload .xgplayer-tips{margin-left:-22px}.xgplayer-skin-default .xgplayer-reload .xgplayer-tips .xgplayer-tip-reload{display:block}.xgplayer-skin-default .xgplayer-reload:hover{opacity:.85}.xgplayer-skin-default .xgplayer-reload:hover .xgplayer-tips{display:block}.xgplayer-lang-is-en .xgplayer-reload .xgplayer-tips{margin-left:-26px}.xgplayer-lang-is-jp .xgplayer-reload .xgplayer-tips{margin-left:-38px}\", \"\"]);\n\n// exports\n","import { createDom } from '../../utils/util'\nimport '../style/controls/screenShot.scss'\n\nlet s_screenShot = function () {\n let player = this\n if (!player.config.screenShot || player.config.screenShot.hideButton) {\n return\n }\n let screenShotText = player.lang.SCREENSHOT\n let btn = createDom('xg-screenshot', `<p class=\"name\"><span>${player.config.screenShot.iconText || screenShotText}</span></p>`, {tabindex: 11}, 'xgplayer-screenshot')\n player.once('ready', () => {\n player.controls.appendChild(btn)\n });\n\n ['click', 'touchend'].forEach(item => {\n btn.addEventListener(item, e => {\n e.preventDefault()\n e.stopPropagation()\n player.userGestureTrigEvent('screenShotBtnClick')\n })\n })\n}\n\nexport default {\n name: 's_screenShot',\n method: s_screenShot\n}","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./screenShot.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./screenShot.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./screenShot.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-screenshot{-webkit-order:11;-moz-box-ordinal-group:12;order:11;position:relative;outline:none;display:block;cursor:pointer;height:20px;top:10px}.xgplayer-skin-default .xgplayer-screenshot .name{text-align:center;font-family:PingFangSC-Regular;font-size:13px;line-height:20px;height:20px;color:hsla(0,0%,100%,.8)}.xgplayer-skin-default .xgplayer-screenshot .name span{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;padding:0 10px;height:20px;line-height:20px;background:rgba(0,0,0,.38);border-radius:10px;display:inline-block;vertical-align:middle}.xgplayer-lang-is-en .xgplayer-screenshot .name span,.xgplayer-lang-is-jp .xgplayer-screenshot .name span{width:75px;height:20px}\", \"\"]);\n\n// exports\n","import Player from '../../player'\nimport '../style/controls/textTrack.scss'\n\nlet s_nativeTextTrack = function () {\n if (!this.config.nativeTextTrack) {\n return\n }\n let player = this\n let root = player.root\n let util = Player.util\n let container = util.createDom('xg-texttrack', '', {tabindex: 7}, 'xgplayer-texttrack')\n let list = player.config.nativeTextTrack\n if (list && Array.isArray(list) && list.length > 0) {\n util.addClass(player.root, 'xgplayer-is-texttrack')\n player.once('canplay', function () {\n let tmp = ['<ul>']\n tmp.push(`<li class='${this.textTrackShowDefault ? '' : 'selected'}'}'>${player.lang.OFF}</li>`)\n list.forEach(item => {\n tmp.push(`<li class='${item.default && this.textTrackShowDefault ? 'selected' : ''}'>${item.label}</li>`)\n })\n let controlText = player.lang.TEXTTRACK\n tmp.push(`</ul><p class=\"name\">${controlText}</p>`)\n\n let urlInRoot = root.querySelector('.xgplayer-texttrack')\n if (urlInRoot) {\n urlInRoot.innerHTML = tmp.join('')\n let cur = urlInRoot.querySelector('.name')\n if (!player.config.textTrackActive || player.config.textTrackActive === 'hover') {\n cur.addEventListener('mouseenter', e => {\n e.preventDefault()\n e.stopPropagation()\n util.addClass(root, 'xgplayer-texttrack-active')\n urlInRoot.focus()\n })\n }\n } else {\n container.innerHTML = tmp.join('')\n let cur = container.querySelector('.name')\n if (!player.config.textTrackActive || player.config.textTrackActive === 'hover') {\n cur.addEventListener('mouseenter', e => {\n e.preventDefault()\n e.stopPropagation()\n util.addClass(player.root, 'xgplayer-texttrack-active')\n container.focus()\n })\n }\n player.controls.appendChild(container)\n }\n })\n };\n\n ['touchend', 'click'].forEach(item => {\n container.addEventListener(item, function (e) {\n e.preventDefault()\n e.stopPropagation()\n let li = e.target || e.srcElement\n if (li && li.tagName.toLocaleLowerCase() === 'li') {\n Array.prototype.forEach.call(li.parentNode.childNodes, item => {\n util.removeClass(item, 'selected')\n })\n util.addClass(li, 'selected')\n let trackDoms = player.root.getElementsByTagName('Track')\n if (li.innerHTML === player.lang.OFF) {\n trackDoms[0].track.mode = 'hidden'\n trackDoms[0].src = ''\n util.removeClass(player.root, 'xgplayer-texttrack-active')\n } else {\n trackDoms[0].style.display = 'block'\n util.addClass(player.root, 'xgplayer-texttrack-active')\n trackDoms[0].track.mode = 'showing'\n\n list.some(item => {\n if (item.label === li.innerHTML) {\n trackDoms[0].src = item.src\n if (item.kind) {\n trackDoms[0].kind = item.kind\n }\n trackDoms[0].label = item.label\n if (item.srclang) {\n trackDoms[0].srclang = item.srclang\n }\n return true\n }\n })\n player.emit('textTrackChange', li.innerHTML)\n }\n } else if (player.config.textTrackActive === 'click' && li && (li.tagName.toLocaleLowerCase() === 'p' || li.tagName.toLocaleLowerCase() === 'em')) {\n util.addClass(player.root, 'xgplayer-texttrack-active')\n container.focus()\n }\n }, false)\n })\n\n player.on('play', () => {\n let ul = root.querySelector('.xgplayer-texttrack ul')\n let trackDoms = root.getElementsByTagName('Track')\n if (!player['hls'] || !ul || !trackDoms) return\n trackDoms[0].src = ''\n Array.prototype.forEach.call(ul.childNodes, li => {\n if (util.hasClass(li, 'selected')) {\n if (li.innerHTML === player.lang.OFF) {\n trackDoms[0].track.mode = 'hidden'\n trackDoms[0].src = ''\n } else {\n trackDoms[0].track.mode = 'hidden'\n\n list.some(item => {\n if (item.label !== li.innerHTML) {\n trackDoms[0].src = item.src\n if (item.kind) {\n trackDoms[0].kind = item.kind\n }\n trackDoms[0].label = item.label\n if (item.srclang) {\n trackDoms[0].srclang = item.srclang\n }\n return true\n }\n })\n\n list.some(item => {\n if (item.label === li.innerHTML) {\n setTimeout(() => {\n trackDoms[0].src = item.src\n if (item.kind) {\n trackDoms[0].kind = item.kind\n }\n trackDoms[0].label = item.label\n if (item.srclang) {\n trackDoms[0].srclang = item.srclang\n }\n trackDoms[0].track.mode = 'showing'\n })\n return true\n }\n })\n }\n }\n })\n util.removeClass(player.root, 'xgplayer-texttrack-active')\n })\n\n container.addEventListener('mouseleave', e => {\n e.preventDefault()\n e.stopPropagation()\n util.removeClass(player.root, 'xgplayer-texttrack-active')\n })\n}\n\nexport default {\n name: 's_nativeTextTrack',\n method: s_nativeTextTrack\n}\n","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-texttrack{-webkit-order:7;-moz-box-ordinal-group:8;order:7;width:60px;height:150px;z-index:18;position:relative;outline:none;display:none;cursor:default;margin-top:-119px}.xgplayer-skin-default .xgplayer-texttrack ul{display:none;list-style:none;min-width:78px;background:rgba(0,0,0,.54);border-radius:1px;position:absolute;bottom:30px;text-align:center;white-space:nowrap;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;z-index:26;cursor:pointer}.xgplayer-skin-default .xgplayer-texttrack ul li{opacity:.7;font-family:PingFangSC-Regular;font-size:11px;color:hsla(0,0%,100%,.8);width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;margin:auto;padding:6px 13px}.xgplayer-skin-default .xgplayer-texttrack ul li.selected,.xgplayer-skin-default .xgplayer-texttrack ul li:hover{color:#fff;opacity:1}.xgplayer-skin-default .xgplayer-texttrack .name{text-align:center;font-family:PingFangSC-Regular;font-size:13px;cursor:pointer;color:hsla(0,0%,100%,.8);position:absolute;bottom:0;width:60px;height:20px;line-height:20px;background:rgba(0,0,0,.38);border-radius:10px;display:inline-block;vertical-align:middle}.xgplayer-skin-default .xgplayer-texttrack.xgplayer-texttrack-hide{display:none}xg-text-track{transition:bottom .3s ease}.xgplayer-skin-default.xgplayer-is-texttrack .xgplayer-texttrack,.xgplayer-skin-default.xgplayer-texttrack-active .xgplayer-texttrack ul{display:block}\", \"\"]);\n\n// exports\n","import { createDom, addClass, removeClass, hasClass } from '../../utils/util'\nimport '../style/controls/textTrack.scss'\n\nfunction renderList (root, textTrack, offText, isDefaultShow) {\n if (textTrack.length === 0) {\n root.innerHTML = ''\n return\n }\n let tmp = []\n tmp.push(`<li data-type=\"off\" class=\"${isDefaultShow ? '' : 'selected'}\">${offText}</li>`)\n textTrack.forEach(item => {\n tmp.push(`<li data-id=${item.id} data-language=${item.language} class=\"${item.isDefault && isDefaultShow ? 'selected' : ''}\">${item.label}</li>`)\n })\n root.innerHTML = tmp.join('')\n}\n\n// eslint-disable-next-line camelcase\nlet s_textTrack = function () {\n let player = this\n if (!this.config.textTrack) {\n return\n }\n let textTrack = this.config.textTrack\n let controlText = player.lang.TEXTTRACK\n const container = createDom('xg-texttrack', `<ul></ul><p class=\"name\">${controlText}</p>`, {tabindex: 7}, 'xgplayer-texttrack')\n\n function onCanPlay () {\n const urlInRoot = player.root.querySelector('.xgplayer-texttrack')\n if (!urlInRoot) {\n player.controls.appendChild(container)\n const cur = container.querySelector('.name')\n if (!player.config.textTrackActive || player.config.textTrackActive === 'hover') {\n cur.addEventListener('mouseenter', e => {\n e.preventDefault()\n e.stopPropagation()\n addClass(player.root, 'xgplayer-texttrack-active')\n container.focus()\n })\n container.addEventListener('mouseleave', e => {\n e.preventDefault()\n e.stopPropagation()\n removeClass(player.root, 'xgplayer-texttrack-active')\n })\n } else {\n cur.addEventListener('click', e => {\n e.preventDefault()\n e.stopPropagation()\n if (hasClass(player.root, 'xgplayer-texttrack-active')) {\n removeClass(player.root, 'xgplayer-texttrack-active')\n } else {\n addClass(player.root, 'xgplayer-texttrack-active')\n }\n })\n }\n }\n\n ['touchend', 'click'].forEach(item => {\n container.addEventListener(item, function (e) {\n e.preventDefault()\n e.stopPropagation()\n let li = e.target || e.srcElement\n if (li && li.tagName.toLocaleLowerCase() === 'li') {\n const id = li.getAttribute('data-id')\n const type = li.getAttribute('data-type')\n const language = li.getAttribute('data-language')\n Array.prototype.forEach.call(li.parentNode.childNodes, item => {\n removeClass(item, 'selected')\n })\n addClass(li, 'selected')\n if (type === 'off') {\n player.switchOffSubtile()\n removeClass(player.root, 'xgplayer-texttrack-active')\n } else {\n player.switchSubTitle({id, language})\n addClass(player.root, 'xgplayer-texttrack-active')\n }\n }\n })\n })\n\n const ul = container.getElementsByTagName('ul')[0]\n renderList(ul, textTrack, player.lang.OFF, player.textTrackShowDefault)\n if (textTrack.length === 0) {\n addClass(container, 'xgplayer-texttrack-hide')\n } else {\n removeClass(container, 'xgplayer-texttrack-hide')\n }\n }\n\n const onListUpdate = function (data) {\n if (!data.isListUpdate) return\n const ul = container.getElementsByTagName('ul')[0]\n textTrack = data.list\n renderList(ul, data.list, player.lang.OFF, player.textTrackShowDefault)\n data.list.length > 0 ? addClass(player.root, 'xgplayer-is-texttrack') : removeClass(player.root, 'xgplayer-is-texttrack')\n if (data.list.length === 0) {\n addClass(container, 'xgplayer-texttrack-hide')\n } else {\n removeClass(container, 'xgplayer-texttrack-hide')\n }\n }\n\n if (textTrack && Array.isArray(textTrack)) {\n textTrack.length > 0 && addClass(player.root, 'xgplayer-is-texttrack')\n player.once('canplay', onCanPlay)\n player.on('subtitle_change', onListUpdate)\n }\n}\n\nexport default {\n name: 's_textTrack',\n method: s_textTrack\n}\n","import { addClass, removeClass, createDom } from '../../utils/util'\nimport '../style/controls/error.scss'\n\nlet s_error = function () {\n let player = this\n let root = player.root\n\n let error = createDom('xg-error', '<span class=\"xgplayer-error-text\">请<span class=\"xgplayer-error-refresh\">刷新</span>试试</span>', {}, 'xgplayer-error')\n player.once('ready', () => {\n root.appendChild(error)\n });\n\n let text = error.querySelector('.xgplayer-error-text')\n if (player.config.lang && player.config.lang === 'zh-cn') {\n text.innerHTML = player.config.errorTips || `请<span class=\"xgplayer-error-refresh\">刷新</span>试试`\n } else {\n text.innerHTML = player.config.errorTips || `please try to <span class=\"xgplayer-error-refresh\">refresh</span>`\n }\n let refresh = null\n\n function onError () {\n // player.controls.style.display = 'none'\n // if (player.error) {\n // text.innerHTML = player.error\n // } else {\n \n // }\n addClass(player.root, 'xgplayer-is-error')\n refresh = error.querySelector('.xgplayer-error-refresh')\n if (refresh) {\n ['touchend', 'click'].forEach(item => {\n refresh.addEventListener(item, function (e) {\n e.preventDefault()\n e.stopPropagation()\n player.autoplay = true\n let currentTime = player.currentTime\n player.once('playing', () => {\n player.currentTime = currentTime\n removeClass(player.root, 'xgplayer-is-error')\n })\n player.src = player.config.url\n })\n })\n }\n }\n player.on('error', onError)\n function onDestroy () {\n player.off('error', onError)\n player.off('destroy', onDestroy)\n }\n player.once('destroy', onDestroy)\n}\n\nexport default {\n name: 's_error',\n method: s_error\n}","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./error.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./error.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./error.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-error{background:#000;display:none;position:absolute;left:0;top:0;width:100%;height:100%;z-index:125;font-family:PingFangSC-Regular;font-size:14px;color:#fff;text-align:center;line-height:100%;-webkit-justify-content:center;-moz-box-pack:center;justify-content:center;-webkit-align-items:center;-moz-box-align:center;align-items:center}.xgplayer-skin-default .xgplayer-error .xgplayer-error-refresh{color:#fa1f41;padding:0 3px;cursor:pointer}.xgplayer-skin-default .xgplayer-error .xgplayer-error-text{line-height:18px;margin:auto 6px}.xgplayer-skin-default.xgplayer-is-error .xgplayer-error{display:-webkit-flex;display:-moz-box;display:flex}\", \"\"]);\n\n// exports\n","import { createDom, format } from '../../utils/util'\nimport '../style/controls/memoryPlay.scss'\n\nlet s_memoryPlay = function () {\n let player = this\n let lastPlayTime = player.config.lastPlayTime || 0\n let lastPlayTimeHideDelay = player.config.lastPlayTimeHideDelay || 0\n let dom = null\n if (lastPlayTime <= 0) {\n return\n }\n dom = createDom('xg-memoryplay', `<div class=\"xgplayer-memoryplay-spot\"><div class=\"xgplayer-progress-tip\">您上次观看到 <span class=\"xgplayer-lasttime\">${format(lastPlayTime)}</span> ,为您自动续播 <span class=\"btn-close\"><svg viewBox=\"64 64 896 896\" focusable=\"false\" class=\"\" data-icon=\"close\" width=\"1em\" height=\"1em\" fill=\"currentColor\" aria-hidden=\"true\"><path d=\"M563.8 512l262.5-312.9c4.4-5.2.7-13.1-6.1-13.1h-79.8c-4.7 0-9.2 2.1-12.3 5.7L511.6 449.8 295.1 191.7c-3-3.6-7.5-5.7-12.3-5.7H203c-6.8 0-10.5 7.9-6.1 13.1L459.4 512 196.9 824.9A7.95 7.95 0 0 0 203 838h79.8c4.7 0 9.2-2.1 12.3-5.7l216.5-258.1 216.5 258.1c3 3.6 7.5 5.7 12.3 5.7h79.8c6.8 0 10.5-7.9 6.1-13.1L563.8 512z\"></path></svg></span></div></div>`, {}, 'xgplayer-memoryplay');\n dom.addEventListener('mouseover', (e) => {\n e.stopPropagation();\n });\n const removeFunc = () => {\n dom && dom.parentNode && dom.parentNode.removeChild(dom)\n dom = null\n }\n dom.querySelector('.xgplayer-progress-tip .btn-close').addEventListener('click', removeFunc)\n const handlePlay = () => {\n if(lastPlayTimeHideDelay > 0) {\n player.root.appendChild(dom);\n }\n player.emit('memoryPlayStart', lastPlayTime);\n if (lastPlayTimeHideDelay > 0) {\n setTimeout(() => {\n removeFunc()\n }, lastPlayTimeHideDelay * 1000)\n }\n }\n player.once('play', handlePlay)\n player.once('ended', removeFunc)\n}\n\nexport default {\n name: 's_memoryPlay',\n method: s_memoryPlay\n}","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./memoryPlay.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./memoryPlay.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./memoryPlay.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-memoryplay-spot{position:absolute;height:32px;left:10px;bottom:46px;background:rgba(0,0,0,.5);border-radius:32px;line-height:32px;color:#ddd;z-index:15;padding:0 32px 0 16px}.xgplayer-skin-default .xgplayer-memoryplay-spot .xgplayer-lasttime{color:red;font-weight:700}.xgplayer-skin-default .xgplayer-memoryplay-spot .btn-close{position:absolute;width:16px;height:16px;right:10px;top:2px;cursor:pointer;color:#fff;font-size:16px}\", \"\"]);\n\n// exports\n","import { createDom } from '../../utils/util'\nimport AirplayIcon from '../assets/airplay.svg'\nimport '../style/controls/airplay.scss'\n\nlet s_airplay = function () {\n let player = this\n if(!player.config.airplay || !window.WebKitPlaybackTargetAvailabilityEvent) return\n\n let btn = createDom('xg-airplay', `<xg-icon class=\"xgplayer-icon\">\n <div class=\"xgplayer-icon-airplay\">${AirplayIcon}</div>\n </xg-icon>`, {}, 'xgplayer-airplay')\n\n let tips = createDom('xg-tips', `<span class=\"xgplayer-tip-airplay\">${player.lang.AIRPLAY_TIPS}</span>`, {}, 'xgplayer-tips')\n btn.appendChild(tips)\n player.once('ready', () => {\n player.controls.appendChild(btn)\n player.video.addEventListener('webkitplaybacktargetavailabilitychanged',\n event => {\n switch (event.availability) {\n case \"available\":\n btn.hidden = false;\n btn.disabled = false;\n break;\n case \"not-available\":\n btn.hidden = true;\n btn.disabled = true;\n break;\n }\n });\n });\n\n ['click', 'touchend'].forEach(item => {\n btn.addEventListener(item, function (e) {\n e.preventDefault()\n e.stopPropagation()\n player.userGestureTrigEvent('airplayBtnClick')\n })\n })\n}\n\nexport default {\n name: 's_airplay',\n method: s_airplay\n}","export default \"<svg t=\\\"1600422191774\\\" class=\\\"icon\\\" viewBox=\\\"0 0 1024 1024\\\" version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" p-id=\\\"3100\\\" width=\\\"28\\\" height=\\\"28\\\"><path d=\\\"M256 938.666667h512L512 597.333333 256 938.666667z m170.666667-85.333334l85.333333-113.781333L597.333333 853.333333H426.666667zM853.333333 85.333333H170.666667C99.946667 85.333333 42.666667 142.613333 42.666667 213.333333v426.666667c0 70.72 57.28 128 128 128h106.666666l64-85.333333H170.666667c-23.573333 0-42.666667-19.093333-42.666667-42.666667V213.333333c0-23.573333 19.093333-42.666667 42.666667-42.666666h682.666666c23.573333 0 42.666667 19.093333 42.666667 42.666666v426.666667c0 23.573333-19.093333 42.666667-42.666667 42.666667H682.666667l64 85.333333h106.666666c70.72 0 128-57.28 128-128V213.333333c0-70.72-57.28-128-128-128z\\\" p-id=\\\"3101\\\" fill=\\\"#ffffff\\\"></path></svg>\"","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./airplay.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./airplay.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./airplay.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-airplay{position:relative;-webkit-order:11;-moz-box-ordinal-group:12;order:11;display:block;cursor:pointer;margin-left:5px;margin-right:3px}.xgplayer-skin-default .xgplayer-airplay .xgplayer-icon{margin-top:6px;margin-left:6px}.xgplayer-skin-default .xgplayer-airplay .xgplayer-icon div{position:absolute}.xgplayer-skin-default .xgplayer-airplay .xgplayer-icon .xgplayer-icon-airplay{display:block}.xgplayer-skin-default .xgplayer-airplay .xgplayer-tips{position:absolute;right:0;left:auto}.xgplayer-skin-default .xgplayer-airplay .xgplayer-tips .xgplayer-tip-airplay{display:block}.xgplayer-skin-default .xgplayer-airplay:hover{opacity:.85}.xgplayer-skin-default .xgplayer-airplay:hover .xgplayer-tips{display:block}\", \"\"]);\n\n// exports\n"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack://xgplayer/webpack/universalModuleDefinition","webpack://xgplayer/webpack/bootstrap","webpack://xgplayer/./src/utils/util.js","webpack://xgplayer/./node_modules/css-loader/lib/css-base.js","webpack://xgplayer/./node_modules/style-loader/lib/addStyles.js","webpack://xgplayer/./node_modules/es5-ext/object/is-value.js","webpack://xgplayer/./src/error.js","webpack://xgplayer/./src/utils/sniffer.js","webpack://xgplayer/./node_modules/type/value/is.js","webpack://xgplayer/./src/utils/xgplayerTimeRange.js","webpack://xgplayer/./src/player.js","webpack://xgplayer/./src/skin/controls/i18n.js","webpack://xgplayer/./src/proxy.js","webpack://xgplayer/./node_modules/event-emitter/index.js","webpack://xgplayer/./node_modules/d/index.js","webpack://xgplayer/./node_modules/type/plain-function/is.js","webpack://xgplayer/./node_modules/type/function/is.js","webpack://xgplayer/./node_modules/type/prototype/is.js","webpack://xgplayer/./node_modules/type/object/is.js","webpack://xgplayer/./node_modules/es5-ext/object/assign/index.js","webpack://xgplayer/./node_modules/es5-ext/object/assign/is-implemented.js","webpack://xgplayer/./node_modules/es5-ext/object/assign/shim.js","webpack://xgplayer/./node_modules/es5-ext/object/keys/index.js","webpack://xgplayer/./node_modules/es5-ext/object/keys/is-implemented.js","webpack://xgplayer/./node_modules/es5-ext/object/keys/shim.js","webpack://xgplayer/./node_modules/es5-ext/function/noop.js","webpack://xgplayer/./node_modules/es5-ext/object/valid-value.js","webpack://xgplayer/./node_modules/es5-ext/object/normalize-options.js","webpack://xgplayer/./node_modules/es5-ext/string/#/contains/index.js","webpack://xgplayer/./node_modules/es5-ext/string/#/contains/is-implemented.js","webpack://xgplayer/./node_modules/es5-ext/string/#/contains/shim.js","webpack://xgplayer/./node_modules/es5-ext/object/valid-callable.js","webpack://xgplayer/./node_modules/event-emitter/all-off.js","webpack://xgplayer/./node_modules/es5-ext/object/valid-object.js","webpack://xgplayer/./node_modules/es5-ext/object/is-object.js","webpack://xgplayer/./src/skin/style/index.scss?a7b1","webpack://xgplayer/./src/skin/style/index.scss","webpack://xgplayer/./node_modules/style-loader/lib/urls.js","webpack://xgplayer/./src/controls/mobile.js","webpack://xgplayer/./src/controls/pc.js","webpack://xgplayer/./src/controls/start.js","webpack://xgplayer/./src/skin/controls/start.js","webpack://xgplayer/./src/skin/assets/startPlay.svg","webpack://xgplayer/./src/skin/assets/startPause.svg","webpack://xgplayer/./src/skin/style/controls/start.scss?7bb8","webpack://xgplayer/./src/skin/style/controls/start.scss","webpack://xgplayer/./src/controls/fullscreen.js","webpack://xgplayer/./src/controls/play.js","webpack://xgplayer/./src/controls/replay.js","webpack://xgplayer/./src/skin/controls/play.js","webpack://xgplayer/./src/skin/assets/play.svg","webpack://xgplayer/./src/skin/assets/pause.svg","webpack://xgplayer/./src/skin/style/controls/play.scss?9632","webpack://xgplayer/./src/skin/style/controls/play.scss","webpack://xgplayer/./src/skin/controls/poster.js","webpack://xgplayer/./src/skin/style/controls/poster.scss?e9aa","webpack://xgplayer/./src/skin/style/controls/poster.scss","webpack://xgplayer/./src/skin/controls/flex.js","webpack://xgplayer/./src/skin/style/controls/placeholder.scss?a4f4","webpack://xgplayer/./src/skin/style/controls/placeholder.scss","webpack://xgplayer/./src/skin/controls/fullscreen.js","webpack://xgplayer/./src/skin/assets/requestFull.svg","webpack://xgplayer/./src/skin/assets/exitFull.svg","webpack://xgplayer/./src/skin/style/controls/fullscreen.scss?1042","webpack://xgplayer/./src/skin/style/controls/fullscreen.scss","webpack://xgplayer/./src/skin/controls/loading.js","webpack://xgplayer/./src/skin/assets/loading.svg","webpack://xgplayer/./src/skin/style/controls/loading.scss?ad0a","webpack://xgplayer/./src/skin/style/controls/loading.scss","webpack://xgplayer/./src/skin/controls/progress.js","webpack://xgplayer/./src/skin/style/controls/progress.scss?de9d","webpack://xgplayer/./src/skin/style/controls/progress.scss","webpack://xgplayer/./src/skin/controls/time.js","webpack://xgplayer/./src/skin/style/controls/time.scss?a7a6","webpack://xgplayer/./src/skin/style/controls/time.scss","webpack://xgplayer/./src/skin/controls/replay.js","webpack://xgplayer/./src/skin/assets/replay.svg","webpack://xgplayer/./src/skin/style/controls/replay.scss?446b","webpack://xgplayer/./src/skin/style/controls/replay.scss","webpack://xgplayer/./src/skin/style/controls/textTrack.scss?c6ad","webpack://xgplayer/./src/index.js","webpack://xgplayer/./src/controls/airplay.js","webpack://xgplayer/./src/controls/cssFullscreen.js","webpack://xgplayer/./src/controls/danmu.js","webpack://xgplayer/./src/controls/definition.js","webpack://xgplayer/./src/controls/download.js","webpack://xgplayer/./node_modules/downloadjs/download.js","webpack://xgplayer/./src/utils/url.js","webpack://xgplayer/./src/controls/errorRetry.js","webpack://xgplayer/./src/controls/keyboard.js","webpack://xgplayer/./src/controls/localPreview.js","webpack://xgplayer/./src/controls/memoryPlay.js","webpack://xgplayer/./src/controls/miniplayer.js","webpack://xgplayer/./node_modules/draggabilly/draggabilly.js","webpack://xgplayer/./node_modules/get-size/get-size.js","webpack://xgplayer/./node_modules/unidragger/unidragger.js","webpack://xgplayer/./node_modules/unipointer/unipointer.js","webpack://xgplayer/./node_modules/ev-emitter/ev-emitter.js","webpack://xgplayer/./src/controls/pip.js","webpack://xgplayer/./src/controls/playNext.js","webpack://xgplayer/./src/controls/reload.js","webpack://xgplayer/./src/controls/rotate.js","webpack://xgplayer/./src/controls/screenShot.js","webpack://xgplayer/./src/controls/stallCheck.js","webpack://xgplayer/./src/controls/volume.js","webpack://xgplayer/./src/controls/textTrack.js","webpack://xgplayer/./node_modules/xgplayer-subtitles/dist/index.min.js","webpack://xgplayer/./src/skin/index.js","webpack://xgplayer/./src/skin/controls/enter.js","webpack://xgplayer/./src/skin/style/controls/enter.scss?879b","webpack://xgplayer/./src/skin/style/controls/enter.scss","webpack://xgplayer/./src/skin/controls/cssFullscreen.js","webpack://xgplayer/./src/skin/assets/requestCssFull.svg","webpack://xgplayer/./src/skin/assets/exitCssFull.svg","webpack://xgplayer/./src/skin/style/controls/cssfullscreen.scss?540d","webpack://xgplayer/./src/skin/style/controls/cssfullscreen.scss","webpack://xgplayer/./src/skin/controls/volume.js","webpack://xgplayer/./src/skin/assets/volumeMuted.svg","webpack://xgplayer/./src/skin/assets/volumeSmall.svg","webpack://xgplayer/./src/skin/assets/volumeLarge.svg","webpack://xgplayer/./src/skin/style/controls/volume.scss?4ba7","webpack://xgplayer/./src/skin/style/controls/volume.scss","webpack://xgplayer/./src/skin/controls/definition.js","webpack://xgplayer/./src/skin/style/controls/definition.scss?ee15","webpack://xgplayer/./src/skin/style/controls/definition.scss","webpack://xgplayer/./src/skin/controls/playbackRate.js","webpack://xgplayer/./src/skin/style/controls/playbackRate.scss?114f","webpack://xgplayer/./src/skin/style/controls/playbackRate.scss","webpack://xgplayer/./src/skin/controls/localPreview.js","webpack://xgplayer/./src/skin/controls/download.js","webpack://xgplayer/./src/skin/assets/download.svg","webpack://xgplayer/./src/skin/style/controls/download.scss?9645","webpack://xgplayer/./src/skin/style/controls/download.scss","webpack://xgplayer/./src/skin/controls/danmu.js","webpack://xgplayer/./node_modules/danmu.js/dist/index.js","webpack://xgplayer/(webpack)/buildin/module.js","webpack://xgplayer/./src/skin/assets/panel.svg","webpack://xgplayer/./src/skin/style/controls/danmu.scss?4216","webpack://xgplayer/./src/skin/style/controls/danmu.scss","webpack://xgplayer/./src/skin/controls/pip.js","webpack://xgplayer/./src/skin/style/controls/pip.scss?444d","webpack://xgplayer/./src/skin/style/controls/pip.scss","webpack://xgplayer/./src/skin/controls/miniplayer.js","webpack://xgplayer/./src/skin/style/controls/miniplayer.scss?61c3","webpack://xgplayer/./src/skin/style/controls/miniplayer.scss","webpack://xgplayer/./src/skin/controls/playNext.js","webpack://xgplayer/./src/skin/assets/playNext.svg","webpack://xgplayer/./src/skin/style/controls/playNext.scss?f11a","webpack://xgplayer/./src/skin/style/controls/playNext.scss","webpack://xgplayer/./src/skin/controls/rotate.js","webpack://xgplayer/./src/skin/assets/rotate.svg","webpack://xgplayer/./src/skin/style/controls/rotate.scss?2dec","webpack://xgplayer/./src/skin/style/controls/rotate.scss","webpack://xgplayer/./src/skin/controls/reload.js","webpack://xgplayer/./src/skin/assets/reload.svg","webpack://xgplayer/./src/skin/style/controls/reload.scss?8b15","webpack://xgplayer/./src/skin/style/controls/reload.scss","webpack://xgplayer/./src/skin/controls/screenShot.js","webpack://xgplayer/./src/skin/style/controls/screenShot.scss?ac1c","webpack://xgplayer/./src/skin/style/controls/screenShot.scss","webpack://xgplayer/./src/skin/controls/nativeTextTrack.js","webpack://xgplayer/./src/skin/style/controls/textTrack.scss","webpack://xgplayer/./src/skin/controls/textTrack.js","webpack://xgplayer/./src/skin/controls/error.js","webpack://xgplayer/./src/skin/style/controls/error.scss?0329","webpack://xgplayer/./src/skin/style/controls/error.scss","webpack://xgplayer/./src/skin/controls/memoryPlay.js","webpack://xgplayer/./src/skin/style/controls/memoryPlay.scss?0c39","webpack://xgplayer/./src/skin/style/controls/memoryPlay.scss","webpack://xgplayer/./src/skin/controls/airplay.js","webpack://xgplayer/./src/skin/assets/airplay.svg","webpack://xgplayer/./src/skin/style/controls/airplay.scss?643b","webpack://xgplayer/./src/skin/style/controls/airplay.scss"],"names":["root","factory","exports","module","define","amd","this","installedModules","__webpack_require__","moduleId","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","createDom","hasClass","addClass","removeClass","toggleClass","findDom","padStart","format","event","typeOf","deepCopy","getBgImage","copyDom","_setInterval","_clearInterval","createImgBtn","isWeiXin","isUc","computeWatchDur","offInDestroy","on","once","getBuffered2","checkIsBrowser","setStyle","checkWebkitSetPresentationMode","video","el","tpl","attrs","cname","dom","document","item","className","Array","some","RegExp","reg","sel","e","str","length","pad","charstr","String","len","maxlen","Math","chars","time","window","hour","minute","second","touch","obj","dst","src","url","a","back","node","context","eventName","intervalFunc","frequency","setInterval","clearInterval","imgUrl","width","height","btn","w","h","unit","Number","ua","played","arr","begin","end","j","b","watch_dur","fn","offEvent","_fn","data","vbuffered","maxHoleDuration","buffered","start","diff","buffered_2","buf2len","buf2end","XgplayerTimeRange","elem","style","error","PresentationMode","PIP","INLINE","FULLSCREEN","util","useSourceMap","list","toString","map","content","cssMapping","btoa","sourceMapping","sourceMap","unescape","encodeURIComponent","JSON","stringify","sourceURLs","sources","source","sourceRoot","concat","join","cssWithMappingToString","mediaQuery","alreadyImportedModules","id","push","memo","stylesInDom","isOldIE","all","atob","apply","arguments","getTarget","target","querySelector","getElement","styleTarget","HTMLIFrameElement","contentDocument","head","singleton","singletonCounter","stylesInsertedAtTop","fixUrls","addStylesToDom","styles","options","domStyle","refs","parts","addStyle","listToStyles","newStyles","base","part","css","media","insertStyleElement","insertInto","Error","lastStyleElementInsertedAtTop","insertAt","nextSibling","insertBefore","appendChild","firstChild","before","removeStyleElement","parentNode","removeChild","idx","indexOf","splice","createStyleElement","createElement","type","addAttrs","keys","forEach","setAttribute","update","remove","result","transform","styleIndex","applyToSingletonTag","URL","createObjectURL","revokeObjectURL","Blob","link","rel","createLinkElement","updateLink","href","applyToTag","newObj","DEBUG","newList","mayRemove","textStore","replaceText","index","replacement","filter","Boolean","styleSheet","cssText","cssNode","createTextNode","childNodes","autoFixUrls","undefined","convertToAbsoluteUrls","blob","oldSrc","_undefined","require","val","ErrorTypes","network","code","msg","remark","mse","parse","decoder","runtime","timeout","other","errd","line","handle","version","errorCode","mediaError","arg","sniffer","navigator","ie","firfox","chrome","opera","safari","isWindowsPhone","test","isSymbian","isAndroid","isFireFox","isTablet","isPhone","isPc","bufferedList","Player","ignores","whitelist","lang","inactive","volume","controls","controlsList","unselectable","onselectstart","Errors","vid","console","s_i18n","self","fetch","method","headers","Accept","res","err","evName","evFunc","player","videoWidth","containerSize","videoHeight","setTimeout","nodeType","config","playPromise","isDelDom","_interval","classNameList","split","clearTimeout","keyShortcut","destroyFunc","_replay","param","defaultUserGestureEventHandler","userGestureEventMiddleware","descriptor","enablePausedInactive","k","controlLst","control","Proxy","HAVE_NOTHING","HAVE_METADATA","HAVE_CURRENT_DATA","HAVE_FUTURE_DATA","HAVE_ENOUGH_DATA","NETWORK_EMPTY","NETWORK_IDLE","NETWORK_LOADING","NETWORK_NO_SOURCE","MEDIA_ERR_ABORTED","MEDIA_ERR_NETWORK","MEDIA_ERR_DECODE","MEDIA_ERR_SRC_NOT_SUPPORTED","REPLAY","ERROR","PLAY_TIPS","PAUSE_TIPS","PLAYNEXT_TIPS","DOWNLOAD_TIPS","ROTATE_TIPS","RELOAD_TIPS","FULLSCREEN_TIPS","EXITFULLSCREEN_TIPS","CSSFULLSCREEN_TIPS","EXITCSSFULLSCREEN_TIPS","TEXTTRACK","MINIPLAYER","SCREENSHOT","LIVE","OFF","MINIPLAYER_DRAG","AIRPLAY_TIPS","set","autoplay","playsinline","airplay","tabindex","mediaType","textTrackDom","nativeTextTrack","track","styleStr","wrap","XgVideoProxy","constructor","videoConfig","getElementsByTagName","trackDoms","lastBuffer","defaultVideoEventHandler","Date","curBuffer","videoEventHandler","canPlayType","range","currentTime","bool","isTrue","isFinite","ended","status","en","cn","rate","posterUrl","poster","vol","off","emit","methods","descriptors","callable","Function","defineProperties","configurable","writable","listener","__eeOnceListener__","__ee__","listeners","candidate","args","slice","isValue","isPlainFunction","assign","normalizeOpts","contains","dscr","desc","gs","isFunction","classRe","functionToString","isPrototype","isObject","possibleTypes","foo","bar","trzy","max","dest","TypeError","process","opts1","searchString","emitter","function","locals","location","baseUrl","protocol","host","currentDir","pathname","replace","fullMatch","origUrl","newUrl","unquotedOrigUrl","trim","$1","clk","_click_","clickedTime","first","element","onTouch","fullscreen","Event","onCanPlay","StartPlayIcon","StartPauseIcon","onPlayerReady","fullscreenEl","fullscreenPromise","playBtn","PlayIcon","PauseIcon","tipsText","tips","playceholder","fullscreenBtn","RequestFullIcon","ExitFullIcon","container","Loading","isRotateFullscreen","containerWidth","progress","outer","cache","point","thumbnail","dotItem","dot","dotEvent","text","duration","tnailPicNum","tnailWidth","tnailHeight","tnailCol","tnailRow","interval","tnailUrls","coverPreviewContainer","coverPreviewPoint","onLoadedmetadata","coverPreviewOuter","isRotate","left","move","now","indexInPage","tnaiRowIndex","tnaiColIndex","up","passive","containerLeft","compute","pointWidth","leave","onTimeupdate","precent","prevPrecent","onCurrentTimeChange","onSrcChange","onCacheUpdate","cacheUpdateEvents","onTimeChange","replayText","ReplayIcon","path","svg","Airplay","CssFullscreen","Danmu","Definition","Download","ErrorRetryControl","Fullscreen","Keyboard","LocalPreview","MemoryPlay","Miniplayer","Mobile","Pc","Pip","Play","PlayNext","Reload","Replay","Rotate","ScreenShot","StallCheck","Start","Volume","TextTrack","danmujs","addEventListener","onDestroy","getAbsoluteURL","download","strFileName","strMimeType","reader","defaultMime","mimeType","payload","anchor","myBlob","MozBlob","WebKitBlob","fileName","pop","ajax","XMLHttpRequest","open","responseType","onload","response","send","msSaveBlob","dataUrlToBlob","saver","tempUiArr","Uint8Array","mx","charCodeAt","strUrl","binData","decodeURIComponent","uiArr","winMode","innerHTML","display","body","click","userAgent","confirm","f","y","FileReader","readAsDataURL","div","defaultConfig","maxCount","backupUrl","isFetch","fetchTimeout","errorConfig","_inConfig","count","errfTimer","isFetchReturn","_originErrorEmit","errorCount","resolveFun","resolve","Promise","xhr","statusText","errorfetch","networkState","readyState","currentSrc","httpCode","httpMsg","retryCanPlay","retryData","playbackRate","isRepeat","keyCode","repeat","isBody","onBodyKeydown","onKeydown","onKeyup","checkTarget","state","isLonePress","isBack","isLongPress","currentTimeStep","keyShortcutStep","keyboardRate","show","isup","volumeStep","upload","dragLay","dragHandle","Draggabilly","miniplayerConfig","top","bottom","right","getSize","Unidragger","extend","prop","jQuery","$element","defaults","option","_create","proto","opts","positionValues","relative","absolute","fixed","applyGrid","grid","position","_getPosition","startPoint","x","dragPoint","startPosition","getComputedStyle","onPointerMove","onPointerUp","enable","setHandles","handles","querySelectorAll","bindHandles","dispatchEvent","emitArgs","emitEvent","dispatchJQueryEvent","jquery","$event","trigger","_getPositionCoord","isNaN","_addTransformPosition","styleSide","measure","parentSize","parseFloat","parseInt","matrixValues","xIndex","translateX","translateY","onPointerDown","pointer","classList","add","pointerDown","okayPointerDown","isEnabled","pointerDownPointer","pageX","pageY","preventDefault","pointerDownBlur","_bindPostStartEvents","_pointerReset","dragStart","measureContainment","setLeftTop","animate","getContainer","elemSize","elemRect","getBoundingClientRect","containerRect","borderSizeX","borderLeftWidth","borderRightWidth","borderSizeY","borderTopWidth","borderBottomWidth","relativeStartPosition","containSize","containment","HTMLElement","moveVector","dragMove","dragX","dragY","gridX","gridY","containDrag","axis","drag","min","dragEnd","isDragging","positionDrag","_this","requestAnimationFrame","staticClick","setPosition","disable","destroy","unbindHandles","removeData","_init","bridget","getStyleSize","num","logError","message","measurements","measurementsLength","getStyle","isBoxSizeOuter","isSetup","padding","borderStyle","borderWidth","boxSizing","documentElement","round","setup","size","innerWidth","innerHeight","outerWidth","outerHeight","getZeroSize","offsetWidth","offsetHeight","isBorderBox","measurement","paddingWidth","paddingLeft","paddingRight","paddingHeight","paddingTop","paddingBottom","marginWidth","marginLeft","marginRight","marginHeight","marginTop","marginBottom","borderHeight","isBorderBoxSizeOuter","styleWidth","styleHeight","Unipointer","_bindHandles","isAdd","bindMethod","touchAction","_touchActionValue","_bindStartEvent","PointerEvent","cursorNodes","TEXTAREA","INPUT","SELECT","OPTION","clickTypes","radio","checkbox","button","submit","image","file","isCursorNode","nodeName","isClickType","isOkay","focused","activeElement","blur","pointerMove","_dragPointerMove","_dragMove","hasDragStarted","_dragStart","abs","pointerUp","_dragPointerUp","_dragEnd","_staticClick","isPreventingClicks","onclick","isIgnoringMouseUp","getPointerPoint","EvEmitter","bindStartEvent","unbindStartEvent","startEvent","handleEvent","getTouch","touches","identifier","pointerIdentifier","onmousedown","_pointerDown","ontouchstart","changedTouches","onpointerdown","isPointerDown","pointerId","postStartEvents","mousedown","touchstart","pointerdown","events","_boundPointerEvents","_unbindPostStartEvents","removeEventListener","onmousemove","_pointerMove","onpointermove","ontouchmove","onmouseup","_pointerUp","onpointerup","ontouchend","_pointerDone","pointerDone","onpointercancel","_pointerCancel","ontouchcancel","pointerCancel","_events","onceEvents","_onceEvents","onceListeners","allOff","onWebkitpresentationmodechanged","pipWindow","nextBtn","rotateConfig","targetWidth","targetHeight","scale","clockwise","times","factor","screenShotOptions","encoderOptions","canvas","canvasCtx","img","saveScreenShot","saveLink","save","screenShotImg","lastCurrentTime","stallFlag","stallCheckTimer","progressTimer","slider","selected","onVolumeChange","barRect","pos","isMove","onMove","onUp","_changeTimer","containerHeight","defaultStyle","follow","followBottom","fitVideo","offsetBottom","baseSizeX","baseSizeY","minSize","minMobileSize","fontColor","XgSubtitles","subtitle","vBottom","textTrack","defaultOpen","subTitles","SubTitles","switch","subtitles","showDefault","isNeedMove","setSubTitles","isActive","positionData","textTrackStyle","needRemove","isListUpdate","language","default","promise","F","reject","Je","getAttribute","match","u","kr","Fr","_","xr","json","Nr","parseJson","stringContent","Tr","then","catch","T","S","O","__e","E","__g","P","copyright","M","random","A","C","R","N","L","I","getPrototypeOf","z","B","D","H","V","W","G","U","$","K","valueOf","J","Y","X","q","Z","virtual","Q","tt","et","nt","rt","it","ceil","ot","floor","st","at","ut","ct","lt","ft","propertyIsEnumerable","ht","dt","pt","vt","yt","mt","gt","_t","xt","bt","kt","wt","Tt","St","Ot","Et","Pt","contentWindow","write","close","jt","Mt","store","At","Ct","Rt","Nt","It","Ft","zt","Bt","next","Lt","v","g","entries","values","Dt","charAt","_i","done","Ht","_k","Arguments","Vt","Wt","Gt","Ut","$t","Kt","Jt","Yt","Xt","qt","isExtensible","preventExtensions","KEY","NEED","fastKey","getWeak","onFreeze","Zt","Qt","te","getOwnPropertySymbols","ee","re","isArray","oe","getOwnPropertyNames","se","ae","ue","le","ce","fe","getOwnPropertyDescriptor","he","de","pe","ve","ye","ge","me","_e","xe","be","ke","we","Te","Se","Oe","Ee","Pe","QObject","je","findChild","Me","Ae","Ce","iterator","Re","Ne","ne","Fe","ze","Be","De","He","Ve","We","for","keyFor","useSetter","useSimple","Ge","Ue","$e","Ke","Ye","ReferenceError","Xe","qe","Ze","Qe","tn","setPrototypeOf","__proto__","check","nn","rn","sn","an","un","ln","hn","dn","vn","pn","callee","gn","return","mn","_n","bn","kn","getIteratorMethod","wn","xn","BREAK","RETURN","Tn","Sn","On","En","Pn","setImmediate","jn","clearImmediate","Mn","MessageChannel","An","Dispatch","Cn","Rn","Nn","Ln","nextTick","port2","port1","onmessage","postMessage","importScripts","onreadystatechange","In","clear","Fn","zn","MutationObserver","WebKitMutationObserver","Bn","Dn","Hn","Vn","Wn","Gn","Un","$n","Kn","Jn","Yn","Xn","from","qn","Zn","Qn","tr","er","nr","domain","exit","enter","standalone","observe","characterData","rr","ir","or","versions","sr","v8","ar","ur","cr","lr","fr","PromiseRejectionEvent","hr","dr","_c","_v","_s","ok","fail","_h","yr","pr","vr","onunhandledrejection","reason","_a","onrejectionhandled","gr","_d","_w","mr","yn","race","finally","try","_r","br","wr","_eventsCount","eventNames","listenerCount","removeListener","removeAllListeners","addListener","prefixed","EventEmitter","toUpperCase","onerror","ontimeout","onabort","setRequestHeader","Sr","Or","Er","Pr","jr","Mr","Ar","Cr","Rr","checkFormat","parseASS","parseVTT","textTag","toLocaleLowerCase","parseASSItem","exec","checkIsTime","parseVttTime","parseVttText","tag","Lr","__handlers","ResizeObserver","observer","__trigger","handler","unobserve","disconnect","contentRect","__runHandler","Ir","zr","Br","currentText","_cid","_gid","_cids","_iId","_iC","_ctime","_loadingTrack","_isOpen","_videoMeta","lwidth","lheight","vWidth","vHeight","vLeft","attachPlayer","innerRoot","switchOff","isDefault","addStyles","disabled","detachPlayer","color","__onTimeupdate","addObserver","_onResize","unObserver","_updateCurrent","trace","hide","__remove","_update","includes","getDelCid","getNewCid","__render","Element","__startResize","fontSize","resize","children","I18n","Enter","Poster","Flex","Progress","Time","PlaybackRate","NativeTextTrack","ErrorControl","barStr","RequestCssFullIcon","ExitCssFullIcon","LargeIcon","SmallIcon","MutedIcon","icon","paused","tmp","cursrc","urlInRoot","cur","li","to","curRUL","liList","definitionObj","playbackRateList","selectedSpeed","playbackDom","ev","playbackRateObj","preview","DownloadIcon","comments","area","panelBtn","PanelIcon","DanmuJs","focusStatus","focusarray","danmuConfig","hidemodeArray","transparency","transparencyGradient","transparencyValue","showarea","showareaValue","danmuspeed","danmuspeedValue","danmufont","danmufontValue","startsWith","getElementById","Node","tagName","attributes","formatTime","setProperty","logger","setLogger","info","overlap","live","direction","needResizeObserver","hideArr","domObj","containerStyle","bulletBtn","isReady","addResizeObserver","main","pause","play","stop","txt","opacity","like","prior","realTime","unshift","readData","dataHandle","queue","pauseMove","startMove","setLikeDom","danmu","mouseControl","forceDuration","setFontSize","channel_id","topInit","channelSize","channel","constructorName","log","defaultOff","switchBtn","playedData","timer","retryTimer","retryStatus","updateQueue","nums","dataHandleTimer","bullet","hasAttached","sort","resetWithCb","init","reset","channels","resized","containerPos","detach","noDiscard","attach","addBullet","removeBullet","containerRight","resizing","resizeTimer","bookChannelId","scroll","operating","bookId","channelWidth","channelHeight","bOffset","loop","resetTimer","moveV","onChangeDirection","use","eventListeners","useCapture","textContent","elPos","mouseoverFunWrapper","mouseoverFun","mouseEnterControl","mouseEnterFunWrapper","mouseControlPause","unuse","removeTimer","getTime","moveTime","moveMoreS","moveContainerHeight","moveContainerWidth","pastDuration","startTime","hasMove","startMoveTimer","outerHTML","initDOM","initSize","idleList","usingList","_id","_expand","shift","textcontent","clearElementStyle","timeStampe","destroyObserver","hmr","webpackPolyfill","deprecate","paths","pip","miniplayer","PlayNextIcon","onUrlListEnd","RotateIcon","ReloadIcon","screenShotText","textTrackShowDefault","controlText","ul","renderList","isDefaultShow","refresh","lastPlayTime","lastPlayTimeHideDelay","removeFunc","AirplayIcon"],"mappings":"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","file":"index.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"xgplayer\"] = factory();\n\telse\n\t\troot[\"xgplayer\"] = factory();\n})(this, function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 79);\n","import XgplayerTimeRange from './xgplayerTimeRange'\n\nexport function createDom(el = 'div', tpl = '', attrs = {}, cname = '') {\n let dom = document.createElement(el)\n dom.className = cname\n dom.innerHTML = tpl\n Object.keys(attrs).forEach(item => {\n let key = item\n let value = attrs[item]\n if (el === 'video' || el === 'audio') {\n if (value) {\n dom.setAttribute(key, value)\n }\n } else {\n dom.setAttribute(key, value)\n }\n })\n return dom\n}\n\nexport function hasClass(el, className) {\n if (!el) {\n return false;\n }\n\n if (el.classList) {\n return Array.prototype.some.call(el.classList, item => item === className)\n } else if (el.className) {\n return !!el.className.match(new RegExp('(\\\\s|^)' + className + '(\\\\s|$)'))\n } else {\n return false;\n }\n}\n\nexport function addClass(el, className) {\n if (!el) {\n return;\n }\n\n if (el.classList) {\n className.replace(/(^\\s+|\\s+$)/g, '').split(/\\s+/g).forEach(item => {\n item && el.classList.add(item)\n })\n } else if (!hasClass(el, className)) {\n el.className += ' ' + className\n }\n}\n\nexport function removeClass(el, className) {\n if (!el) {\n return;\n }\n\n if (el.classList) {\n className.split(/\\s+/g).forEach(item => {\n el.classList.remove(item)\n })\n } else if (hasClass(el, className)) {\n className.split(/\\s+/g).forEach(item => {\n let reg = new RegExp('(\\\\s|^)' + item + '(\\\\s|$)')\n el.className = el.className.replace(reg, ' ')\n })\n }\n}\n\nexport function toggleClass(el, className) {\n if (!el) {\n return;\n }\n\n className.split(/\\s+/g).forEach(item => {\n if (hasClass(el, item)) {\n removeClass(el, item)\n } else {\n addClass(el, item)\n }\n })\n}\n\nexport function findDom(el = document, sel) {\n let dom\n // fix querySelector IDs that start with a digit\n // https://stackoverflow.com/questions/37270787/uncaught-syntaxerror-failed-to-execute-queryselector-on-document\n try {\n dom = el.querySelector(sel)\n } catch (e) {\n if (sel.indexOf('#') === 0) {\n dom = el.getElementById(sel.slice(1))\n }\n }\n return dom\n}\n\nexport function padStart(str, length, pad) {\n let charstr = String(pad)\n let len = length >> 0\n let maxlen = Math.ceil(len / charstr.length)\n let chars = []\n let r = String(str)\n while (maxlen--) {\n chars.push(charstr)\n }\n return chars.join('').substring(0, len - r.length) + r\n}\n\nexport function format(time) {\n if (window.isNaN(time)) {\n return ''\n }\n let hour = padStart(Math.floor(time / 3600), 2, 0)\n let minute = padStart(Math.floor((time - hour * 3600) / 60), 2, 0)\n let second = padStart(Math.floor((time - hour * 3600 - minute * 60)), 2, 0)\n return (hour === '00' ? [minute, second] : [hour, minute, second]).join(':')\n}\n\nexport function event(e) {\n if (e.touches) {\n let touch = e.touches[0] || e.changedTouches[0]\n e.clientX = touch.clientX || 0\n e.clientY = touch.clientY || 0\n e.offsetX = touch.pageX - touch.target.offsetLeft\n e.offsetY = touch.pageY - touch.target.offsetTop\n }\n e._target = e.target || e.srcElement\n}\n\nexport function typeOf(obj) {\n return Object.prototype.toString.call(obj).match(/([^\\s.*]+)(?=]$)/g)[0]\n}\n\nexport function deepCopy(dst, src) {\n if (typeOf(src) === 'Object' && typeOf(dst) === 'Object') {\n Object.keys(src).forEach(key => {\n if (typeOf(src[key]) === 'Object' && !(src[key] instanceof Node)) {\n if (!dst[key]) {\n dst[key] = src[key]\n } else {\n deepCopy(dst[key], src[key])\n }\n } else if (typeOf(src[key]) === 'Array') {\n dst[key] = typeOf(dst[key]) === 'Array' ? dst[key].concat(src[key]) : src[key]\n } else {\n dst[key] = src[key]\n }\n })\n return dst\n }\n}\nexport function getBgImage(el) {\n // fix: return current page url when url is none\n let url = (el.currentStyle || window.getComputedStyle(el, null)).backgroundImage\n if (!url || url === 'none') {\n return ''\n }\n let a = document.createElement('a')\n a.href = url.replace(/url\\(\"|\"\\)/g, '')\n return a.href\n}\n\nexport function copyDom(dom) {\n if (dom && dom.nodeType === 1) {\n let back = document.createElement(dom.tagName)\n Array.prototype.forEach.call(dom.attributes, (node) => {\n back.setAttribute(node.name, node.value)\n })\n if (dom.innerHTML) {\n back.innerHTML = dom.innerHTML\n }\n return back\n } else {\n return ''\n }\n}\n\nexport function _setInterval(context, eventName, intervalFunc, frequency) {\n if (!context._interval[eventName]) {\n context._interval[eventName] = setInterval(intervalFunc.bind(context), frequency)\n }\n}\n\nexport function _clearInterval(context, eventName) {\n clearInterval(context._interval[eventName])\n context._interval[eventName] = null\n}\n\nexport function createImgBtn(name, imgUrl, width, height) {\n let btn = createDom(`xg-${name}`, '', {}, `xgplayer-${name}-img`)\n btn.style.backgroundImage = `url(\"${imgUrl}\")`\n if (width && height) {\n let w, h, unit\n ['px', 'rem', 'em', 'pt', 'dp', 'vw', 'vh', 'vm', '%'].every((item) => {\n if (width.indexOf(item) > -1 && height.indexOf(item) > -1) {\n w = Number(width.slice(0, width.indexOf(item)).trim())\n h = Number(height.slice(0, height.indexOf(item)).trim())\n unit = item\n return false\n } else {\n return true\n }\n })\n btn.style.width = `${w}${unit}`\n btn.style.height = `${h}${unit}`\n btn.style.backgroundSize = `${w}${unit} ${h}${unit}`\n if (name === 'start') {\n btn.style.margin = `-${h / 2}${unit} auto auto -${w / 2}${unit}`\n } else {\n btn.style.margin = 'auto 5px auto 5px'\n }\n }\n return btn\n}\n\nexport function isWeiXin() {\n let ua = window.navigator.userAgent.toLowerCase()\n return ua.indexOf('micromessenger') > -1\n}\n\nexport function isUc() {\n let ua = window.navigator.userAgent.toLowerCase()\n return ua.indexOf('ucbrowser') > -1\n}\n\nexport function computeWatchDur(played = []) {\n let arr = []\n for (let i = 0; i < played.length; i++) {\n if(!played[i].end || played[i].begin < 0 || played[i].end < 0 || played[i].end < played[i].begin) {\n continue\n }\n if(arr.length < 1) {\n arr.push({begin: played[i].begin, end: played[i].end})\n } else {\n for (let j = 0; j < arr.length; j++) {\n let begin = played[i].begin\n let end = played[i].end\n if(end < arr[j].begin) {\n arr.splice(j, 0, {begin, end})\n break\n } else if(begin > arr[j].end) {\n if(j > arr.length - 2) {\n arr.push({begin, end})\n break\n }\n } else {\n let b = arr[j].begin\n let e = arr[j].end\n arr[j].begin = Math.min(begin, b)\n arr[j].end = Math.max(end, e)\n break\n }\n }\n }\n }\n let watch_dur = 0\n for (let i = 0; i < arr.length; i++) {\n watch_dur += arr[i].end - arr[i].begin\n }\n return watch_dur\n}\n\nexport function offInDestroy(object, event, fn, offEvent) {\n function onDestroy () {\n object.off(event, fn)\n object.off(offEvent, onDestroy)\n }\n object.once(offEvent, onDestroy)\n}\n\nexport function on(object, event, fn, offEvent) {\n if (offEvent) {\n object.on(event, fn)\n offInDestroy(object, event, fn, offEvent)\n } else {\n let _fn = data => {\n fn(data)\n object.off(event, _fn)\n }\n object.on(event, _fn)\n }\n}\n\nexport function once(object, event, fn, offEvent) {\n if (offEvent) {\n object.once(event, fn)\n offInDestroy(object, event, fn, offEvent)\n } else {\n let _fn = data => {\n fn(data)\n object.off(event, _fn)\n }\n object.once(event, _fn)\n }\n}\n\nexport function getBuffered2(vbuffered, maxHoleDuration = 0.5) { //ref: hls.js\n let buffered = []\n for (let i = 0; i < vbuffered.length; i++) {\n buffered.push({ start: vbuffered.start(i) < 0.5 ? 0 : vbuffered.start(i), end: vbuffered.end(i) });\n }\n buffered.sort(function (a, b) {\n let diff = a.start - b.start;\n if (diff) {\n return diff;\n } else {\n return b.end - a.end;\n }\n });\n let buffered_2 = []\n if (maxHoleDuration) {\n for (let i = 0; i < buffered.length; i++) {\n let buf2len = buffered_2.length\n if (buf2len) {\n let buf2end = buffered_2[buf2len - 1].end\n if ((buffered[i].start - buf2end) < maxHoleDuration) {\n if (buffered[i].end > buf2end) {\n buffered_2[buf2len - 1].end = buffered[i].end\n }\n } else {\n buffered_2.push(buffered[i])\n }\n } else {\n buffered_2.push(buffered[i])\n }\n }\n } else {\n buffered_2 = buffered\n }\n return new XgplayerTimeRange(buffered_2)\n}\n\nexport function checkIsBrowser() {\n return !(typeof(window) === 'undefined' || typeof(window.document) === 'undefined' || typeof(window.document.createElement) === 'undefined')\n}\n\nexport function setStyle(elem, name, value) {\n let style = elem.style;\n try {\n style[name] = value;\n } catch (error) {\n style.setProperty( name, value );\n }\n}\n\nexport const PresentationMode = {\n PIP: 'picture-in-picture',\n INLINE: 'inline',\n FULLSCREEN: 'fullscreen'\n}\n\nexport function checkWebkitSetPresentationMode (video) {\n return typeof video.webkitSetPresentationMode === 'function'\n}\n\nexport const util = {\n createDom, hasClass, addClass, removeClass, toggleClass, findDom, padStart, format, event, typeOf, \n deepCopy, getBgImage, copyDom, setInterval: _setInterval, clearInterval: _clearInterval, createImgBtn, isWeiXin, isUc, computeWatchDur,\n offInDestroy, on, once, getBuffered2, checkIsBrowser, setStyle\n}\n\n","/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\nmodule.exports = function(useSourceMap) {\n\tvar list = [];\n\n\t// return the list of modules as css string\n\tlist.toString = function toString() {\n\t\treturn this.map(function (item) {\n\t\t\tvar content = cssWithMappingToString(item, useSourceMap);\n\t\t\tif(item[2]) {\n\t\t\t\treturn \"@media \" + item[2] + \"{\" + content + \"}\";\n\t\t\t} else {\n\t\t\t\treturn content;\n\t\t\t}\n\t\t}).join(\"\");\n\t};\n\n\t// import a list of modules into the list\n\tlist.i = function(modules, mediaQuery) {\n\t\tif(typeof modules === \"string\")\n\t\t\tmodules = [[null, modules, \"\"]];\n\t\tvar alreadyImportedModules = {};\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar id = this[i][0];\n\t\t\tif(typeof id === \"number\")\n\t\t\t\talreadyImportedModules[id] = true;\n\t\t}\n\t\tfor(i = 0; i < modules.length; i++) {\n\t\t\tvar item = modules[i];\n\t\t\t// skip already imported module\n\t\t\t// this implementation is not 100% perfect for weird media query combinations\n\t\t\t// when a module is imported multiple times with different media queries.\n\t\t\t// I hope this will never occur (Hey this way we have smaller bundles)\n\t\t\tif(typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\n\t\t\t\tif(mediaQuery && !item[2]) {\n\t\t\t\t\titem[2] = mediaQuery;\n\t\t\t\t} else if(mediaQuery) {\n\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\n\t\t\t\t}\n\t\t\t\tlist.push(item);\n\t\t\t}\n\t\t}\n\t};\n\treturn list;\n};\n\nfunction cssWithMappingToString(item, useSourceMap) {\n\tvar content = item[1] || '';\n\tvar cssMapping = item[3];\n\tif (!cssMapping) {\n\t\treturn content;\n\t}\n\n\tif (useSourceMap && typeof btoa === 'function') {\n\t\tvar sourceMapping = toComment(cssMapping);\n\t\tvar sourceURLs = cssMapping.sources.map(function (source) {\n\t\t\treturn '/*# sourceURL=' + cssMapping.sourceRoot + source + ' */'\n\t\t});\n\n\t\treturn [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n\t}\n\n\treturn [content].join('\\n');\n}\n\n// Adapted from convert-source-map (MIT)\nfunction toComment(sourceMap) {\n\t// eslint-disable-next-line no-undef\n\tvar base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\n\tvar data = 'sourceMappingURL=data:application/json;charset=utf-8;base64,' + base64;\n\n\treturn '/*# ' + data + ' */';\n}\n","/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n\nvar stylesInDom = {};\n\nvar\tmemoize = function (fn) {\n\tvar memo;\n\n\treturn function () {\n\t\tif (typeof memo === \"undefined\") memo = fn.apply(this, arguments);\n\t\treturn memo;\n\t};\n};\n\nvar isOldIE = memoize(function () {\n\t// Test for IE <= 9 as proposed by Browserhacks\n\t// @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805\n\t// Tests for existence of standard globals is to allow style-loader\n\t// to operate correctly into non-standard environments\n\t// @see https://github.com/webpack-contrib/style-loader/issues/177\n\treturn window && document && document.all && !window.atob;\n});\n\nvar getTarget = function (target) {\n return document.querySelector(target);\n};\n\nvar getElement = (function (fn) {\n\tvar memo = {};\n\n\treturn function(target) {\n // If passing function in options, then use it for resolve \"head\" element.\n // Useful for Shadow Root style i.e\n // {\n // insertInto: function () { return document.querySelector(\"#foo\").shadowRoot }\n // }\n if (typeof target === 'function') {\n return target();\n }\n if (typeof memo[target] === \"undefined\") {\n\t\t\tvar styleTarget = getTarget.call(this, target);\n\t\t\t// Special case to return head of iframe instead of iframe itself\n\t\t\tif (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n\t\t\t\ttry {\n\t\t\t\t\t// This will throw an exception if access to iframe is blocked\n\t\t\t\t\t// due to cross-origin restrictions\n\t\t\t\t\tstyleTarget = styleTarget.contentDocument.head;\n\t\t\t\t} catch(e) {\n\t\t\t\t\tstyleTarget = null;\n\t\t\t\t}\n\t\t\t}\n\t\t\tmemo[target] = styleTarget;\n\t\t}\n\t\treturn memo[target]\n\t};\n})();\n\nvar singleton = null;\nvar\tsingletonCounter = 0;\nvar\tstylesInsertedAtTop = [];\n\nvar\tfixUrls = require(\"./urls\");\n\nmodule.exports = function(list, options) {\n\tif (typeof DEBUG !== \"undefined\" && DEBUG) {\n\t\tif (typeof document !== \"object\") throw new Error(\"The style-loader cannot be used in a non-browser environment\");\n\t}\n\n\toptions = options || {};\n\n\toptions.attrs = typeof options.attrs === \"object\" ? options.attrs : {};\n\n\t// Force single-tag solution on IE6-9, which has a hard limit on the # of <style>\n\t// tags it will allow on a page\n\tif (!options.singleton && typeof options.singleton !== \"boolean\") options.singleton = isOldIE();\n\n\t// By default, add <style> tags to the <head> element\n if (!options.insertInto) options.insertInto = \"head\";\n\n\t// By default, add <style> tags to the bottom of the target\n\tif (!options.insertAt) options.insertAt = \"bottom\";\n\n\tvar styles = listToStyles(list, options);\n\n\taddStylesToDom(styles, options);\n\n\treturn function update (newList) {\n\t\tvar mayRemove = [];\n\n\t\tfor (var i = 0; i < styles.length; i++) {\n\t\t\tvar item = styles[i];\n\t\t\tvar domStyle = stylesInDom[item.id];\n\n\t\t\tdomStyle.refs--;\n\t\t\tmayRemove.push(domStyle);\n\t\t}\n\n\t\tif(newList) {\n\t\t\tvar newStyles = listToStyles(newList, options);\n\t\t\taddStylesToDom(newStyles, options);\n\t\t}\n\n\t\tfor (var i = 0; i < mayRemove.length; i++) {\n\t\t\tvar domStyle = mayRemove[i];\n\n\t\t\tif(domStyle.refs === 0) {\n\t\t\t\tfor (var j = 0; j < domStyle.parts.length; j++) domStyle.parts[j]();\n\n\t\t\t\tdelete stylesInDom[domStyle.id];\n\t\t\t}\n\t\t}\n\t};\n};\n\nfunction addStylesToDom (styles, options) {\n\tfor (var i = 0; i < styles.length; i++) {\n\t\tvar item = styles[i];\n\t\tvar domStyle = stylesInDom[item.id];\n\n\t\tif(domStyle) {\n\t\t\tdomStyle.refs++;\n\n\t\t\tfor(var j = 0; j < domStyle.parts.length; j++) {\n\t\t\t\tdomStyle.parts[j](item.parts[j]);\n\t\t\t}\n\n\t\t\tfor(; j < item.parts.length; j++) {\n\t\t\t\tdomStyle.parts.push(addStyle(item.parts[j], options));\n\t\t\t}\n\t\t} else {\n\t\t\tvar parts = [];\n\n\t\t\tfor(var j = 0; j < item.parts.length; j++) {\n\t\t\t\tparts.push(addStyle(item.parts[j], options));\n\t\t\t}\n\n\t\t\tstylesInDom[item.id] = {id: item.id, refs: 1, parts: parts};\n\t\t}\n\t}\n}\n\nfunction listToStyles (list, options) {\n\tvar styles = [];\n\tvar newStyles = {};\n\n\tfor (var i = 0; i < list.length; i++) {\n\t\tvar item = list[i];\n\t\tvar id = options.base ? item[0] + options.base : item[0];\n\t\tvar css = item[1];\n\t\tvar media = item[2];\n\t\tvar sourceMap = item[3];\n\t\tvar part = {css: css, media: media, sourceMap: sourceMap};\n\n\t\tif(!newStyles[id]) styles.push(newStyles[id] = {id: id, parts: [part]});\n\t\telse newStyles[id].parts.push(part);\n\t}\n\n\treturn styles;\n}\n\nfunction insertStyleElement (options, style) {\n\tvar target = getElement(options.insertInto)\n\n\tif (!target) {\n\t\tthrow new Error(\"Couldn't find a style target. This probably means that the value for the 'insertInto' parameter is invalid.\");\n\t}\n\n\tvar lastStyleElementInsertedAtTop = stylesInsertedAtTop[stylesInsertedAtTop.length - 1];\n\n\tif (options.insertAt === \"top\") {\n\t\tif (!lastStyleElementInsertedAtTop) {\n\t\t\ttarget.insertBefore(style, target.firstChild);\n\t\t} else if (lastStyleElementInsertedAtTop.nextSibling) {\n\t\t\ttarget.insertBefore(style, lastStyleElementInsertedAtTop.nextSibling);\n\t\t} else {\n\t\t\ttarget.appendChild(style);\n\t\t}\n\t\tstylesInsertedAtTop.push(style);\n\t} else if (options.insertAt === \"bottom\") {\n\t\ttarget.appendChild(style);\n\t} else if (typeof options.insertAt === \"object\" && options.insertAt.before) {\n\t\tvar nextSibling = getElement(options.insertInto + \" \" + options.insertAt.before);\n\t\ttarget.insertBefore(style, nextSibling);\n\t} else {\n\t\tthrow new Error(\"[Style Loader]\\n\\n Invalid value for parameter 'insertAt' ('options.insertAt') found.\\n Must be 'top', 'bottom', or Object.\\n (https://github.com/webpack-contrib/style-loader#insertat)\\n\");\n\t}\n}\n\nfunction removeStyleElement (style) {\n\tif (style.parentNode === null) return false;\n\tstyle.parentNode.removeChild(style);\n\n\tvar idx = stylesInsertedAtTop.indexOf(style);\n\tif(idx >= 0) {\n\t\tstylesInsertedAtTop.splice(idx, 1);\n\t}\n}\n\nfunction createStyleElement (options) {\n\tvar style = document.createElement(\"style\");\n\n\toptions.attrs.type = \"text/css\";\n\n\taddAttrs(style, options.attrs);\n\tinsertStyleElement(options, style);\n\n\treturn style;\n}\n\nfunction createLinkElement (options) {\n\tvar link = document.createElement(\"link\");\n\n\toptions.attrs.type = \"text/css\";\n\toptions.attrs.rel = \"stylesheet\";\n\n\taddAttrs(link, options.attrs);\n\tinsertStyleElement(options, link);\n\n\treturn link;\n}\n\nfunction addAttrs (el, attrs) {\n\tObject.keys(attrs).forEach(function (key) {\n\t\tel.setAttribute(key, attrs[key]);\n\t});\n}\n\nfunction addStyle (obj, options) {\n\tvar style, update, remove, result;\n\n\t// If a transform function was defined, run it on the css\n\tif (options.transform && obj.css) {\n\t result = options.transform(obj.css);\n\n\t if (result) {\n\t \t// If transform returns a value, use that instead of the original css.\n\t \t// This allows running runtime transformations on the css.\n\t \tobj.css = result;\n\t } else {\n\t \t// If the transform function returns a falsy value, don't add this css.\n\t \t// This allows conditional loading of css\n\t \treturn function() {\n\t \t\t// noop\n\t \t};\n\t }\n\t}\n\n\tif (options.singleton) {\n\t\tvar styleIndex = singletonCounter++;\n\n\t\tstyle = singleton || (singleton = createStyleElement(options));\n\n\t\tupdate = applyToSingletonTag.bind(null, style, styleIndex, false);\n\t\tremove = applyToSingletonTag.bind(null, style, styleIndex, true);\n\n\t} else if (\n\t\tobj.sourceMap &&\n\t\ttypeof URL === \"function\" &&\n\t\ttypeof URL.createObjectURL === \"function\" &&\n\t\ttypeof URL.revokeObjectURL === \"function\" &&\n\t\ttypeof Blob === \"function\" &&\n\t\ttypeof btoa === \"function\"\n\t) {\n\t\tstyle = createLinkElement(options);\n\t\tupdate = updateLink.bind(null, style, options);\n\t\tremove = function () {\n\t\t\tremoveStyleElement(style);\n\n\t\t\tif(style.href) URL.revokeObjectURL(style.href);\n\t\t};\n\t} else {\n\t\tstyle = createStyleElement(options);\n\t\tupdate = applyToTag.bind(null, style);\n\t\tremove = function () {\n\t\t\tremoveStyleElement(style);\n\t\t};\n\t}\n\n\tupdate(obj);\n\n\treturn function updateStyle (newObj) {\n\t\tif (newObj) {\n\t\t\tif (\n\t\t\t\tnewObj.css === obj.css &&\n\t\t\t\tnewObj.media === obj.media &&\n\t\t\t\tnewObj.sourceMap === obj.sourceMap\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tupdate(obj = newObj);\n\t\t} else {\n\t\t\tremove();\n\t\t}\n\t};\n}\n\nvar replaceText = (function () {\n\tvar textStore = [];\n\n\treturn function (index, replacement) {\n\t\ttextStore[index] = replacement;\n\n\t\treturn textStore.filter(Boolean).join('\\n');\n\t};\n})();\n\nfunction applyToSingletonTag (style, index, remove, obj) {\n\tvar css = remove ? \"\" : obj.css;\n\n\tif (style.styleSheet) {\n\t\tstyle.styleSheet.cssText = replaceText(index, css);\n\t} else {\n\t\tvar cssNode = document.createTextNode(css);\n\t\tvar childNodes = style.childNodes;\n\n\t\tif (childNodes[index]) style.removeChild(childNodes[index]);\n\n\t\tif (childNodes.length) {\n\t\t\tstyle.insertBefore(cssNode, childNodes[index]);\n\t\t} else {\n\t\t\tstyle.appendChild(cssNode);\n\t\t}\n\t}\n}\n\nfunction applyToTag (style, obj) {\n\tvar css = obj.css;\n\tvar media = obj.media;\n\n\tif(media) {\n\t\tstyle.setAttribute(\"media\", media)\n\t}\n\n\tif(style.styleSheet) {\n\t\tstyle.styleSheet.cssText = css;\n\t} else {\n\t\twhile(style.firstChild) {\n\t\t\tstyle.removeChild(style.firstChild);\n\t\t}\n\n\t\tstyle.appendChild(document.createTextNode(css));\n\t}\n}\n\nfunction updateLink (link, options, obj) {\n\tvar css = obj.css;\n\tvar sourceMap = obj.sourceMap;\n\n\t/*\n\t\tIf convertToAbsoluteUrls isn't defined, but sourcemaps are enabled\n\t\tand there is no publicPath defined then lets turn convertToAbsoluteUrls\n\t\ton by default. Otherwise default to the convertToAbsoluteUrls option\n\t\tdirectly\n\t*/\n\tvar autoFixUrls = options.convertToAbsoluteUrls === undefined && sourceMap;\n\n\tif (options.convertToAbsoluteUrls || autoFixUrls) {\n\t\tcss = fixUrls(css);\n\t}\n\n\tif (sourceMap) {\n\t\t// http://stackoverflow.com/a/26603875\n\t\tcss += \"\\n/*# sourceMappingURL=data:application/json;base64,\" + btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))) + \" */\";\n\t}\n\n\tvar blob = new Blob([css], { type: \"text/css\" });\n\n\tvar oldSrc = link.href;\n\n\tlink.href = URL.createObjectURL(blob);\n\n\tif(oldSrc) URL.revokeObjectURL(oldSrc);\n}\n","\"use strict\";\n\nvar _undefined = require(\"../function/noop\")(); // Support ES3 engines\n\nmodule.exports = function (val) { return val !== _undefined && val !== null; };\n","import {version} from '../version.json'\nconst ErrorTypes = {\n network: {\n code: 1,\n msg: '视频下载错误',\n remark: '只要视频下载错误就使用此类型,无论是video本身的超时还是xhr的分段请求超时或者资源不存在'\n },\n mse: {\n code: 2,\n msg: '流追加错误',\n remark: '追加流的时候如果类型不对、无法被正确解码则会触发此类错误'\n },\n parse: {\n code: 3,\n msg: '解析错误',\n remark: 'mp4、hls、flv我们都是使用js进行格式解析,如果解析失败则会触发此类错误'\n },\n format: {\n code: 4,\n msg: '格式错误',\n remark: '如果浏览器不支持的格式导致播放错误'\n },\n decoder: {\n code: 5,\n msg: '解码错误',\n remark: '浏览器解码异常会抛出此类型错误'\n },\n runtime: {\n code: 6,\n msg: '语法错误',\n remark: '播放器语法错误'\n },\n timeout: {\n code: 7,\n msg: '播放超时',\n remark: '播放过程中无法正常请求下一个分段导致播放中断'\n },\n other: {\n code: 8,\n msg: '其他错误',\n remark: '不可知的错误或被忽略的错误类型'\n }\n}\n\nclass Errors {\n constructor (type, currentTime, duration, networkState, readyState, src, currentSrc,\n ended, errd = {line: '', handle: '', msg: '', version: ''}, errorCode, mediaError) {\n let r = {}\n if (arguments.length > 1) {\n r.playerVersion = version // 播放器版本\n r.errorType = type\n r.domain = document.domain // domain\n r.duration = duration // 视频时长\n r.currentTime = currentTime\n r.networkState = networkState\n r.readyState = readyState\n r.currentSrc = currentSrc\n r.src = src\n r.ended = ended\n r.errd = errd // 错误详情\n r.ex = (ErrorTypes[type] || {}).msg // 补充信息\n r.errorCode = errorCode\n r.mediaError = mediaError\n } else {\n const arg = arguments[0]\n Object.keys(arg).map(key => {\n r[key] = arg[key]\n })\n r.ex = ((arg.type && ErrorTypes[arg.type]) || {}).msg\n }\n return r\n }\n}\nexport default Errors\n","let sniffer = {}\n\nObject.defineProperty(sniffer, 'device', {\n get: function () {\n let r = sniffer.os\n return r.isPc ? 'pc' : 'mobile'\n // return r.isPc ? 'pc' : r.isTablet ? 'tablet' : 'mobile'\n }\n})\n\nObject.defineProperty(sniffer, 'browser', {\n get: function () {\n let ua = navigator.userAgent.toLowerCase()\n let reg = {\n ie: /rv:([\\d.]+)\\) like gecko/,\n firfox: /firefox\\/([\\d.]+)/,\n chrome: /chrome\\/([\\d.]+)/,\n opera: /opera.([\\d.]+)/,\n safari: /version\\/([\\d.]+).*safari/\n }\n return [].concat(Object.keys(reg).filter(key => reg[key].test(ua)))[0] || ''\n }\n})\n\nObject.defineProperty(sniffer, 'os', {\n get: function () {\n let ua = navigator.userAgent\n let isWindowsPhone = /(?:Windows Phone)/.test(ua)\n let isSymbian = /(?:SymbianOS)/.test(ua) || isWindowsPhone\n let isAndroid = /(?:Android)/.test(ua)\n let isFireFox = /(?:Firefox)/.test(ua)\n let isTablet = /(?:iPad|PlayBook)/.test(ua) || (isAndroid && !/(?:Mobile)/.test(ua)) || (isFireFox && /(?:Tablet)/.test(ua))\n let isPhone = /(?:iPhone)/.test(ua) && !isTablet\n let isPc = !isPhone && !isAndroid && !isSymbian && !isTablet\n return {\n isTablet,\n isPhone,\n isAndroid,\n isPc,\n isSymbian,\n isWindowsPhone,\n isFireFox\n }\n }\n})\n\nexport default sniffer\n","\"use strict\";\n\n// ES3 safe\nvar _undefined = void 0;\n\nmodule.exports = function (value) { return value !== _undefined && value !== null; };\n","export default class XgplayerTimeRange {\n constructor(bufferedList) {\n this.bufferedList = bufferedList\n }\n\n start (index) {\n return this.bufferedList[index].start\n }\n\n end (index) {\n return this.bufferedList[index].end\n }\n\n get length () {\n return this.bufferedList.length\n }\n}\n","import Proxy from './proxy'\nimport { util, deepCopy, findDom, createDom, addClass, typeOf, hasClass, removeClass, checkIsBrowser } from './utils/util'\nimport sniffer from './utils/sniffer'\nimport XgplayerTimeRange from './utils/xgplayerTimeRange'\nimport Errors from './error'\nimport allOff from 'event-emitter/all-off'\nimport s_i18n from './skin/controls/i18n.js'\nimport './skin/style/index.scss'\n\nimport {\n version\n} from '../version.json'\nclass Player extends Proxy {\n constructor (options) {\n super(options)\n this.config = deepCopy({\n width: 600,\n height: 337.5,\n ignores: [],\n whitelist: [],\n lang: (document.documentElement.getAttribute('lang') || navigator.language || 'zh-cn').toLocaleLowerCase(),\n inactive: 3000,\n volume: 0.6,\n controls: true,\n controlsList: ['nodownload']\n }, options)\n this.version = version\n this.userTimer = null\n this.waitTimer = null\n this.history = []\n this.isProgressMoving = false\n this.root = findDom(document, `#${this.config.id}`)\n this.controls = createDom('xg-controls', '', {\n unselectable: 'on',\n onselectstart: 'return false'\n }, 'xgplayer-controls')\n if (this.config.isShowControl) {\n this.controls.style.display = 'none'\n }\n if (!this.root) {\n let el = this.config.el\n if (el && el.nodeType === 1) {\n this.root = el\n } else {\n this.emit('error', new Errors({\n type: 'use',\n errd: {\n line: 45,\n handle: 'Constructor',\n msg: 'container id can\\'t be empty'\n },\n vid: this.config.vid\n }))\n console.error('container id can\\'t be empty')\n return false\n }\n }\n // this.rootBackup = copyDom(this.root)\n addClass(this.root, `xgplayer xgplayer-${sniffer.device} xgplayer-nostart xgplayer-pause ${this.config.controls ? '' : 'xgplayer-no-controls'}`)\n this.root.appendChild(this.controls)\n if (this.config.fluid) {\n this.root.style['max-width'] = '100%'\n this.root.style['width'] = '100%'\n this.root.style['height'] = '0'\n this.root.style['padding-top'] = `${this.config.height * 100 / this.config.width}%`\n\n this.video.style['position'] = 'absolute'\n this.video.style['top'] = '0'\n this.video.style['left'] = '0'\n } else {\n // this.root.style.width = `${this.config.width}px`\n // this.root.style.height = `${this.config.height}px`\n if (this.config.width) {\n if (typeof this.config.width !== 'number') {\n this.root.style.width = this.config.width\n } else {\n this.root.style.width = `${this.config.width}px`\n }\n }\n if (this.config.height) {\n if (typeof this.config.height !== 'number') {\n this.root.style.height = this.config.height\n } else {\n this.root.style.height = `${this.config.height}px`\n }\n }\n }\n if (this.config.execBeforePluginsCall) {\n this.config.execBeforePluginsCall.forEach(item => {\n item.call(this, this)\n })\n }\n if(!this.config.closeI18n) {\n Player.install(s_i18n.name, s_i18n.method)\n }\n if (this.config.controlStyle && typeOf(this.config.controlStyle) === 'String') {\n let self = this\n fetch(self.config.controlStyle, {\n method: 'GET',\n headers: {\n Accept: 'application/json'\n }\n }).then(function (res) {\n if (res.ok) {\n res.json().then(function (obj) {\n for (var prop in obj) {\n if (obj.hasOwnProperty(prop)) {\n self.config[prop] = obj[prop]\n }\n }\n self.pluginsCall()\n })\n }\n }).catch(function (err) {\n console.log('Fetch错误:' + err)\n })\n } else {\n this.pluginsCall()\n }\n if(this.config.controlPlugins) {\n Player.controlsRun(this.config.controlPlugins, this)\n }\n this.ev.forEach((item) => {\n let evName = Object.keys(item)[0]\n let evFunc = this[item[evName]]\n if (evFunc) {\n this.on(evName, evFunc)\n }\n });\n\n ['focus', 'blur'].forEach(item => {\n this.on(item, this['on' + item.charAt(0).toUpperCase() + item.slice(1)])\n })\n let player = this\n this.mousemoveFunc = function () {\n player.emit('focus')\n if (!player.config.closeFocusVideoFocus) {\n player.video.focus()\n }\n }\n this.root.addEventListener('mousemove', this.mousemoveFunc)\n this.playFunc = function () {\n player.emit('focus')\n if (!player.config.closePlayVideoFocus) {\n player.video.focus()\n }\n }\n player.once('play', this.playFunc)\n\n this.getVideoSize = function () {\n if (this.video.videoWidth && this.video.videoHeight) {\n let containerSize = player.root.getBoundingClientRect()\n if (player.config.fitVideoSize === 'auto') {\n if (containerSize.width / containerSize.height > this.video.videoWidth / this.video.videoHeight) {\n player.root.style.height = `${this.video.videoHeight / this.video.videoWidth * containerSize.width}px`\n } else {\n player.root.style.width = `${this.video.videoWidth / this.video.videoHeight * containerSize.height}px`\n }\n } else if (player.config.fitVideoSize === 'fixWidth') {\n player.root.style.height = `${this.video.videoHeight / this.video.videoWidth * containerSize.width}px`\n } else if (player.config.fitVideoSize === 'fixHeight') {\n player.root.style.width = `${this.video.videoWidth / this.video.videoHeight * containerSize.height}px`\n }\n }\n }\n player.once('loadeddata', this.getVideoSize)\n\n setTimeout(() => {\n this.emit('ready')\n this.isReady = true\n }, 0)\n\n if (this.config.videoInit) {\n if (hasClass(this.root, 'xgplayer-nostart')) {\n this.start()\n }\n }\n if (player.config.rotate) {\n player.on('requestFullscreen', this.updateRotateDeg)\n player.on('exitFullscreen', this.updateRotateDeg)\n }\n\n function onDestroy () {\n player.root.removeEventListener('mousemove', player.mousemoveFunc)\n player.off('destroy', onDestroy)\n }\n player.once('destroy', onDestroy)\n }\n\n attachVideo () {\n if(this.video && this.video.nodeType === 1) {\n this.root.insertBefore(this.video, this.root.firstChild)\n }\n setTimeout(() => {\n this.emit('complete')\n if(this.danmu && typeof this.danmu.resize === 'function') {\n this.danmu.resize()\n }\n }, 1)\n }\n\n start (url = this.config.url) {\n if(!this.video) return\n let player = this\n if (!url || url === '') {\n this.emit('urlNull')\n return\n }\n this.canPlayFunc = function () {\n player.off('canplay', player.canPlayFunc)\n let playPromise = player.video.play()\n if (playPromise !== undefined && playPromise) {\n playPromise.then(function () {\n player.emit('autoplay started')\n }).catch(function () {\n player.emit('autoplay was prevented')\n addClass(player.root, 'xgplayer-is-autoplay')\n })\n }\n }\n if (typeOf(url) !== 'Array') {\n if (typeOf(url) === 'String' && url.indexOf('blob:') > -1 && url === this.video.src) {\n // 在Chromium环境下用mse url给video二次赋值会导致错误\n } else {\n this.video.src = url\n }\n } else {\n url.forEach(item => {\n this.video.appendChild(createDom('source', '', {\n src: `${item.src}`,\n type: `${item.type || ''}`\n }))\n })\n }\n if (this.config.autoplay) {\n if (sniffer.os.isPhone) {\n this.canPlayFunc()\n } else {\n this.on('canplay', this.canPlayFunc)\n }\n }\n if(!this.config.disableStartLoad) {\n this.video.load()\n }\n this.attachVideo()\n }\n\n reload () {\n this.video.load()\n this.reloadFunc = function () {\n // eslint-disable-next-line handle-callback-err\n let playPromise = this.play()\n if (playPromise !== undefined && playPromise) {\n playPromise.catch(err => {})\n }\n }\n this.once('loadeddata', this.reloadFunc)\n }\n\n destroy (isDelDom = true) {\n let player = this\n clearInterval(this.bulletResizeTimer)\n for (let k in this._interval) {\n clearInterval(this._interval[k])\n this._interval[k] = null\n }\n if (this.checkTimer) {\n clearInterval(this.checkTimer)\n }\n if (this.waitTimer) {\n clearTimeout(this.waitTimer)\n }\n this.ev.forEach((item) => {\n let evName = Object.keys(item)[0]\n let evFunc = this[item[evName]]\n if (evFunc) {\n this.off(evName, evFunc)\n }\n });\n if (this.loadeddataFunc) {\n this.off('loadeddata', this.loadeddataFunc)\n }\n if (this.reloadFunc) {\n this.off('loadeddata', this.reloadFunc)\n }\n if (this.replayFunc) {\n this.off('play', this.replayFunc)\n }\n if (this.playFunc) {\n this.off('play', this.playFunc)\n }\n if (this.getVideoSize) {\n this.off('loadeddata', this.getVideoSize)\n };\n ['focus', 'blur'].forEach(item => {\n this.off(item, this['on' + item.charAt(0).toUpperCase() + item.slice(1)])\n })\n if (!this.config.keyShortcut || this.config.keyShortcut === 'on') {\n ['video', 'controls'].forEach(item => {\n if (this[item]) {\n this[item].removeEventListener('keydown', function (e) { player.onKeydown(e, player) })\n }\n })\n }\n\n function destroyFunc () {\n this.emit('destroy')\n // this.root.id = this.root.id + '_del'\n // parentNode.insertBefore(this.rootBackup, this.root)\n\n // fix video destroy https://stackoverflow.com/questions/3258587/how-to-properly-unload-destroy-a-video-element\n this.video.removeAttribute('src') // empty source\n this.video.load()\n if (isDelDom) {\n // parentNode.removeChild(this.root)\n this.root.innerHTML = ''\n let classNameList = this.root.className.split(' ')\n if (classNameList.length > 0) {\n this.root.className = classNameList.filter(name => name.indexOf('xgplayer') < 0).join(' ')\n } else {\n this.root.className = ''\n }\n }\n\n for (let k in this) {\n // if (k !== 'config') {\n delete this[k]\n // }\n }\n allOff(this)\n }\n\n if (!this.paused) {\n this.pause()\n this.once('pause', destroyFunc)\n } else {\n destroyFunc.call(this)\n }\n super.destroy()\n }\n\n replay () {\n let self = this\n let _replay = this._replay\n // ie9 bugfix\n removeClass(this.root, 'xgplayer-ended')\n if(sniffer.browser.indexOf('ie') > -1) {\n this.emit('play')\n this.emit('playing')\n }\n \n if (_replay && _replay instanceof Function) {\n _replay()\n } else {\n this.currentTime = 0\n // eslint-disable-next-line handle-callback-err\n let playPromise = this.play()\n if (playPromise !== undefined && playPromise) {\n playPromise.catch(err => {})\n }\n }\n }\n\n userGestureTrigEvent (name, param) {\n const defaultUserGestureEventHandler = (name, param) => {\n this.emit(name, param)\n }\n if(this.config.userGestureEventMiddleware && typeof this.config.userGestureEventMiddleware[name] === 'function') {\n this.config.userGestureEventMiddleware[name].call(this, this, name, param, defaultUserGestureEventHandler)\n } else {\n defaultUserGestureEventHandler.call(this, name, param);\n }\n }\n\n pluginsCall () {\n if(Player.plugins['s_i18n']) {\n Player.plugins['s_i18n'].call(this, this)\n }\n let self = this\n if (Player.plugins) {\n let ignores = this.config.ignores\n Object.keys(Player.plugins).forEach(name => {\n let descriptor = Player.plugins[name]\n if(!descriptor || typeof descriptor !== 'function'){\n console.warn('plugin name', name , 'is invalid')\n } else {\n if (!ignores.some(item => name === item || name === 's_' + item) && name !== 's_i18n') {\n if (['pc', 'tablet', 'mobile'].some(type => type === name)) {\n if (name === sniffer.device) {\n setTimeout(() => {\n // if destroyed, skip\n if (!self.video) return;\n descriptor.call(self, self)\n }, 0)\n }\n } else {\n descriptor.call(this, this)\n }\n }\n }\n })\n }\n }\n\n onFocus () {\n let player = this\n if(hasClass(this.root, 'xgplayer-inactive')) {\n player.emit('controlShow')\n }\n removeClass(this.root, 'xgplayer-inactive')\n if (player.userTimer) {\n clearTimeout(player.userTimer)\n }\n player.userTimer = setTimeout(function () {\n player.emit('blur')\n }, player.config.inactive)\n }\n\n onBlur () {\n // this.video.blur()\n if ((this.config.enablePausedInactive || !this.paused) && !this.ended && !this.config.closeInactive) {\n if(!hasClass(this.root, 'xgplayer-inactive')) {\n this.emit('controlHide')\n }\n addClass(this.root, 'xgplayer-inactive')\n }\n }\n\n onPlay () {\n addClass(this.root, 'xgplayer-isloading')\n addClass(this.root, 'xgplayer-playing')\n removeClass(this.root, 'xgplayer-pause')\n }\n\n onPause () {\n addClass(this.root, 'xgplayer-pause')\n if (this.userTimer) {\n clearTimeout(this.userTimer)\n }\n this.emit('focus')\n }\n\n onEnded () {\n addClass(this.root, 'xgplayer-ended')\n removeClass(this.root, 'xgplayer-playing')\n }\n\n onSeeking () {\n this.isSeeking = true\n // 兼容IE下无法触发waiting事件的问题 seeking的时候直接出发waiting\n this.onWaiting()\n // addClass(this.root, 'seeking');\n }\n\n // onTimeupdate () {\n // // for ie,playing fired before waiting\n // if (this.waitTimer) {\n // clearTimeout(this.waitTimer)\n // }\n // removeClass(this.root, 'xgplayer-isloading')\n\n // }\n\n onSeeked () {\n // for ie,playing fired before waiting\n this.once('timeupdate', () => {\n this.isSeeking = false\n })\n if (this.waitTimer) {\n clearTimeout(this.waitTimer)\n }\n removeClass(this.root, 'xgplayer-isloading')\n }\n\n onWaiting () {\n let self = this\n if (self.waitTimer) {\n clearTimeout(self.waitTimer)\n }\n if (self.checkTimer) {\n clearInterval(self.checkTimer)\n self.checkTimer = null\n }\n let time = self.currentTime\n self.waitTimer = setTimeout(function () {\n addClass(self.root, 'xgplayer-isloading')\n self.checkTimer = setInterval(function () {\n if (self.currentTime !== time) {\n removeClass(self.root, 'xgplayer-isloading')\n clearInterval(self.checkTimer)\n self.checkTimer = null\n }\n }, 1000)\n }, 500)\n }\n\n onPlaying () {\n // 兼容safari下无法自动播放会触发该事件的场景\n if (this.paused) {\n return\n }\n this.isSeeking = false\n if (this.waitTimer) {\n clearTimeout(this.waitTimer)\n }\n removeClass(this.root, 'xgplayer-isloading xgplayer-nostart xgplayer-pause xgplayer-ended xgplayer-is-error xgplayer-replay')\n addClass(this.root, 'xgplayer-playing')\n }\n\n static install (name, descriptor) {\n if (!checkIsBrowser()) {\n return\n }\n if (!Player.plugins) {\n Player.plugins = {}\n }\n if (!Player.plugins[name]) {\n Player.plugins[name] = descriptor\n }\n }\n\n static installAll (list) {\n for(let k = 0; k < list.length; k++){\n Player.install(list[k].name, list[k].method)\n }\n }\n\n static use (name, descriptor) {\n if (!Player.plugins) {\n Player.plugins = {}\n }\n Player.plugins[name] = descriptor\n }\n\n static useAll (list) {\n for (let k in list) {\n Player.use(list[k].name, list[k].method)\n }\n }\n\n static controlsRun (controlLst, context) {\n controlLst.forEach(function(control) {\n control.method.call(context)\n })\n }\n}\n\nPlayer.util = util\nPlayer.sniffer = sniffer\nPlayer.Errors = Errors\nPlayer.XgplayerTimeRange = XgplayerTimeRange\n\nexport default Player\n","import { typeOf } from '../../utils/util'\n\nlet s_i18n = function () {\n let player = this; let lang = {};\n lang.en = {\n HAVE_NOTHING: 'There is no information on whether audio/video is ready',\n HAVE_METADATA: 'Audio/video metadata is ready ',\n HAVE_CURRENT_DATA: 'Data about the current play location is available, but there is not enough data to play the next frame/millisecond',\n HAVE_FUTURE_DATA: 'Current and at least one frame of data is available',\n HAVE_ENOUGH_DATA: 'The available data is sufficient to start playing',\n NETWORK_EMPTY: 'Audio/video has not been initialized',\n NETWORK_IDLE: 'Audio/video is active and has been selected for resources, but no network is used',\n NETWORK_LOADING: 'The browser is downloading the data',\n NETWORK_NO_SOURCE: 'No audio/video source was found',\n MEDIA_ERR_ABORTED: 'The fetch process is aborted by the user',\n MEDIA_ERR_NETWORK: 'An error occurred while downloading',\n MEDIA_ERR_DECODE: 'An error occurred while decoding',\n MEDIA_ERR_SRC_NOT_SUPPORTED: 'Audio/video is not supported',\n REPLAY: 'Replay',\n ERROR: 'Network is offline',\n PLAY_TIPS: 'Play',\n PAUSE_TIPS: 'Pause',\n PLAYNEXT_TIPS: 'Play next',\n DOWNLOAD_TIPS: 'Download',\n ROTATE_TIPS: 'Rotate',\n RELOAD_TIPS: 'Reload',\n FULLSCREEN_TIPS: \"Fullscreen\",\n EXITFULLSCREEN_TIPS: 'Exit fullscreen',\n CSSFULLSCREEN_TIPS: 'Cssfullscreen',\n EXITCSSFULLSCREEN_TIPS: 'Exit cssfullscreen',\n TEXTTRACK: 'Caption',\n PIP: 'Pip',\n MINIPLAYER: 'Miniplayer',\n SCREENSHOT: 'Screenshot',\n LIVE: 'LIVE',\n OFF: 'Off',\n MINIPLAYER_DRAG: 'Click and hold to drag',\n AIRPLAY_TIPS: 'Airplay',\n }\n lang['zh-cn'] = {\n HAVE_NOTHING: '没有关于音频/视频是否就绪的信息',\n HAVE_METADATA: '音频/视频的元数据已就绪',\n HAVE_CURRENT_DATA: '关于当前播放位置的数据是可用的,但没有足够的数据来播放下一帧/毫秒',\n HAVE_FUTURE_DATA: '当前及至少下一帧的数据是可用的',\n HAVE_ENOUGH_DATA: '可用数据足以开始播放',\n NETWORK_EMPTY: '音频/视频尚未初始化',\n NETWORK_IDLE: '音频/视频是活动的且已选取资源,但并未使用网络',\n NETWORK_LOADING: '浏览器正在下载数据',\n NETWORK_NO_SOURCE: '未找到音频/视频来源',\n MEDIA_ERR_ABORTED: '取回过程被用户中止',\n MEDIA_ERR_NETWORK: '当下载时发生错误',\n MEDIA_ERR_DECODE: '当解码时发生错误',\n MEDIA_ERR_SRC_NOT_SUPPORTED: '不支持的音频/视频格式',\n REPLAY: '重播',\n ERROR: '网络连接似乎出现了问题',\n PLAY_TIPS: '播放',\n PAUSE_TIPS: '暂停',\n PLAYNEXT_TIPS: '下一集',\n DOWNLOAD_TIPS: '下载',\n ROTATE_TIPS: '旋转',\n RELOAD_TIPS: '重新载入',\n FULLSCREEN_TIPS: \"进入全屏\",\n EXITFULLSCREEN_TIPS: '退出全屏',\n CSSFULLSCREEN_TIPS: '进入样式全屏',\n EXITCSSFULLSCREEN_TIPS: '退出样式全屏',\n TEXTTRACK: '字幕',\n PIP: '画中画',\n MINIPLAYER: '迷你播放器',\n SCREENSHOT: '截图',\n LIVE: '正在直播',\n OFF: '关闭',\n MINIPLAYER_DRAG: '点击按住可拖动视频',\n AIRPLAY_TIPS: '隔空播放',\n }\n lang['zh-hk'] = {\n HAVE_NOTHING: '沒有關於音頻/視頻是否就緒的信息',\n HAVE_METADATA: '音頻/視頻的元數據已就緒',\n HAVE_CURRENT_DATA: '關於當前播放位置的數據是可用的,但沒有足夠的數據來播放下壹幀/毫秒',\n HAVE_FUTURE_DATA: '當前及至少下壹幀的數據是可用的',\n HAVE_ENOUGH_DATA: '可用數據足以開始播放',\n NETWORK_EMPTY: '音頻/視頻尚未初始化',\n NETWORK_IDLE: '音頻/視頻是活動的且已選取資源,但並未使用網絡',\n NETWORK_LOADING: '瀏覽器正在下載數據',\n NETWORK_NO_SOURCE: '未找到音頻/視頻來源',\n MEDIA_ERR_ABORTED: '取回過程被用戶中止',\n MEDIA_ERR_NETWORK: '當下載時發生錯誤',\n MEDIA_ERR_DECODE: '當解碼時發生錯誤',\n MEDIA_ERR_SRC_NOT_SUPPORTED: '不支持的音頻/視頻格式',\n REPLAY: '重播',\n ERROR: '網絡連接似乎出現了問題',\n PLAY_TIPS: '播放',\n PAUSE_TIPS: '暫停',\n PLAYNEXT_TIPS: '下壹集',\n DOWNLOAD_TIPS: '下載',\n ROTATE_TIPS: '旋轉',\n RELOAD_TIPS: '重新載入',\n FULLSCREEN_TIPS: \"進入全屏\",\n EXITFULLSCREEN_TIPS: '退出全屏',\n CSSFULLSCREEN_TIPS: '進入樣式全屏',\n EXITCSSFULLSCREEN_TIPS: '退出樣式全屏',\n TEXTTRACK: '字幕',\n PIP: '畫中畫',\n MINIPLAYER: '迷妳播放器',\n SCREENSHOT: '截圖',\n LIVE: '正在直播',\n OFF: '關閉',\n MINIPLAYER_DRAG: '點擊按住可拖動視頻',\n AIRPLAY_TIPS: '隔空播放',\n }\n lang['jp'] = {\n HAVE_NOTHING: 'オーディオ/ビデオが準備できているか情報がありません',\n HAVE_METADATA: 'オーディオ/ビデオのメタデータは準備できています',\n HAVE_CURRENT_DATA: '現在の再生位置に関するデータは利用可能ですが、次のフレーム/ミリ秒を再生するのに十分なデータがありません',\n HAVE_FUTURE_DATA: '現在、少なくとも次のフレームのデータが利用可能です',\n HAVE_ENOUGH_DATA: '利用可能なデータは再生を開始するのに十分です',\n NETWORK_EMPTY: 'オーディオ/ビデオが初期化されていません',\n NETWORK_IDLE: 'オーディオ/ビデオはアクティブでリソースが選択されていますが、ネットワークが使用されていません',\n NETWORK_LOADING: 'ブラウザーはデータをダウンロードしています',\n NETWORK_NO_SOURCE: 'オーディオ/ビデオ のソースが見つかりません',\n MEDIA_ERR_ABORTED: 'ユーザーによってフェッチプロセスが中止されました',\n MEDIA_ERR_NETWORK: 'ダウンロード中にエラーが発生しました',\n MEDIA_ERR_DECODE: 'デコード中にエラーが発生しました',\n MEDIA_ERR_SRC_NOT_SUPPORTED: 'オーディオ/ビデオ の形式がサポートされていません',\n REPLAY: 'リプレイ',\n ERROR: 'ネットワークの接続に問題が発生しました',\n PLAY_TIPS: 'プレイ',\n PAUSE_TIPS: '一時停止',\n PLAYNEXT_TIPS: '次をプレイ',\n DOWNLOAD_TIPS: 'ダウンロード',\n ROTATE_TIPS: '回転',\n RELOAD_TIPS: '再読み込み',\n FULLSCREEN_TIPS: \"フルスクリーン\",\n EXITFULLSCREEN_TIPS: 'フルスクリーンを終了',\n CSSFULLSCREEN_TIPS: 'シアターモード',\n EXITCSSFULLSCREEN_TIPS: 'シアターモードを終了',\n TEXTTRACK: '字幕',\n PIP: 'ミニプレーヤー',\n MINIPLAYER: 'ミニプレーヤー',\n SCREENSHOT: 'スクリーンショット',\n LIVE: '生放送',\n OFF: 'オフ',\n MINIPLAYER_DRAG: 'ボタンを押して働画をドラッグする',\n AIRPLAY_TIPS: '隔空放送',\n }\n\n Object.defineProperty(player, 'lang', {\n get: function () {\n if (player.config) {\n return lang[player.config.lang] || lang['en']\n } else {\n return lang['en']\n }\n },\n set: function (value) {\n if (typeOf(value) === 'Object') {\n Object.keys(value).forEach(key => {\n lang[key] = value[key]\n })\n }\n }\n })\n\n}\n\nexport default {\n name: 's_i18n',\n method: s_i18n\n}","import EventEmitter from 'event-emitter'\nimport { findDom, createDom, hasClass, removeClass, _clearInterval, _setInterval, on, once, getBuffered2, setStyle } from './utils/util'\nimport Errors from './error'\n\nclass Proxy {\n constructor (options) {\n this._hasStart = false\n this.videoConfig = {\n controls: !!options.isShowControl,\n autoplay: options.autoplay,\n playsinline: options.playsinline,\n 'webkit-playsinline': options.playsinline,\n 'x5-playsinline': options.playsinline,\n 'x5-video-player-type': options['x5-video-player-type'] || options['x5VideoPlayerType'],\n 'x5-video-player-fullscreen': options['x5-video-player-fullscreen'] || options['x5VideoPlayerFullscreen'],\n 'x5-video-orientation': options['x5-video-orientation'] || options['x5VideoOrientation'],\n airplay: options['airplay'],\n 'webkit-airplay': options['airplay'],\n tabindex: 2,\n mediaType: options.mediaType || 'video'\n }\n if (options.muted) {\n this.videoConfig.muted = 'muted'\n }\n if (options.loop) {\n this.videoConfig.loop = 'loop'\n }\n let textTrackDom = ''\n this.textTrackShowDefault = true\n if (options.nativeTextTrack && Array.isArray(options.nativeTextTrack)) {\n if (options.nativeTextTrack.length > 0 && !options.nativeTextTrack.some(track => { return track.default })) {\n options.nativeTextTrack[0].default = true\n this.textTrackShowDefault = false\n }\n options.nativeTextTrack.some(track => {\n if (track.src && track.label && track.default) {\n textTrackDom += `<track src=\"${track.src}\" `\n if (track.kind) {\n textTrackDom += `kind=\"${track.kind}\" `\n }\n textTrackDom += `label=\"${track.label}\" `\n if (track.srclang) {\n textTrackDom += `srclang=\"${track.srclang}\" `\n }\n textTrackDom += `${track.default ? 'default' : ''}>`\n return true\n }\n })\n this.videoConfig.crossorigin = 'anonymous'\n }\n if (options.textTrackStyle) {\n let style = document.createElement('style')\n this.textTrackStyle = style\n document.head.appendChild(style)\n let styleStr = ''\n for (let index in options.textTrackStyle) {\n styleStr += `${index}: ${options.textTrackStyle[index]};`\n }\n let wrap = options.id ? `#${options.id}` : (options.el.id ? `#${options.el.id}` : `.${options.el.className}`)\n if (style.sheet.insertRule) {\n style.sheet.insertRule(`${wrap} video::cue { ${styleStr} }`, 0)\n } else if (style.sheet.addRule) {\n style.sheet.addRule(`${wrap} video::cue`, styleStr)\n }\n }\n let el = options.el ? options.el : findDom(document, `#${options.id}`)\n const XgVideoProxy = this.constructor.XgVideoProxy\n if(XgVideoProxy && this.videoConfig.mediaType === XgVideoProxy.mediaType) {\n this.video = new XgVideoProxy(el, options)\n } else {\n this.video = createDom(this.videoConfig.mediaType, textTrackDom, this.videoConfig, '')\n }\n if (options.videoStyle) {\n Object.keys(options.videoStyle).forEach(key => {\n setStyle(this.video, key, options.videoStyle[key])\n })\n }\n if (!this.textTrackShowDefault && textTrackDom) {\n let trackDoms = this.video.getElementsByTagName('Track')\n trackDoms[0].track.mode = 'hidden'\n }\n if (options.autoplay) {\n this.video.autoplay = true\n if (options.autoplayMuted) {\n this.video.muted = true\n }\n }\n\n this.ev = ['play', 'playing', 'pause', 'ended', 'error', 'seeking', 'seeked', 'progress', \n 'timeupdate', 'waiting', 'canplay', 'canplaythrough', 'durationchange', 'volumechange', 'ratechange', 'loadedmetadata', 'loadeddata', 'loadstart'\n ].map((item) => {\n return {\n [item]: `on${item.charAt(0).toUpperCase()}${item.slice(1)}`\n }\n })\n EventEmitter(this)\n\n this._interval = {}\n let lastBuffer = '0,0'\n let self = this\n\n const defaultVideoEventHandler = name => {\n // fix when video destroy called and video reload\n if (!this) {\n return\n }\n if (name === 'play') {\n this.hasStart = true\n } else if (name === 'canplay') {\n removeClass(this.root, 'xgplayer-is-enter')\n } else if (name === 'waiting') {\n this.inWaitingStart = new Date().getTime()\n } else if (name === 'playing') {\n removeClass(this.root, 'xgplayer-is-enter')\n if (this.inWaitingStart) {\n this.inWaitingStart = undefined\n }\n }\n if (name === 'error') {\n // process the error\n this._onError(name)\n } else {\n this.emit(name, this)\n }\n\n if (this.hasOwnProperty('_interval')) {\n if (['ended', 'error', 'timeupdate'].indexOf(name) < 0) {\n _clearInterval(this, 'bufferedChange')\n _setInterval(this, 'bufferedChange', function () {\n if (this.video && this.video.buffered) {\n let curBuffer = []\n for (let i = 0, len = this.video.buffered.length; i < len; i++) {\n curBuffer.push([this.video.buffered.start(i), this.video.buffered.end(i)])\n }\n if (curBuffer.toString() !== lastBuffer) {\n lastBuffer = curBuffer.toString()\n this.emit('bufferedChange', curBuffer)\n }\n }\n }, 200)\n } else {\n if (name !== 'timeupdate') {\n _clearInterval(this, 'bufferedChange')\n }\n }\n }\n }\n\n const videoEventHandler = name => {\n if(options.videoEventMiddleware && typeof options.videoEventMiddleware[name] === 'function') {\n options.videoEventMiddleware[name].call(this, this, name, defaultVideoEventHandler)\n } else {\n defaultVideoEventHandler.call(this, name);\n }\n }\n\n this.ev.forEach(item => {\n self.evItem = Object.keys(item)[0]\n let name = Object.keys(item)[0]\n self.video.addEventListener(Object.keys(item)[0], videoEventHandler.bind(self, name))\n })\n }\n /**\n * 错误监听处理逻辑抽离\n */\n _onError (name) {\n if (this.video && this.video.error) {\n this.emit(name, new Errors('other', this.currentTime, this.duration, this.networkState, this.readyState, this.currentSrc, this.src,\n this.ended, {\n line: 162,\n msg: this.error,\n handle: 'Constructor'\n }, this.video.error.code, this.video.error))\n }\n }\n\n get hasStart () {\n return this._hasStart\n }\n set hasStart (bool) {\n if (typeof bool === 'boolean' && bool === true && !this._hasStart) {\n this._hasStart = true\n this.emit('hasstart')\n }\n }\n destroy () {\n if (this.textTrackStyle) {\n this.textTrackStyle.parentNode.removeChild(this.textTrackStyle)\n }\n }\n play () {\n return this.video.play()\n }\n pause () {\n this.video.pause()\n }\n canPlayType (type) {\n return this.video.canPlayType(type)\n }\n getBufferedRange (buffered) {\n let range = [0, 0]\n let video = this.video\n if(!buffered) buffered = video.buffered\n let currentTime = video.currentTime\n if (buffered) {\n for (let i = 0, len = buffered.length; i < len; i++) {\n range[0] = buffered.start(i)\n range[1] = buffered.end(i)\n if (range[0] <= currentTime && currentTime <= range[1]) {\n break\n }\n }\n }\n if (range[0] - currentTime <= 0 && currentTime - range[1] <= 0) {\n return range\n } else {\n return [0, 0]\n }\n }\n proxyOn (event, fn) {\n on(this, event, fn, 'destroy')\n }\n proxyOnce (event, fn) {\n once(this, event, fn, 'destroy')\n }\n set autoplay (isTrue) {\n if(this.video) {\n this.video.autoplay = isTrue\n }\n }\n get autoplay () {\n if(this.video) {\n return this.video.autoplay\n } else {\n return false\n }\n }\n get buffered () {\n if(this.video) {\n return this.video.buffered\n } else {\n return undefined\n }\n }\n get buffered2 () {\n return getBuffered2(this.video.buffered)\n }\n get crossOrigin () {\n if(this.video) {\n return this.video.crossOrigin\n } else {\n return false\n }\n }\n set crossOrigin (isTrue) {\n if(this.video) {\n this.video.crossOrigin = isTrue\n }\n }\n get currentSrc () {\n if(this.video) {\n return this.video.currentSrc\n } else {\n return undefined\n }\n }\n get currentTime () {\n if(this.video) {\n return this.video.currentTime || 0\n } else {\n return 0\n }\n }\n set currentTime (time) {\n if (typeof isFinite === 'function' && !isFinite(time)) return\n if (hasClass(this.root, 'xgplayer-ended')) {\n this.once('playing', () => { this.video.currentTime = time })\n this.replay()\n } else {\n this.video.currentTime = time\n }\n this.emit('currentTimeChange', time)\n }\n get defaultMuted () {\n if(this.video) {\n return this.video.defaultMuted\n } else {\n return false\n }\n }\n set defaultMuted (isTrue) {\n if(this.video) {\n this.video.defaultMuted = isTrue\n }\n }\n get duration () {\n if(this.config.duration) {\n if(this.video) return Math.min(this.config.duration, this.video.duration)\n else return this.config.duration\n }\n if (!this.video) return null\n return this.video.duration\n }\n get ended () {\n if(this.video) {\n return this.video.ended || false\n } else {\n return true\n }\n }\n get error () {\n let err = this.video.error\n if (!err) {\n return null\n }\n let status = [{\n en: 'MEDIA_ERR_ABORTED',\n cn: '取回过程被用户中止'\n }, {\n en: 'MEDIA_ERR_NETWORK',\n cn: '当下载时发生错误'\n }, {\n en: 'MEDIA_ERR_DECODE',\n cn: '当解码时发生错误'\n }, {\n en: 'MEDIA_ERR_SRC_NOT_SUPPORTED',\n cn: '不支持音频/视频'\n }]\n return this.lang ? this.lang[status[err.code - 1].en] : status[err.code - 1].en\n }\n get loop () {\n if(this.video) {\n return this.video.loop\n } else {\n return false\n }\n }\n set loop (isTrue) {\n if(this.video) {\n this.video.loop = isTrue\n }\n }\n get muted () {\n if(this.video) {\n return this.video.muted\n } else {\n return false\n }\n }\n set muted (isTrue) {\n if(this.video) {\n this.video.muted = isTrue\n }\n }\n get networkState () {\n let status = [{\n en: 'NETWORK_EMPTY',\n cn: '音频/视频尚未初始化'\n }, {\n en: 'NETWORK_IDLE',\n cn: '音频/视频是活动的且已选取资源,但并未使用网络'\n }, {\n en: 'NETWORK_LOADING',\n cn: '浏览器正在下载数据'\n }, {\n en: 'NETWORK_NO_SOURCE',\n cn: '未找到音频/视频来源'\n }]\n return this.lang ? this.lang[status[this.video.networkState].en] : status[this.video.networkState].en\n }\n get paused () {\n // if(this.video) {\n // return this.video.paused\n // } else {\n // return false\n // }\n return hasClass(this.root, 'xgplayer-pause')\n }\n get playbackRate () {\n if(this.video) {\n return this.video.playbackRate\n } else {\n return 1\n }\n }\n set playbackRate (rate) {\n if(this.video) {\n this.video.playbackRate = rate\n }\n }\n get played () {\n if(this.video) {\n return this.video.played\n } else {\n return undefined\n }\n }\n get preload () {\n if(this.video) {\n return this.video.preload\n } else {\n return false\n }\n }\n set preload (isTrue) {\n if(this.video) {\n this.video.preload = isTrue\n }\n }\n get readyState () {\n let status = [{\n en: 'HAVE_NOTHING',\n cn: '没有关于音频/视频是否就绪的信息'\n }, {\n en: 'HAVE_METADATA',\n cn: '关于音频/视频就绪的元数据'\n }, {\n en: 'HAVE_CURRENT_DATA',\n cn: '关于当前播放位置的数据是可用的,但没有足够的数据来播放下一帧/毫秒'\n }, {\n en: 'HAVE_FUTURE_DATA',\n cn: '当前及至少下一帧的数据是可用的'\n }, {\n en: 'HAVE_ENOUGH_DATA',\n cn: '可用数据足以开始播放'\n }]\n return this.lang ? this.lang[status[this.video.readyState].en] : status[this.video.readyState]\n }\n get seekable () {\n if(this.video) {\n return this.video.seekable\n } else {\n return false\n }\n }\n get seeking () {\n if(this.video) {\n return this.video.seeking\n } else {\n return false\n }\n }\n get src () {\n if(this.video) {\n return this.video.src\n } else {\n return undefined\n }\n }\n set src (url) {\n if (!hasClass(this.root, 'xgplayer-ended')) {\n this.emit('urlchange', this.video.src)\n }\n removeClass(this.root, 'xgplayer-ended xgplayer-is-replay xgplayer-is-error')\n this.video.pause()\n this.emit('pause')\n this.video.src = url\n this.emit('srcChange')\n }\n set poster (posterUrl) {\n let poster = findDom(this.root, '.xgplayer-poster')\n if (poster) {\n poster.style.backgroundImage = `url(${posterUrl})`\n }\n }\n get volume () {\n if(this.video) {\n return this.video.volume\n } else {\n return 1\n }\n }\n set volume (vol) {\n if(this.video) {\n this.video.volume = vol\n }\n }\n get fullscreen () {\n return hasClass(this.root, 'xgplayer-is-fullscreen') || hasClass(this.root, 'xgplayer-fullscreen-active')\n }\n get bullet () {\n return findDom(this.root, 'xg-danmu') ? hasClass(findDom(this.root, 'xg-danmu'), 'xgplayer-has-danmu') : false\n }\n get textTrack () {\n return hasClass(this.root, 'xgplayer-is-textTrack')\n }\n get pip () {\n return hasClass(this.root, 'xgplayer-pip-active')\n }\n}\n\nexport default Proxy\n","'use strict';\n\nvar d = require('d')\n , callable = require('es5-ext/object/valid-callable')\n\n , apply = Function.prototype.apply, call = Function.prototype.call\n , create = Object.create, defineProperty = Object.defineProperty\n , defineProperties = Object.defineProperties\n , hasOwnProperty = Object.prototype.hasOwnProperty\n , descriptor = { configurable: true, enumerable: false, writable: true }\n\n , on, once, off, emit, methods, descriptors, base;\n\non = function (type, listener) {\n\tvar data;\n\n\tcallable(listener);\n\n\tif (!hasOwnProperty.call(this, '__ee__')) {\n\t\tdata = descriptor.value = create(null);\n\t\tdefineProperty(this, '__ee__', descriptor);\n\t\tdescriptor.value = null;\n\t} else {\n\t\tdata = this.__ee__;\n\t}\n\tif (!data[type]) data[type] = listener;\n\telse if (typeof data[type] === 'object') data[type].push(listener);\n\telse data[type] = [data[type], listener];\n\n\treturn this;\n};\n\nonce = function (type, listener) {\n\tvar once, self;\n\n\tcallable(listener);\n\tself = this;\n\ton.call(this, type, once = function () {\n\t\toff.call(self, type, once);\n\t\tapply.call(listener, this, arguments);\n\t});\n\n\tonce.__eeOnceListener__ = listener;\n\treturn this;\n};\n\noff = function (type, listener) {\n\tvar data, listeners, candidate, i;\n\n\tcallable(listener);\n\n\tif (!hasOwnProperty.call(this, '__ee__')) return this;\n\tdata = this.__ee__;\n\tif (!data[type]) return this;\n\tlisteners = data[type];\n\n\tif (typeof listeners === 'object') {\n\t\tfor (i = 0; (candidate = listeners[i]); ++i) {\n\t\t\tif ((candidate === listener) ||\n\t\t\t\t\t(candidate.__eeOnceListener__ === listener)) {\n\t\t\t\tif (listeners.length === 2) data[type] = listeners[i ? 0 : 1];\n\t\t\t\telse listeners.splice(i, 1);\n\t\t\t}\n\t\t}\n\t} else {\n\t\tif ((listeners === listener) ||\n\t\t\t\t(listeners.__eeOnceListener__ === listener)) {\n\t\t\tdelete data[type];\n\t\t}\n\t}\n\n\treturn this;\n};\n\nemit = function (type) {\n\tvar i, l, listener, listeners, args;\n\n\tif (!hasOwnProperty.call(this, '__ee__')) return;\n\tlisteners = this.__ee__[type];\n\tif (!listeners) return;\n\n\tif (typeof listeners === 'object') {\n\t\tl = arguments.length;\n\t\targs = new Array(l - 1);\n\t\tfor (i = 1; i < l; ++i) args[i - 1] = arguments[i];\n\n\t\tlisteners = listeners.slice();\n\t\tfor (i = 0; (listener = listeners[i]); ++i) {\n\t\t\tapply.call(listener, this, args);\n\t\t}\n\t} else {\n\t\tswitch (arguments.length) {\n\t\tcase 1:\n\t\t\tcall.call(listeners, this);\n\t\t\tbreak;\n\t\tcase 2:\n\t\t\tcall.call(listeners, this, arguments[1]);\n\t\t\tbreak;\n\t\tcase 3:\n\t\t\tcall.call(listeners, this, arguments[1], arguments[2]);\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tl = arguments.length;\n\t\t\targs = new Array(l - 1);\n\t\t\tfor (i = 1; i < l; ++i) {\n\t\t\t\targs[i - 1] = arguments[i];\n\t\t\t}\n\t\t\tapply.call(listeners, this, args);\n\t\t}\n\t}\n};\n\nmethods = {\n\ton: on,\n\tonce: once,\n\toff: off,\n\temit: emit\n};\n\ndescriptors = {\n\ton: d(on),\n\tonce: d(once),\n\toff: d(off),\n\temit: d(emit)\n};\n\nbase = defineProperties({}, descriptors);\n\nmodule.exports = exports = function (o) {\n\treturn (o == null) ? create(base) : defineProperties(Object(o), descriptors);\n};\nexports.methods = methods;\n","\"use strict\";\n\nvar isValue = require(\"type/value/is\")\n , isPlainFunction = require(\"type/plain-function/is\")\n , assign = require(\"es5-ext/object/assign\")\n , normalizeOpts = require(\"es5-ext/object/normalize-options\")\n , contains = require(\"es5-ext/string/#/contains\");\n\nvar d = (module.exports = function (dscr, value/*, options*/) {\n\tvar c, e, w, options, desc;\n\tif (arguments.length < 2 || typeof dscr !== \"string\") {\n\t\toptions = value;\n\t\tvalue = dscr;\n\t\tdscr = null;\n\t} else {\n\t\toptions = arguments[2];\n\t}\n\tif (isValue(dscr)) {\n\t\tc = contains.call(dscr, \"c\");\n\t\te = contains.call(dscr, \"e\");\n\t\tw = contains.call(dscr, \"w\");\n\t} else {\n\t\tc = w = true;\n\t\te = false;\n\t}\n\n\tdesc = { value: value, configurable: c, enumerable: e, writable: w };\n\treturn !options ? desc : assign(normalizeOpts(options), desc);\n});\n\nd.gs = function (dscr, get, set/*, options*/) {\n\tvar c, e, options, desc;\n\tif (typeof dscr !== \"string\") {\n\t\toptions = set;\n\t\tset = get;\n\t\tget = dscr;\n\t\tdscr = null;\n\t} else {\n\t\toptions = arguments[3];\n\t}\n\tif (!isValue(get)) {\n\t\tget = undefined;\n\t} else if (!isPlainFunction(get)) {\n\t\toptions = get;\n\t\tget = set = undefined;\n\t} else if (!isValue(set)) {\n\t\tset = undefined;\n\t} else if (!isPlainFunction(set)) {\n\t\toptions = set;\n\t\tset = undefined;\n\t}\n\tif (isValue(dscr)) {\n\t\tc = contains.call(dscr, \"c\");\n\t\te = contains.call(dscr, \"e\");\n\t} else {\n\t\tc = true;\n\t\te = false;\n\t}\n\n\tdesc = { get: get, set: set, configurable: c, enumerable: e };\n\treturn !options ? desc : assign(normalizeOpts(options), desc);\n};\n","\"use strict\";\n\nvar isFunction = require(\"../function/is\");\n\nvar classRe = /^\\s*class[\\s{/}]/, functionToString = Function.prototype.toString;\n\nmodule.exports = function (value) {\n\tif (!isFunction(value)) return false;\n\tif (classRe.test(functionToString.call(value))) return false;\n\treturn true;\n};\n","\"use strict\";\n\nvar isPrototype = require(\"../prototype/is\");\n\nmodule.exports = function (value) {\n\tif (typeof value !== \"function\") return false;\n\n\tif (!hasOwnProperty.call(value, \"length\")) return false;\n\n\ttry {\n\t\tif (typeof value.length !== \"number\") return false;\n\t\tif (typeof value.call !== \"function\") return false;\n\t\tif (typeof value.apply !== \"function\") return false;\n\t} catch (error) {\n\t\treturn false;\n\t}\n\n\treturn !isPrototype(value);\n};\n","\"use strict\";\n\nvar isObject = require(\"../object/is\");\n\nmodule.exports = function (value) {\n\tif (!isObject(value)) return false;\n\ttry {\n\t\tif (!value.constructor) return false;\n\t\treturn value.constructor.prototype === value;\n\t} catch (error) {\n\t\treturn false;\n\t}\n};\n","\"use strict\";\n\nvar isValue = require(\"../value/is\");\n\n// prettier-ignore\nvar possibleTypes = { \"object\": true, \"function\": true, \"undefined\": true /* document.all */ };\n\nmodule.exports = function (value) {\n\tif (!isValue(value)) return false;\n\treturn hasOwnProperty.call(possibleTypes, typeof value);\n};\n","\"use strict\";\n\nmodule.exports = require(\"./is-implemented\")() ? Object.assign : require(\"./shim\");\n","\"use strict\";\n\nmodule.exports = function () {\n\tvar assign = Object.assign, obj;\n\tif (typeof assign !== \"function\") return false;\n\tobj = { foo: \"raz\" };\n\tassign(obj, { bar: \"dwa\" }, { trzy: \"trzy\" });\n\treturn obj.foo + obj.bar + obj.trzy === \"razdwatrzy\";\n};\n","\"use strict\";\n\nvar keys = require(\"../keys\")\n , value = require(\"../valid-value\")\n , max = Math.max;\n\nmodule.exports = function (dest, src/*, …srcn*/) {\n\tvar error, i, length = max(arguments.length, 2), assign;\n\tdest = Object(value(dest));\n\tassign = function (key) {\n\t\ttry {\n\t\t\tdest[key] = src[key];\n\t\t} catch (e) {\n\t\t\tif (!error) error = e;\n\t\t}\n\t};\n\tfor (i = 1; i < length; ++i) {\n\t\tsrc = arguments[i];\n\t\tkeys(src).forEach(assign);\n\t}\n\tif (error !== undefined) throw error;\n\treturn dest;\n};\n","\"use strict\";\n\nmodule.exports = require(\"./is-implemented\")() ? Object.keys : require(\"./shim\");\n","\"use strict\";\n\nmodule.exports = function () {\n\ttry {\n\t\tObject.keys(\"primitive\");\n\t\treturn true;\n\t} catch (e) {\n\t\treturn false;\n\t}\n};\n","\"use strict\";\n\nvar isValue = require(\"../is-value\");\n\nvar keys = Object.keys;\n\nmodule.exports = function (object) { return keys(isValue(object) ? Object(object) : object); };\n","\"use strict\";\n\n// eslint-disable-next-line no-empty-function\nmodule.exports = function () {};\n","\"use strict\";\n\nvar isValue = require(\"./is-value\");\n\nmodule.exports = function (value) {\n\tif (!isValue(value)) throw new TypeError(\"Cannot use null or undefined\");\n\treturn value;\n};\n","\"use strict\";\n\nvar isValue = require(\"./is-value\");\n\nvar forEach = Array.prototype.forEach, create = Object.create;\n\nvar process = function (src, obj) {\n\tvar key;\n\tfor (key in src) obj[key] = src[key];\n};\n\n// eslint-disable-next-line no-unused-vars\nmodule.exports = function (opts1/*, …options*/) {\n\tvar result = create(null);\n\tforEach.call(arguments, function (options) {\n\t\tif (!isValue(options)) return;\n\t\tprocess(Object(options), result);\n\t});\n\treturn result;\n};\n","\"use strict\";\n\nmodule.exports = require(\"./is-implemented\")() ? String.prototype.contains : require(\"./shim\");\n","\"use strict\";\n\nvar str = \"razdwatrzy\";\n\nmodule.exports = function () {\n\tif (typeof str.contains !== \"function\") return false;\n\treturn str.contains(\"dwa\") === true && str.contains(\"foo\") === false;\n};\n","\"use strict\";\n\nvar indexOf = String.prototype.indexOf;\n\nmodule.exports = function (searchString/*, position*/) {\n\treturn indexOf.call(this, searchString, arguments[1]) > -1;\n};\n","\"use strict\";\n\nmodule.exports = function (fn) {\n\tif (typeof fn !== \"function\") throw new TypeError(fn + \" is not a function\");\n\treturn fn;\n};\n","'use strict';\n\nvar value = require('es5-ext/object/valid-object')\n\n , hasOwnProperty = Object.prototype.hasOwnProperty;\n\nmodule.exports = function (emitter/*, type*/) {\n\tvar type = arguments[1], data;\n\n\tvalue(emitter);\n\n\tif (type !== undefined) {\n\t\tdata = hasOwnProperty.call(emitter, '__ee__') && emitter.__ee__;\n\t\tif (!data) return;\n\t\tif (data[type]) delete data[type];\n\t\treturn;\n\t}\n\tif (hasOwnProperty.call(emitter, '__ee__')) delete emitter.__ee__;\n};\n","\"use strict\";\n\nvar isObject = require(\"./is-object\");\n\nmodule.exports = function (value) {\n\tif (!isObject(value)) throw new TypeError(value + \" is not an Object\");\n\treturn value;\n};\n","\"use strict\";\n\nvar isValue = require(\"./is-value\");\n\nvar map = { function: true, object: true };\n\nmodule.exports = function (value) { return (isValue(value) && map[typeof value]) || false; };\n","\nvar content = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/lib/index.js!../../../node_modules/sass-loader/lib/loader.js!./index.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/lib/index.js!../../../node_modules/sass-loader/lib/loader.js!./index.scss\", function() {\n\t\tvar newContent = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/lib/index.js!../../../node_modules/sass-loader/lib/loader.js!./index.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default{background:#000;width:100%;height:100%;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none;-ms-user-select:none}.xgplayer-skin-default *{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}.xgplayer-skin-default.xgplayer-rotate-fullscreen{position:absolute;top:0;left:100%;bottom:0;right:0;height:100vw!important;width:100vh!important;-webkit-transform-origin:top left;-ms-transform-origin:top left;transform-origin:top left;-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.xgplayer-skin-default.xgplayer-is-fullscreen{width:100%!important;height:100%!important;padding-top:0!important;z-index:9999}.xgplayer-skin-default.xgplayer-is-fullscreen.xgplayer-inactive{cursor:none}.xgplayer-skin-default video{width:100%;height:100%;outline:none}.xgplayer-skin-default .xgplayer-none{display:none}@-webkit-keyframes loadingRotate{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes loadingRotate{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@-webkit-keyframes loadingDashOffset{0%{stroke-dashoffset:236}to{stroke-dashoffset:0}}@keyframes loadingDashOffset{0%{stroke-dashoffset:236}to{stroke-dashoffset:0}}.xgplayer-skin-default .xgplayer-controls{display:-webkit-flex;display:-moz-box;display:flex;position:absolute;bottom:0;left:0;right:0;height:40px;background-image:linear-gradient(180deg,transparent,rgba(0,0,0,.37),rgba(0,0,0,.75),rgba(0,0,0,.75));z-index:10}.xgplayer-skin-default.xgplayer-inactive .xgplayer-controls,.xgplayer-skin-default.xgplayer-is-live .xgplayer-controls .xgplayer-progress,.xgplayer-skin-default.xgplayer-is-live .xgplayer-controls .xgplayer-time,.xgplayer-skin-default.xgplayer-no-controls .xgplayer-controls,.xgplayer-skin-default.xgplayer-nostart .xgplayer-controls{display:none}.xgplayer-skin-default.xgplayer-is-live .xgplayer-controls .xgplayer-live{display:block}.xgplayer-skin-default .xgplayer-live{display:block;font-size:12px;color:#fff;line-height:40px;-webkit-order:1;-moz-box-ordinal-group:2;order:1}.xgplayer-skin-default .xgplayer-icon{display:block;width:40px;height:40px;overflow:hidden;fill:#fff}.xgplayer-skin-default .xgplayer-icon svg{position:absolute}.xgplayer-skin-default .xgplayer-tips{background:rgba(0,0,0,.54);border-radius:1px;display:none;position:absolute;font-family:PingFangSC-Regular;font-size:11px;color:#fff;padding:2px 4px;text-align:center;top:-30px;left:50%;margin-left:-16px;width:auto;white-space:nowrap}.xgplayer-skin-default.xgplayer-mobile .xgplayer-tips{display:none!important}.xgplayer-skin-default .xgplayer-screen-container{display:block;width:100%}\", \"\"]);\n\n// exports\n","\n/**\n * When source maps are enabled, `style-loader` uses a link element with a data-uri to\n * embed the css on the page. This breaks all relative urls because now they are relative to a\n * bundle instead of the current page.\n *\n * One solution is to only use full urls, but that may be impossible.\n *\n * Instead, this function \"fixes\" the relative urls to be absolute according to the current page location.\n *\n * A rudimentary test suite is located at `test/fixUrls.js` and can be run via the `npm test` command.\n *\n */\n\nmodule.exports = function (css) {\n // get current location\n var location = typeof window !== \"undefined\" && window.location;\n\n if (!location) {\n throw new Error(\"fixUrls requires window.location\");\n }\n\n\t// blank or null?\n\tif (!css || typeof css !== \"string\") {\n\t return css;\n }\n\n var baseUrl = location.protocol + \"//\" + location.host;\n var currentDir = baseUrl + location.pathname.replace(/\\/[^\\/]*$/, \"/\");\n\n\t// convert each url(...)\n\t/*\n\tThis regular expression is just a way to recursively match brackets within\n\ta string.\n\n\t /url\\s*\\( = Match on the word \"url\" with any whitespace after it and then a parens\n\t ( = Start a capturing group\n\t (?: = Start a non-capturing group\n\t [^)(] = Match anything that isn't a parentheses\n\t | = OR\n\t \\( = Match a start parentheses\n\t (?: = Start another non-capturing groups\n\t [^)(]+ = Match anything that isn't a parentheses\n\t | = OR\n\t \\( = Match a start parentheses\n\t [^)(]* = Match anything that isn't a parentheses\n\t \\) = Match a end parentheses\n\t ) = End Group\n *\\) = Match anything and then a close parens\n ) = Close non-capturing group\n * = Match anything\n ) = Close capturing group\n\t \\) = Match a close parens\n\n\t /gi = Get all matches, not the first. Be case insensitive.\n\t */\n\tvar fixedCss = css.replace(/url\\s*\\(((?:[^)(]|\\((?:[^)(]+|\\([^)(]*\\))*\\))*)\\)/gi, function(fullMatch, origUrl) {\n\t\t// strip quotes (if they exist)\n\t\tvar unquotedOrigUrl = origUrl\n\t\t\t.trim()\n\t\t\t.replace(/^\"(.*)\"$/, function(o, $1){ return $1; })\n\t\t\t.replace(/^'(.*)'$/, function(o, $1){ return $1; });\n\n\t\t// already a full url? no change\n\t\tif (/^(#|data:|http:\\/\\/|https:\\/\\/|file:\\/\\/\\/|\\s*$)/i.test(unquotedOrigUrl)) {\n\t\t return fullMatch;\n\t\t}\n\n\t\t// convert the url to a full url\n\t\tvar newUrl;\n\n\t\tif (unquotedOrigUrl.indexOf(\"//\") === 0) {\n\t\t \t//TODO: should we add protocol?\n\t\t\tnewUrl = unquotedOrigUrl;\n\t\t} else if (unquotedOrigUrl.indexOf(\"/\") === 0) {\n\t\t\t// path should be relative to the base url\n\t\t\tnewUrl = baseUrl + unquotedOrigUrl; // already starts with '/'\n\t\t} else {\n\t\t\t// path should be relative to current directory\n\t\t\tnewUrl = currentDir + unquotedOrigUrl.replace(/^\\.\\//, \"\"); // Strip leading './'\n\t\t}\n\n\t\t// send back the fixed url(...)\n\t\treturn \"url(\" + JSON.stringify(newUrl) + \")\";\n\t});\n\n\t// send back the fixed css\n\treturn fixedCss;\n};\n","import { hasClass } from '../utils/util'\n\nlet mobile = function () {\n let player = this\n let root = player.root\n let clk = 0; let _click_\n let clickedTime = {\n first: '',\n second: ''\n }\n\n player.onElementTouchend = function (e, element) {\n if(!this.config.closeVideoPreventDefault) {\n e.preventDefault()\n }\n if(!this.config.closeVideoStopPropagation) {\n e.stopPropagation()\n }\n let player = this\n if (hasClass(root, 'xgplayer-inactive')) {\n player.emit('focus')\n } else {\n player.emit('blur')\n }\n if (!player.config.closeVideoTouch && !player.isTouchMove) {\n function onTouch() {\n _click_ = setTimeout(function () {\n if (hasClass(player.root, 'xgplayer-nostart')) {\n return false\n } else if (!player.ended) {\n if (player.paused) {\n let playPromise = player.play()\n if (playPromise !== undefined && playPromise) {\n playPromise.catch(err => {})\n }\n } else {\n player.pause()\n }\n }\n clk = 0\n }, 200)\n }\n if (!player.config.closeVideoClick) {\n clk++\n if (_click_) {\n clearTimeout(_click_)\n }\n if (clk === 1) {\n if(player.config.enableVideoDbltouch) {\n clickedTime.first = new Date()\n } else {\n onTouch()\n }\n } else if (clk === 2) {\n if(player.config.enableVideoDbltouch) {\n clickedTime.second = new Date()\n if (Math.abs(clickedTime.first - clickedTime.second) < 400) {\n // 双击\n onTouch()\n } else {\n clickedTime.first = new Date()\n clk = 1\n }\n } else {\n clk = 0\n }\n } else {\n clk = 0\n }\n }\n }\n }\n\n function onReady (e) {\n player.video.addEventListener('touchend', function (e) {\n player.onElementTouchend(e, player.video)\n })\n player.video.addEventListener('touchstart', () => {\n player.isTouchMove = false\n })\n player.video.addEventListener('touchmove', () => {\n player.isTouchMove = true\n })\n if (player.config.autoplay) {\n player.start()\n }\n }\n player.once('ready', onReady)\n\n function onDestroy () {\n player.off('ready', onReady)\n player.off('destroy', onDestroy)\n }\n player.once('destroy', onDestroy)\n}\n\nexport default {\n name: 'mobile',\n method: mobile\n}","import { hasClass } from '../utils/util'\n\nlet pc = function () {\n let player = this\n if(!player.controls || !player.video) return\n let controls = player.controls; let root = player.root\n let clk = 0; let _click_\n\n player.onElementClick = function (e, element) {\n if(!this.config.closeVideoPreventDefault) {\n e.preventDefault()\n }\n if(!this.config.closeVideoStopPropagation) {\n e.stopPropagation()\n }\n let player = this\n if (!player.config.closeVideoClick) {\n clk++\n if (_click_) {\n clearTimeout(_click_)\n }\n if (clk === 1) {\n _click_ = setTimeout(function () {\n if (hasClass(player.root, 'xgplayer-nostart')) {\n return false\n } else if (!player.ended) {\n if (player.paused) {\n let playPromise = player.play()\n if (playPromise !== undefined && playPromise) {\n playPromise.catch(err => {})\n }\n } else {\n player.pause()\n }\n }\n clk = 0\n }, 200)\n } else {\n clk = 0\n }\n }\n }\n player.video.addEventListener('click', function (e) { player.onElementClick(e, player.video) }, false)\n\n player.onElementDblclick = function (e, element) {\n if(!this.config.closeVideoPreventDefault) {\n e.preventDefault()\n }\n if(!this.config.closeVideoStopPropagation) {\n e.stopPropagation()\n }\n let player = this\n if (!player.config.closeVideoDblclick) {\n let fullscreen = controls.querySelector('.xgplayer-fullscreen')\n if (fullscreen) {\n let clk\n if (document.createEvent) {\n clk = document.createEvent('Event')\n clk.initEvent('click', true, true)\n } else {\n clk = new Event('click')\n }\n fullscreen.dispatchEvent(clk)\n }\n }\n }\n player.video.addEventListener('dblclick', function (e) { player.onElementDblclick(e, player.video) }, false)\n\n function onMouseEnter () {\n clearTimeout(player.leavePlayerTimer)\n player.emit('focus', player)\n }\n root.addEventListener('mouseenter', onMouseEnter)\n\n function onMouseLeave () {\n if(!player.config.closePlayerBlur) {\n player.leavePlayerTimer = setTimeout(function () {\n player.emit('blur', player)\n }, player.config.leavePlayerTime || 0)\n }\n }\n root.addEventListener('mouseleave', onMouseLeave)\n\n function onControlMouseEnter (e) {\n if (player.userTimer) {\n clearTimeout(player.userTimer)\n }\n }\n controls.addEventListener('mouseenter', onControlMouseEnter)\n\n function onControlMouseLeave (e) {\n if(!player.config.closeControlsBlur) {\n player.emit('focus', player)\n }\n }\n controls.addEventListener('mouseleave', onControlMouseLeave)\n\n function onControlClick (e) {\n e.preventDefault()\n e.stopPropagation()\n }\n controls.addEventListener('click', onControlClick)\n\n function onReady (e) {\n if (player.config.autoplay) {\n player.start()\n }\n }\n player.once('ready', onReady)\n\n function onDestroy () {\n root.removeEventListener('mouseenter', onMouseEnter)\n root.removeEventListener('mouseleave', onMouseLeave)\n player.off('ready', onReady)\n player.off('destroy', onDestroy)\n }\n player.once('destroy', onDestroy)\n}\n\nexport default {\n name: 'pc',\n method: pc\n}","import { addClass, hasClass, removeClass } from '../utils/util'\n\nlet start = function () {\n let player = this\n let root = player.root\n\n function onCanPlay () {\n player.off('canplay', onCanPlay)\n let playPromise = player.play()\n if (playPromise !== undefined && playPromise) {\n playPromise.catch(err => {})\n }\n }\n\n function onStartBtnClick () {\n if (hasClass(root, 'xgplayer-nostart')) {\n removeClass(root, 'xgplayer-nostart') // for ie quick switch\n addClass(root, 'xgplayer-is-enter')\n\n if(typeof root.contains === 'function') {\n if((player.video && player.video.nodeType === 1 && !root.contains(player.video)) || (player.video && player.video.nodeType !== 1 && player.video.mediaSource === undefined)) {\n player.once('canplay', onCanPlay)\n player.start()\n } else {\n onCanPlay()\n }\n } else {\n if((player.video && player.video.nodeType === 1 && !root.querySelector(this.videoConfig.mediaType)) || (player.video && player.video.nodeType !== 1 && player.video.mediaSource === undefined)) {\n player.once('canplay', onCanPlay)\n player.start()\n } else {\n onCanPlay()\n }\n }\n } else {\n if (player.paused) {\n removeClass(root, 'xgplayer-nostart xgplayer-isloading')\n setTimeout(() => {\n let playPromise = player.play()\n if (playPromise !== undefined && playPromise) {\n playPromise.catch(err => {})\n }\n }, 10)\n }\n }\n }\n player.on('startBtnClick', onStartBtnClick)\n\n function onDestroy () {\n player.off('startBtnClick', onStartBtnClick)\n player.off('canplay', onCanPlay)\n player.off('destroy', onDestroy)\n }\n player.once('destroy', onDestroy)\n}\n\nexport default {\n name: 'start',\n method: start\n}","import { createDom, addClass, removeClass, isWeiXin, isUc } from '../../utils/util'\nimport StartPlayIcon from '../assets/startPlay.svg'\nimport StartPauseIcon from '../assets/startPause.svg'\nimport '../style/controls/start.scss'\n\nlet s_start = function () {\n let player = this\n let root = player.root\n let btn = createDom('xg-start', `<div class=\"xgplayer-icon-play\">${StartPlayIcon}</div>\n <div class=\"xgplayer-icon-pause\">${StartPauseIcon}</div>`, {}, 'xgplayer-start')\n function onPlayerReady(player) {\n addClass(player.root, 'xgplayer-skin-default')\n if (player.config) {\n player.config.autoplay && !isWeiXin() && !isUc() && addClass(player.root, 'xgplayer-is-enter')\n if (player.config.lang && player.config.lang === 'en') {\n addClass(player.root, 'xgplayer-lang-is-en')\n } else if (player.config.lang === 'jp') {\n addClass(player.root, 'xgplayer-lang-is-jp')\n }\n if(!player.config.enableContextmenu) {\n player.video.addEventListener('contextmenu', e => {\n e.preventDefault()\n e.stopPropagation()\n })\n }\n }\n }\n\n if(player.config && player.config.hideStartBtn) {\n addClass(root, 'xgplayer-start-hide')\n }\n\n if (player.isReady) {\n root.appendChild(btn)\n onPlayerReady(player)\n } else {\n player.once('ready', () => {\n root.appendChild(btn)\n onPlayerReady(player)\n });\n }\n\n player.once('autoplay was prevented', () => {\n removeClass(player.root, 'xgplayer-is-enter')\n addClass(player.root, 'xgplayer-nostart')\n })\n\n player.once('canplay', () => {\n removeClass(player.root, 'xgplayer-is-enter')\n })\n\n btn.onclick = e => {\n e.preventDefault()\n e.stopPropagation()\n player.userGestureTrigEvent('startBtnClick')\n }\n}\n\nexport default {\n name: 's_start',\n method: s_start\n}","export default \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"70\\\" height=\\\"70\\\" viewBox=\\\"0 0 70 70\\\">\\n <path transform=\\\"translate(15,15) scale(0.04,0.04)\\\" d=\\\"M576,363L810,512L576,661zM342,214L576,363L576,661L342,810z\\\"></path>\\n</svg>\\n\"","export default \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"70\\\" height=\\\"70\\\" viewBox=\\\"0 0 70 70\\\">\\n <path transform=\\\"translate(15,15) scale(0.04 0.04)\\\" d=\\\"M598,214h170v596h-170v-596zM256 810v-596h170v596h-170z\\\"></path>\\n</svg>\\n\"","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./start.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./start.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./start.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-start{border-radius:50%;display:inline-block;width:70px;height:70px;background:rgba(0,0,0,.38);overflow:hidden;text-align:center;line-height:70px;vertical-align:middle;position:absolute;left:50%;top:50%;z-index:115;margin:-35px auto auto -35px;cursor:pointer}.xgplayer-skin-default .xgplayer-start div{position:absolute}.xgplayer-skin-default .xgplayer-start div svg{fill:hsla(0,0%,100%,.7)}.xgplayer-skin-default .xgplayer-start .xgplayer-icon-play{display:block}.xgplayer-skin-default .xgplayer-start .xgplayer-icon-pause{display:none}.xgplayer-skin-default .xgplayer-start:hover{opacity:.85}.xgplayer-skin-default.xgplayer-pause.xgplayer-start-hide .xgplayer-start,.xgplayer-skin-default.xgplayer-playing .xgplayer-start,.xgplayer-skin-default.xgplayer-playing .xgplayer-start .xgplayer-icon-play,.xgplayer-skin-default.xgplayer-start-hide .xgplayer-start{display:none}.xgplayer-skin-default.xgplayer-playing .xgplayer-start .xgplayer-icon-pause{display:block}.xgplayer-skin-default.xgplayer-pause .xgplayer-start{display:inline-block}.xgplayer-skin-default.xgplayer-pause .xgplayer-start .xgplayer-icon-play{display:block}.xgplayer-skin-default.xgplayer-is-replay .xgplayer-start,.xgplayer-skin-default.xgplayer-pause .xgplayer-start .xgplayer-icon-pause{display:none}.xgplayer-skin-default.xgplayer-is-replay .xgplayer-start .xgplayer-icon-play{display:block}.xgplayer-skin-default.xgplayer-is-replay .xgplayer-start .xgplayer-icon-pause{display:none}\", \"\"]);\n\n// exports\n","import { hasClass, addClass, removeClass, PresentationMode, checkWebkitSetPresentationMode } from '../utils/util'\n\nlet fullscreen = function () {\n let player = this\n let root = player.root\n\n function onFullscreenBtnClick () {\n if (player.config.rotateFullscreen) {\n if (hasClass(root, 'xgplayer-rotate-fullscreen')) {\n player.exitRotateFullscreen()\n } else {\n player.getRotateFullscreen()\n }\n } else {\n if (hasClass(root, 'xgplayer-is-fullscreen')) {\n player.exitFullscreen(root)\n } else {\n player.getFullscreen(root)\n }\n }\n }\n player.on('fullscreenBtnClick', onFullscreenBtnClick)\n\n function onFullscreenChange () {\n let fullscreenEl = document.fullscreenElement || document.webkitFullscreenElement || document.mozFullScreenElement || document.msFullscreenElement\n if (fullscreenEl && fullscreenEl === root) {\n addClass(root, 'xgplayer-is-fullscreen')\n player.emit('requestFullscreen')\n } else if (hasClass(root, 'xgplayer-is-fullscreen')) {\n removeClass(root, 'xgplayer-is-fullscreen')\n player.emit('exitFullscreen')\n }\n if (player.danmu && typeof player.danmu.resize === 'function') {\n player.danmu.resize()\n }\n };\n ['fullscreenchange', 'webkitfullscreenchange', 'mozfullscreenchange', 'MSFullscreenChange'].forEach(item => {\n document.addEventListener(item, onFullscreenChange)\n })\n\n player.video.addEventListener('webkitbeginfullscreen', function () {\n addClass(root, 'xgplayer-is-fullscreen')\n player.emit('requestFullscreen')\n })\n\n player.video.addEventListener('webkitendfullscreen', function () {\n removeClass(root, 'xgplayer-is-fullscreen')\n player.emit('exitFullscreen')\n })\n\n function onWebkitpresentationmodechanged (e) {\n const mode = player.video.webkitPresentationMode\n // 非全屏模式 退出全屏\n if (mode !== PresentationMode.FULLSCREEN) {\n removeClass(root, 'xgplayer-is-fullscreen')\n player.emit('exitFullscreen')\n }\n }\n\n checkWebkitSetPresentationMode(player.video) &&\n player.video.addEventListener('webkitpresentationmodechanged', onWebkitpresentationmodechanged)\n\n function onDestroy () {\n player.off('fullscreenBtnClick', onFullscreenBtnClick);\n ['fullscreenchange', 'webkitfullscreenchange', 'mozfullscreenchange', 'MSFullscreenChange'].forEach(item => {\n document.removeEventListener(item, onFullscreenChange)\n })\n\n checkWebkitSetPresentationMode(player.video) &&\n player.video.removeEventListener('webkitpresentationmodechanged', onWebkitpresentationmodechanged)\n\n player.off('destroy', onDestroy)\n }\n player.once('destroy', onDestroy)\n\n player.getFullscreen = function (el) {\n let player = this\n if (el.requestFullscreen) {\n let fullscreenPromise = el.requestFullscreen()\n if (fullscreenPromise) {\n fullscreenPromise.catch(function () {\n player.emit('fullscreen error')\n })\n }\n } else if (el.mozRequestFullScreen) {\n el.mozRequestFullScreen()\n } else if (el.webkitRequestFullscreen) {\n el.webkitRequestFullscreen(window.Element.ALLOW_KEYBOARD_INPUT)\n } else if (player.video.webkitSupportsFullscreen) {\n player.video.webkitEnterFullscreen()\n } else if (el.msRequestFullscreen) {\n el.msRequestFullscreen()\n } else {\n addClass(el, 'xgplayer-is-cssfullscreen')\n }\n }\n\n player.exitFullscreen = function (el) {\n if (document.exitFullscreen) {\n document.exitFullscreen()\n } else if (document.webkitExitFullscreen) {\n document.webkitExitFullscreen()\n } else if (document.mozCancelFullScreen) {\n document.mozCancelFullScreen()\n } else if (document.msExitFullscreen) {\n document.msExitFullscreen()\n }\n removeClass(el, 'xgplayer-is-cssfullscreen')\n }\n\n player.getRotateFullscreen = function () {\n let player = this\n document.documentElement.style.width = '100%'\n document.documentElement.style.height = '100%'\n if (player.config.fluid) {\n player.root.style['padding-top'] = ''\n player.root.style['max-width'] = 'unset'\n }\n if (player.root && !hasClass(player.root, 'xgplayer-rotate-fullscreen')) {\n addClass(player.root, 'xgplayer-rotate-fullscreen')\n }\n player.emit('getRotateFullscreen')\n }\n\n player.exitRotateFullscreen = function () {\n let player = this\n document.documentElement.style.width = 'unset'\n document.documentElement.style.height = 'unset'\n if (player.config.fluid) {\n player.root.style['width'] = '100%'\n player.root.style['height'] = '0'\n player.root.style['padding-top'] = `${player.config.height * 100 / player.config.width}%`\n player.root.style['max-width'] = '100%'\n }\n if (player.root && hasClass(player.root, 'xgplayer-rotate-fullscreen')) {\n removeClass(player.root, 'xgplayer-rotate-fullscreen')\n }\n player.emit('exitRotateFullscreen')\n }\n}\n\nexport default {\n name: 'fullscreen',\n method: fullscreen\n}\n","import { hasClass } from '../utils/util'\n\nlet play = function () {\n let player = this\n\n function onPlayBtnClick () {\n if (!player.config.allowPlayAfterEnded && player.ended) {\n return\n }\n if(hasClass(player.root, 'xgplayer-nostart')) {\n player.start()\n }\n if (player.paused) {\n let playPromise = player.play()\n if (playPromise !== undefined && playPromise) {\n playPromise.catch(err => {})\n }\n } else {\n player.pause()\n }\n }\n player.on('playBtnClick', onPlayBtnClick)\n\n function onDestroy () {\n player.off('playBtnClick', onPlayBtnClick)\n player.off('destroy', onDestroy)\n }\n player.once('destroy', onDestroy)\n}\n\nexport default {\n name: 'play',\n method: play\n}","import { addClass, removeClass } from '../utils/util'\n\nlet replay = function () {\n let player = this\n let root = player.root\n\n function onReplayBtnClick () {\n removeClass(root, 'xgplayer-is-replay')\n player.replay()\n }\n player.on('replayBtnClick', onReplayBtnClick)\n\n function onEnded () {\n if (!player.config.loop) {\n addClass(root, 'xgplayer-is-replay')\n }\n }\n player.on('ended', onEnded)\n\n function onDestroy () {\n player.off('replayBtnClick', onReplayBtnClick)\n player.off('destroy', onDestroy)\n }\n player.once('destroy', onDestroy)\n}\n\nexport default {\n name: 'replay',\n method: replay\n}","import { createDom, createImgBtn } from '../../utils/util'\nimport PlayIcon from '../assets/play.svg'\nimport PauseIcon from '../assets/pause.svg'\nimport '../style/controls/play.scss'\n\nlet s_play = function () {\n let player = this\n let playBtn = player.config.playBtn ? player.config.playBtn : {}\n let btn\n if (playBtn.type === 'img') {\n btn = createImgBtn('play', playBtn.url.play, playBtn.width, playBtn.height)\n } else {\n btn = createDom('xg-play', `<xg-icon class=\"xgplayer-icon\">\n <div class=\"xgplayer-icon-play\">${PlayIcon}</div>\n <div class=\"xgplayer-icon-pause\">${PauseIcon}</div>\n </xg-icon>`, {}, 'xgplayer-play')\n }\n\n let tipsText = {}\n tipsText.play = player.lang.PLAY_TIPS\n tipsText.pause = player.lang.PAUSE_TIPS\n let tips = createDom('xg-tips', `<span class=\"xgplayer-tip-play\">${tipsText.play}</span>\n <span class=\"xgplayer-tip-pause\">${tipsText.pause}</span>`, {}, 'xgplayer-tips')\n btn.appendChild(tips)\n player.once('ready', () => {\n if(player.controls) {\n player.controls.appendChild(btn)\n }\n });\n\n ['click', 'touchend'].forEach(item => {\n btn.addEventListener(item, function (e) {\n e.preventDefault()\n e.stopPropagation()\n player.userGestureTrigEvent('playBtnClick')\n })\n })\n}\n\nexport default {\n name: 's_play',\n method: s_play\n}","export default \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"40\\\" height=\\\"40\\\" viewBox=\\\"0 0 40 40\\\">\\n <path transform=\\\"translate(2,2) scale(0.0320625 0.0320625)\\\" d=\\\"M576,363L810,512L576,661zM342,214L576,363L576,661L342,810z\\\"></path>\\n</svg>\\n\"","export default \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"40\\\" height=\\\"40\\\" viewBox=\\\"0 0 40 40\\\">\\n <path transform=\\\"translate(2,2) scale(0.0320625 0.0320625)\\\" d=\\\"M598,214h170v596h-170v-596zM256 810v-596h170v596h-170z\\\"></path>\\n</svg>\\n\"","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./play.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./play.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./play.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-play,.xgplayer-skin-default .xgplayer-play-img{width:40px;position:relative;-webkit-order:0;-moz-box-ordinal-group:1;order:0;display:block;cursor:pointer;margin-left:3px}.xgplayer-skin-default .xgplayer-play-img .xgplayer-icon,.xgplayer-skin-default .xgplayer-play .xgplayer-icon{margin-top:3px;width:32px}.xgplayer-skin-default .xgplayer-play-img .xgplayer-icon div,.xgplayer-skin-default .xgplayer-play .xgplayer-icon div{position:absolute}.xgplayer-skin-default .xgplayer-play-img .xgplayer-icon .xgplayer-icon-play,.xgplayer-skin-default .xgplayer-play .xgplayer-icon .xgplayer-icon-play{display:block}.xgplayer-skin-default .xgplayer-play-img .xgplayer-icon .xgplayer-icon-pause,.xgplayer-skin-default .xgplayer-play .xgplayer-icon .xgplayer-icon-pause{display:none}.xgplayer-skin-default .xgplayer-play-img .xgplayer-tips .xgplayer-tip-play,.xgplayer-skin-default .xgplayer-play .xgplayer-tips .xgplayer-tip-play{display:block}.xgplayer-skin-default .xgplayer-play-img .xgplayer-tips .xgplayer-tip-pause,.xgplayer-skin-default .xgplayer-play .xgplayer-tips .xgplayer-tip-pause{display:none}.xgplayer-skin-default .xgplayer-play-img:hover,.xgplayer-skin-default .xgplayer-play:hover{opacity:.85}.xgplayer-skin-default .xgplayer-play-img:hover .xgplayer-tips,.xgplayer-skin-default .xgplayer-play:hover .xgplayer-tips{display:block}.xgplayer-skin-default.xgplayer-playing .xgplayer-play-img .xgplayer-icon .xgplayer-icon-play,.xgplayer-skin-default.xgplayer-playing .xgplayer-play .xgplayer-icon .xgplayer-icon-play{display:none}.xgplayer-skin-default.xgplayer-playing .xgplayer-play-img .xgplayer-icon .xgplayer-icon-pause,.xgplayer-skin-default.xgplayer-playing .xgplayer-play .xgplayer-icon .xgplayer-icon-pause{display:block}.xgplayer-skin-default.xgplayer-playing .xgplayer-play-img .xgplayer-tips .xgplayer-tip-play,.xgplayer-skin-default.xgplayer-playing .xgplayer-play .xgplayer-tips .xgplayer-tip-play{display:none}.xgplayer-skin-default.xgplayer-pause .xgplayer-play-img .xgplayer-icon .xgplayer-icon-play,.xgplayer-skin-default.xgplayer-pause .xgplayer-play .xgplayer-icon .xgplayer-icon-play,.xgplayer-skin-default.xgplayer-playing .xgplayer-play-img .xgplayer-tips .xgplayer-tip-pause,.xgplayer-skin-default.xgplayer-playing .xgplayer-play .xgplayer-tips .xgplayer-tip-pause{display:block}.xgplayer-skin-default.xgplayer-pause .xgplayer-play-img .xgplayer-icon .xgplayer-icon-pause,.xgplayer-skin-default.xgplayer-pause .xgplayer-play .xgplayer-icon .xgplayer-icon-pause{display:none}.xgplayer-skin-default.xgplayer-pause .xgplayer-play-img .xgplayer-tips .xgplayer-tip-play,.xgplayer-skin-default.xgplayer-pause .xgplayer-play .xgplayer-tips .xgplayer-tip-play{display:block}.xgplayer-skin-default.xgplayer-pause .xgplayer-play-img .xgplayer-tips .xgplayer-tip-pause,.xgplayer-skin-default.xgplayer-pause .xgplayer-play .xgplayer-tips .xgplayer-tip-pause{display:none}\", \"\"]);\n\n// exports\n","import { createDom } from '../../utils/util'\nimport '../style/controls/poster.scss'\n\nlet s_poster = function () {\n let player = this\n let root = player.root\n if (!player.config.poster) {\n return\n }\n let poster = createDom('xg-poster', '', {}, 'xgplayer-poster')\n poster.style.backgroundImage = `url(${player.config.poster})`\n root.appendChild(poster)\n}\n\nexport default {\n name: 's_poster',\n method: s_poster\n}","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./poster.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./poster.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./poster.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-poster{display:none;position:absolute;left:0;top:0;width:100%;height:100%;z-index:100;background-size:cover;background-position:50%}.xgplayer-skin-default.xgplayer-nostart .xgplayer-poster{display:block}\", \"\"]);\n\n// exports\n","import { createDom } from '../../utils/util'\nimport '../style/controls/placeholder.scss'\n\nlet s_flex = function () {\n let player = this\n let playceholder = createDom('xg-placeholder', '', {}, 'xgplayer-placeholder')\n player.controls.appendChild(playceholder)\n}\n\nexport default {\n name: 's_flex',\n method: s_flex\n}","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./placeholder.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./placeholder.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./placeholder.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-placeholder{-webkit-flex:1;-moz-box-flex:1;flex:1;-webkit-order:3;-moz-box-ordinal-group:4;order:3;display:block}\", \"\"]);\n\n// exports\n","import { createDom, createImgBtn } from '../../utils/util'\nimport RequestFullIcon from '../assets/requestFull.svg'\nimport ExitFullIcon from '../assets/exitFull.svg'\nimport '../style/controls/fullscreen.scss'\n\nlet s_fullscreen = function () {\n let player = this\n let fullscreenBtn = player.config.fullscreenBtn ? player.config.fullscreenBtn : {}\n let btn\n if (fullscreenBtn.type === 'img') {\n btn = createImgBtn('fullscreen', fullscreenBtn.url.request, fullscreenBtn.width, fullscreenBtn.height)\n } else {\n btn = createDom('xg-fullscreen', `<xg-icon class=\"xgplayer-icon\">\n <div class=\"xgplayer-icon-requestfull\">${RequestFullIcon}</div>\n <div class=\"xgplayer-icon-exitfull\">${ExitFullIcon}</div>\n </xg-icon>`, {}, 'xgplayer-fullscreen')\n }\n\n let tipsText = {}\n tipsText.requestfull = player.lang.FULLSCREEN_TIPS\n tipsText.exitfull = player.lang.EXITFULLSCREEN_TIPS\n let tips = createDom('xg-tips', `<span class=\"xgplayer-tip-requestfull\">${tipsText.requestfull}</span>\n <span class=\"xgplayer-tip-exitfull\">${tipsText.exitfull}</span>`, {}, 'xgplayer-tips')\n btn.appendChild(tips)\n player.once('ready', () => {\n if(player.controls) {\n player.controls.appendChild(btn)\n }\n });\n\n ['click', 'touchend'].forEach(item => {\n btn.addEventListener(item, function (e) {\n e.preventDefault()\n e.stopPropagation()\n player.userGestureTrigEvent('fullscreenBtnClick')\n })\n })\n}\n\nexport default {\n name: 's_fullscreen',\n method: s_fullscreen\n}","export default \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"40\\\" height=\\\"40\\\" viewBox=\\\"0 0 40 40\\\">\\n <path transform=\\\"scale(0.0320625 0.0320625)\\\" d=\\\"M598 214h212v212h-84v-128h-128v-84zM726 726v-128h84v212h-212v-84h128zM214 426v-212h212v84h-128v128h-84zM298 598v128h128v84h-212v-212h84z\\\"></path>\\n</svg>\\n\"","export default \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"40\\\" height=\\\"40\\\" viewBox=\\\"0 0 40 40\\\">\\n <path transform=\\\"scale(0.0320625 0.0320625)\\\" d=\\\"M682 342h128v84h-212v-212h84v128zM598 810v-212h212v84h-128v128h-84zM342 342v-128h84v212h-212v-84h128zM214 682v-84h212v212h-84v-128h-128z\\\"></path>\\n</svg>\\n\"","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./fullscreen.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./fullscreen.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./fullscreen.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-fullscreen,.xgplayer-skin-default .xgplayer-fullscreen-img{position:relative;-webkit-order:13;-moz-box-ordinal-group:14;order:13;display:block;cursor:pointer;margin-left:5px;margin-right:3px}.xgplayer-skin-default .xgplayer-fullscreen-img .xgplayer-icon,.xgplayer-skin-default .xgplayer-fullscreen .xgplayer-icon{margin-top:3px}.xgplayer-skin-default .xgplayer-fullscreen-img .xgplayer-icon div,.xgplayer-skin-default .xgplayer-fullscreen .xgplayer-icon div{position:absolute}.xgplayer-skin-default .xgplayer-fullscreen-img .xgplayer-icon .xgplayer-icon-requestfull,.xgplayer-skin-default .xgplayer-fullscreen .xgplayer-icon .xgplayer-icon-requestfull{display:block}.xgplayer-skin-default .xgplayer-fullscreen-img .xgplayer-icon .xgplayer-icon-exitfull,.xgplayer-skin-default .xgplayer-fullscreen .xgplayer-icon .xgplayer-icon-exitfull{display:none}.xgplayer-skin-default .xgplayer-fullscreen-img .xgplayer-tips,.xgplayer-skin-default .xgplayer-fullscreen .xgplayer-tips{position:absolute;right:0;left:auto}.xgplayer-skin-default .xgplayer-fullscreen-img .xgplayer-tips .xgplayer-tip-requestfull,.xgplayer-skin-default .xgplayer-fullscreen .xgplayer-tips .xgplayer-tip-requestfull{display:block}.xgplayer-skin-default .xgplayer-fullscreen-img .xgplayer-tips .xgplayer-tip-exitfull,.xgplayer-skin-default .xgplayer-fullscreen .xgplayer-tips .xgplayer-tip-exitfull{display:none}.xgplayer-skin-default .xgplayer-fullscreen-img:hover,.xgplayer-skin-default .xgplayer-fullscreen:hover{opacity:.85}.xgplayer-skin-default .xgplayer-fullscreen-img:hover .xgplayer-tips,.xgplayer-skin-default .xgplayer-fullscreen:hover .xgplayer-tips{display:block}.xgplayer-skin-default.xgplayer-is-fullscreen .xgplayer-fullscreen-img .xgplayer-icon .xgplayer-icon-requestfull,.xgplayer-skin-default.xgplayer-is-fullscreen .xgplayer-fullscreen .xgplayer-icon .xgplayer-icon-requestfull,.xgplayer-skin-default.xgplayer-rotate-fullscreen .xgplayer-fullscreen-img .xgplayer-icon .xgplayer-icon-requestfull,.xgplayer-skin-default.xgplayer-rotate-fullscreen .xgplayer-fullscreen .xgplayer-icon .xgplayer-icon-requestfull{display:none}.xgplayer-skin-default.xgplayer-is-fullscreen .xgplayer-fullscreen-img .xgplayer-icon .xgplayer-icon-exitfull,.xgplayer-skin-default.xgplayer-is-fullscreen .xgplayer-fullscreen .xgplayer-icon .xgplayer-icon-exitfull,.xgplayer-skin-default.xgplayer-rotate-fullscreen .xgplayer-fullscreen-img .xgplayer-icon .xgplayer-icon-exitfull,.xgplayer-skin-default.xgplayer-rotate-fullscreen .xgplayer-fullscreen .xgplayer-icon .xgplayer-icon-exitfull{display:block}.xgplayer-skin-default.xgplayer-is-fullscreen .xgplayer-fullscreen-img .xgplayer-tips .xgplayer-tip-requestfull,.xgplayer-skin-default.xgplayer-is-fullscreen .xgplayer-fullscreen .xgplayer-tips .xgplayer-tip-requestfull,.xgplayer-skin-default.xgplayer-rotate-fullscreen .xgplayer-fullscreen-img .xgplayer-tips .xgplayer-tip-requestfull,.xgplayer-skin-default.xgplayer-rotate-fullscreen .xgplayer-fullscreen .xgplayer-tips .xgplayer-tip-requestfull{display:none}.xgplayer-skin-default.xgplayer-is-fullscreen .xgplayer-fullscreen-img .xgplayer-tips .xgplayer-tip-exitfull,.xgplayer-skin-default.xgplayer-is-fullscreen .xgplayer-fullscreen .xgplayer-tips .xgplayer-tip-exitfull,.xgplayer-skin-default.xgplayer-rotate-fullscreen .xgplayer-fullscreen-img .xgplayer-tips .xgplayer-tip-exitfull,.xgplayer-skin-default.xgplayer-rotate-fullscreen .xgplayer-fullscreen .xgplayer-tips .xgplayer-tip-exitfull{display:block}\", \"\"]);\n\n// exports\n","import { createDom } from '../../utils/util'\nimport Loading from '../assets/loading.svg'\nimport '../style/controls/loading.scss'\n\nlet s_loading = function () {\n let player = this\n let root = player.root\n let container = createDom('xg-loading', `${Loading}`, {}, 'xgplayer-loading')\n player.once('ready', () => {\n root.appendChild(container)\n })\n}\n\nexport default {\n name: 's_loading',\n method: s_loading\n}","export default \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"100\\\" height=\\\"100\\\" viewbox=\\\"0 0 100 100\\\">\\n <path d=\\\"M100,50A50,50,0,1,1,50,0\\\"></path>\\n</svg>\\n\"","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./loading.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./loading.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./loading.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-loading{display:none;width:100px;height:100px;overflow:hidden;-webkit-transform:scale(.7);-ms-transform:scale(.7);transform:scale(.7);position:absolute;left:50%;top:50%;margin:-50px auto auto -50px}.xgplayer-skin-default .xgplayer-loading svg{border-radius:50%;-webkit-transform-origin:center;-ms-transform-origin:center;transform-origin:center;-webkit-animation:loadingRotate 1s linear infinite;animation:loadingRotate 1s linear infinite}.xgplayer-skin-default .xgplayer-loading svg path{stroke:#ddd;stroke-dasharray:236;-webkit-animation:loadingDashOffset 2s linear infinite;animation:loadingDashOffset 2s linear infinite;animation-direction:alternate-reverse;fill:none;stroke-width:12px}.xgplayer-skin-default.xgplayer-nostart .xgplayer-loading{display:none}.xgplayer-skin-default.xgplayer-pause .xgplayer-loading{display:none!important}.xgplayer-skin-default.xgplayer-isloading .xgplayer-loading{display:block}\", \"\"]);\n\n// exports\n","import { createDom, addClass, removeClass, hasClass, toggleClass, typeOf, event, format, findDom } from '../../utils/util'\r\nimport sniffer from '../../utils/sniffer'\r\nimport '../style/controls/progress.scss'\r\n\r\nconst isRotateFullscreen = (player) => {\r\n return hasClass(player.root, 'xgplayer-rotate-fullscreen')\r\n}\r\n\r\nlet s_progress = function () {\r\n let player = this\r\n let container = createDom('xg-progress', `<xg-outer class=\"xgplayer-progress-outer\">\r\n <xg-cache class=\"xgplayer-progress-cache\"></xg-cache>\r\n <xg-played class=\"xgplayer-progress-played\">\r\n <xg-progress-btn class=\"xgplayer-progress-btn\"></xg-progress-btn>\r\n <xg-point class=\"xgplayer-progress-point xgplayer-tips\"></xg-point>\r\n <xg-thumbnail class=\"xgplayer-progress-thumbnail xgplayer-tips\"></xg-thumbnail>\r\n </xg-played>\r\n </xg-outer>`, {tabindex: 1}, 'xgplayer-progress')\r\n let containerWidth\r\n player.controls.appendChild(container)\r\n let progress = container.querySelector('.xgplayer-progress-played')\r\n let outer = container.querySelector('.xgplayer-progress-outer')\r\n let cache = container.querySelector('.xgplayer-progress-cache')\r\n let point = container.querySelector('.xgplayer-progress-point')\r\n let thumbnail = container.querySelector('.xgplayer-progress-thumbnail')\r\n player.dotArr = {}\r\n function dotEvent (dotItem, text) {\r\n dotItem.addEventListener('mouseenter', function (e) {\r\n if (text) {\r\n addClass(dotItem, 'xgplayer-progress-dot-show')\r\n addClass(container, 'xgplayer-progress-dot-active')\r\n }\r\n })\r\n dotItem.addEventListener('mouseleave', function (e) {\r\n if (text) {\r\n removeClass(dotItem, 'xgplayer-progress-dot-show')\r\n removeClass(container, 'xgplayer-progress-dot-active')\r\n }\r\n })\r\n dotItem.addEventListener('touchend', function (e) {\r\n // e.preventDefault()\r\n e.stopPropagation()\r\n if (text) {\r\n if (!hasClass(dotItem, 'xgplayer-progress-dot-show')) {\r\n Object.keys(player.dotArr).forEach(function (key) {\r\n if (player.dotArr[key]) {\r\n removeClass(player.dotArr[key], 'xgplayer-progress-dot-show')\r\n }\r\n })\r\n }\r\n toggleClass(dotItem, 'xgplayer-progress-dot-show')\r\n toggleClass(container, 'xgplayer-progress-dot-active')\r\n }\r\n })\r\n }\r\n function onCanplay () {\r\n if (player.config.progressDot && typeOf(player.config.progressDot) === 'Array') {\r\n player.config.progressDot.forEach(item => {\r\n if (item.time >= 0 && item.time <= player.duration) {\r\n let dot = createDom('xg-progress-dot', item.text ? `<span class=\"xgplayer-progress-tip\">${item.text}</span>` : '', {}, 'xgplayer-progress-dot')\r\n dot.style.left = (item.time / player.duration) * 100 + '%'\r\n if (item.duration >= 0) {\r\n dot.style.width = (Math.min(item.duration, player.duration - item.time) / player.duration) * 100 + '%'\r\n }\r\n if(item.style) {\r\n for(let k in item.style) {\r\n dot.style[k] = item.style[k]\r\n }\r\n }\r\n outer.appendChild(dot)\r\n player.dotArr[item.time] = dot\r\n dotEvent(dot, item.text)\r\n }\r\n })\r\n }\r\n }\r\n player.once('canplay', onCanplay)\r\n player.addProgressDot = function (time, text, duration, style) {\r\n if (player.dotArr[time]) {\r\n return\r\n }\r\n if (time >= 0 && time <= player.duration) {\r\n let dot = createDom('xg-progress-dot', text ? `<span class=\"xgplayer-progress-tip\">${text}</span>` : '', {}, 'xgplayer-progress-dot')\r\n dot.style.left = (time / player.duration) * 100 + '%'\r\n if (duration >= 0) {\r\n dot.style.width = (Math.min(duration, player.duration - time) / player.duration) * 100 + '%'\r\n }\r\n if(style) {\r\n for(let k in style) {\r\n dot.style[k] = style[k]\r\n }\r\n }\r\n outer.appendChild(dot)\r\n player.dotArr[time] = dot\r\n dotEvent(dot, text)\r\n }\r\n }\r\n player.removeProgressDot = function (time) {\r\n if (time >= 0 && time <= player.duration && player.dotArr[time]) {\r\n let dot = player.dotArr[time]\r\n dot.parentNode.removeChild(dot)\r\n dot = null\r\n player.dotArr[time] = null\r\n }\r\n }\r\n player.removeAllProgressDot = function () {\r\n Object.keys(player.dotArr).forEach(function (key) {\r\n if (player.dotArr[key]) {\r\n let dot = player.dotArr[key]\r\n dot.parentNode.removeChild(dot)\r\n dot = null\r\n player.dotArr[key] = null\r\n }\r\n })\r\n }\r\n let tnailPicNum = 0\r\n let tnailWidth = 0\r\n let tnailHeight = 0\r\n let tnailCol = 0\r\n let tnailRow = 0\r\n let interval = 0\r\n let tnailUrls = []\r\n let coverPreviewContainer, coverPreviewPoint, coverPreviewOuter\r\n let onLoadedmetadata = function() {\r\n if (player.config.thumbnail) {\r\n if(player.config.thumbnail.isShowCoverPreview && !coverPreviewContainer) {\r\n progress.removeChild(thumbnail)\r\n coverPreviewContainer = createDom('xg-coverpreview', `<xg-outer class=\"xgplayer-coverpreview-outer\">\r\n <xg-thumbnail class=\"xgplayer-coverpreview-thumbnail\"></xg-thumbnail>\r\n <xg-point class=\"xgplayer-coverpreview-point\"></xg-point>\r\n </xg-outer>`, {tabindex: 1}, 'xgplayer-coverpreview')\r\n coverPreviewOuter = coverPreviewContainer.querySelector('.xgplayer-coverpreview-outer')\r\n coverPreviewPoint = coverPreviewContainer.querySelector('.xgplayer-coverpreview-point')\r\n thumbnail = coverPreviewContainer.querySelector('.xgplayer-coverpreview-thumbnail')\r\n player.root.appendChild(coverPreviewContainer)\r\n }\r\n tnailPicNum = player.config.thumbnail.pic_num\r\n tnailWidth = player.config.thumbnail.width\r\n tnailHeight = player.config.thumbnail.height\r\n tnailCol = player.config.thumbnail.col\r\n tnailRow = player.config.thumbnail.row\r\n tnailUrls = player.config.thumbnail.urls\r\n thumbnail.style.width = `${tnailWidth}px`\r\n thumbnail.style.height = `${tnailHeight}px`\r\n };\r\n };\r\n player.on('loadedmetadata', onLoadedmetadata);\r\n\r\n if (typeof player.config.disableSwipeHandler === 'function' && typeof player.config.enableSwipeHandler === 'function') {\r\n player.root.addEventListener('touchmove', e => {\r\n e.preventDefault();\r\n // e.stopPropagation();\r\n if (!player.disableSwipe) {\r\n player.disableSwipe = true\r\n player.config.disableSwipeHandler.call(player);\r\n }\r\n });\r\n player.root.addEventListener('touchstart', e => {\r\n // e.preventDefault();\r\n player.disableSwipe = true\r\n player.config.disableSwipeHandler.call(player);\r\n });\r\n player.root.addEventListener('touchend', e => {\r\n // e.preventDefault();\r\n player.disableSwipe = false\r\n player.config.enableSwipeHandler.call(player);\r\n });\r\n };\r\n\r\n ['touchstart', 'mousedown'].forEach(item => {\r\n container.addEventListener(item, function (e) {\r\n if (player.config.disableProgress) return;\r\n // e.preventDefault()\r\n e.stopPropagation()\r\n event(e)\r\n if (e._target === point || (!player.config.allowSeekAfterEnded && player.ended)) {\r\n return true\r\n }\r\n\r\n container.focus()\r\n let {left} = progress.getBoundingClientRect()\r\n\r\n const isRotate = isRotateFullscreen(player)\r\n if (isRotate) {\r\n left = progress.getBoundingClientRect().top\r\n containerWidth = container.getBoundingClientRect().height\r\n } else {\r\n containerWidth = container.getBoundingClientRect().width\r\n left = progress.getBoundingClientRect().left\r\n }\r\n\r\n let move = function (e) {\r\n // e.preventDefault()\r\n e.stopPropagation()\r\n event(e)\r\n player.isProgressMoving = true\r\n let w = (isRotate ? e.clientY : e.clientX) - left\r\n if (w > containerWidth) {\r\n w = containerWidth\r\n }\r\n let now = w / containerWidth * player.duration\r\n if(now < 0) now = 0\r\n if(player.config.allowSeekPlayed && (Number(now).toFixed(1) > player.maxPlayedTime)) {}\r\n else {\r\n progress.style.width = `${w * 100 / containerWidth}%`\r\n\r\n if (player.videoConfig.mediaType === 'video' && !player.dash && !player.config.closeMoveSeek) {\r\n player.currentTime = Number(now).toFixed(1)\r\n } else {\r\n let time = findDom(player.controls, '.xgplayer-time')\r\n if (time) {\r\n time.innerHTML = `<span class=\"xgplayer-time-current\">${format(now || 0)}</span><span>${format(player.duration)}</span>`\r\n }\r\n }\r\n }\r\n\r\n if(player.config.thumbnail && player.config.thumbnail.isShowCoverPreview) {\r\n coverPreviewPoint.innerHTML = `<span>${format(now)}</span> / ${format(player.duration || 0)}`\r\n\r\n interval = player.duration / tnailPicNum\r\n let index = Math.floor(now / interval)\r\n thumbnail.style.backgroundImage = `url(${tnailUrls[Math.ceil((index + 1) / (tnailCol * tnailRow)) - 1]})`\r\n let indexInPage = index + 1 - (tnailCol * tnailRow) * (Math.ceil((index + 1) / (tnailCol * tnailRow)) - 1)\r\n let tnaiRowIndex = Math.ceil(indexInPage / tnailRow) - 1\r\n let tnaiColIndex = indexInPage - tnaiRowIndex * tnailRow - 1\r\n thumbnail.style['background-position'] = `-${tnaiColIndex * tnailWidth}px -${tnaiRowIndex * tnailHeight}px`\r\n coverPreviewContainer.style.display = 'block'\r\n }\r\n \r\n player.emit('focus')\r\n }\r\n let up = function (e) {\r\n // e.preventDefault()\r\n e.stopPropagation()\r\n event(e)\r\n window.removeEventListener('mousemove', move)\r\n window.removeEventListener('touchmove', move, { passive: false })\r\n window.removeEventListener('mouseup', up)\r\n window.removeEventListener('touchend', up)\r\n if(sniffer.browser.indexOf('ie') < 0) {\r\n container.blur()\r\n }\r\n if (!player.isProgressMoving || (player.videoConfig && player.videoConfig.mediaType === 'audio') || player.dash || player.config.closeMoveSeek) {\r\n let w = (isRotate ? e.clientY : e.clientX) - left\r\n if (w > containerWidth) {\r\n w = containerWidth\r\n }\r\n let now = w / containerWidth * player.duration\r\n if(now < 0) now = 0\r\n if(player.config.allowSeekPlayed && (Number(now).toFixed(1) > player.maxPlayedTime)) {}\r\n else {\r\n progress.style.width = `${w * 100 / containerWidth}%`\r\n player.currentTime = Number(now).toFixed(1)\r\n }\r\n }\r\n if(player.config.thumbnail && player.config.thumbnail.isShowCoverPreview) {\r\n coverPreviewContainer.style.display = 'none'\r\n }\r\n player.emit('focus')\r\n player.isProgressMoving = false\r\n }\r\n window.addEventListener('mousemove', move)\r\n window.addEventListener('touchmove', move, { passive: false })\r\n window.addEventListener('mouseup', up)\r\n window.addEventListener('touchend', up)\r\n return true\r\n })\r\n })\r\n\r\n container.addEventListener('mouseenter', function (e) {\r\n if (!player.config.allowSeekAfterEnded && player.ended) {\r\n return true\r\n }\r\n const isRotate = isRotateFullscreen(player)\r\n let containerLeft = isRotate ? container.getBoundingClientRect().top : container.getBoundingClientRect().left\r\n let containerWidth = isRotate ? container.getBoundingClientRect().height : container.getBoundingClientRect().width\r\n\r\n let compute = function (e) {\r\n let now = ((isRotate ? e.clientY : e.clientX) - containerLeft) / containerWidth * player.duration\r\n now = now < 0 ? 0 : now\r\n point.textContent = format(now)\r\n let pointWidth = point.getBoundingClientRect().width\r\n if (player.config.thumbnail && !player.config.thumbnail.isShowCoverPreview) {\r\n interval = player.duration / tnailPicNum\r\n let index = Math.floor(now / interval)\r\n thumbnail.style.backgroundImage = `url(${tnailUrls[Math.ceil((index + 1) / (tnailCol * tnailRow)) - 1]})`\r\n let indexInPage = index + 1 - (tnailCol * tnailRow) * (Math.ceil((index + 1) / (tnailCol * tnailRow)) - 1)\r\n let tnaiRowIndex = Math.ceil(indexInPage / tnailRow) - 1\r\n let tnaiColIndex = indexInPage - tnaiRowIndex * tnailRow - 1\r\n thumbnail.style['background-position'] = `-${tnaiColIndex * tnailWidth}px -${tnaiRowIndex * tnailHeight}px`\r\n let left = (isRotate ? e.clientY : e.clientX) - containerLeft - tnailWidth / 2\r\n left = left > 0 ? left : 0\r\n left = left < containerWidth - tnailWidth ? left : containerWidth - tnailWidth\r\n thumbnail.style.left = `${left}px`\r\n thumbnail.style.top = `${-10 - tnailHeight}px`\r\n thumbnail.style.display = 'block'\r\n point.style.left = `${left + tnailWidth / 2 - pointWidth / 2}px`\r\n } else {\r\n let left = e.clientX - containerLeft - pointWidth / 2\r\n left = left > 0 ? left : 0\r\n left = left > containerWidth - pointWidth ? containerWidth - pointWidth : left\r\n point.style.left = `${left}px`\r\n }\r\n if (hasClass(container, 'xgplayer-progress-dot-active')) {\r\n point.style.display = 'none'\r\n } else {\r\n point.style.display = 'block'\r\n }\r\n }\r\n let move = function (e) {\r\n compute(e)\r\n }\r\n let leave = function (e) {\r\n container.removeEventListener('mousemove', move, false)\r\n container.removeEventListener('mouseleave', leave, false)\r\n compute(e)\r\n point.style.display = 'none'\r\n if (player.config.thumbnail && !player.config.thumbnail.isShowCoverPreview) {\r\n thumbnail.style.display = 'none'\r\n }\r\n }\r\n container.addEventListener('mousemove', move, false)\r\n container.addEventListener('mouseleave', leave, false)\r\n compute(e)\r\n }, false)\r\n\r\n // let lastBtnLeft = false\r\n let onTimeupdate = function () {\r\n if(player.maxPlayedTime === undefined) player.maxPlayedTime = 0\r\n if(player.maxPlayedTime < player.currentTime) player.maxPlayedTime = player.currentTime\r\n if (!containerWidth && container) {\r\n containerWidth = container.getBoundingClientRect().width\r\n }\r\n if (!player.isProgressMoving && !player.isSeeking && !player.seeking) {\r\n const precent = player.currentTime / player.duration\r\n const prevPrecent = Number(progress.style.width.replace('%', '') || '0') / Number(container.style.width || '100');\r\n if (Math.abs(precent - prevPrecent) <= 1) {\r\n progress.style.width = `${player.currentTime * 100 / player.duration}%`\r\n }\r\n }\r\n }\r\n player.on('timeupdate', onTimeupdate)\r\n\r\n let onCurrentTimeChange = function (time) {\r\n progress.style.width = `${time * 100 / player.duration}%`\r\n }\r\n player.on('currentTimeChange', onCurrentTimeChange)\r\n\r\n let onSrcChange = function () {\r\n progress.style.width = '0%'\r\n }\r\n player.on('srcChange', onSrcChange)\r\n\r\n let onCacheUpdate = function () {\r\n let buffered = player.buffered\r\n if (buffered && buffered.length > 0) {\r\n let end = buffered.end(buffered.length - 1)\r\n for (let i = 0, len = buffered.length; i < len; i++) {\r\n if (player.currentTime >= buffered.start(i) && player.currentTime <= buffered.end(i)) {\r\n end = buffered.end(i)\r\n for (let j = i + 1; j < buffered.length; j++) {\r\n if (buffered.start(j) - buffered.end(j - 1) >= 2) {\r\n end = buffered.end(j - 1)\r\n break\r\n }\r\n }\r\n break\r\n }\r\n }\r\n cache.style.width = `${end / player.duration * 100}%`\r\n }\r\n }\r\n const cacheUpdateEvents = ['bufferedChange', 'cacheupdate', 'ended', 'timeupdate']\r\n cacheUpdateEvents.forEach(item => {\r\n player.on(item, onCacheUpdate)\r\n })\r\n\r\n function destroyFunc () {\r\n player.removeAllProgressDot()\r\n player.off('canplay', onCanplay)\r\n player.off('timeupdate', onTimeupdate)\r\n player.off('currentTimeChange', onCurrentTimeChange)\r\n player.off('srcChange', onSrcChange)\r\n player.off('loadedmetadata', onLoadedmetadata);\r\n cacheUpdateEvents.forEach(item => {\r\n player.off(item, onCacheUpdate)\r\n })\r\n player.off('destroy', destroyFunc)\r\n }\r\n player.once('destroy', destroyFunc)\r\n}\r\n\r\nexport default {\r\n name: 's_progress',\r\n method: s_progress\r\n}","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./progress.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./progress.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./progress.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-progress{display:block;position:absolute;height:20px;line-height:20px;left:12px;right:12px;outline:none;top:-15px;z-index:35}.xgplayer-skin-default .xgplayer-progress-outer{background:hsla(0,0%,100%,.3);display:block;height:3px;line-height:3px;margin-top:8.5px;width:100%;position:relative;cursor:pointer}.xgplayer-skin-default .xgplayer-progress-cache,.xgplayer-skin-default .xgplayer-progress-played{display:block;height:100%;line-height:1;position:absolute;left:0;top:0}.xgplayer-skin-default .xgplayer-progress-cache{width:0;background:hsla(0,0%,100%,.5)}.xgplayer-skin-default .xgplayer-progress-played{display:block;width:0;background-image:linear-gradient(-90deg,#fa1f41,#e31106);border-radius:0 1.5px 1.5px 0}.xgplayer-skin-default .xgplayer-progress-btn{display:none;position:absolute;left:0;top:-5px;width:13px;height:13px;border-radius:30px;background:#fff;box-shadow:0 0 2px 0 rgba(0,0,0,.26);left:100%;-webkit-transform:translate(-50%);-ms-transform:translate(-50%);transform:translate(-50%);z-index:36}.xgplayer-skin-default .xgplayer-progress-point{position:absolute}.xgplayer-skin-default .xgplayer-progress-point.xgplayer-tips{margin-left:0;top:-25px;display:none;z-index:100}.xgplayer-skin-default .xgplayer-progress-dot{display:inline-block;position:absolute;height:3px;width:5px;top:0;background:#fff;border-radius:6px;z-index:16}.xgplayer-skin-default .xgplayer-progress-dot .xgplayer-progress-tip{position:absolute;bottom:200%;right:50%;-webkit-transform:translateX(50%);-ms-transform:translateX(50%);transform:translateX(50%);height:auto;line-height:30px;width:auto;background:rgba(0,0,0,.3);border-radius:6px;border:1px solid rgba(0,0,0,.8);cursor:default;white-space:nowrap;display:none}.xgplayer-skin-default .xgplayer-progress-dot-show .xgplayer-progress-tip{display:block}.xgplayer-skin-default .xgplayer-progress-thumbnail{position:absolute;-moz-box-sizing:border-box;box-sizing:border-box}.xgplayer-skin-default .xgplayer-progress-thumbnail.xgplayer-tips{margin-left:0;display:none;z-index:99}.xgplayer-skin-default .xgplayer-coverpreview{position:absolute;width:100%;height:100%;top:0;left:0;display:none}.xgplayer-skin-default .xgplayer-coverpreview .xgplayer-coverpreview-outer{position:absolute;display:block;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.xgplayer-skin-default .xgplayer-coverpreview .xgplayer-coverpreview-outer .xgplayer-coverpreview-thumbnail{display:block}.xgplayer-skin-default .xgplayer-coverpreview .xgplayer-coverpreview-outer .xgplayer-coverpreview-point{display:block;text-align:center;font-family:PingFangSC-Regular;font-size:11px;color:#ccc;padding:2px 4px}.xgplayer-skin-default .xgplayer-coverpreview .xgplayer-coverpreview-outer .xgplayer-coverpreview-point span{color:#fff}.xgplayer-skin-default .xgplayer-progress:focus .xgplayer-progress-outer,.xgplayer-skin-default .xgplayer-progress:hover .xgplayer-progress-outer{height:6px;margin-top:7px}.xgplayer-skin-default .xgplayer-progress:focus .xgplayer-progress-dot,.xgplayer-skin-default .xgplayer-progress:hover .xgplayer-progress-dot{height:6px}.xgplayer-skin-default .xgplayer-progress:focus .xgplayer-progress-btn,.xgplayer-skin-default .xgplayer-progress:hover .xgplayer-progress-btn{display:block;top:-3px}.xgplayer-skin-default.xgplayer-definition-active .xgplayer-progress,.xgplayer-skin-default.xgplayer-playbackrate-active .xgplayer-progress,.xgplayer-skin-default.xgplayer-texttrack-active .xgplayer-progress,.xgplayer-skin-default.xgplayer-volume-active .xgplayer-progress{z-index:15}.xgplayer-skin-default.xgplayer-mobile .xgplayer-progress-btn{display:block!important}.xgplayer-skin-default.xgplayer-mobile .xgplayer-progress:focus .xgplayer-progress-outer,.xgplayer-skin-default.xgplayer-mobile .xgplayer-progress:hover .xgplayer-progress-outer{height:3px!important;margin-top:8.5px!important}.xgplayer-skin-default.xgplayer-mobile .xgplayer-progress:focus .xgplayer-progress-btn,.xgplayer-skin-default.xgplayer-mobile .xgplayer-progress:hover .xgplayer-progress-btn{display:block!important;top:-5px!important}\", \"\"]);\n\n// exports\n","import { createDom, format } from '../../utils/util'\nimport '../style/controls/time.scss'\n\nlet s_time = function () {\n let player = this\n let container = createDom('xg-time', `<span class=\"xgplayer-time-current\">${player.currentTime || format(0)}</span>\n <span>${player.duration || format(0)}</span>`, {}, 'xgplayer-time')\n player.once('ready', () => {\n if(player.controls) {\n player.controls.appendChild(container)\n }\n })\n let onTimeChange = function () {\n // let liveText = player.lang.LIVE\n // if(player.duration === Infinity) {\n // addClass(player.root, 'xgplayer-is-live')\n // if(!findDom(player.root, '.xgplayer-live')) {\n // const live = createDom('xg-live', liveText, {}, 'xgplayer-live')\n // player.controls.appendChild(live)\n // }\n // }\n if (player.videoConfig.mediaType !== 'audio' || !player.isProgressMoving || !player.dash) {\n container.innerHTML = `<span class=\"xgplayer-time-current\">${format(player.currentTime || 0)}</span>` + `<span>${format(player.duration)}</span>`\n }\n }\n player.on('durationchange', onTimeChange)\n player.on('timeupdate', onTimeChange)\n\n function onDestroy () {\n player.off('durationchange', onTimeChange)\n player.off('timeupdate', onTimeChange)\n player.off('destroy', onDestroy)\n }\n player.once('destroy', onDestroy)\n}\n\nexport default {\n name: 's_time',\n method: s_time\n}","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./time.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./time.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./time.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-time{-webkit-order:2;-moz-box-ordinal-group:3;order:2;font-family:ArialMT;font-size:13px;color:#fff;line-height:40px;height:40px;text-align:center;display:inline-block;margin:auto 8px}.xgplayer-skin-default .xgplayer-time span{color:hsla(0,0%,100%,.5)}.xgplayer-skin-default .xgplayer-time .xgplayer-time-current{color:#fff}.xgplayer-skin-default .xgplayer-time .xgplayer-time-current:after{content:\\\"/\\\";display:inline-block;padding:0 3px}\", \"\"]);\n\n// exports\n","import { createDom } from '../../utils/util'\nimport ReplayIcon from '../assets/replay.svg'\nimport '../style/controls/replay.scss'\n\nlet s_replay = function () {\n let player = this\n let root = player.root\n\n let replayText = player.lang.REPLAY\n let btn = createDom('xg-replay', `${ReplayIcon}\n <xg-replay-txt class=\"xgplayer-replay-txt\">${replayText}</xg-replay-txt>\n `, {}, 'xgplayer-replay')\n player.once('ready', () => {\n root.appendChild(btn)\n })\n\n function onEnded () {\n let path = btn.querySelector('path')\n if(path) {\n let transform = window.getComputedStyle(path).getPropertyValue('transform')\n if(typeof transform === 'string' && transform.indexOf('none') > -1) {\n return\n } else {\n path.setAttribute('transform', transform)\n }\n }\n }\n player.on('ended', onEnded)\n\n function onBtnClick (e) {\n e.preventDefault()\n e.stopPropagation()\n }\n btn.addEventListener('click', onBtnClick)\n\n let svg = btn.querySelector('svg');\n\n ['click', 'touchend'].forEach(item => {\n svg.addEventListener(item, function (e) {\n e.preventDefault()\n e.stopPropagation()\n player.userGestureTrigEvent('replayBtnClick')\n })\n })\n\n function destroyFunc () {\n player.off('ended', onEnded)\n player.off('destroy', destroyFunc)\n }\n player.once('destroy', destroyFunc)\n}\n\nexport default {\n name: 's_replay',\n method: s_replay\n}","export default \"<svg class=\\\"xgplayer-replay-svg\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"78\\\" height=\\\"78\\\" viewbox=\\\"0 0 78 78\\\">\\n <path d=\\\"M8.22708362,13.8757234 L11.2677371,12.6472196 C11.7798067,12.4403301 12.3626381,12.6877273 12.5695276,13.1997969 L12.9441342,14.1269807 C13.1510237,14.6390502 12.9036264,15.2218816 12.3915569,15.4287712 L6.8284538,17.6764107 L5.90126995,18.0510173 C5.38920044,18.2579068 4.80636901,18.0105096 4.5994795,17.49844 L1.97723335,11.0081531 C1.77034384,10.4960836 2.0177411,9.91325213 2.52981061,9.70636262 L3.45699446,9.33175602 C3.96906396,9.12486652 4.5518954,9.37226378 4.75878491,9.88433329 L5.67885163,12.1615783 C7.99551726,6.6766934 13.3983951,3 19.5,3 C27.7842712,3 34.5,9.71572875 34.5,18 C34.5,26.2842712 27.7842712,33 19.5,33 C15.4573596,33 11.6658607,31.3912946 8.87004692,28.5831991 C8.28554571,27.9961303 8.28762719,27.0463851 8.87469603,26.4618839 C9.46176488,25.8773827 10.4115101,25.8794641 10.9960113,26.466533 C13.2344327,28.7147875 16.263503,30 19.5,30 C26.127417,30 31.5,24.627417 31.5,18 C31.5,11.372583 26.127417,6 19.5,6 C14.4183772,6 9.94214483,9.18783811 8.22708362,13.8757234 Z\\\"></path>\\n</svg>\\n\"","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./replay.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./replay.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./replay.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-replay{position:absolute;left:0;top:0;width:100%;height:100%;z-index:105;display:none;-webkit-justify-content:center;-moz-box-pack:center;justify-content:center;-webkit-align-items:center;-moz-box-align:center;align-items:center;background:rgba(0,0,0,.54);-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;flex-direction:column}.xgplayer-skin-default .xgplayer-replay svg{background:rgba(0,0,0,.58);border-radius:100%;cursor:pointer}.xgplayer-skin-default .xgplayer-replay svg path{-webkit-transform:translate(20px,21px);-ms-transform:translate(20px,21px);transform:translate(20px,21px);fill:#ddd}.xgplayer-skin-default .xgplayer-replay svg:hover{background:rgba(0,0,0,.38)}.xgplayer-skin-default .xgplayer-replay svg:hover path{fill:#fff}.xgplayer-skin-default .xgplayer-replay .xgplayer-replay-txt{display:inline-block;font-family:PingFangSC-Regular;font-size:14px;color:#fff;line-height:34px}.xgplayer-skin-default.xgplayer.xgplayer-ended .xgplayer-controls{display:none}.xgplayer-skin-default.xgplayer.xgplayer-ended .xgplayer-replay{display:-webkit-flex;display:-moz-box;display:flex}\", \"\"]);\n\n// exports\n","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./textTrack.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./textTrack.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./textTrack.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","import Player from './player'\n\nimport Airplay from './controls/airplay.js'\nimport CssFullscreen from './controls/cssFullscreen.js'\nimport Danmu from './controls/danmu.js'\nimport Definition from './controls/definition.js'\nimport Download from './controls/download.js'\nimport ErrorRetryControl from './controls/errorRetry.js'\nimport Fullscreen from './controls/fullscreen.js'\nimport Keyboard from './controls/keyboard.js'\nimport LocalPreview from './controls/localPreview.js'\nimport MemoryPlay from './controls/memoryPlay.js'\nimport Miniplayer from './controls/miniplayer.js'\nimport Mobile from './controls/mobile.js'\nimport Pc from './controls/pc.js'\nimport Pip from './controls/pip.js'\nimport Play from './controls/play.js'\nimport PlayNext from './controls/playNext.js'\nimport Reload from './controls/reload.js'\nimport Replay from './controls/replay.js'\nimport Rotate from './controls/rotate.js'\nimport ScreenShot from './controls/screenShot.js'\nimport StallCheck from './controls/stallCheck.js'\nimport Start from './controls/start.js'\nimport Volume from './controls/volume.js'\nimport TextTrack from './controls/textTrack.js'\n\nPlayer.installAll([\n Airplay,\n CssFullscreen,\n Danmu,\n Definition,\n Download,\n ErrorRetryControl,\n Fullscreen,\n Keyboard,\n LocalPreview,\n MemoryPlay,\n Miniplayer,\n Mobile,\n Pc,\n Pip,\n Play,\n PlayNext,\n Reload,\n Replay,\n Rotate,\n ScreenShot,\n StallCheck,\n Start,\n Volume,\n TextTrack \n])\n\nimport './skin/index.js';\n\nexport default Player\n","let airplay = function () {\n let player = this\n if(!player.config.airplay || !window.WebKitPlaybackTargetAvailabilityEvent) return\n\n function onAirplayBtnClick () {\n player.video.webkitShowPlaybackTargetPicker()\n }\n player.on('airplayBtnClick', onAirplayBtnClick)\n\n function onDestroy () {\n player.off('airplayBtnClick', onAirplayBtnClick)\n player.off('destroy', onDestroy)\n }\n player.once('destroy', onDestroy)\n}\n\nexport default {\n name: 'airplay',\n method: airplay\n}\n","import { hasClass, removeClass, addClass } from '../utils/util'\n\nlet cssFullscreen = function () {\n let player = this\n let root = player.root\n\n function onCssFullscreenBtnClick () {\n if (hasClass(root, 'xgplayer-is-cssfullscreen')) {\n player.exitCssFullscreen()\n } else {\n player.getCssFullscreen()\n }\n }\n player.on('cssFullscreenBtnClick', onCssFullscreenBtnClick)\n player.on('exitFullscreen', () => {\n removeClass(root, 'xgplayer-is-cssfullscreen')\n })\n\n function onDestroy () {\n player.off('cssFullscreenBtnClick', onCssFullscreenBtnClick)\n player.off('destroy', onDestroy)\n }\n player.once('destroy', onDestroy)\n\n player.getCssFullscreen = function () {\n let player = this\n if (player.config.fluid) {\n player.root.style['padding-top'] = ''\n }\n addClass(player.root, 'xgplayer-is-cssfullscreen')\n player.emit('requestCssFullscreen')\n }\n\n player.exitCssFullscreen = function () {\n let player = this\n if (player.config.fluid) {\n player.root.style['width'] = '100%'\n player.root.style['height'] = '0'\n player.root.style['padding-top'] = `${player.config.height * 100 / player.config.width}%`\n }\n removeClass(player.root, 'xgplayer-is-cssfullscreen')\n player.emit('exitCssFullscreen')\n }\n}\n\nexport default {\n name: 'cssFullscreen',\n method: cssFullscreen\n}","import { addClass, toggleClass, copyDom, hasClass, removeClass } from '../utils/util'\n\nlet danmu = function () {\n let player = this\n\n function onInitDanmu(danmujs) {\n let container = player.root.querySelector('xg-danmu')\n addClass(container, 'xgplayer-has-danmu')\n if (!player.config.danmu.closeDefaultBtn) {\n player.danmuBtn = copyDom(danmujs.bulletBtn.createSwitch(true))\n player.controls.appendChild(player.danmuBtn)\n\n function onTimeupdate () {\n danmujs.start()\n }\n ['click', 'touchend'].forEach(item => {\n player.danmuBtn.addEventListener(item, e => {\n e.preventDefault()\n e.stopPropagation()\n toggleClass(player.danmuBtn, 'danmu-switch-active')\n if (hasClass(player.danmuBtn, 'danmu-switch-active')) {\n player.emit('danmuBtnOn')\n addClass(container, 'xgplayer-has-danmu')\n player.once('timeupdate', onTimeupdate)\n } else {\n player.emit('danmuBtnOff')\n removeClass(container, 'xgplayer-has-danmu')\n danmujs.stop()\n }\n })\n })\n\n player.onElementClick && container.addEventListener('click', function (e) { player.onElementClick(e, container) }, false)\n player.onElementDblclick && container.addEventListener('dblclick', function (e) { player.onElementDblclick(e, container) }, false)\n\n function onPause () {\n if (hasClass(player.danmuBtn, 'danmu-switch-active')) {\n danmujs.pause()\n }\n }\n player.on('pause', onPause)\n\n function onPlay () {\n if (hasClass(player.danmuBtn, 'danmu-switch-active')) {\n danmujs.play()\n }\n }\n player.on('play', onPlay)\n\n function onSeeked () {\n if (hasClass(player.danmuBtn, 'danmu-switch-active')) {\n danmujs.stop()\n danmujs.start()\n }\n }\n player.on('seeked', onSeeked)\n\n function onDestroy () {\n player.off('timeupdate', onTimeupdate)\n player.off('pause', onPause)\n player.off('play', onPlay)\n player.off('seeked', onSeeked)\n player.off('destroy', onDestroy)\n }\n player.once('destroy', onDestroy)\n }\n }\n player.on('initDefaultDanmu', onInitDanmu)\n\n}\n\nexport default {\n name: 'danmu',\n method: danmu\n}","let definition = function () {\n let player = this\n\n function onDestroy () {\n player.off('destroy', onDestroy)\n }\n player.once('destroy', onDestroy)\n}\n\nexport default {\n name: 'definition',\n method: definition\n}","import downloadUtil from 'downloadjs'\nimport {getAbsoluteURL} from '../utils/url'\n\nlet download = function () {\n let player = this\n\n function onDownloadBtnClick () {\n // must pass an absolute url for download\n player.download()\n }\n player.on('downloadBtnClick', onDownloadBtnClick)\n\n function onDestroy () {\n player.off('downloadBtnClick', onDownloadBtnClick)\n player.off('destroy', onDestroy)\n }\n player.once('destroy', onDestroy)\n\n player.download = function () {\n const url = getAbsoluteURL(this.config.url)\n downloadUtil(url)\n }\n}\n\nexport default {\n name: 'download',\n method: download\n}","//download.js v4.2, by dandavis; 2008-2016. [MIT] see http://danml.com/download.html for tests/usage\n// v1 landed a FF+Chrome compat way of downloading strings to local un-named files, upgraded to use a hidden frame and optional mime\n// v2 added named files via a[download], msSaveBlob, IE (10+) support, and window.URL support for larger+faster saves than dataURLs\n// v3 added dataURL and Blob Input, bind-toggle arity, and legacy dataURL fallback was improved with force-download mime and base64 support. 3.1 improved safari handling.\n// v4 adds AMD/UMD, commonJS, and plain browser support\n// v4.1 adds url download capability via solo URL argument (same domain/CORS only)\n// v4.2 adds semantic variable names, long (over 2MB) dataURL support, and hidden by default temp anchors\n// https://github.com/rndme/download\n\n(function (root, factory) {\n\tif (typeof define === 'function' && define.amd) {\n\t\t// AMD. Register as an anonymous module.\n\t\tdefine([], factory);\n\t} else if (typeof exports === 'object') {\n\t\t// Node. Does not work with strict CommonJS, but\n\t\t// only CommonJS-like environments that support module.exports,\n\t\t// like Node.\n\t\tmodule.exports = factory();\n\t} else {\n\t\t// Browser globals (root is window)\n\t\troot.download = factory();\n }\n}(this, function () {\n\n\treturn function download(data, strFileName, strMimeType) {\n\n\t\tvar self = window, // this script is only for browsers anyway...\n\t\t\tdefaultMime = \"application/octet-stream\", // this default mime also triggers iframe downloads\n\t\t\tmimeType = strMimeType || defaultMime,\n\t\t\tpayload = data,\n\t\t\turl = !strFileName && !strMimeType && payload,\n\t\t\tanchor = document.createElement(\"a\"),\n\t\t\ttoString = function(a){return String(a);},\n\t\t\tmyBlob = (self.Blob || self.MozBlob || self.WebKitBlob || toString),\n\t\t\tfileName = strFileName || \"download\",\n\t\t\tblob,\n\t\t\treader;\n\t\t\tmyBlob= myBlob.call ? myBlob.bind(self) : Blob ;\n\t \n\t\tif(String(this)===\"true\"){ //reverse arguments, allowing download.bind(true, \"text/xml\", \"export.xml\") to act as a callback\n\t\t\tpayload=[payload, mimeType];\n\t\t\tmimeType=payload[0];\n\t\t\tpayload=payload[1];\n\t\t}\n\n\n\t\tif(url && url.length< 2048){ // if no filename and no mime, assume a url was passed as the only argument\n\t\t\tfileName = url.split(\"/\").pop().split(\"?\")[0];\n\t\t\tanchor.href = url; // assign href prop to temp anchor\n\t\t \tif(anchor.href.indexOf(url) !== -1){ // if the browser determines that it's a potentially valid url path:\n \t\tvar ajax=new XMLHttpRequest();\n \t\tajax.open( \"GET\", url, true);\n \t\tajax.responseType = 'blob';\n \t\tajax.onload= function(e){ \n\t\t\t\t download(e.target.response, fileName, defaultMime);\n\t\t\t\t};\n \t\tsetTimeout(function(){ ajax.send();}, 0); // allows setting custom ajax headers using the return:\n\t\t\t return ajax;\n\t\t\t} // end if valid url?\n\t\t} // end if url?\n\n\n\t\t//go ahead and download dataURLs right away\n\t\tif(/^data:([\\w+-]+\\/[\\w+.-]+)?[,;]/.test(payload)){\n\t\t\n\t\t\tif(payload.length > (1024*1024*1.999) && myBlob !== toString ){\n\t\t\t\tpayload=dataUrlToBlob(payload);\n\t\t\t\tmimeType=payload.type || defaultMime;\n\t\t\t}else{\t\t\t\n\t\t\t\treturn navigator.msSaveBlob ? // IE10 can't do a[download], only Blobs:\n\t\t\t\t\tnavigator.msSaveBlob(dataUrlToBlob(payload), fileName) :\n\t\t\t\t\tsaver(payload) ; // everyone else can save dataURLs un-processed\n\t\t\t}\n\t\t\t\n\t\t}else{//not data url, is it a string with special needs?\n\t\t\tif(/([\\x80-\\xff])/.test(payload)){\t\t\t \n\t\t\t\tvar i=0, tempUiArr= new Uint8Array(payload.length), mx=tempUiArr.length;\n\t\t\t\tfor(i;i<mx;++i) tempUiArr[i]= payload.charCodeAt(i);\n\t\t\t \tpayload=new myBlob([tempUiArr], {type: mimeType});\n\t\t\t}\t\t \n\t\t}\n\t\tblob = payload instanceof myBlob ?\n\t\t\tpayload :\n\t\t\tnew myBlob([payload], {type: mimeType}) ;\n\n\n\t\tfunction dataUrlToBlob(strUrl) {\n\t\t\tvar parts= strUrl.split(/[:;,]/),\n\t\t\ttype= parts[1],\n\t\t\tdecoder= parts[2] == \"base64\" ? atob : decodeURIComponent,\n\t\t\tbinData= decoder( parts.pop() ),\n\t\t\tmx= binData.length,\n\t\t\ti= 0,\n\t\t\tuiArr= new Uint8Array(mx);\n\n\t\t\tfor(i;i<mx;++i) uiArr[i]= binData.charCodeAt(i);\n\n\t\t\treturn new myBlob([uiArr], {type: type});\n\t\t }\n\n\t\tfunction saver(url, winMode){\n\n\t\t\tif ('download' in anchor) { //html5 A[download]\n\t\t\t\tanchor.href = url;\n\t\t\t\tanchor.setAttribute(\"download\", fileName);\n\t\t\t\tanchor.className = \"download-js-link\";\n\t\t\t\tanchor.innerHTML = \"downloading...\";\n\t\t\t\tanchor.style.display = \"none\";\n\t\t\t\tdocument.body.appendChild(anchor);\n\t\t\t\tsetTimeout(function() {\n\t\t\t\t\tanchor.click();\n\t\t\t\t\tdocument.body.removeChild(anchor);\n\t\t\t\t\tif(winMode===true){setTimeout(function(){ self.URL.revokeObjectURL(anchor.href);}, 250 );}\n\t\t\t\t}, 66);\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\t// handle non-a[download] safari as best we can:\n\t\t\tif(/(Version)\\/(\\d+)\\.(\\d+)(?:\\.(\\d+))?.*Safari\\//.test(navigator.userAgent)) {\n\t\t\t\tif(/^data:/.test(url))\turl=\"data:\"+url.replace(/^data:([\\w\\/\\-\\+]+)/, defaultMime);\n\t\t\t\tif(!window.open(url)){ // popup blocked, offer direct download:\n\t\t\t\t\tif(confirm(\"Displaying New Document\\n\\nUse Save As... to download, then click back to return to this page.\")){ location.href=url; }\n\t\t\t\t}\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\t//do iframe dataURL download (old ch+FF):\n\t\t\tvar f = document.createElement(\"iframe\");\n\t\t\tdocument.body.appendChild(f);\n\n\t\t\tif(!winMode && /^data:/.test(url)){ // force a mime that will download:\n\t\t\t\turl=\"data:\"+url.replace(/^data:([\\w\\/\\-\\+]+)/, defaultMime);\n\t\t\t}\n\t\t\tf.src=url;\n\t\t\tsetTimeout(function(){ document.body.removeChild(f); }, 333);\n\n\t\t}//end saver\n\n\n\n\n\t\tif (navigator.msSaveBlob) { // IE10+ : (has Blob, but not a[download] or URL)\n\t\t\treturn navigator.msSaveBlob(blob, fileName);\n\t\t}\n\n\t\tif(self.URL){ // simple fast and modern way using Blob and URL:\n\t\t\tsaver(self.URL.createObjectURL(blob), true);\n\t\t}else{\n\t\t\t// handle non-Blob()+non-URL browsers:\n\t\t\tif(typeof blob === \"string\" || blob.constructor===toString ){\n\t\t\t\ttry{\n\t\t\t\t\treturn saver( \"data:\" + mimeType + \";base64,\" + self.btoa(blob) );\n\t\t\t\t}catch(y){\n\t\t\t\t\treturn saver( \"data:\" + mimeType + \",\" + encodeURIComponent(blob) );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Blob but not URL support:\n\t\t\treader=new FileReader();\n\t\t\treader.onload=function(e){\n\t\t\t\tsaver(this.result);\n\t\t\t};\n\t\t\treader.readAsDataURL(blob);\n\t\t}\n\t\treturn true;\n\t}; /* end download() */\n}));\n","\nexport const getAbsoluteURL = function (url) {\n // Check if absolute URL\n if (!url.match(/^https?:\\/\\//)) {\n const div = document.createElement('div')\n div.innerHTML = `<a href=\"${url}\">x</a>`\n url = div.firstChild.href\n }\n return url\n}\n","import Errors from '../error'\n/**\n * Error retry plugin\n * get config from player.config.errorConfig\n * The Plugin is just deal with the situation that play with video.src,\n * and get the http status of current video.src\n */\n\nconst defaultConfig = {\n maxCount: 3, // max number of retries\n backupUrl: '', // the backup url for retry\n isFetch: true, // is need to check the cdn url statud\n fetchTimeout: 100 // timeout time for get cdn status\n}\n\nfunction errorRetry () {\n const player = this\n // 无设置参数或者是通过扩展播放的不做处理\n if (!player.config.errorConfig || player.src.indexOf('blob:') > -1) {\n return\n }\n const errorConfig = {}\n const _inConfig = player.config.errorConfig\n for (const key in defaultConfig) {\n if (_inConfig[key] === undefined) {\n errorConfig[key] = defaultConfig[key]\n } else {\n errorConfig[key] = _inConfig[key]\n }\n }\n player.retryData = {\n count: 0, // 重试次数\n errfTimer: null, // 超时设置定时器\n isFetchReturn: false, // fetch请求是否已经返回\n currentTime: 0 // 出错的时候时间\n }\n\n function errorfetch (player, url, timeout) {\n const resolveFun = (resolve, data) => {\n if (!player.retryData.isFetchReturn) {\n player.retryData.isFetchReturn = true\n resolve(data)\n }\n }\n return new Promise((resolve, reject) => {\n try {\n let xhr = new window.XMLHttpRequest()\n xhr.open('get', url)\n xhr.onload = function () {\n resolveFun(resolve, {status: xhr.status, statusText: xhr.statusText, xhr})\n }\n xhr.onerror = function () {\n resolveFun(resolve, {status: xhr.status, statusText: xhr.statusText || 'The network environment is disconnected or the address is invalid', xhr})\n }\n xhr.onabort = function () {\n // console.log('task onerror', xhr)\n }\n player.retryData.errfTimer = window.setTimeout(() => {\n let errfTimer = player.retryData.errfTimer\n window.clearTimeout(errfTimer)\n player.retryData.errfTimer = null\n resolveFun(resolve, {status: -1, statusText: 'request timeout'})\n }, timeout)\n xhr.send()\n } catch (err) {\n player.retryData.isFetchReturn = true\n resolveFun(resolve, {status: -2, statusText: 'request error'})\n }\n })\n }\n\n function retryCanPlay () {\n // console.log(`retryCanPlay this.retryData.currentTime:${this.retryData.currentTime}`)\n this.currentTime = this.retryData.currentTime\n this.play()\n this.retryData.retryCode = 0\n this.retryData.isFetchReturn = false\n this.retryData.currentTime = 0\n }\n\n const _originErrorEmit = player._onError\n player._onError = (data) => {\n const errorCount = this.retryData.count\n // console.log(`originErrorEmit:errorCount:${errorCount}`, data)\n if (errorCount > errorConfig.maxCount) {\n if (errorConfig.isFetch) {\n errorfetch(this, this.currentSrc, errorConfig.fetchTimeout).then((data) => {\n this.emit('error', new Errors({\n type: 'network',\n currentTime: this.currentTime,\n duration: this.duration || 0,\n networkState: this.networkState,\n readyState: this.readyState,\n currentSrc: this.currentSrc,\n src: this.src,\n ended: this.ended,\n httpCode: data.status,\n httpMsg: data.statusText,\n errd: {\n line: 101,\n msg: this.error,\n handle: 'plugin errorRetry'\n },\n errorCode: this.video && this.video.error.code,\n mediaError: this.video && this.video.error\n }));\n _originErrorEmit.call(this, data)\n })\n } else {\n _originErrorEmit.call(this, data)\n }\n return;\n }\n if (errorCount === 0) {\n this.retryData.currentTime = this.currentTime\n this.once('canplay', retryCanPlay.bind(this))\n }\n let src = ''\n if (errorConfig.count < 2) {\n src = errorConfig.backupUrl ? errorConfig.backupUrl : player.currentSrc\n } else {\n src = errorConfig.backupUrl && errorCount > 1 ? errorConfig.backupUrl : player.currentSrc\n }\n this.retryData.count++\n this.src = src\n }\n}\n\nexport default {\n name: 'errorretry',\n method: errorRetry\n}","import { on, hasClass, removeClass, addClass } from '../utils/util'\nclass Keyboard {\n constructor (player) {\n this.player = player\n this.state = {\n playbackRate: 0,\n isRepeat: false,\n keyCode: 0,\n repeat: 0,\n isBody: false\n }\n this.timer = null\n this.initEvents()\n }\n\n initEvents () {\n const {root, config} = this.player\n this.player.onBodyKeydown = this.onBodyKeydown.bind(this)\n this.player.onKeydown = this.onKeydown.bind(this)\n this.player.onKeyup = this.onKeyup.bind(this)\n if (!config.keyShortcut || config.keyShortcut === 'on') {\n document.addEventListener('keydown', this.player.onBodyKeydown)\n root.addEventListener('keydown', this.player.onKeydown)\n let destroyFunc = () => {\n document.removeEventListener('keydown', this.player.onBodyKeydown)\n root.removeEventListener('keydown', this.player.onKeydown)\n clearTimeout(this.timer)\n this.timer = null\n }\n on(this.player, 'destroy', destroyFunc)\n }\n }\n\n checkTarget (e) {\n const {player} = this\n return e.target === player.root || e.target === player.video || e.target === player.controls\n }\n\n onBodyKeydown (event) {\n let e = event || window.event\n const keyCode = e.keyCode\n if ((e.target === document.body) && (keyCode === 37 || keyCode === 39 || keyCode === 32)) {\n e.preventDefault()\n e.cancelBubble = true\n e.returnValue = false\n if (!e.repeat) {\n document.addEventListener('keyup', this.player.onKeyup)\n }\n this.handler(e)\n return false\n }\n }\n\n onKeydown (event) {\n let e = event || window.event\n const keyCode = e.keyCode\n if (this.checkTarget(e) && (keyCode === 37 || keyCode === 38 || keyCode === 39 || keyCode === 40 || keyCode === 32 || keyCode === 27)) {\n e.preventDefault()\n e.cancelBubble = true\n e.returnValue = false\n this.player.emit('focus')\n if (!e.repeat) {\n this.player.root.addEventListener('keyup', this.player.onKeyup)\n }\n this.handler(e)\n return false\n }\n }\n\n onKeyup () {\n const {state, player} = this\n document.removeEventListener('keyup', this.player.onKeyup)\n player.root.removeEventListener('keyup', this.player.onKeyup)\n if (!state.keyCode) {\n return\n }\n if (state.playbackRate !== 0) {\n player.playbackRate = state.playbackRate\n }\n\n if (!state.isRepeat) {\n this.handlerKeyCode(state.keyCode, false)\n }\n state.playbackRate = 0\n state.isRepeat = false\n state.keyCode = 0\n state.repeat = 0\n this.changeVolumeSlide()\n }\n\n handler (e) {\n const {state, player} = this\n state.keyCode = e.keyCode\n state.isRepeat = e.repeat\n if (e.repeat) {\n if (player.config.disableLongPress) {\n this.handlerKeyCode(state.keyCode, false)\n } else if(state.repeat % 2 === 0) {\n this.handlerKeyCode(state.keyCode, true)\n }\n state.repeat++\n }\n }\n\n handlerKeyCode (keyCode, isLonePress) {\n const {player, state} = this\n switch (keyCode) {\n case 39:\n // 快进\n if (isLonePress) {\n state.repeat === 0 && this.changeRate()\n } else {\n this.seek(false, isLonePress)\n }\n break\n case 37:\n // 快退\n this.seek(true, isLonePress)\n break\n case 38:\n this.changeVolume(true)\n // 上\n break\n case 40:\n this.changeVolume(false)\n // 下\n break\n case 32:\n if (!isLonePress) {\n player.paused ? player.play() : player.pause()\n }\n break\n case 27:\n if (hasClass(player.root, 'xgplayer-is-cssfullscreen')) {\n player.exitCssFullscreen()\n }\n break\n default:\n //\n }\n }\n\n seek (isBack, isLongPress) {\n const {player} = this\n const keyShortcutStep = player.config.keyShortcutStep || {}\n const currentTimeStep = keyShortcutStep.currentTime || 10\n if (player.isLoading || player.isSeeking || (isLongPress && this.state.repeat % 8 > 0)) {\n return\n }\n if (isBack) {\n if (player.currentTime - currentTimeStep >= 0) {\n player.currentTime -= currentTimeStep\n } else {\n player.currentTime = 0\n }\n } else {\n if(player.maxPlayedTime && player.config.allowSeekPlayed && (player.currentTime + currentTimeStep > player.maxPlayedTime)) {\n player.currentTime = player.maxPlayedTime\n } else {\n if (player.currentTime + currentTimeStep <= player.duration) {\n player.currentTime += currentTimeStep\n } else {\n player.currentTime = player.duration + 1\n }\n }\n }\n }\n\n changeRate () {\n this.state.playbackRate = this.player.playbackRate\n this.player.playbackRate = this.player.config.keyboardRate || 5\n }\n\n changeVolumeSlide (show) {\n const {player} = this\n if (!player.controls) {\n return\n }\n if (show) {\n player.emit('focus')\n if (!hasClass(player.root, 'xgplayer-volume-active')) {\n addClass(player.root, 'xgplayer-volume-active')\n }\n } else {\n clearTimeout(this.timer)\n this.timer = setTimeout(() => {\n removeClass(player.root, 'xgplayer-volume-active')\n }, 1000)\n }\n }\n\n changeVolume (isup) {\n const {player} = this\n const keyShortcutStep = player.config.keyShortcutStep || {}\n const volumeStep = keyShortcutStep.volume || 0.1\n this.changeVolumeSlide(true)\n const volume = player.volume\n if (isup && volume + volumeStep <= 1) {\n player.volume = volume + volumeStep\n } else if (!isup && volume - volumeStep >= 0) {\n player.volume = volume - volumeStep\n }\n }\n}\n\nlet keyboard = function () {\n let player = this\n player.keyboard = new Keyboard(player)\n}\n\nexport default {\n name: 'keyboard',\n method: keyboard\n}","import { hasClass } from '../utils/util'\n\nlet localPreview = function () {\n let player = this\n let root = player.root\n function onUpload (upload) {\n player.uploadFile = upload.files[0]\n let url = URL.createObjectURL(player.uploadFile)\n if (hasClass(root, 'xgplayer-nostart')) {\n player.config.url = url\n player.start()\n } else {\n player.src = url\n let playPromise = player.play()\n if (playPromise !== undefined && playPromise) {\n playPromise.catch(err => {})\n }\n }\n }\n player.on('upload', onUpload)\n\n function onDestroy () {\n player.off('upload', onUpload)\n player.off('destroy', onDestroy)\n }\n player.once('destroy', onDestroy)\n}\n\nexport default {\n name: 'localPreview',\n method: localPreview\n}","let memoryPlay = function () {\n let player = this\n player.on('memoryPlayStart', (lastPlayTime) => {\n player.currentTime = lastPlayTime\n })\n}\n\nexport default {\n name: 'memoryPlay',\n method: memoryPlay\n}","import { findDom, hasClass, createDom, addClass, removeClass } from '../utils/util'\nimport Draggabilly from 'draggabilly'\n\nlet miniplayer = function () {\n let player = this\n let root = player.root\n function onMiniplayerBtnClick () {\n if (hasClass(root, 'xgplayer-miniplayer-active')) {\n player.exitMiniplayer()\n } else {\n player.getMiniplayer()\n }\n }\n player.on('miniplayerBtnClick', onMiniplayerBtnClick)\n\n function onDestroy () {\n player.off('miniplayerBtnClick', onMiniplayerBtnClick)\n player.off('destroy', onDestroy)\n }\n player.once('destroy', onDestroy)\n\n player.getMiniplayer = function () {\n if (hasClass(root, 'xgplayer-is-fullscreen')) {\n this.exitFullscreen(root)\n }\n if (hasClass(root, 'xgplayer-is-cssfullscreen')) {\n this.exitCssFullscreen()\n }\n if (hasClass(root, 'xgplayer-rotate-fullscreen')) {\n this.exitRotateFullscreen()\n }\n // let ro = this.root.getBoundingClientRect()\n // let Top = ro.top\n // let Left = ro.left\n let dragLay = createDom('xg-miniplayer-lay', '<div></div>', {}, 'xgplayer-miniplayer-lay')\n this.root.appendChild(dragLay)\n let dragHandle = createDom('xg-miniplayer-drag', `<div class=\"drag-handle\"><span>${this.lang.MINIPLAYER_DRAG}</span></div>`, {tabindex: 9}, 'xgplayer-miniplayer-drag')\n this.root.appendChild(dragHandle)\n // eslint-disable-next-line no-unused-vars\n let draggie = new Draggabilly('.xgplayer', {\n handle: '.drag-handle'\n })\n addClass(this.root, 'xgplayer-miniplayer-active')\n this.root.style.right = 0\n this.root.style.bottom = '200px'\n this.root.style.top = ''\n this.root.style.left = ''\n this.root.style.width = '320px'\n this.root.style.height = '180px'\n if (this.config.miniplayerConfig) {\n if (this.config.miniplayerConfig.top !== undefined) {\n this.root.style.top = this.config.miniplayerConfig.top + 'px'\n this.root.style.bottom = ''\n }\n if (this.config.miniplayerConfig.bottom !== undefined) {\n this.root.style.bottom = this.config.miniplayerConfig.bottom + 'px'\n }\n if (this.config.miniplayerConfig.left !== undefined) {\n this.root.style.left = this.config.miniplayerConfig.left + 'px'\n this.root.style.right = ''\n }\n if (this.config.miniplayerConfig.right !== undefined) {\n this.root.style.right = this.config.miniplayerConfig.right + 'px'\n }\n if (this.config.miniplayerConfig.width !== undefined) {\n this.root.style.width = this.config.miniplayerConfig.width + 'px'\n }\n if (this.config.miniplayerConfig.height !== undefined) {\n this.root.style.height = this.config.miniplayerConfig.height + 'px'\n }\n }\n if (this.config.fluid) {\n this.root.style['padding-top'] = ''\n }\n let player = this;\n ['click', 'touchend'].forEach(item => {\n dragLay.addEventListener(item, function (e) {\n e.preventDefault()\n e.stopPropagation()\n player.exitMiniplayer()\n // player.root.style.top = `${Top}px`\n // player.root.style.left = `${Left}px`\n })\n })\n }\n\n player.exitMiniplayer = function () {\n removeClass(this.root, 'xgplayer-miniplayer-active')\n this.root.style.right = ''\n this.root.style.bottom = ''\n this.root.style.top = ''\n this.root.style.left = ''\n if (this.config.fluid) {\n this.root.style['width'] = '100%'\n this.root.style['height'] = '0'\n this.root.style['padding-top'] = `${this.config.height * 100 / this.config.width}%`\n } else {\n if (this.config.width) {\n if (typeof this.config.width !== 'number') {\n this.root.style.width = this.config.width\n } else {\n this.root.style.width = `${this.config.width}px`\n }\n }\n if (this.config.height) {\n if (typeof this.config.height !== 'number') {\n this.root.style.height = this.config.height\n } else {\n this.root.style.height = `${this.config.height}px`\n }\n }\n }\n\n let dragLay = findDom(this.root, '.xgplayer-miniplayer-lay')\n if (dragLay && dragLay.parentNode) {\n dragLay.parentNode.removeChild(dragLay)\n }\n let dragHandle = findDom(this.root, '.xgplayer-miniplayer-drag')\n if (dragHandle && dragHandle.parentNode) {\n dragHandle.parentNode.removeChild(dragHandle)\n }\n }\n}\n\nexport default {\n name: 'miniplayer',\n method: miniplayer\n}","/*!\n * Draggabilly v2.3.0\n * Make that shiz draggable\n * https://draggabilly.desandro.com\n * MIT license\n */\n\n/* jshint browser: true, strict: true, undef: true, unused: true */\n\n( function( window, factory ) {\n // universal module definition\n /* jshint strict: false */ /* globals define */\n if ( typeof define == 'function' && define.amd ) {\n // AMD\n define( [\n 'get-size/get-size',\n 'unidragger/unidragger',\n ],\n function( getSize, Unidragger ) {\n return factory( window, getSize, Unidragger );\n } );\n } else if ( typeof module == 'object' && module.exports ) {\n // CommonJS\n module.exports = factory(\n window,\n require('get-size'),\n require('unidragger')\n );\n } else {\n // browser global\n window.Draggabilly = factory(\n window,\n window.getSize,\n window.Unidragger\n );\n }\n\n}( window, function factory( window, getSize, Unidragger ) {\n\n// -------------------------- helpers & variables -------------------------- //\n\n// extend objects\nfunction extend( a, b ) {\n for ( var prop in b ) {\n a[ prop ] = b[ prop ];\n }\n return a;\n}\n\nfunction noop() {}\n\nvar jQuery = window.jQuery;\n\n// -------------------------- -------------------------- //\n\nfunction Draggabilly( element, options ) {\n // querySelector if string\n this.element = typeof element == 'string' ?\n document.querySelector( element ) : element;\n\n if ( jQuery ) {\n this.$element = jQuery( this.element );\n }\n\n // options\n this.options = extend( {}, this.constructor.defaults );\n this.option( options );\n\n this._create();\n}\n\n// inherit Unidragger methods\nvar proto = Draggabilly.prototype = Object.create( Unidragger.prototype );\n\nDraggabilly.defaults = {\n};\n\n/**\n * set options\n * @param {Object} opts\n */\nproto.option = function( opts ) {\n extend( this.options, opts );\n};\n\n// css position values that don't need to be set\nvar positionValues = {\n relative: true,\n absolute: true,\n fixed: true,\n};\n\nproto._create = function() {\n // properties\n this.position = {};\n this._getPosition();\n\n this.startPoint = { x: 0, y: 0 };\n this.dragPoint = { x: 0, y: 0 };\n\n this.startPosition = extend( {}, this.position );\n\n // set relative positioning\n var style = getComputedStyle( this.element );\n if ( !positionValues[ style.position ] ) {\n this.element.style.position = 'relative';\n }\n\n // events, bridge jQuery events from vanilla\n this.on( 'pointerMove', this.onPointerMove );\n this.on( 'pointerUp', this.onPointerUp );\n\n this.enable();\n this.setHandles();\n};\n\n/**\n * set this.handles and bind start events to 'em\n */\nproto.setHandles = function() {\n this.handles = this.options.handle ?\n this.element.querySelectorAll( this.options.handle ) : [ this.element ];\n\n this.bindHandles();\n};\n\n/**\n * emits events via EvEmitter and jQuery events\n * @param {String} type - name of event\n * @param {Event} event - original event\n * @param {Array} args - extra arguments\n */\nproto.dispatchEvent = function( type, event, args ) {\n var emitArgs = [ event ].concat( args );\n this.emitEvent( type, emitArgs );\n this.dispatchJQueryEvent( type, event, args );\n};\n\nproto.dispatchJQueryEvent = function( type, event, args ) {\n var jquery = window.jQuery;\n // trigger jQuery event\n if ( !jquery || !this.$element ) {\n return;\n }\n // create jQuery event\n /* eslint-disable-next-line new-cap */\n var $event = jquery.Event( event );\n $event.type = type;\n this.$element.trigger( $event, args );\n};\n\n// -------------------------- position -------------------------- //\n\n// get x/y position from style\nproto._getPosition = function() {\n var style = getComputedStyle( this.element );\n var x = this._getPositionCoord( style.left, 'width' );\n var y = this._getPositionCoord( style.top, 'height' );\n // clean up 'auto' or other non-integer values\n this.position.x = isNaN( x ) ? 0 : x;\n this.position.y = isNaN( y ) ? 0 : y;\n\n this._addTransformPosition( style );\n};\n\nproto._getPositionCoord = function( styleSide, measure ) {\n if ( styleSide.indexOf('%') != -1 ) {\n // convert percent into pixel for Safari, #75\n var parentSize = getSize( this.element.parentNode );\n // prevent not-in-DOM element throwing bug, #131\n return !parentSize ? 0 :\n ( parseFloat( styleSide ) / 100 ) * parentSize[ measure ];\n }\n return parseInt( styleSide, 10 );\n};\n\n// add transform: translate( x, y ) to position\nproto._addTransformPosition = function( style ) {\n var transform = style.transform;\n // bail out if value is 'none'\n if ( transform.indexOf('matrix') !== 0 ) {\n return;\n }\n // split matrix(1, 0, 0, 1, x, y)\n var matrixValues = transform.split(',');\n // translate X value is in 12th or 4th position\n var xIndex = transform.indexOf('matrix3d') === 0 ? 12 : 4;\n var translateX = parseInt( matrixValues[ xIndex ], 10 );\n // translate Y value is in 13th or 5th position\n var translateY = parseInt( matrixValues[ xIndex + 1 ], 10 );\n this.position.x += translateX;\n this.position.y += translateY;\n};\n\n// -------------------------- events -------------------------- //\n\nproto.onPointerDown = function( event, pointer ) {\n this.element.classList.add('is-pointer-down');\n this.dispatchJQueryEvent( 'pointerDown', event, [ pointer ] );\n};\n\nproto.pointerDown = function( event, pointer ) {\n var isOkay = this.okayPointerDown( event );\n if ( !isOkay || !this.isEnabled ) {\n this._pointerReset();\n return;\n }\n // track start event position\n // Safari 9 overrides pageX and pageY. These values needs to be copied. flickity#842\n this.pointerDownPointer = {\n pageX: pointer.pageX,\n pageY: pointer.pageY,\n };\n\n event.preventDefault();\n this.pointerDownBlur();\n // bind move and end events\n this._bindPostStartEvents( event );\n this.element.classList.add('is-pointer-down');\n this.dispatchEvent( 'pointerDown', event, [ pointer ] );\n};\n\n/**\n * drag start\n * @param {Event} event\n * @param {[Event, Touch]} pointer\n */\nproto.dragStart = function( event, pointer ) {\n if ( !this.isEnabled ) {\n return;\n }\n this._getPosition();\n this.measureContainment();\n // position _when_ drag began\n this.startPosition.x = this.position.x;\n this.startPosition.y = this.position.y;\n // reset left/top style\n this.setLeftTop();\n\n this.dragPoint.x = 0;\n this.dragPoint.y = 0;\n\n this.element.classList.add('is-dragging');\n this.dispatchEvent( 'dragStart', event, [ pointer ] );\n // start animation\n this.animate();\n};\n\nproto.measureContainment = function() {\n var container = this.getContainer();\n if ( !container ) {\n return;\n }\n\n var elemSize = getSize( this.element );\n var containerSize = getSize( container );\n var elemRect = this.element.getBoundingClientRect();\n var containerRect = container.getBoundingClientRect();\n\n var borderSizeX = containerSize.borderLeftWidth + containerSize.borderRightWidth;\n var borderSizeY = containerSize.borderTopWidth + containerSize.borderBottomWidth;\n\n var position = this.relativeStartPosition = {\n x: elemRect.left - ( containerRect.left + containerSize.borderLeftWidth ),\n y: elemRect.top - ( containerRect.top + containerSize.borderTopWidth ),\n };\n\n this.containSize = {\n width: ( containerSize.width - borderSizeX ) - position.x - elemSize.width,\n height: ( containerSize.height - borderSizeY ) - position.y - elemSize.height,\n };\n};\n\nproto.getContainer = function() {\n var containment = this.options.containment;\n if ( !containment ) {\n return;\n }\n var isElement = containment instanceof HTMLElement;\n // use as element\n if ( isElement ) {\n return containment;\n }\n // querySelector if string\n if ( typeof containment == 'string' ) {\n return document.querySelector( containment );\n }\n // fallback to parent element\n return this.element.parentNode;\n};\n\n// ----- move event ----- //\n\nproto.onPointerMove = function( event, pointer, moveVector ) {\n this.dispatchJQueryEvent( 'pointerMove', event, [ pointer, moveVector ] );\n};\n\n/**\n * drag move\n * @param {Event} event\n * @param {[Event, Touch]} pointer\n * @param {Object} moveVector - x and y coordinates\n */\nproto.dragMove = function( event, pointer, moveVector ) {\n if ( !this.isEnabled ) {\n return;\n }\n var dragX = moveVector.x;\n var dragY = moveVector.y;\n\n var grid = this.options.grid;\n var gridX = grid && grid[0];\n var gridY = grid && grid[1];\n\n dragX = applyGrid( dragX, gridX );\n dragY = applyGrid( dragY, gridY );\n\n dragX = this.containDrag( 'x', dragX, gridX );\n dragY = this.containDrag( 'y', dragY, gridY );\n\n // constrain to axis\n dragX = this.options.axis == 'y' ? 0 : dragX;\n dragY = this.options.axis == 'x' ? 0 : dragY;\n\n this.position.x = this.startPosition.x + dragX;\n this.position.y = this.startPosition.y + dragY;\n // set dragPoint properties\n this.dragPoint.x = dragX;\n this.dragPoint.y = dragY;\n\n this.dispatchEvent( 'dragMove', event, [ pointer, moveVector ] );\n};\n\nfunction applyGrid( value, grid, method ) {\n method = method || 'round';\n return grid ? Math[ method ]( value/grid ) * grid : value;\n}\n\nproto.containDrag = function( axis, drag, grid ) {\n if ( !this.options.containment ) {\n return drag;\n }\n var measure = axis == 'x' ? 'width' : 'height';\n\n var rel = this.relativeStartPosition[ axis ];\n var min = applyGrid( -rel, grid, 'ceil' );\n var max = this.containSize[ measure ];\n max = applyGrid( max, grid, 'floor' );\n return Math.max( min, Math.min( max, drag ) );\n};\n\n// ----- end event ----- //\n\n/**\n * pointer up\n * @param {Event} event\n * @param {[Event, Touch]} pointer\n */\nproto.onPointerUp = function( event, pointer ) {\n this.element.classList.remove('is-pointer-down');\n this.dispatchJQueryEvent( 'pointerUp', event, [ pointer ] );\n};\n\n/**\n * drag end\n * @param {Event} event\n * @param {[Event, Touch]} pointer\n */\nproto.dragEnd = function( event, pointer ) {\n if ( !this.isEnabled ) {\n return;\n }\n // use top left position when complete\n this.element.style.transform = '';\n this.setLeftTop();\n this.element.classList.remove('is-dragging');\n this.dispatchEvent( 'dragEnd', event, [ pointer ] );\n};\n\n// -------------------------- animation -------------------------- //\n\nproto.animate = function() {\n // only render and animate if dragging\n if ( !this.isDragging ) {\n return;\n }\n\n this.positionDrag();\n\n var _this = this;\n requestAnimationFrame( function animateFrame() {\n _this.animate();\n } );\n\n};\n\n// left/top positioning\nproto.setLeftTop = function() {\n this.element.style.left = this.position.x + 'px';\n this.element.style.top = this.position.y + 'px';\n};\n\nproto.positionDrag = function() {\n this.element.style.transform = 'translate3d( ' + this.dragPoint.x +\n 'px, ' + this.dragPoint.y + 'px, 0)';\n};\n\n// ----- staticClick ----- //\n\nproto.staticClick = function( event, pointer ) {\n this.dispatchEvent( 'staticClick', event, [ pointer ] );\n};\n\n// ----- methods ----- //\n\n/**\n * @param {Number} x\n * @param {Number} y\n */\nproto.setPosition = function( x, y ) {\n this.position.x = x;\n this.position.y = y;\n this.setLeftTop();\n};\n\nproto.enable = function() {\n this.isEnabled = true;\n};\n\nproto.disable = function() {\n this.isEnabled = false;\n if ( this.isDragging ) {\n this.dragEnd();\n }\n};\n\nproto.destroy = function() {\n this.disable();\n // reset styles\n this.element.style.transform = '';\n this.element.style.left = '';\n this.element.style.top = '';\n this.element.style.position = '';\n // unbind handles\n this.unbindHandles();\n // remove jQuery data\n if ( this.$element ) {\n this.$element.removeData('draggabilly');\n }\n};\n\n// ----- jQuery bridget ----- //\n\n// required for jQuery bridget\nproto._init = noop;\n\nif ( jQuery && jQuery.bridget ) {\n jQuery.bridget( 'draggabilly', Draggabilly );\n}\n\n// ----- ----- //\n\nreturn Draggabilly;\n\n} ) );\n","/*!\n * getSize v2.0.3\n * measure size of elements\n * MIT license\n */\n\n/* jshint browser: true, strict: true, undef: true, unused: true */\n/* globals console: false */\n\n( function( window, factory ) {\n /* jshint strict: false */ /* globals define, module */\n if ( typeof define == 'function' && define.amd ) {\n // AMD\n define( factory );\n } else if ( typeof module == 'object' && module.exports ) {\n // CommonJS\n module.exports = factory();\n } else {\n // browser global\n window.getSize = factory();\n }\n\n})( window, function factory() {\n'use strict';\n\n// -------------------------- helpers -------------------------- //\n\n// get a number from a string, not a percentage\nfunction getStyleSize( value ) {\n var num = parseFloat( value );\n // not a percent like '100%', and a number\n var isValid = value.indexOf('%') == -1 && !isNaN( num );\n return isValid && num;\n}\n\nfunction noop() {}\n\nvar logError = typeof console == 'undefined' ? noop :\n function( message ) {\n console.error( message );\n };\n\n// -------------------------- measurements -------------------------- //\n\nvar measurements = [\n 'paddingLeft',\n 'paddingRight',\n 'paddingTop',\n 'paddingBottom',\n 'marginLeft',\n 'marginRight',\n 'marginTop',\n 'marginBottom',\n 'borderLeftWidth',\n 'borderRightWidth',\n 'borderTopWidth',\n 'borderBottomWidth'\n];\n\nvar measurementsLength = measurements.length;\n\nfunction getZeroSize() {\n var size = {\n width: 0,\n height: 0,\n innerWidth: 0,\n innerHeight: 0,\n outerWidth: 0,\n outerHeight: 0\n };\n for ( var i=0; i < measurementsLength; i++ ) {\n var measurement = measurements[i];\n size[ measurement ] = 0;\n }\n return size;\n}\n\n// -------------------------- getStyle -------------------------- //\n\n/**\n * getStyle, get style of element, check for Firefox bug\n * https://bugzilla.mozilla.org/show_bug.cgi?id=548397\n */\nfunction getStyle( elem ) {\n var style = getComputedStyle( elem );\n if ( !style ) {\n logError( 'Style returned ' + style +\n '. Are you running this code in a hidden iframe on Firefox? ' +\n 'See https://bit.ly/getsizebug1' );\n }\n return style;\n}\n\n// -------------------------- setup -------------------------- //\n\nvar isSetup = false;\n\nvar isBoxSizeOuter;\n\n/**\n * setup\n * check isBoxSizerOuter\n * do on first getSize() rather than on page load for Firefox bug\n */\nfunction setup() {\n // setup once\n if ( isSetup ) {\n return;\n }\n isSetup = true;\n\n // -------------------------- box sizing -------------------------- //\n\n /**\n * Chrome & Safari measure the outer-width on style.width on border-box elems\n * IE11 & Firefox<29 measures the inner-width\n */\n var div = document.createElement('div');\n div.style.width = '200px';\n div.style.padding = '1px 2px 3px 4px';\n div.style.borderStyle = 'solid';\n div.style.borderWidth = '1px 2px 3px 4px';\n div.style.boxSizing = 'border-box';\n\n var body = document.body || document.documentElement;\n body.appendChild( div );\n var style = getStyle( div );\n // round value for browser zoom. desandro/masonry#928\n isBoxSizeOuter = Math.round( getStyleSize( style.width ) ) == 200;\n getSize.isBoxSizeOuter = isBoxSizeOuter;\n\n body.removeChild( div );\n}\n\n// -------------------------- getSize -------------------------- //\n\nfunction getSize( elem ) {\n setup();\n\n // use querySeletor if elem is string\n if ( typeof elem == 'string' ) {\n elem = document.querySelector( elem );\n }\n\n // do not proceed on non-objects\n if ( !elem || typeof elem != 'object' || !elem.nodeType ) {\n return;\n }\n\n var style = getStyle( elem );\n\n // if hidden, everything is 0\n if ( style.display == 'none' ) {\n return getZeroSize();\n }\n\n var size = {};\n size.width = elem.offsetWidth;\n size.height = elem.offsetHeight;\n\n var isBorderBox = size.isBorderBox = style.boxSizing == 'border-box';\n\n // get all measurements\n for ( var i=0; i < measurementsLength; i++ ) {\n var measurement = measurements[i];\n var value = style[ measurement ];\n var num = parseFloat( value );\n // any 'auto', 'medium' value will be 0\n size[ measurement ] = !isNaN( num ) ? num : 0;\n }\n\n var paddingWidth = size.paddingLeft + size.paddingRight;\n var paddingHeight = size.paddingTop + size.paddingBottom;\n var marginWidth = size.marginLeft + size.marginRight;\n var marginHeight = size.marginTop + size.marginBottom;\n var borderWidth = size.borderLeftWidth + size.borderRightWidth;\n var borderHeight = size.borderTopWidth + size.borderBottomWidth;\n\n var isBorderBoxSizeOuter = isBorderBox && isBoxSizeOuter;\n\n // overwrite width and height if we can get it from style\n var styleWidth = getStyleSize( style.width );\n if ( styleWidth !== false ) {\n size.width = styleWidth +\n // add padding and border unless it's already including it\n ( isBorderBoxSizeOuter ? 0 : paddingWidth + borderWidth );\n }\n\n var styleHeight = getStyleSize( style.height );\n if ( styleHeight !== false ) {\n size.height = styleHeight +\n // add padding and border unless it's already including it\n ( isBorderBoxSizeOuter ? 0 : paddingHeight + borderHeight );\n }\n\n size.innerWidth = size.width - ( paddingWidth + borderWidth );\n size.innerHeight = size.height - ( paddingHeight + borderHeight );\n\n size.outerWidth = size.width + marginWidth;\n size.outerHeight = size.height + marginHeight;\n\n return size;\n}\n\nreturn getSize;\n\n});\n","/*!\n * Unidragger v2.3.1\n * Draggable base class\n * MIT license\n */\n\n/*jshint browser: true, unused: true, undef: true, strict: true */\n\n( function( window, factory ) {\n // universal module definition\n /*jshint strict: false */ /*globals define, module, require */\n\n if ( typeof define == 'function' && define.amd ) {\n // AMD\n define( [\n 'unipointer/unipointer'\n ], function( Unipointer ) {\n return factory( window, Unipointer );\n });\n } else if ( typeof module == 'object' && module.exports ) {\n // CommonJS\n module.exports = factory(\n window,\n require('unipointer')\n );\n } else {\n // browser global\n window.Unidragger = factory(\n window,\n window.Unipointer\n );\n }\n\n}( window, function factory( window, Unipointer ) {\n\n'use strict';\n\n// -------------------------- Unidragger -------------------------- //\n\nfunction Unidragger() {}\n\n// inherit Unipointer & EvEmitter\nvar proto = Unidragger.prototype = Object.create( Unipointer.prototype );\n\n// ----- bind start ----- //\n\nproto.bindHandles = function() {\n this._bindHandles( true );\n};\n\nproto.unbindHandles = function() {\n this._bindHandles( false );\n};\n\n/**\n * Add or remove start event\n * @param {Boolean} isAdd\n */\nproto._bindHandles = function( isAdd ) {\n // munge isAdd, default to true\n isAdd = isAdd === undefined ? true : isAdd;\n // bind each handle\n var bindMethod = isAdd ? 'addEventListener' : 'removeEventListener';\n var touchAction = isAdd ? this._touchActionValue : '';\n for ( var i=0; i < this.handles.length; i++ ) {\n var handle = this.handles[i];\n this._bindStartEvent( handle, isAdd );\n handle[ bindMethod ]( 'click', this );\n // touch-action: none to override browser touch gestures. metafizzy/flickity#540\n if ( window.PointerEvent ) {\n handle.style.touchAction = touchAction;\n }\n }\n};\n\n// prototype so it can be overwriteable by Flickity\nproto._touchActionValue = 'none';\n\n// ----- start event ----- //\n\n/**\n * pointer start\n * @param {Event} event\n * @param {Event or Touch} pointer\n */\nproto.pointerDown = function( event, pointer ) {\n var isOkay = this.okayPointerDown( event );\n if ( !isOkay ) {\n return;\n }\n // track start event position\n // Safari 9 overrides pageX and pageY. These values needs to be copied. flickity#842\n this.pointerDownPointer = {\n pageX: pointer.pageX,\n pageY: pointer.pageY,\n };\n\n event.preventDefault();\n this.pointerDownBlur();\n // bind move and end events\n this._bindPostStartEvents( event );\n this.emitEvent( 'pointerDown', [ event, pointer ] );\n};\n\n// nodes that have text fields\nvar cursorNodes = {\n TEXTAREA: true,\n INPUT: true,\n SELECT: true,\n OPTION: true,\n};\n\n// input types that do not have text fields\nvar clickTypes = {\n radio: true,\n checkbox: true,\n button: true,\n submit: true,\n image: true,\n file: true,\n};\n\n// dismiss inputs with text fields. flickity#403, flickity#404\nproto.okayPointerDown = function( event ) {\n var isCursorNode = cursorNodes[ event.target.nodeName ];\n var isClickType = clickTypes[ event.target.type ];\n var isOkay = !isCursorNode || isClickType;\n if ( !isOkay ) {\n this._pointerReset();\n }\n return isOkay;\n};\n\n// kludge to blur previously focused input\nproto.pointerDownBlur = function() {\n var focused = document.activeElement;\n // do not blur body for IE10, metafizzy/flickity#117\n var canBlur = focused && focused.blur && focused != document.body;\n if ( canBlur ) {\n focused.blur();\n }\n};\n\n// ----- move event ----- //\n\n/**\n * drag move\n * @param {Event} event\n * @param {Event or Touch} pointer\n */\nproto.pointerMove = function( event, pointer ) {\n var moveVector = this._dragPointerMove( event, pointer );\n this.emitEvent( 'pointerMove', [ event, pointer, moveVector ] );\n this._dragMove( event, pointer, moveVector );\n};\n\n// base pointer move logic\nproto._dragPointerMove = function( event, pointer ) {\n var moveVector = {\n x: pointer.pageX - this.pointerDownPointer.pageX,\n y: pointer.pageY - this.pointerDownPointer.pageY\n };\n // start drag if pointer has moved far enough to start drag\n if ( !this.isDragging && this.hasDragStarted( moveVector ) ) {\n this._dragStart( event, pointer );\n }\n return moveVector;\n};\n\n// condition if pointer has moved far enough to start drag\nproto.hasDragStarted = function( moveVector ) {\n return Math.abs( moveVector.x ) > 3 || Math.abs( moveVector.y ) > 3;\n};\n\n// ----- end event ----- //\n\n/**\n * pointer up\n * @param {Event} event\n * @param {Event or Touch} pointer\n */\nproto.pointerUp = function( event, pointer ) {\n this.emitEvent( 'pointerUp', [ event, pointer ] );\n this._dragPointerUp( event, pointer );\n};\n\nproto._dragPointerUp = function( event, pointer ) {\n if ( this.isDragging ) {\n this._dragEnd( event, pointer );\n } else {\n // pointer didn't move enough for drag to start\n this._staticClick( event, pointer );\n }\n};\n\n// -------------------------- drag -------------------------- //\n\n// dragStart\nproto._dragStart = function( event, pointer ) {\n this.isDragging = true;\n // prevent clicks\n this.isPreventingClicks = true;\n this.dragStart( event, pointer );\n};\n\nproto.dragStart = function( event, pointer ) {\n this.emitEvent( 'dragStart', [ event, pointer ] );\n};\n\n// dragMove\nproto._dragMove = function( event, pointer, moveVector ) {\n // do not drag if not dragging yet\n if ( !this.isDragging ) {\n return;\n }\n\n this.dragMove( event, pointer, moveVector );\n};\n\nproto.dragMove = function( event, pointer, moveVector ) {\n event.preventDefault();\n this.emitEvent( 'dragMove', [ event, pointer, moveVector ] );\n};\n\n// dragEnd\nproto._dragEnd = function( event, pointer ) {\n // set flags\n this.isDragging = false;\n // re-enable clicking async\n setTimeout( function() {\n delete this.isPreventingClicks;\n }.bind( this ) );\n\n this.dragEnd( event, pointer );\n};\n\nproto.dragEnd = function( event, pointer ) {\n this.emitEvent( 'dragEnd', [ event, pointer ] );\n};\n\n// ----- onclick ----- //\n\n// handle all clicks and prevent clicks when dragging\nproto.onclick = function( event ) {\n if ( this.isPreventingClicks ) {\n event.preventDefault();\n }\n};\n\n// ----- staticClick ----- //\n\n// triggered after pointer down & up with no/tiny movement\nproto._staticClick = function( event, pointer ) {\n // ignore emulated mouse up clicks\n if ( this.isIgnoringMouseUp && event.type == 'mouseup' ) {\n return;\n }\n\n this.staticClick( event, pointer );\n\n // set flag for emulated clicks 300ms after touchend\n if ( event.type != 'mouseup' ) {\n this.isIgnoringMouseUp = true;\n // reset flag after 300ms\n setTimeout( function() {\n delete this.isIgnoringMouseUp;\n }.bind( this ), 400 );\n }\n};\n\nproto.staticClick = function( event, pointer ) {\n this.emitEvent( 'staticClick', [ event, pointer ] );\n};\n\n// ----- utils ----- //\n\nUnidragger.getPointerPoint = Unipointer.getPointerPoint;\n\n// ----- ----- //\n\nreturn Unidragger;\n\n}));\n","/*!\n * Unipointer v2.3.0\n * base class for doing one thing with pointer event\n * MIT license\n */\n\n/*jshint browser: true, undef: true, unused: true, strict: true */\n\n( function( window, factory ) {\n // universal module definition\n /* jshint strict: false */ /*global define, module, require */\n if ( typeof define == 'function' && define.amd ) {\n // AMD\n define( [\n 'ev-emitter/ev-emitter'\n ], function( EvEmitter ) {\n return factory( window, EvEmitter );\n });\n } else if ( typeof module == 'object' && module.exports ) {\n // CommonJS\n module.exports = factory(\n window,\n require('ev-emitter')\n );\n } else {\n // browser global\n window.Unipointer = factory(\n window,\n window.EvEmitter\n );\n }\n\n}( window, function factory( window, EvEmitter ) {\n\n'use strict';\n\nfunction noop() {}\n\nfunction Unipointer() {}\n\n// inherit EvEmitter\nvar proto = Unipointer.prototype = Object.create( EvEmitter.prototype );\n\nproto.bindStartEvent = function( elem ) {\n this._bindStartEvent( elem, true );\n};\n\nproto.unbindStartEvent = function( elem ) {\n this._bindStartEvent( elem, false );\n};\n\n/**\n * Add or remove start event\n * @param {Boolean} isAdd - remove if falsey\n */\nproto._bindStartEvent = function( elem, isAdd ) {\n // munge isAdd, default to true\n isAdd = isAdd === undefined ? true : isAdd;\n var bindMethod = isAdd ? 'addEventListener' : 'removeEventListener';\n\n // default to mouse events\n var startEvent = 'mousedown';\n if ( window.PointerEvent ) {\n // Pointer Events\n startEvent = 'pointerdown';\n } else if ( 'ontouchstart' in window ) {\n // Touch Events. iOS Safari\n startEvent = 'touchstart';\n }\n elem[ bindMethod ]( startEvent, this );\n};\n\n// trigger handler methods for events\nproto.handleEvent = function( event ) {\n var method = 'on' + event.type;\n if ( this[ method ] ) {\n this[ method ]( event );\n }\n};\n\n// returns the touch that we're keeping track of\nproto.getTouch = function( touches ) {\n for ( var i=0; i < touches.length; i++ ) {\n var touch = touches[i];\n if ( touch.identifier == this.pointerIdentifier ) {\n return touch;\n }\n }\n};\n\n// ----- start event ----- //\n\nproto.onmousedown = function( event ) {\n // dismiss clicks from right or middle buttons\n var button = event.button;\n if ( button && ( button !== 0 && button !== 1 ) ) {\n return;\n }\n this._pointerDown( event, event );\n};\n\nproto.ontouchstart = function( event ) {\n this._pointerDown( event, event.changedTouches[0] );\n};\n\nproto.onpointerdown = function( event ) {\n this._pointerDown( event, event );\n};\n\n/**\n * pointer start\n * @param {Event} event\n * @param {Event or Touch} pointer\n */\nproto._pointerDown = function( event, pointer ) {\n // dismiss right click and other pointers\n // button = 0 is okay, 1-4 not\n if ( event.button || this.isPointerDown ) {\n return;\n }\n\n this.isPointerDown = true;\n // save pointer identifier to match up touch events\n this.pointerIdentifier = pointer.pointerId !== undefined ?\n // pointerId for pointer events, touch.indentifier for touch events\n pointer.pointerId : pointer.identifier;\n\n this.pointerDown( event, pointer );\n};\n\nproto.pointerDown = function( event, pointer ) {\n this._bindPostStartEvents( event );\n this.emitEvent( 'pointerDown', [ event, pointer ] );\n};\n\n// hash of events to be bound after start event\nvar postStartEvents = {\n mousedown: [ 'mousemove', 'mouseup' ],\n touchstart: [ 'touchmove', 'touchend', 'touchcancel' ],\n pointerdown: [ 'pointermove', 'pointerup', 'pointercancel' ],\n};\n\nproto._bindPostStartEvents = function( event ) {\n if ( !event ) {\n return;\n }\n // get proper events to match start event\n var events = postStartEvents[ event.type ];\n // bind events to node\n events.forEach( function( eventName ) {\n window.addEventListener( eventName, this );\n }, this );\n // save these arguments\n this._boundPointerEvents = events;\n};\n\nproto._unbindPostStartEvents = function() {\n // check for _boundEvents, in case dragEnd triggered twice (old IE8 bug)\n if ( !this._boundPointerEvents ) {\n return;\n }\n this._boundPointerEvents.forEach( function( eventName ) {\n window.removeEventListener( eventName, this );\n }, this );\n\n delete this._boundPointerEvents;\n};\n\n// ----- move event ----- //\n\nproto.onmousemove = function( event ) {\n this._pointerMove( event, event );\n};\n\nproto.onpointermove = function( event ) {\n if ( event.pointerId == this.pointerIdentifier ) {\n this._pointerMove( event, event );\n }\n};\n\nproto.ontouchmove = function( event ) {\n var touch = this.getTouch( event.changedTouches );\n if ( touch ) {\n this._pointerMove( event, touch );\n }\n};\n\n/**\n * pointer move\n * @param {Event} event\n * @param {Event or Touch} pointer\n * @private\n */\nproto._pointerMove = function( event, pointer ) {\n this.pointerMove( event, pointer );\n};\n\n// public\nproto.pointerMove = function( event, pointer ) {\n this.emitEvent( 'pointerMove', [ event, pointer ] );\n};\n\n// ----- end event ----- //\n\n\nproto.onmouseup = function( event ) {\n this._pointerUp( event, event );\n};\n\nproto.onpointerup = function( event ) {\n if ( event.pointerId == this.pointerIdentifier ) {\n this._pointerUp( event, event );\n }\n};\n\nproto.ontouchend = function( event ) {\n var touch = this.getTouch( event.changedTouches );\n if ( touch ) {\n this._pointerUp( event, touch );\n }\n};\n\n/**\n * pointer up\n * @param {Event} event\n * @param {Event or Touch} pointer\n * @private\n */\nproto._pointerUp = function( event, pointer ) {\n this._pointerDone();\n this.pointerUp( event, pointer );\n};\n\n// public\nproto.pointerUp = function( event, pointer ) {\n this.emitEvent( 'pointerUp', [ event, pointer ] );\n};\n\n// ----- pointer done ----- //\n\n// triggered on pointer up & pointer cancel\nproto._pointerDone = function() {\n this._pointerReset();\n this._unbindPostStartEvents();\n this.pointerDone();\n};\n\nproto._pointerReset = function() {\n // reset properties\n this.isPointerDown = false;\n delete this.pointerIdentifier;\n};\n\nproto.pointerDone = noop;\n\n// ----- pointer cancel ----- //\n\nproto.onpointercancel = function( event ) {\n if ( event.pointerId == this.pointerIdentifier ) {\n this._pointerCancel( event, event );\n }\n};\n\nproto.ontouchcancel = function( event ) {\n var touch = this.getTouch( event.changedTouches );\n if ( touch ) {\n this._pointerCancel( event, touch );\n }\n};\n\n/**\n * pointer cancel\n * @param {Event} event\n * @param {Event or Touch} pointer\n * @private\n */\nproto._pointerCancel = function( event, pointer ) {\n this._pointerDone();\n this.pointerCancel( event, pointer );\n};\n\n// public\nproto.pointerCancel = function( event, pointer ) {\n this.emitEvent( 'pointerCancel', [ event, pointer ] );\n};\n\n// ----- ----- //\n\n// utility function for getting x/y coords from event\nUnipointer.getPointerPoint = function( pointer ) {\n return {\n x: pointer.pageX,\n y: pointer.pageY\n };\n};\n\n// ----- ----- //\n\nreturn Unipointer;\n\n}));\n","/**\n * EvEmitter v1.1.0\n * Lil' event emitter\n * MIT License\n */\n\n/* jshint unused: true, undef: true, strict: true */\n\n( function( global, factory ) {\n // universal module definition\n /* jshint strict: false */ /* globals define, module, window */\n if ( typeof define == 'function' && define.amd ) {\n // AMD - RequireJS\n define( factory );\n } else if ( typeof module == 'object' && module.exports ) {\n // CommonJS - Browserify, Webpack\n module.exports = factory();\n } else {\n // Browser globals\n global.EvEmitter = factory();\n }\n\n}( typeof window != 'undefined' ? window : this, function() {\n\n\"use strict\";\n\nfunction EvEmitter() {}\n\nvar proto = EvEmitter.prototype;\n\nproto.on = function( eventName, listener ) {\n if ( !eventName || !listener ) {\n return;\n }\n // set events hash\n var events = this._events = this._events || {};\n // set listeners array\n var listeners = events[ eventName ] = events[ eventName ] || [];\n // only add once\n if ( listeners.indexOf( listener ) == -1 ) {\n listeners.push( listener );\n }\n\n return this;\n};\n\nproto.once = function( eventName, listener ) {\n if ( !eventName || !listener ) {\n return;\n }\n // add event\n this.on( eventName, listener );\n // set once flag\n // set onceEvents hash\n var onceEvents = this._onceEvents = this._onceEvents || {};\n // set onceListeners object\n var onceListeners = onceEvents[ eventName ] = onceEvents[ eventName ] || {};\n // set flag\n onceListeners[ listener ] = true;\n\n return this;\n};\n\nproto.off = function( eventName, listener ) {\n var listeners = this._events && this._events[ eventName ];\n if ( !listeners || !listeners.length ) {\n return;\n }\n var index = listeners.indexOf( listener );\n if ( index != -1 ) {\n listeners.splice( index, 1 );\n }\n\n return this;\n};\n\nproto.emitEvent = function( eventName, args ) {\n var listeners = this._events && this._events[ eventName ];\n if ( !listeners || !listeners.length ) {\n return;\n }\n // copy over to avoid interference if .off() in listener\n listeners = listeners.slice(0);\n args = args || [];\n // once stuff\n var onceListeners = this._onceEvents && this._onceEvents[ eventName ];\n\n for ( var i=0; i < listeners.length; i++ ) {\n var listener = listeners[i]\n var isOnce = onceListeners && onceListeners[ listener ];\n if ( isOnce ) {\n // remove listener\n // remove before trigger to prevent recursion\n this.off( eventName, listener );\n // unset once flag\n delete onceListeners[ listener ];\n }\n // trigger listener\n listener.apply( this, args );\n }\n\n return this;\n};\n\nproto.allOff = function() {\n delete this._events;\n delete this._onceEvents;\n};\n\nreturn EvEmitter;\n\n}));\n","\nimport { PresentationMode, checkWebkitSetPresentationMode } from '../utils/util'\n\nlet pip = function () {\n let player = this\n function onPipBtnClick () {\n if (player.video !== document.pictureInPictureElement) {\n player.video.requestPictureInPicture()\n } else {\n document.exitPictureInPicture()\n }\n }\n player.on('pipBtnClick', onPipBtnClick)\n\n const onWebkitpresentationmodechanged = (e) => {\n const mode = player.video.webkitPresentationMode\n this.pMode = mode\n if (mode === PresentationMode.PIP) {\n // 进入pip模式\n player.emit('requestPictureInPicture', e.pictureInPictureWindow)\n } else if (mode === PresentationMode.INLINE) {\n // 退出pip,进去inline模式\n player.emit('exitPictureInPicture')\n }\n }\n\n player.video.addEventListener('enterpictureinpicture', function (pipWindow) {\n player.emit('requestPictureInPicture', pipWindow)\n })\n\n player.video.addEventListener('leavepictureinpicture', function () {\n player.emit('exitPictureInPicture')\n })\n\n checkWebkitSetPresentationMode(player.video) &&\n player.video.addEventListener('webkitpresentationmodechanged', onWebkitpresentationmodechanged)\n\n function onDestroy () {\n player.off('pipBtnClick', onPipBtnClick)\n player.off('destroy', onDestroy)\n checkWebkitSetPresentationMode(player.video) &&\n player.video.removeEventListener('webkitpresentationmodechanged', onWebkitpresentationmodechanged)\n }\n player.once('destroy', onDestroy)\n}\n\nexport default {\n name: 'pip',\n method: pip\n}\n","let playNext = function () {\n let player = this\n let nextBtn = player.config.playNext\n player.currentVideoIndex = -1\n\n function onPlayNextBtnClick () {\n if (player.currentVideoIndex + 1 < nextBtn.urlList.length) {\n player.currentVideoIndex++\n player.video.autoplay = true\n player.src = nextBtn.urlList[player.currentVideoIndex]\n player.emit('playerNext', player.currentVideoIndex + 1)\n if (player.currentVideoIndex + 1 === nextBtn.urlList.length) {\n player.emit('urlListEnd')\n }\n }\n }\n player.on('playNextBtnClick', onPlayNextBtnClick)\n\n function onDestroy () {\n player.off('playNextBtnClick', onPlayNextBtnClick)\n player.off('destroy', onDestroy)\n }\n player.once('destroy', onDestroy)\n}\n\nexport default {\n name: 'playNext',\n method: playNext\n}","import { removeClass } from '../utils/util'\n\nlet reload = function () {\n let player = this\n let reloadConfig = player.config.reload\n if (!reloadConfig) { return }\n\n function onReloadBtnClick () {\n removeClass(player.root, 'xgplayer-is-error')\n player.src = player.config.url\n }\n player.on('reloadBtnClick', onReloadBtnClick)\n\n function onDestroy () {\n player.off('reloadBtnClick', onReloadBtnClick)\n player.off('destroy', onDestroy)\n }\n player.once('destroy', onDestroy)\n}\n\nexport default {\n name: 'reload',\n method: reload\n}","let rotate = function () {\n let player = this\n let rotateConfig = player.config.rotate\n if (!rotateConfig) { return }\n\n function onRotateBtnClick () {\n player.rotate(rotateConfig.clockwise, rotateConfig.innerRotate)\n }\n player.on('rotateBtnClick', onRotateBtnClick)\n\n function onDestroy () {\n player.off('rotateBtnClick', onRotateBtnClick)\n player.off('destroy', onDestroy)\n }\n player.once('destroy', onDestroy)\n\n player.updateRotateDeg = function () {\n let player = this;\n if (!player.rotateDeg) {\n player.rotateDeg = 0\n }\n\n let width = player.root.offsetWidth\n let height = player.root.offsetHeight\n let targetWidth = player.video.videoWidth\n let targetHeight = player.video.videoHeight\n\n if (!player.config.rotate.innerRotate && player.config.rotate.controlsFix) {\n player.root.style.width = height + 'px'\n player.root.style.height = width + 'px'\n }\n\n let scale\n if (player.rotateDeg === 0.25 || player.rotateDeg === 0.75) {\n if (player.config.rotate.innerRotate) {\n if ((targetWidth / targetHeight) > (height / width)) { // 旋转后纵向撑满\n let videoWidth = 0\n if ((targetHeight / targetWidth) > (height / width)) { // 旋转前是纵向撑满\n videoWidth = height * targetWidth / targetHeight\n } else { // 旋转前是横向撑满\n videoWidth = width\n }\n scale = height / videoWidth\n } else { // 旋转后横向撑满\n let videoHeight = 0\n if ((targetHeight / targetWidth) > (height / width)) { // 旋转前是纵向撑满\n videoHeight = height\n } else { // 旋转前是横向撑满\n videoHeight = width * targetHeight / targetWidth\n }\n scale = width / videoHeight\n }\n } else {\n if (width >= height) {\n scale = width / height\n } else {\n scale = height / width\n }\n }\n scale = Number(scale.toFixed(5))\n } else {\n scale = 1\n }\n\n if (player.config.rotate.innerRotate) {\n player.video.style.transformOrigin = 'center center'\n player.video.style.transform = `rotate(${player.rotateDeg}turn) scale(${scale})`\n player.video.style.webKitTransform = `rotate(${player.rotateDeg}turn) scale(${scale})`\n } else {\n if (player.config.rotate.controlsFix) {\n player.video.style.transformOrigin = 'center center'\n player.video.style.transform = `rotate(${player.rotateDeg}turn) scale(${scale})`\n player.video.style.webKitTransform = `rotate(${player.rotateDeg}turn) scale(${scale})`\n } else {\n player.root.style.transformOrigin = 'center center'\n player.root.style.transform = `rotate(${player.rotateDeg}turn) scale(${1})`\n player.root.style.webKitTransform = `rotate(${player.rotateDeg}turn) scale(${1})`\n }\n }\n }\n\n player.rotate = function (clockwise = false, innerRotate = true, times = 1) {\n let player = this;\n if (!player.rotateDeg) {\n player.rotateDeg = 0\n }\n let factor = clockwise ? 1 : -1\n\n player.rotateDeg = (player.rotateDeg + 1 + factor * 0.25 * times) % 1\n this.updateRotateDeg()\n\n player.emit('rotate', player.rotateDeg * 360)\n }\n}\n\nexport default {\n name: 'rotate',\n method: rotate\n}","let screenShot = function () {\n let player = this\n let screenShotOptions = player.config.screenShot\n if (!screenShotOptions) {\n return\n }\n\n player.video.setAttribute('crossOrigin', 'anonymous')\n\n let encoderOptions = 0.92\n if(screenShotOptions.quality || screenShotOptions.quality === 0) {\n encoderOptions = screenShotOptions.quality\n }\n let type = screenShotOptions.type === undefined ? 'image/png' : screenShotOptions.type\n let format = screenShotOptions.format === undefined ? '.png' : screenShotOptions.format\n\n let canvas = document.createElement('canvas')\n let canvasCtx = canvas.getContext('2d')\n let img = new Image()\n canvas.width = this.config.width || 600\n canvas.height = this.config.height || 337.5\n\n let saveScreenShot = function (data, filename) {\n let saveLink = document.createElement('a')\n saveLink.href = data\n saveLink.download = filename\n let event = document.createEvent('MouseEvents')\n event.initMouseEvent('click', true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null)\n saveLink.dispatchEvent(event)\n }\n\n player.screenShot = function (save = true) {\n save = screenShotOptions.saveImg === undefined ? save : screenShotOptions.saveImg\n canvas.width = player.video.videoWidth || 600\n canvas.height = player.video.videoHeight || 337.5\n img.onload = (function () {\n canvasCtx.drawImage(player.video, 0, 0, canvas.width, canvas.height)\n img.src = canvas.toDataURL(type, encoderOptions).replace(type, 'image/octet-stream')\n let screenShotImg = img.src.replace(/^data:image\\/[^;]+/, 'data:application/octet-stream')\n player.emit('screenShot', screenShotImg)\n save && saveScreenShot(screenShotImg, '截图' + format)\n })()\n }\n player.on('screenShotBtnClick', player.screenShot)\n\n function onDestroy () {\n player.off('screenShotBtnClick', player.screenShot)\n player.off('destroy', onDestroy)\n }\n player.once('destroy', onDestroy)\n}\n\nexport default {\n name: 'screenShot',\n method: screenShot\n}","import Errors from '../error'\n\nfunction stallCheck () {\n const player = this\n if(!player.config.enableStallCheck) return;\n let lastCurrentTime = 0;\n let stallFlag, stallCheckTimer, progressTimer;\n player.once('complete', () => {\n progressTimer = setInterval(() => {\n if (player.currentTime - (lastCurrentTime || 0) > 0.1 || player.paused) {\n if (stallFlag === 1 || stallFlag === 2) {\n stallFlag = 0;\n clearTimeout(stallCheckTimer);\n stallCheckTimer = null;\n }\n } else {\n if (!stallFlag) {\n stallFlag = 1;\n stallCheckTimer = setTimeout(() => {\n if (stallFlag === 1) {\n stallFlag = 2;\n player.emit('error', new Errors('STALL'));\n }\n stallCheckTimer = null;\n }, 20000);\n }\n }\n lastCurrentTime = player.currentTime;\n }, 1000);\n })\n}\n \nexport default {\n name: 'stallCheck',\n method: stallCheck\n}\n\n\n","import { addClass, removeClass, event } from '../utils/util'\nimport sniffer from '../utils/sniffer'\n\nlet volume = function () {\n let player = this\n let root = player.root\n let container, slider, bar, selected\n function onCanplay () {\n // player.volume = sniffer.device === 'mobile' ? 1 : player.config.volume\n if(!player.controls) return\n player.volume = player.config.volume\n container = player.controls.querySelector('.xgplayer-volume')\n if(!container) return\n slider = container.querySelector('.xgplayer-slider')\n bar = container.querySelector('.xgplayer-bar')\n selected = container.querySelector('.xgplayer-drag')\n if (sniffer.device === 'mobile') {\n if(player.volume === 0) {\n player.video.muted = true\n }\n onVolumeChange()\n }\n }\n player.once('canplay', onCanplay)\n\n function onVolumeBarClick (e) {\n if(!slider) return\n player.video.muted = false\n slider.focus()\n event(e)\n\n let barRect = bar.getBoundingClientRect()\n let pos = {x: e.clientX, y: e.clientY}\n let height = selected.getBoundingClientRect().height\n let isMove = false\n let onMove = function (e) {\n e.preventDefault()\n e.stopPropagation()\n event(e)\n isMove = true\n let w = height - e.clientY + pos.y\n let now = w / barRect.height\n selected.style.height = `${w}px`\n player.volume = Math.max(Math.min(now, 1), 0)\n }\n let onUp = function (e) {\n e.preventDefault()\n e.stopPropagation()\n event(e)\n window.removeEventListener('mousemove', onMove)\n window.removeEventListener('touchmove', onMove)\n window.removeEventListener('mouseup', onUp)\n window.removeEventListener('touchend', onUp)\n\n if (!isMove) {\n let w = barRect.height - (e.clientY - barRect.top)\n let now = w / barRect.height\n selected.style.height = `${w}px`\n if (now <= 0) {\n if (player.volume > 0) {\n selected.volume = player.video.volume\n } else {\n now = selected.volume\n }\n }\n player.volume = Math.max(Math.min(now, 1), 0)\n }\n slider.volume = player.volume\n isMove = false\n }\n window.addEventListener('mousemove', onMove)\n window.addEventListener('touchmove', onMove)\n window.addEventListener('mouseup', onUp)\n window.addEventListener('touchend', onUp)\n return false\n }\n player.on('volumeBarClick', onVolumeBarClick)\n\n function onVolumeIconClick () {\n if (sniffer.device === 'mobile') {\n if (player.video.muted) {\n player.video.muted = false\n player.emit('unmute')\n player.volume = 1\n } else {\n player.video.muted = true\n player.emit('mute')\n player.volume = 0\n }\n } else {\n if(!slider) return\n player.video.muted = false\n if (player.volume < 0.1) {\n if (slider.volume < 0.1) {\n player.volume = 0.6\n } else {\n player.volume = slider.volume\n }\n player.emit('unmute')\n } else {\n player.volume = 0\n player.emit('mute')\n }\n }\n // onVolumeChange ()\n }\n player.on('volumeIconClick', onVolumeIconClick)\n\n function onVolumeIconEnter () {\n addClass(root, 'xgplayer-volume-active')\n if (container) {\n container.focus()\n }\n }\n player.on('volumeIconEnter', onVolumeIconEnter)\n\n function onVolumeIconLeave () {\n removeClass(root, 'xgplayer-volume-active')\n }\n player.on('volumeIconLeave', onVolumeIconLeave)\n\n let _changeTimer = null\n function onVolumeChange () {\n if (_changeTimer) {\n clearTimeout(_changeTimer)\n }\n _changeTimer = setTimeout(() => {\n if (sniffer.device === 'mobile') {\n removeClass(root, 'xgplayer-volume-muted')\n removeClass(root, 'xgplayer-volume-large')\n if (player.video.muted || player.video.defaultMuted) {\n if (!player.video.muted) {\n player.video.muted = true\n }\n player.video.defaultMuted = false\n addClass(root, 'xgplayer-volume-muted')\n } else {\n addClass(root, 'xgplayer-volume-large')\n }\n } else {\n removeClass(root, 'xgplayer-volume-muted')\n removeClass(root, 'xgplayer-volume-small')\n removeClass(root, 'xgplayer-volume-large')\n if (player.volume === 0 || player.muted) {\n addClass(root, 'xgplayer-volume-muted')\n } else if (player.volume < 0.5) {\n addClass(root, 'xgplayer-volume-small')\n } else {\n addClass(root, 'xgplayer-volume-large')\n }\n if (!bar) return\n let containerHeight = bar.getBoundingClientRect().height || 76\n selected.style.height = `${player.volume * containerHeight}px`\n }\n }, 50)\n }\n player.on('volumechange', onVolumeChange)\n\n function onDestroy () {\n player.off('canplay', onCanplay)\n player.off('volumeBarClick', onVolumeBarClick)\n player.off('volumeIconClick', onVolumeIconClick)\n player.off('volumeIconEnter', onVolumeIconEnter)\n player.off('volumeIconLeave', onVolumeIconLeave)\n player.off('volumechange', onVolumeChange)\n player.off('destroy', onDestroy)\n if (_changeTimer) {\n clearTimeout(_changeTimer);\n _changeTimer = null;\n }\n }\n player.once('destroy', onDestroy)\n}\n\nexport default {\n name: 'volume',\n method: volume\n}","import SubTitles from 'xgplayer-subtitles'\nconst defaultStyle = {\n follow: true, // 是否跟随控制栏调整位置\n mode: 'stroke', // 字体显示模式,默认是描边\n followBottom: 50, // 跟随底部控制栏的高度\n fitVideo: true, // 是否跟随视频自动调整字号\n offsetBottom: 2, // 字幕距离画面底部百分比,默认2%\n baseSizeX: 49, // 横屏视频适配基准字号\n baseSizeY: 28, // 竖屏视频适配基准字号\n minSize: 16, // pc端最小字号\n minMobileSize: 13, // 移动端最小字号\n line: 'double', // 最大显示行数 single/double/three\n fontColor: '#fff' // 字体颜色\n}\n\n// function createSubTitle (textTrack, style = {}, defaultOpen = true) {\n// const config = {\n// subTitles: textTrack,\n// defaultOpen: defaultOpen\n// }\n\n// Object.keys(style).map(key => {\n// config[key] = style[key]\n// })\n// return new SubTitles(config)\n// }\n\nclass XgSubtitles {\n constructor (player, list, style) {\n const subtitle = this.create(list, style, player.textTrackShowDefault)\n subtitle.attachPlayer(player)\n this.subtitle = subtitle\n this.player = player\n this.positionData = {\n vBottom: 0,\n marginBottom: 0\n }\n this.isActive = false\n this.followBottom = style.followBottom;\n ['onSubtitleResize', 'onFocus', 'onBlur'].map(item => {\n this[item] = this[item].bind(this)\n })\n\n if (player.controls && style.follow) {\n this.subtitle.on('resize', this.onSubtitleResize)\n player.on('focus', this.onFocus)\n player.on('blur', this.onBlur)\n }\n }\n\n create (textTrack, style = {}, defaultOpen = true) {\n const config = {\n subTitles: textTrack,\n defaultOpen: defaultOpen\n }\n Object.keys(style).map(key => {\n config[key] = style[key]\n })\n return new SubTitles(config)\n }\n\n switch (subtitle) {\n return this.subtitle.switch(subtitle)\n }\n\n switchOff () {\n return this.subtitle.switchOff()\n }\n\n setSubTitles (subtitles, showDefault, isNeedMove) {\n return this.subtitle.setSubTitles(subtitles, showDefault, isNeedMove)\n }\n\n onFocus () {\n const { marginBottom, vBottom } = this.positionData\n if (this.isActive || !marginBottom) {\n return\n }\n this.isActive = true\n let bottom = marginBottom + vBottom\n if (this.followBottom > bottom) {\n bottom = this.followBottom\n }\n this.subtitle && (this.subtitle.root.style.bottom = `${bottom}px`)\n }\n\n onBlur () {\n this.isActive = false\n const bottom = this.positionData.vBottom + this.positionData.marginBottom\n this.subtitle && (this.subtitle.root.style.bottom = `${bottom}px`)\n }\n\n onSubtitleResize (data) {\n this.positionData.vBottom = data.vBottom\n this.positionData.marginBottom = data.marginBottom\n }\n\n destroy () {\n this.subtitle.off('resize', this.onSubtitleResize)\n this.player.off('focus', this.onFocus)\n this.player.off('blur', this.onBlur)\n this.subtitle.destroy()\n this.subtitle = null\n }\n}\n\nlet textTrack = function () {\n const player = this\n const { textTrack } = player.config\n if (!textTrack) {\n return\n }\n let textTrackStyle = player.config.textTrackStyle || {}\n Object.keys(defaultStyle).map(key => {\n if (textTrackStyle[key] === undefined) {\n textTrackStyle[key] = defaultStyle[key]\n }\n })\n player.textTrackShowDefault = false\n player.config.textTrack.map((item, index) => {\n if (!item.id && !item.language) {\n item.id = index\n }\n !item.url && (item.url = item.src)\n !item.language && (item.language = item.srclang)\n item.isDefault === undefined && (item.isDefault = item.default)\n !player.textTrackShowDefault && (player.textTrackShowDefault = item.isDefault || item.default)\n })\n\n this.subTitles = new XgSubtitles(player, player.config.textTrack, textTrackStyle)\n\n player.setSubTitles = (textTrack, needRemove = true) => {\n let showDefault = false\n textTrack.map((item, index) => {\n if (!item.id && !item.language) {\n item.id = index\n }\n !item.url && (item.url = item.src)\n !item.language && (item.language = item.srclang)\n item.isDefault === undefined && (item.isDefault = item.default)\n item.isDefault && (showDefault = true)\n })\n player.textTrackShowDefault = showDefault\n this.subTitles.setSubTitles(textTrack, showDefault, needRemove)\n player.emit('subtitle_change', {\n off: false,\n isListUpdate: true,\n list: textTrack\n })\n }\n\n player.switchSubTitle = (subtitle = { id: '', language: '' }) => {\n this.subTitles.switch(subtitle).then(data => {\n if (data.code === 0) {\n subtitle.off = false\n subtitle.isListUpdate = false\n subtitle.list = []\n player.emit('subtitle_change', subtitle)\n }\n })\n }\n\n player.switchOffSubtile = () => {\n this.subTitles.switchOff()\n player.emit('subtitle_change', {\n off: true,\n isListUpdate: false,\n list: []\n })\n }\n\n function onDestroy () {\n this.subTitles.destroy()\n this.subTitles = null\n }\n player.once('destroy', onDestroy)\n}\n\nexport default {\n name: 'textTrack',\n method: textTrack\n}\n","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=t||self,t.XgSubtitle=e())}(this,function(){\"use strict\";function t(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,\"default\")?t.default:t}function e(t,e){return e={exports:{}},t(e,e.exports),e.exports}function n(t){var e,n;this.promise=new t(function(t,r){if(void 0!==e||void 0!==n)throw TypeError(\"Bad Promise constructor\");e=t,n=r}),this.resolve=F(e),this.reject=F(n)}function r(t){var e=t.length;return 3===e?(60*(60*Number(t[0])+Number(t[1]))*1e3+1e3*Number(t[2]))/1e3:2===e?(60*Number(t[0])*1e3+1e3*Number(t[1]))/1e3:Number(t[0])}function i(t){return/^(\\-|\\+)?\\d+(\\.\\d+)?$/.test(t)}function o(t){return t}function s(t,e){return t>=0&&t<e.length?e[t]:\"\"}function a(t,e){if(!t)return!1;if(t.classList)return Array.prototype.some.call(t.classList,function(t){return t===e});var n=t.className&&\"object\"===Je(t.className)?t.getAttribute(\"class\"):t.className;return n&&!!n.match(new RegExp(\"(\\\\s|^)\"+e+\"(\\\\s|$)\"))}function u(t,e){t&&(t.classList?e.replace(/(^\\s+|\\s+$)/g,\"\").split(/\\s+/g).forEach(function(e){e&&t.classList.add(e)}):a(t,e)||(t.className&&\"object\"===Je(t.className)?t.setAttribute(\"class\",t.getAttribute(\"class\")+\" \"+e):t.className+=\" \"+e))}function c(t,e){t&&(t.classList?e.split(/\\s+/g).forEach(function(e){t.classList.remove(e)}):a(t,e)&&e.split(/\\s+/g).forEach(function(e){var n=new RegExp(\"(\\\\s|^)\"+e+\"(\\\\s|$)\");t.className&&\"object\"===Je(t.className)?t.setAttribute(\"class\",t.getAttribute(\"class\").replace(n,\" \")):t.className=t.className.replace(n,\" \")}))}function l(t,e,n){var r=e.length;if(r<1)return-1;if(n=n<0?0:n>=r?r-1:n,e[n].start<=t&&t<e[n].end)return n;for(var i=e[n].end<=t?n+1:0;i<r;i++){if(e[i].start<=t&&t<e[i].end)return i;if(t>e[i].end&&i+1<r&&t<e[i+1].start)return-1;if(t>e[i].end&&i+1>=r)return-1}return-1}function f(t,e,n){var r=e.length;if(r<1)return[];var i=[];if((n=n<0?0:n>=r?r-1:n)<r)for(var o=e[n].end<=t?n:0;o<r&&(e[o].start<=t&&t<e[o].end&&i.push(o),!(t<e[o].start));o++);return i}function h(t){return Object.prototype.toString.call(t).match(/([^\\s.*]+)(?=]$)/g)[0]}function d(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"div\",e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"\",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:\"\",i=document.createElement(t);return i.className=r,i.innerHTML=e,kr(n).forEach(function(e){var r=e,o=n[e];\"video\"===t||\"audio\"===t||\"live-video\"===t?o&&i.setAttribute(r,o):i.setAttribute(r,o)}),i}function p(){var t=navigator.userAgent,e=/(?:Windows Phone)/.test(t),n=/(?:SymbianOS)/.test(t)||e,r=/(?:Android)/.test(t),i=/(?:Firefox)/.test(t),o=/(?:iPad|PlayBook)/.test(t)||r&&!/(?:Mobile)/.test(t)||i&&/(?:Tablet)/.test(t);return/(?:iPhone)/.test(t)&&!o||r||n||o}function v(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"\",n=\"\";t.map(function(t){n+=\" \"+e+\" \"+t.key+\" {\"+t.style+\"}\"});var r=document.createElement(\"style\"),i=document.head||document.getElementsByTagName(\"head\")[0];if(r.type=\"text/css\",r.id=\"ssss\",r.styleSheet){var o=function(){try{r.styleSheet.cssText=n}catch(t){}};r.styleSheet.disabled?setTimeout(o,10):o()}else{var s=document.createTextNode(n);r.appendChild(s)}i.appendChild(r)}function y(t,e){Ir||(Ir=new Lr),Ir.addObserver(t,e)}function g(t,e){Ir&&Ir.unObserver(t,e)}function m(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n={code:Fr[t].code,msg:Fr[t].msg};return kr(e).map(function(t){n[t]=e[t]}),n}function _(t,e,n,r,i){i?n(m(2,i),{format:r.format}):r.format?(t.list=r.list,t.format=r.format,t.styles=r.styles,e(t)):n(m(3))}function x(t){return new xr(function(e,n){if(t.list)return void e(t);if(t.json){var r=Nr.parseJson(t.json);return t.list=r,t.format=\"json\",void e(t)}if(t.stringContent&&!t.url)Nr.parse(t.stringContent,function(r,i){_(t,e,n,r,i)});else if(t.url)new Tr({url:t.url,type:\"text\"}).then(function(r){Nr.parse(r.res.response,function(r,i){_(t,e,n,r,i)})}).catch(function(e){var r=m(1,{statusText:e.statusText,status:e.status,type:e.type,message:\"http load error\",url:t.url});n(r)});else{var i=m(8);n(i)}})}function b(t,e){return!!(t.id&&t.id===e.id||t.language&&t.language===e.language)}var k=function(t){if(void 0==t)throw TypeError(\"Can't call method on \"+t);return t},w=function(t){return Object(k(t))},T={}.hasOwnProperty,S=function(t,e){return T.call(t,e)},O=e(function(t){var e=t.exports={version:\"2.6.12\"};\"number\"==typeof __e&&(__e=e)}),E=(O.version,e(function(t){var e=t.exports=\"undefined\"!=typeof window&&window.Math==Math?window:\"undefined\"!=typeof self&&self.Math==Math?self:Function(\"return this\")();\"number\"==typeof __g&&(__g=e)})),P=e(function(t){var e=E[\"__core-js_shared__\"]||(E[\"__core-js_shared__\"]={});(t.exports=function(t,n){return e[t]||(e[t]=void 0!==n?n:{})})(\"versions\",[]).push({version:O.version,mode:\"pure\",copyright:\"© 2020 Denis Pushkarev (zloirock.ru)\"})}),j=0,M=Math.random(),A=function(t){return\"Symbol(\".concat(void 0===t?\"\":t,\")_\",(++j+M).toString(36))},C=P(\"keys\"),R=function(t){return C[t]||(C[t]=A(t))},N=R(\"IE_PROTO\"),L=Object.prototype,I=Object.getPrototypeOf||function(t){return t=w(t),S(t,N)?t[N]:\"function\"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?L:null},F=function(t){if(\"function\"!=typeof t)throw TypeError(t+\" is not a function!\");return t},z=function(t,e,n){if(F(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,i){return t.call(e,n,r,i)}}return function(){return t.apply(e,arguments)}},B=function(t){return\"object\"==typeof t?null!==t:\"function\"==typeof t},D=function(t){if(!B(t))throw TypeError(t+\" is not an object!\");return t},H=function(t){try{return!!t()}catch(t){return!0}},V=!H(function(){return 7!=Object.defineProperty({},\"a\",{get:function(){return 7}}).a}),W=E.document,G=B(W)&&B(W.createElement),U=function(t){return G?W.createElement(t):{}},$=!V&&!H(function(){return 7!=Object.defineProperty(U(\"div\"),\"a\",{get:function(){return 7}}).a}),K=function(t,e){if(!B(t))return t;var n,r;if(e&&\"function\"==typeof(n=t.toString)&&!B(r=n.call(t)))return r;if(\"function\"==typeof(n=t.valueOf)&&!B(r=n.call(t)))return r;if(!e&&\"function\"==typeof(n=t.toString)&&!B(r=n.call(t)))return r;throw TypeError(\"Can't convert object to primitive value\")},J=Object.defineProperty,Y={f:V?Object.defineProperty:function(t,e,n){if(D(t),e=K(e,!0),D(n),$)try{return J(t,e,n)}catch(t){}if(\"get\"in n||\"set\"in n)throw TypeError(\"Accessors not supported!\");return\"value\"in n&&(t[e]=n.value),t}},X=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}},q=V?function(t,e,n){return Y.f(t,e,X(1,n))}:function(t,e,n){return t[e]=n,t},Z=function(t,e,n){var r,i,o,s=t&Z.F,a=t&Z.G,u=t&Z.S,c=t&Z.P,l=t&Z.B,f=t&Z.W,h=a?O:O[e]||(O[e]={}),d=h.prototype,p=a?E:u?E[e]:(E[e]||{}).prototype;a&&(n=e);for(r in n)(i=!s&&p&&void 0!==p[r])&&S(h,r)||(o=i?p[r]:n[r],h[r]=a&&\"function\"!=typeof p[r]?n[r]:l&&i?z(o,E):f&&p[r]==o?function(t){var e=function(e,n,r){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(e);case 2:return new t(e,n)}return new t(e,n,r)}return t.apply(this,arguments)};return e.prototype=t.prototype,e}(o):c&&\"function\"==typeof o?z(Function.call,o):o,c&&((h.virtual||(h.virtual={}))[r]=o,t&Z.R&&d&&!d[r]&&q(d,r,o)))};Z.F=1,Z.G=2,Z.S=4,Z.P=8,Z.B=16,Z.W=32,Z.U=64,Z.R=128;var Q=Z,tt=function(t,e){var n=(O.Object||{})[t]||Object[t],r={};r[t]=e(n),Q(Q.S+Q.F*H(function(){n(1)}),\"Object\",r)};tt(\"getPrototypeOf\",function(){return function(t){return I(w(t))}});var et=O.Object.getPrototypeOf,nt=t(e(function(t){t.exports={default:et,__esModule:!0}})),rt=t(e(function(t,e){e.__esModule=!0,e.default=function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}})),it=Math.ceil,ot=Math.floor,st=function(t){return isNaN(t=+t)?0:(t>0?ot:it)(t)},at=q,ut={},ct={}.toString,lt=function(t){return ct.call(t).slice(8,-1)},ft=Object(\"z\").propertyIsEnumerable(0)?Object:function(t){return\"String\"==lt(t)?t.split(\"\"):Object(t)},ht=function(t){return ft(k(t))},dt=Math.min,pt=function(t){return t>0?dt(st(t),9007199254740991):0},vt=Math.max,yt=Math.min,gt=function(t,e){return t=st(t),t<0?vt(t+e,0):yt(t,e)},mt=function(t){return function(e,n,r){var i,o=ht(e),s=pt(o.length),a=gt(r,s);if(t&&n!=n){for(;s>a;)if((i=o[a++])!=i)return!0}else for(;s>a;a++)if((t||a in o)&&o[a]===n)return t||a||0;return!t&&-1}}(!1),_t=R(\"IE_PROTO\"),xt=function(t,e){var n,r=ht(t),i=0,o=[];for(n in r)n!=_t&&S(r,n)&&o.push(n);for(;e.length>i;)S(r,n=e[i++])&&(~mt(o,n)||o.push(n));return o},bt=\"constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf\".split(\",\"),kt=Object.keys||function(t){return xt(t,bt)},wt=V?Object.defineProperties:function(t,e){D(t);for(var n,r=kt(e),i=r.length,o=0;i>o;)Y.f(t,n=r[o++],e[n]);return t},Tt=E.document,St=Tt&&Tt.documentElement,Ot=R(\"IE_PROTO\"),Et=function(){},Pt=function(){var t,e=U(\"iframe\"),n=bt.length;for(e.style.display=\"none\",St.appendChild(e),e.src=\"javascript:\",(t=e.contentWindow.document).open(),t.write(\"<script>document.F=Object<\\/script>\"),t.close(),Pt=t.F;n--;)delete Pt.prototype[bt[n]];return Pt()},jt=Object.create||function(t,e){var n;return null!==t?(Et.prototype=D(t),n=new Et,Et.prototype=null,n[Ot]=t):n=Pt(),void 0===e?n:wt(n,e)},Mt=e(function(t){var e=P(\"wks\"),n=E.Symbol,r=\"function\"==typeof n;(t.exports=function(t){return e[t]||(e[t]=r&&n[t]||(r?n:A)(\"Symbol.\"+t))}).store=e}),At=Y.f,Ct=Mt(\"toStringTag\"),Rt=function(t,e,n){t&&!S(t=n?t:t.prototype,Ct)&&At(t,Ct,{configurable:!0,value:e})},Nt={};q(Nt,Mt(\"iterator\"),function(){return this});var Lt=function(t,e,n){t.prototype=jt(Nt,{next:X(1,n)}),Rt(t,e+\" Iterator\")},It=Mt(\"iterator\"),Ft=!([].keys&&\"next\"in[].keys()),zt=function(){return this},Bt=function(t,e,n,r,i,o,s){Lt(n,e,r);var a,u,c,l=function(t){if(!Ft&&t in p)return p[t];switch(t){case\"keys\":case\"values\":return function(){return new n(this,t)}}return function(){return new n(this,t)}},f=e+\" Iterator\",h=\"values\"==i,d=!1,p=t.prototype,v=p[It]||p[\"@@iterator\"]||i&&p[i],y=v||l(i),g=i?h?l(\"entries\"):y:void 0,m=\"Array\"==e?p.entries||v:v;if(m&&(c=I(m.call(new t)))!==Object.prototype&&c.next&&Rt(c,f,!0),h&&v&&\"values\"!==v.name&&(d=!0,y=function(){return v.call(this)}),s&&(Ft||d||!p[It])&&q(p,It,y),ut[e]=y,ut[f]=zt,i)if(a={values:h?y:l(\"values\"),keys:o?y:l(\"keys\"),entries:g},s)for(u in a)u in p||at(p,u,a[u]);else Q(Q.P+Q.F*(Ft||d),e,a);return a},Dt=function(t){return function(e,n){var r,i,o=String(k(e)),s=st(n),a=o.length;return s<0||s>=a?t?\"\":void 0:(r=o.charCodeAt(s),r<55296||r>56319||s+1===a||(i=o.charCodeAt(s+1))<56320||i>57343?t?o.charAt(s):r:t?o.slice(s,s+2):i-56320+(r-55296<<10)+65536)}}(!0);Bt(String,\"String\",function(t){this._t=String(t),this._i=0},function(){var t,e=this._t,n=this._i;return n>=e.length?{value:void 0,done:!0}:(t=Dt(e,n),this._i+=t.length,{value:t,done:!1})});var Ht=function(t,e){return{value:e,done:!!t}};Bt(Array,\"Array\",function(t,e){this._t=ht(t),this._i=0,this._k=e},function(){var t=this._t,e=this._k,n=this._i++;return!t||n>=t.length?(this._t=void 0,Ht(1)):\"keys\"==e?Ht(0,n):\"values\"==e?Ht(0,t[n]):Ht(0,[n,t[n]])},\"values\");ut.Arguments=ut.Array;for(var Vt=Mt(\"toStringTag\"),Wt=\"CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,TextTrackList,TouchList\".split(\",\"),Gt=0;Gt<Wt.length;Gt++){var Ut=Wt[Gt],$t=E[Ut],Kt=$t&&$t.prototype;Kt&&!Kt[Vt]&&q(Kt,Vt,Ut),ut[Ut]=ut.Array}var Jt={f:Mt},Yt=Jt.f(\"iterator\"),Xt=e(function(t){t.exports={default:Yt,__esModule:!0}});t(Xt);var qt=e(function(t){var e=A(\"meta\"),n=Y.f,r=0,i=Object.isExtensible||function(){return!0},o=!H(function(){return i(Object.preventExtensions({}))}),s=function(t){n(t,e,{value:{i:\"O\"+ ++r,w:{}}})},a=function(t,n){if(!B(t))return\"symbol\"==typeof t?t:(\"string\"==typeof t?\"S\":\"P\")+t;if(!S(t,e)){if(!i(t))return\"F\";if(!n)return\"E\";s(t)}return t[e].i},u=function(t,n){if(!S(t,e)){if(!i(t))return!0;if(!n)return!1;s(t)}return t[e].w},c=function(t){return o&&l.NEED&&i(t)&&!S(t,e)&&s(t),t},l=t.exports={KEY:e,NEED:!1,fastKey:a,getWeak:u,onFreeze:c}}),Zt=(qt.KEY,qt.NEED,qt.fastKey,qt.getWeak,qt.onFreeze,Y.f),Qt=function(t){var e=O.Symbol||(O.Symbol={});\"_\"==t.charAt(0)||t in e||Zt(e,t,{value:Jt.f(t)})},te={f:Object.getOwnPropertySymbols},ee={f:{}.propertyIsEnumerable},ne=function(t){var e=kt(t),n=te.f;if(n)for(var r,i=n(t),o=ee.f,s=0;i.length>s;)o.call(t,r=i[s++])&&e.push(r);return e},re=Array.isArray||function(t){return\"Array\"==lt(t)},ie=bt.concat(\"length\",\"prototype\"),oe={f:Object.getOwnPropertyNames||function(t){return xt(t,ie)}},se=oe.f,ae={}.toString,ue=\"object\"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],ce=function(t){try{return se(t)}catch(t){return ue.slice()}},le={f:function(t){return ue&&\"[object Window]\"==ae.call(t)?ce(t):se(ht(t))}},fe=Object.getOwnPropertyDescriptor,he={f:V?fe:function(t,e){if(t=ht(t),e=K(e,!0),$)try{return fe(t,e)}catch(t){}if(S(t,e))return X(!ee.f.call(t,e),t[e])}},de=qt.KEY,pe=he.f,ve=Y.f,ye=le.f,ge=E.Symbol,me=E.JSON,_e=me&&me.stringify,xe=Mt(\"_hidden\"),be=Mt(\"toPrimitive\"),ke={}.propertyIsEnumerable,we=P(\"symbol-registry\"),Te=P(\"symbols\"),Se=P(\"op-symbols\"),Oe=Object.prototype,Ee=\"function\"==typeof ge&&!!te.f,Pe=E.QObject,je=!Pe||!Pe.prototype||!Pe.prototype.findChild,Me=V&&H(function(){return 7!=jt(ve({},\"a\",{get:function(){return ve(this,\"a\",{value:7}).a}})).a})?function(t,e,n){var r=pe(Oe,e);r&&delete Oe[e],ve(t,e,n),r&&t!==Oe&&ve(Oe,e,r)}:ve,Ae=function(t){var e=Te[t]=jt(ge.prototype);return e._k=t,e},Ce=Ee&&\"symbol\"==typeof ge.iterator?function(t){return\"symbol\"==typeof t}:function(t){return t instanceof ge},Re=function(t,e,n){return t===Oe&&Re(Se,e,n),D(t),e=K(e,!0),D(n),S(Te,e)?(n.enumerable?(S(t,xe)&&t[xe][e]&&(t[xe][e]=!1),n=jt(n,{enumerable:X(0,!1)})):(S(t,xe)||ve(t,xe,X(1,{})),t[xe][e]=!0),Me(t,e,n)):ve(t,e,n)},Ne=function(t,e){D(t);for(var n,r=ne(e=ht(e)),i=0,o=r.length;o>i;)Re(t,n=r[i++],e[n]);return t},Le=function(t,e){return void 0===e?jt(t):Ne(jt(t),e)},Ie=function(t){var e=ke.call(this,t=K(t,!0));return!(this===Oe&&S(Te,t)&&!S(Se,t))&&(!(e||!S(this,t)||!S(Te,t)||S(this,xe)&&this[xe][t])||e)},Fe=function(t,e){if(t=ht(t),e=K(e,!0),t!==Oe||!S(Te,e)||S(Se,e)){var n=pe(t,e);return!n||!S(Te,e)||S(t,xe)&&t[xe][e]||(n.enumerable=!0),n}},ze=function(t){for(var e,n=ye(ht(t)),r=[],i=0;n.length>i;)S(Te,e=n[i++])||e==xe||e==de||r.push(e);return r},Be=function(t){for(var e,n=t===Oe,r=ye(n?Se:ht(t)),i=[],o=0;r.length>o;)!S(Te,e=r[o++])||n&&!S(Oe,e)||i.push(Te[e]);return i};Ee||(at((ge=function(){if(this instanceof ge)throw TypeError(\"Symbol is not a constructor!\");var t=A(arguments.length>0?arguments[0]:void 0),e=function(n){this===Oe&&e.call(Se,n),S(this,xe)&&S(this[xe],t)&&(this[xe][t]=!1),Me(this,t,X(1,n))};return V&&je&&Me(Oe,t,{configurable:!0,set:e}),Ae(t)}).prototype,\"toString\",function(){return this._k}),he.f=Fe,Y.f=Re,oe.f=le.f=ze,ee.f=Ie,te.f=Be,Jt.f=function(t){return Ae(Mt(t))}),Q(Q.G+Q.W+Q.F*!Ee,{Symbol:ge});for(var De=\"hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables\".split(\",\"),He=0;De.length>He;)Mt(De[He++]);for(var Ve=kt(Mt.store),We=0;Ve.length>We;)Qt(Ve[We++]);Q(Q.S+Q.F*!Ee,\"Symbol\",{for:function(t){return S(we,t+=\"\")?we[t]:we[t]=ge(t)},keyFor:function(t){if(!Ce(t))throw TypeError(t+\" is not a symbol!\");for(var e in we)if(we[e]===t)return e},useSetter:function(){je=!0},useSimple:function(){je=!1}}),Q(Q.S+Q.F*!Ee,\"Object\",{create:Le,defineProperty:Re,defineProperties:Ne,getOwnPropertyDescriptor:Fe,getOwnPropertyNames:ze,getOwnPropertySymbols:Be});var Ge=H(function(){te.f(1)});Q(Q.S+Q.F*Ge,\"Object\",{getOwnPropertySymbols:function(t){return te.f(w(t))}}),me&&Q(Q.S+Q.F*(!Ee||H(function(){var t=ge();return\"[null]\"!=_e([t])||\"{}\"!=_e({a:t})||\"{}\"!=_e(Object(t))})),\"JSON\",{stringify:function(t){for(var e,n,r=[t],i=1;arguments.length>i;)r.push(arguments[i++]);if(n=e=r[1],(B(e)||void 0!==t)&&!Ce(t))return re(e)||(e=function(t,e){if(\"function\"==typeof n&&(e=n.call(this,t,e)),!Ce(e))return e}),r[1]=e,_e.apply(me,r)}}),ge.prototype[be]||q(ge.prototype,be,ge.prototype.valueOf),Rt(ge,\"Symbol\"),Rt(Math,\"Math\",!0),Rt(E.JSON,\"JSON\",!0),Qt(\"asyncIterator\"),Qt(\"observable\");var Ue=O.Symbol,$e=e(function(t){t.exports={default:Ue,__esModule:!0}});t($e);var Ke=e(function(t,e){function n(t){return t&&t.__esModule?t:{default:t}}e.__esModule=!0;var r=n(Xt),i=n($e),o=\"function\"==typeof i.default&&\"symbol\"==typeof r.default?function(t){return typeof t}:function(t){return t&&\"function\"==typeof i.default&&t.constructor===i.default&&t!==i.default.prototype?\"symbol\":typeof t};e.default=\"function\"==typeof i.default&&\"symbol\"===o(r.default)?function(t){return void 0===t?\"undefined\":o(t)}:function(t){return t&&\"function\"==typeof i.default&&t.constructor===i.default&&t!==i.default.prototype?\"symbol\":void 0===t?\"undefined\":o(t)}}),Je=t(Ke),Ye=t(e(function(t,e){e.__esModule=!0;var n=function(t){return t&&t.__esModule?t:{default:t}}(Ke);e.default=function(t,e){if(!t)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!e||\"object\"!==(void 0===e?\"undefined\":(0,n.default)(e))&&\"function\"!=typeof e?t:e}}));Q(Q.S+Q.F*!V,\"Object\",{defineProperty:Y.f});var Xe=O.Object,qe=function(t,e,n){return Xe.defineProperty(t,e,n)},Ze=e(function(t){t.exports={default:qe,__esModule:!0}});t(Ze);var Qe=t(e(function(t,e){e.__esModule=!0;var n=function(t){return t&&t.__esModule?t:{default:t}}(Ze);e.default=function(){function t(t,e){for(var r=0;r<e.length;r++){var i=e[r];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),(0,n.default)(t,i.key,i)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}()})),tn=function(t,e){if(D(t),!B(e)&&null!==e)throw TypeError(e+\": can't set as prototype!\")},en={set:Object.setPrototypeOf||(\"__proto__\"in{}?function(t,e,n){try{(n=z(Function.call,he.f(Object.prototype,\"__proto__\").set,2))(t,[]),e=!(t instanceof Array)}catch(t){e=!0}return function(t,r){return tn(t,r),e?t.__proto__=r:n(t,r),t}}({},!1):void 0),check:tn};Q(Q.S,\"Object\",{setPrototypeOf:en.set});var nn=O.Object.setPrototypeOf,rn=e(function(t){t.exports={default:nn,__esModule:!0}});t(rn),Q(Q.S,\"Object\",{create:jt});var on=O.Object,sn=function(t,e){return on.create(t,e)},an=e(function(t){t.exports={default:sn,__esModule:!0}});t(an);var un,cn,ln,fn=t(e(function(t,e){function n(t){return t&&t.__esModule?t:{default:t}}e.__esModule=!0;var r=n(rn),i=n(an),o=n(Ke);e.default=function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+(void 0===e?\"undefined\":(0,o.default)(e)));t.prototype=(0,i.default)(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(r.default?(0,r.default)(t,e):t.__proto__=e)}})),hn=Mt(\"toStringTag\"),dn=\"Arguments\"==lt(function(){return arguments}()),pn=function(t,e){try{return t[e]}catch(t){}},vn=function(t){var e,n,r;return void 0===t?\"Undefined\":null===t?\"Null\":\"string\"==typeof(n=pn(e=Object(t),hn))?n:dn?lt(e):\"Object\"==(r=lt(e))&&\"function\"==typeof e.callee?\"Arguments\":r},yn=function(t,e,n,r){if(!(t instanceof e)||void 0!==r&&r in t)throw TypeError(n+\": incorrect invocation!\");return t},gn=function(t,e,n,r){try{return r?e(D(n)[0],n[1]):e(n)}catch(e){var i=t.return;throw void 0!==i&&D(i.call(t)),e}},mn=Mt(\"iterator\"),_n=Array.prototype,xn=function(t){return void 0!==t&&(ut.Array===t||_n[mn]===t)},bn=Mt(\"iterator\"),kn=O.getIteratorMethod=function(t){if(void 0!=t)return t[bn]||t[\"@@iterator\"]||ut[vn(t)]},wn=e(function(t){var e={},n={},r=t.exports=function(t,r,i,o,s){var a,u,c,l,f=s?function(){return t}:kn(t),h=z(i,o,r?2:1),d=0;if(\"function\"!=typeof f)throw TypeError(t+\" is not iterable!\");if(xn(f)){for(a=pt(t.length);a>d;d++)if((l=r?h(D(u=t[d])[0],u[1]):h(t[d]))===e||l===n)return l}else for(c=f.call(t);!(u=c.next()).done;)if((l=gn(c,h,u.value,r))===e||l===n)return l};r.BREAK=e,r.RETURN=n}),Tn=Mt(\"species\"),Sn=function(t,e){var n,r=D(t).constructor;return void 0===r||void 0==(n=D(r)[Tn])?e:F(n)},On=function(t,e,n){var r=void 0===n;switch(e.length){case 0:return r?t():t.call(n);case 1:return r?t(e[0]):t.call(n,e[0]);case 2:return r?t(e[0],e[1]):t.call(n,e[0],e[1]);case 3:return r?t(e[0],e[1],e[2]):t.call(n,e[0],e[1],e[2]);case 4:return r?t(e[0],e[1],e[2],e[3]):t.call(n,e[0],e[1],e[2],e[3])}return t.apply(n,e)},En=E.process,Pn=E.setImmediate,jn=E.clearImmediate,Mn=E.MessageChannel,An=E.Dispatch,Cn=0,Rn={},Nn=function(){var t=+this;if(Rn.hasOwnProperty(t)){var e=Rn[t];delete Rn[t],e()}},Ln=function(t){Nn.call(t.data)};Pn&&jn||(Pn=function(t){for(var e=[],n=1;arguments.length>n;)e.push(arguments[n++]);return Rn[++Cn]=function(){On(\"function\"==typeof t?t:Function(t),e)},un(Cn),Cn},jn=function(t){delete Rn[t]},\"process\"==lt(En)?un=function(t){En.nextTick(z(Nn,t,1))}:An&&An.now?un=function(t){An.now(z(Nn,t,1))}:Mn?(ln=(cn=new Mn).port2,cn.port1.onmessage=Ln,un=z(ln.postMessage,ln,1)):E.addEventListener&&\"function\"==typeof postMessage&&!E.importScripts?(un=function(t){E.postMessage(t+\"\",\"*\")},E.addEventListener(\"message\",Ln,!1)):un=\"onreadystatechange\"in U(\"script\")?function(t){St.appendChild(U(\"script\")).onreadystatechange=function(){St.removeChild(this),Nn.call(t)}}:function(t){setTimeout(z(Nn,t,1),0)});var In={set:Pn,clear:jn},Fn=In.set,zn=E.MutationObserver||E.WebKitMutationObserver,Bn=E.process,Dn=E.Promise,Hn=\"process\"==lt(Bn),Vn={f:function(t){return new n(t)}},Wn=function(t){try{return{e:!1,v:t()}}catch(t){return{e:!0,v:t}}},Gn=E.navigator,Un=Gn&&Gn.userAgent||\"\",$n=function(t,e){if(D(t),B(e)&&e.constructor===t)return e;var n=Vn.f(t);return(0,n.resolve)(e),n.promise},Kn=Mt(\"species\"),Jn=Mt(\"iterator\"),Yn=!1;try{var Xn=[7][Jn]();Xn.return=function(){Yn=!0},Array.from(Xn,function(){throw 2})}catch(t){}var qn,Zn,Qn,tr,er=In.set,nr=function(){var t,e,n,r=function(){var r,i;for(Hn&&(r=Bn.domain)&&r.exit();t;){i=t.fn,t=t.next;try{i()}catch(r){throw t?n():e=void 0,r}}e=void 0,r&&r.enter()};if(Hn)n=function(){Bn.nextTick(r)};else if(!zn||E.navigator&&E.navigator.standalone)if(Dn&&Dn.resolve){var i=Dn.resolve(void 0);n=function(){i.then(r)}}else n=function(){Fn.call(E,r)};else{var o=!0,s=document.createTextNode(\"\");new zn(r).observe(s,{characterData:!0}),n=function(){s.data=o=!o}}return function(r){var i={fn:r,next:void 0};e&&(e.next=i),t||(t=i,n()),e=i}}(),rr=E.TypeError,ir=E.process,or=ir&&ir.versions,sr=or&&or.v8||\"\",ar=E.Promise,ur=\"process\"==vn(ir),cr=function(){},lr=Zn=Vn.f,fr=!!function(){try{var t=ar.resolve(1),e=(t.constructor={})[Mt(\"species\")]=function(t){t(cr,cr)};return(ur||\"function\"==typeof PromiseRejectionEvent)&&t.then(cr)instanceof e&&0!==sr.indexOf(\"6.6\")&&-1===Un.indexOf(\"Chrome/66\")}catch(t){}}(),hr=function(t){var e;return!(!B(t)||\"function\"!=typeof(e=t.then))&&e},dr=function(t,e){if(!t._n){t._n=!0;var n=t._c;nr(function(){for(var r=t._v,i=1==t._s,o=0;n.length>o;)!function(e){var n,o,s,a=i?e.ok:e.fail,u=e.resolve,c=e.reject,l=e.domain;try{a?(i||(2==t._h&&yr(t),t._h=1),!0===a?n=r:(l&&l.enter(),n=a(r),l&&(l.exit(),s=!0)),n===e.promise?c(rr(\"Promise-chain cycle\")):(o=hr(n))?o.call(n,u,c):u(n)):c(r)}catch(t){l&&!s&&l.exit(),c(t)}}(n[o++]);t._c=[],t._n=!1,e&&!t._h&&pr(t)})}},pr=function(t){er.call(E,function(){var e,n,r,i=t._v,o=vr(t);if(o&&(e=Wn(function(){ur?ir.emit(\"unhandledRejection\",i,t):(n=E.onunhandledrejection)?n({promise:t,reason:i}):(r=E.console)&&r.error&&r.error(\"Unhandled promise rejection\",i)}),t._h=ur||vr(t)?2:1),t._a=void 0,o&&e.e)throw e.v})},vr=function(t){return 1!==t._h&&0===(t._a||t._c).length},yr=function(t){er.call(E,function(){var e;ur?ir.emit(\"rejectionHandled\",t):(e=E.onrejectionhandled)&&e({promise:t,reason:t._v})})},gr=function(t){var e=this;e._d||(e._d=!0,(e=e._w||e)._v=t,e._s=2,e._a||(e._a=e._c.slice()),dr(e,!0))},mr=function(t){var e,n=this;if(!n._d){n._d=!0,n=n._w||n;try{if(n===t)throw rr(\"Promise can't be resolved itself\");(e=hr(t))?nr(function(){var r={_w:n,_d:!1};try{e.call(t,z(mr,r,1),z(gr,r,1))}catch(t){gr.call(r,t)}}):(n._v=t,n._s=1,dr(n,!1))}catch(t){gr.call({_w:n,_d:!1},t)}}};fr||(ar=function(t){yn(this,ar,\"Promise\",\"_h\"),F(t),qn.call(this);try{t(z(mr,this,1),z(gr,this,1))}catch(t){gr.call(this,t)}},(qn=function(t){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1}).prototype=function(t,e,n){for(var r in e)n&&t[r]?t[r]=e[r]:q(t,r,e[r]);return t}(ar.prototype,{then:function(t,e){var n=lr(Sn(this,ar));return n.ok=\"function\"!=typeof t||t,n.fail=\"function\"==typeof e&&e,n.domain=ur?ir.domain:void 0,this._c.push(n),this._a&&this._a.push(n),this._s&&dr(this,!1),n.promise},catch:function(t){return this.then(void 0,t)}}),Qn=function(){var t=new qn;this.promise=t,this.resolve=z(mr,t,1),this.reject=z(gr,t,1)},Vn.f=lr=function(t){return t===ar||t===tr?new Qn(t):Zn(t)}),Q(Q.G+Q.W+Q.F*!fr,{Promise:ar}),Rt(ar,\"Promise\"),function(t){var e=\"function\"==typeof O[t]?O[t]:E[t];V&&e&&!e[Kn]&&Y.f(e,Kn,{configurable:!0,get:function(){return this}})}(\"Promise\"),tr=O.Promise,Q(Q.S+Q.F*!fr,\"Promise\",{reject:function(t){var e=lr(this);return(0,e.reject)(t),e.promise}}),Q(Q.S+!0*Q.F,\"Promise\",{resolve:function(t){return $n(this===tr?ar:this,t)}}),Q(Q.S+Q.F*!(fr&&function(t,e){if(!e&&!Yn)return!1;var n=!1;try{var r=[7],i=r[Jn]();i.next=function(){return{done:n=!0}},r[Jn]=function(){return i},t(r)}catch(t){}return n}(function(t){ar.all(t).catch(cr)})),\"Promise\",{all:function(t){var e=this,n=lr(e),r=n.resolve,i=n.reject,o=Wn(function(){var n=[],o=0,s=1;wn(t,!1,function(t){var a=o++,u=!1;n.push(void 0),s++,e.resolve(t).then(function(t){u||(u=!0,n[a]=t,--s||r(n))},i)}),--s||r(n)});return o.e&&i(o.v),n.promise},race:function(t){var e=this,n=lr(e),r=n.reject,i=Wn(function(){wn(t,!1,function(t){e.resolve(t).then(n.resolve,r)})});return i.e&&r(i.v),n.promise}}),Q(Q.P+Q.R,\"Promise\",{finally:function(t){var e=Sn(this,O.Promise||E.Promise),n=\"function\"==typeof t;return this.then(n?function(n){return $n(e,t()).then(function(){return n})}:t,n?function(n){return $n(e,t()).then(function(){throw n})}:t)}}),Q(Q.S,\"Promise\",{try:function(t){var e=Vn.f(this),n=Wn(t);return(n.e?e.reject:e.resolve)(n.v),e.promise}});var _r=O.Promise,xr=t(e(function(t){t.exports={default:_r,__esModule:!0}}));tt(\"keys\",function(){return function(t){return kt(w(t))}});var br=O.Object.keys,kr=t(e(function(t){t.exports={default:br,__esModule:!0}})),wr=e(function(t){function e(){}function n(t,e,n){this.fn=t,this.context=e,this.once=n||!1}function r(t,e,r,i,o){if(\"function\"!=typeof r)throw new TypeError(\"The listener must be a function\");var s=new n(r,i||t,o),u=a?a+e:e;return t._events[u]?t._events[u].fn?t._events[u]=[t._events[u],s]:t._events[u].push(s):(t._events[u]=s,t._eventsCount++),t}function i(t,n){0==--t._eventsCount?t._events=new e:delete t._events[n]}function o(){this._events=new e,this._eventsCount=0}var s=Object.prototype.hasOwnProperty,a=\"~\";Object.create&&(e.prototype=Object.create(null),(new e).__proto__||(a=!1)),o.prototype.eventNames=function(){var t,e,n=[];if(0===this._eventsCount)return n;for(e in t=this._events)s.call(t,e)&&n.push(a?e.slice(1):e);return Object.getOwnPropertySymbols?n.concat(Object.getOwnPropertySymbols(t)):n},o.prototype.listeners=function(t){var e=a?a+t:t,n=this._events[e];if(!n)return[];if(n.fn)return[n.fn];for(var r=0,i=n.length,o=new Array(i);r<i;r++)o[r]=n[r].fn;return o},o.prototype.listenerCount=function(t){var e=a?a+t:t,n=this._events[e];return n?n.fn?1:n.length:0},o.prototype.emit=function(t,e,n,r,i,o){var s=a?a+t:t;if(!this._events[s])return!1;var u,c,l=this._events[s],f=arguments.length;if(l.fn){switch(l.once&&this.removeListener(t,l.fn,void 0,!0),f){case 1:return l.fn.call(l.context),!0;case 2:return l.fn.call(l.context,e),!0;case 3:return l.fn.call(l.context,e,n),!0;case 4:return l.fn.call(l.context,e,n,r),!0;case 5:return l.fn.call(l.context,e,n,r,i),!0;case 6:return l.fn.call(l.context,e,n,r,i,o),!0}for(c=1,u=new Array(f-1);c<f;c++)u[c-1]=arguments[c];l.fn.apply(l.context,u)}else{var h,d=l.length;for(c=0;c<d;c++)switch(l[c].once&&this.removeListener(t,l[c].fn,void 0,!0),f){case 1:l[c].fn.call(l[c].context);break;case 2:l[c].fn.call(l[c].context,e);break;case 3:l[c].fn.call(l[c].context,e,n);break;case 4:l[c].fn.call(l[c].context,e,n,r);break;default:if(!u)for(h=1,u=new Array(f-1);h<f;h++)u[h-1]=arguments[h];l[c].fn.apply(l[c].context,u)}}return!0},o.prototype.on=function(t,e,n){return r(this,t,e,n,!1)},o.prototype.once=function(t,e,n){return r(this,t,e,n,!0)},o.prototype.removeListener=function(t,e,n,r){var o=a?a+t:t;if(!this._events[o])return this;if(!e)return i(this,o),this;var s=this._events[o];if(s.fn)s.fn!==e||r&&!s.once||n&&s.context!==n||i(this,o);else{for(var u=0,c=[],l=s.length;u<l;u++)(s[u].fn!==e||r&&!s[u].once||n&&s[u].context!==n)&&c.push(s[u]);c.length?this._events[o]=1===c.length?c[0]:c:i(this,o)}return this},o.prototype.removeAllListeners=function(t){var n;return t?(n=a?a+t:t,this._events[n]&&i(this,n)):(this._events=new e,this._eventsCount=0),this},o.prototype.off=o.prototype.removeListener,o.prototype.addListener=o.prototype.on,o.prefixed=a,o.EventEmitter=o,t.exports=o}),Tr=function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=e.url,r=e.method,i=void 0===r?\"GET\":r,o=e.type,s=void 0===o?\"arraybuffer\":o,a=e.timeout,u=void 0===a?1e4:a,c=e.data,l=void 0===c?{}:c,f=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return rt(this,t),new xr(function(t,e){var r=new window.XMLHttpRequest,o=i.toUpperCase(),a=[];s&&(r.responseType=s),u&&(r.timeout=u);for(var c in l)a.push(\"k=\"+l[c]);if(r.onload=function(){200===r.status||206===r.status?t({context:f,res:r}):e(new Error({context:f,res:r,type:\"error\"}))},r.onerror=function(t){e(new Error({context:f,res:r,type:\"error\"}))},r.ontimeout=function(t){e(new Error({context:f,res:r,type:\"error\"}))},r.onabort=function(){e(new Error({context:f,res:r,type:\"error\"}))},\"GET\"===o)r.open(o,\"\"+n),r.send();else{if(\"post\"!==o)throw new Error(\"xhr \"+o+\" is not supported\");r.open(o,n),r.setRequestHeader(\"Content-type\",\"application/x-www-form-urlencoded\"),r.send(a.join(\"&\"))}})},Sr=/^WEBVTT/,Or=/^STYLE+$/,Er=/^\\:\\:cue/,Pr=/^}+$/,jr=/^\\[Script Info\\].*/,Mr=[/[0-9]{2}:[0-9]{2}:[0-9]{2}\\.[0-9]{3}-->[0-9]{2}:[0-9]{2}:[0-9]{2}\\.[0-9]{3}/,/[0-9]{2}:[0-9]{2}\\.[0-9]{3}-->[0-9]{2}:[0-9]{2}\\.[0-9]{3}/,/[0-9]{2}\\.[0-9]{3}-->[0-9]{2}\\.[0-9]{3}/],Ar=/^Format:\\s/,Cr=/^Style:\\s/,Rr=/^Dialogue:\\s/,Nr=function(){function t(){rt(this,t)}return Qe(t,null,[{key:\"parseJson\",value:function(t){for(var e=[],n=0,r=0;r<t.length;r++){if(n>=50&&(n=0),0===n){var i={start:t[r].start,list:[t[r]],end:t[r].end};e.push(i)}else e[e.length-1].list.push(t[r]),e[e.length-1].end=t[r].end;n++}return e}},{key:\"parse\",value:function(e,n){var r=t.checkFormat(e);r||n({format:r});try{var i=[];\"ass\"===r?i=t.parseASS(e):\"vtt\"===r&&(i=t.parseVTT(e)),n({format:r,list:i.list,styles:i.styles})}catch(t){console.error(t),n({format:r},t)}}},{key:\"parseASSItem\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"\",e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=t.split(\",\"),i={},s=\"\";try{var a=n.length-e.length;return s=a>0?n.splice(e.length-1,a+1).join(\",\")+\"\":n[n.length-1]+\"\",s=s.replace(/\\\\n+/g,\"\"),s=o(s),n[e.length-1]=s,e.map(function(t,e){\"end\"===t||\"start\"===t?i[t]=r(n[e].split(\":\")):\"text\"===t?i[t]=[n[e]]:\"layer\"===t?(i[t]=[n[e]],i.textTag=[n[e]]):i[t]=\"style\"===t?[n[e]]:Number(n[e])?Number(n[e]):n[e]}),i}catch(t){return console.error(t),{}}}},{key:\"parseASS\",value:function(e){for(var n=e.split(\"\\n\"),r=[],i=0,o=0,s=[],a=[],u=null;i<n.length;){if(Ar.test(n[i]))a=(a=n[i].replace(Ar,\"\").replace(/\\s+/g,\"\").split(\",\")).map(function(t){return t.toLocaleLowerCase()});else if(Cr.test(n[i]))s.push(n[i].replace(Cr,\"\").replace(/\\s+/g,\"\"));else if(Rr.test(n[i])){var c=t.parseASSItem(n[i].replace(Rr,\"\"),a);if(u&&c.start===u.start&&c.end===u.end)try{var l=u,f=l.text,h=l.textTag,d=l.style;f.push(c.text[0]),h.push(c.textTag[0]),d.push(c.style[0])}catch(t){console.error(t)}else{u=c;var p=null;o%50==0?((p={start:u.start,end:u.end,list:[]}).list.push(u),r.push(p)):((p=r[r.length-1]).end=u.end,p.list.push(u)),o++}}i++}return{list:r,style:{}}}},{key:\"parseVTTStyle\",value:function(t,e){var n=t.split(\":\");if(n.length>1){var r=n[0].trim().split(\"-\"),i=\"\";r.length>1?r.map(function(t,e){i+=0===e?t:t.charAt(0).toUpperCase()+t.slice(1)}):i=r[0],e[i]=n[1].trim().replace(/;$/,\"\")}return e}},{key:\"parseVTT\",value:function(t){for(var e=(t=t.replace(Sr,\"\")).split(\"\\n\"),n=[],r=0,o=0,a=null,u=!1,c=!1,l=null,f=null,h=[];r<e.length;){var d=s(r,e).trim();if(!d||u&&i(d))u=!d;else if(Er.test(d)&&Or.test(s(r-1,e).trim())){c=!0;var p=/\\((.+?)\\)/g.exec(d);f=p?p[1]:\"\",l=\"\"}else if(c)Pr.test(d)?(h.push({key:f,style:l}),l=null,f=null,c=!1):l+=d;else if(d){u=!1;var v=this.checkIsTime(e[r]);if(v){var y=this.parseVttTime(v);if(!a||y.start!==a.start||y.end!==a.end){(a=y).text=[],a.textTag=[];var g=null;o%50==0?((g={start:a.start,end:a.end,list:[]}).list.push(a),n.push(g)):((g=n[n.length-1]).end=a.end,g.list.push(a)),o++}}else if(a){var m=a,_=m.text,x=m.textTag,b=this.parseVttText(e[r]);_.push(b.text),x.push(b.tag)}u=!1}r++}return{list:n,styles:h}}},{key:\"checkIsTime\",value:function(t){t=t.replace(/\\s+/g,\"\");for(var e=0,n=null;e<Mr.length&&!(n=Mr[e].exec(t));)e++;return n?n[0]:null}},{key:\"parseVttText\",value:function(t){var e=/^(<?.+?>)/g.exec(t),n=\"\",r=\"default\";if(e){r=e[0].replace(/\\<|\\>|\\&/g,\"\");var i=RegExp(\"^<\"+r+\">(([\\\\s\\\\S])*?)</\"+r+\">$\").exec(t);i?n=i[1]:(n=t,r=\"\")}else n=t;for(var s=/<(\\w+).(\\w+)>/g,a=s.exec(n);a&&a.length>2;)n=n.replace(a[0],\"<\"+a[1]+' class=\"'+a[2]+'\">'),a=s.exec(n);return{tag:r,text:o(n.replace(/\\\\n+/g,\"<br/>\"))}}},{key:\"parseVttTime\",value:function(t){var e=t.split(\"--\\x3e\"),n=void 0,i=0;if(2===e.length){var o=e[0].split(\":\"),s=e[1].split(\":\");n=r(o),i=r(s)}return{start:n,end:i,time:t}}},{key:\"isVTT\",value:function(t){return Sr.test(t)}},{key:\"isASS\",value:function(t){return jr.test(t)}},{key:\"checkFormat\",value:function(t){return t?Sr.test(t)?\"vtt\":jr.test(t)?\"ass\":null:null}}]),t}(),Lr=function(){function t(){var e=this;rt(this,t),this.__handlers=[],window.ResizeObserver&&(this.observer=new window.ResizeObserver(function(t){e.__trigger(t)}))}return Qe(t,[{key:\"addObserver\",value:function(t,e){if(this.observer){this.observer&&this.observer.observe(t);for(var n=this.__handlers,r=-1,i=0;i<n.length;i++)n[i]&&t===n[i].target&&(r=i);r>-1?this.__handlers[r].handler.push(e):this.__handlers.push({target:t,handler:[e]})}}},{key:\"unObserver\",value:function(t){var e=-1;this.__handlers.map(function(n,r){t===n.target&&(e=r)}),this.observer&&this.observer.unobserve(t),e>-1&&this.__handlers.splice(e,1)}},{key:\"destroyObserver\",value:function(){this.observer&&this.observer.disconnect(),this.observer=null,this.__handlers=null}},{key:\"__runHandler\",value:function(t,e){for(var n=this.__handlers,r=0;r<n.length;r++)if(n[r]&&t===n[r].target){n[r].handler&&n[r].handler.map(function(n){try{n(t,e)}catch(t){console.error(t)}});break}}},{key:\"__trigger\",value:function(t){var e=this;t.map(function(t){var n=t.contentRect;e.__runHandler(t.target,n)})}}]),t}(),Ir=null;!function(t,e){void 0===e&&(e={});var n=e.insertAt;if(t&&\"undefined\"!=typeof document){var r=document.head||document.getElementsByTagName(\"head\")[0],i=document.createElement(\"style\");i.type=\"text/css\",\"top\"===n&&r.firstChild?r.insertBefore(i,r.firstChild):r.appendChild(i),i.styleSheet?i.styleSheet.cssText=t:i.appendChild(document.createTextNode(t))}}('xg-text-track.xg-text-track {\\n font-family: \"PingFang SC\",\"SF Pro SC\",\"SF Pro Text\",\"SF Pro Icons\",\"Helvetica Neue\",\"Helvetica\",\"Arial\",sans-serif;\\n -webkit-font-smoothing: antialiased;\\n position: absolute;\\n bottom: 0;\\n color: #fff;\\n left: 0;\\n right: 0;\\n pointer-events: none;\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-pack: center;\\n -ms-flex-pack: center;\\n justify-content: center; }\\n xg-text-track.xg-text-track.text-track-no-fitvideo {\\n margin-bottom: 2%; }\\n xg-text-track.xg-text-track.text-track-hide {\\n opacity: 0;\\n visibility: hidden; }\\n xg-text-track.xg-text-track.text-track-show {\\n opacity: 1;\\n visibility: visible; }\\n xg-text-track.xg-text-track xg-text-track-inner {\\n display: block;\\n max-width: 92%; }\\n xg-text-track.xg-text-track xg-text-track-span {\\n display: -webkit-box;\\n text-align: center;\\n text-overflow: ellipsis;\\n -webkit-box-orient: vertical;\\n overflow: hidden;\\n padding: 1px 4px;\\n -webkit-line-clamp: 1;\\n line-height: 120%;\\n word-break: break-word; }\\n xg-text-track.xg-text-track xg-text-track-span.text-track-deputy {\\n font-size: 75%; }\\n xg-text-track.xg-text-track xg-text-track-span.text-track-single {\\n -webkit-line-clamp: 1; }\\n xg-text-track.xg-text-track xg-text-track-span.text-track-double {\\n -webkit-line-clamp: 2; }\\n xg-text-track.xg-text-track xg-text-track-span.text-track-three {\\n -webkit-line-clamp: 3; }\\n xg-text-track.xg-text-track.text-track-bg xg-text-track-inner {\\n background-color: rgba(0, 0, 0, .54);\\n border-radius: 2px; }\\n xg-text-track.xg-text-track.text-track-stroke xg-text-track-inner {\\n background-color: none;\\n border-radius: 0;\\n text-shadow: -1px 1px 0 rgba(0, 0, 0, .7), 1px 1px 0 rgba(0, 0, 0, .7), 1px -1px 0 rgba(0, 0, 0, .7), -1px -1px 0 rgba(0, 0, 0, .7); }\\n');var Fr=[{code:0,msg:\"SUCCESS\"},{code:1,msg:\"LOAD_ERROR\"},{code:2,msg:\"PARSER_ERROR\"},{code:3,msg:\"FORMAT_NOT_SUPPORTED\"},{code:4,msg:\"ID_OR_LANGUAGE_NOT_EXIST\"},{code:5,msg:\"PARAMETERS_ERROR\"},{code:6,msg:\"ABORT\"},{code:7,msg:\"UNKNOWN\"},{code:8,msg:\"DATA_ERROR:subtitle.url is null\"}],zr={RESIZE:\"resize\"},Br=!1;return function(t){function e(t){rt(this,e);var n=Ye(this,(e.__proto__||nt(e)).call(this));return Br=p(),n.currentText=null,n.textTrack=[],n._cid=-1,n._gid=-1,n._cids=[],n._iId=null,n._iC=0,n.player=null,n.root=null,n.config={line:\"double\",bottom:0,mode:\"stroke\",defaultOpen:!1,baseSizeX:49,baseSizeY:28,minSize:16,minMobileSize:13,fitVideo:!0,offsetBottom:2,fontColor:\"#fff\"},n._ctime=0,n._loadingTrack={},kr(n.config).map(function(e){void 0!==t[e]&&null!==t[e]&&(n.config[e]=t[e])}),n._isOpen=!1,n._videoMeta={scale:0,videoHeight:0,videoWidth:0,lwidth:0,lheight:0,vWidth:0,vHeight:0,vBottom:0,vLeft:0,marginBottom:0},t.subTitles&&\"Array\"===h(t.subTitles)?(t.player&&n.attachPlayer(t.player),n.setSubTitles(t.subTitles,n.config.defaultOpen),n):Ye(n)}return fn(e,t),Qe(e,[{key:\"version\",get:function(){return\"1.0.12\"}}]),Qe(e,[{key:\"setSubTitles\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=this,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],i=this._isOpen||n;r&&this.innerRoot&&this.switchOff(),this.currentText=null,this.textTrack=[],t.map(function(t){var n={};kr(t).map(function(e){n[e]=t[e]}),n.isDefault&&(e.currentText=n),e.textTrack.push(n)}),this.currentText&&x(this.currentText).then(function(t){e.addStyles(t),i&&e.switch()})}},{key:\"addStyles\",value:function(t){var e=t.styles,n=t.format;e&&\"vtt\"===n&&(e.map(function(t){t.key||(t.key=\"xg-text-track-span\")}),v(e,\"xg-text-track\"))}},{key:\"attachPlayer\",value:function(t){var e=this;if(t){this.player&&this.detachPlayer();var n=this.config,r=n.fontColor,i=n.mode,o=n.fitVideo;this.player=t,this.root=document.createElement(\"xg-text-track\"),this.root.className=\"xg-text-track\",!this._isOpen&&u(this.root,\"text-track-hide\"),!o&&u(this.root,\"text-track-no-fitvideo\"),i&&u(this.root,\"text-track-\"+i),this.innerRoot=document.createElement(\"xg-text-track-inner\"),this.root.appendChild(this.innerRoot),r&&(this.root.style.color=r),this.currentText&&[\"language\",\"id\",\"label\"].map(function(t){e.root.setAttribute(\"data-\"+t,e.currentText[t]||\"\")}),this.player.root.appendChild(this.root),[\"destroy\",\"__onTimeupdate\",\"_onResize\"].map(function(t){e[t]=e[t].bind(e)}),this.player.on(\"destroy\",this.destroy),this.player.on(\"timeupdate\",this.__onTimeupdate),this._isOpen&&this.switch(),y(t.root,this._onResize)}}},{key:\"detachPlayer\",value:function(){var t=this.player;t&&(t.off(\"destroy\",this.destroy),t.off(\"timeupdate\",this.__onTimeupdate),t.root&&(g(t.root,this._onResize),t.root.removeChild(this.root)),this.innerRoot=null,this.root=null,this.player=null)}},{key:\"switch\",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{id:\"\",language:\"\"};return this._loadingTrack=e,new xr(function(n,r){if(!e.id&&!e.language){if(t.currentText){t._loadingTrack={},t._updateCurrent(t.currentText),t._isOpen=!0,t.show();var i=m(0,{message:\"switch default subtitle success\"});return void n(i)}var o=m(5,{message:\"no default subtitle\"});return void r(o)}if(t.currentText&&b(e,t.currentText))t._loadingTrack={},t._updateCurrent(t.currentText),t._isOpen=!0,t.show(),n(m(0));else{for(var s=null,a=0;a<t.textTrack.length;a++)if(b(e,t.textTrack[a])){s=t.textTrack[a];break}if(s)s.list?(t._loadingTrack={},t._updateCurrent(s),t._isOpen=!0,t.show(),n(m(0))):x(s).then(function(e){if(t.addStyles(e),t._loadingTrack.id===s.id||t._loadingTrack.language===e.language)t._loadingTrack={},t._updateCurrent(e),t._isOpen=!0,t.show(),n(m(0));else{var i=m(6,{message:\"check _loadingTrack fail id: \"+t._loadingTrack.id+\" nextSubtitle:\"+e.id});console.trace(i),r(i)}}).catch(function(t){r(t)});else{var u=m(4,new Error(\"The is no subtitle with id:[{\"+e.id+\"}] or language:[\"+e.language+\"]\"));console.trace(u),r(u)}}})}},{key:\"switchOff\",value:function(){this._isOpen=!1,this.hide()}},{key:\"_updateCurrent\",value:function(t){var e=this;if(this.root){this.currentText=t,[\"language\",\"id\",\"label\"].map(function(t){e.root.setAttribute(\"data-\"+t,e.currentText[t]||\"\")}),this.__remove(this._cids);var n=this.player.currentTime;this._cids=[],this._gid=-1,this._cid=-1,this._update(n)}}},{key:\"__loadAll\",value:function(){this.textTrack.map(function(t){x(t)})}},{key:\"getDelCid\",value:function(t,e){for(var n=[],r=0;r<t.length;r++)e.includes(t[r])||n.push(t[r]);return n}},{key:\"getNewCid\",value:function(t,e){for(var n=[],r=0;r<e.length;r++)t.includes(e[r])||n.push(e[r]);return n}},{key:\"_update\",value:function(t){var e=this,n=l(t,this.currentText.list,this._gid),r=[];if(n>-1&&(r=f(t,this.currentText.list[n].list,this._cid)),r.length<1)return this._cids.length>0&&this.__remove(this._cids),void(this._cids=[]);if(this._cids!==r||n!==this._gid){this._gid=n,this._cid=r[0];var i=this.getDelCid(this._cids,r),o=this.getNewCid(this._cids,r);this._cids=r,this.__remove(i);var s=[];o.map(function(t){var r=e.currentText.list[n].list[t];r.index=t,s.push(r)}),this.__render(s,t)}}},{key:\"__onTimeupdate\",value:function(){if(this._isOpen){var t=this.player.video,e=t.videoWidth,n=t.videoHeight;!this._videoMeta.scale&&e&&n&&this._onResize(this.player.root);var r=this.player.currentTime;Math.round(Math.abs(1e3*r-this._ctime))<200||(this._ctime=1e3*r,this.currentText&&this.currentText.list&&this._update(r))}}},{key:\"_onResize\",value:function(t){var e=this._videoMeta;if(t&&t instanceof window.Element||(t=this.player.root),this._iId&&(clearTimeout(this._iId),this._iId=null),!e.scale){if(!this.player.video)return;var n=this.player.video,r=n.videoWidth,i=n.videoHeight;if(!r||!i)return;e.videoWidth=r,e.videoHeight=i,e.scale=parseInt(i/r*100,10)}this.__startResize(t)}},{key:\"resize\",value:function(t,e){var n=this,r=this.config,i=r.baseSizeX,o=r.baseSizeY,s=r.minMobileSize,a=r.minSize,u=r.fitVideo,c=r.offsetBottom,l=this._videoMeta.scale;this._videoMeta.lwidth=t,this._videoMeta.lheight=e;var f=void 0,h=0;e/t*100>=l?(h=parseInt(l*t,10)/100,f=t):(h=e,f=parseInt(e/l*100,10)),this._videoMeta.vWidth=f,this._videoMeta.vHeight=h;var d=0,p=0;l>120?(d=o,p=parseInt(d*h/1080,10)):(d=i,p=parseInt(d*f/1920,10));var v=Br?s:a,y={fontSize:p=p<v?v:p>d?d:p},g=parseInt((e-h)/2,10),m=parseInt((t-f)/2,10),_=parseInt(h*c,10)/100;this._videoMeta.vBottom=g,this._videoMeta.vLeft=m,this._videoMeta.marginBottom=_,u&&(y.bottom=g+_,y.left=y.right=m),kr(y).map(function(t){n.root.style[t]=y[t]+\"px\"}),this.emit(zr.RESIZE,{vLeft:m,vBottom:g,marginBottom:_,vWidth:f,vHeight:h,fontSize:p,scale:l})}},{key:\"__startResize\",value:function(t){var e=this,n=t.getBoundingClientRect(),r=this._videoMeta,i=n.width,o=n.height;if(this._iId&&(clearTimeout(this._iId),this._iId=null),i>0&&o>0&&(i!==r.lwidth||o!==r.lheight))this._iC=0,this.resize(i,o);else{if(this._iC>=5)return void(this._iC=0);this._iC++,this._iId=setTimeout(function(){e.__startResize(t)},50)}}},{key:\"__remove\",value:function(t){var e=this;if(t&&!(t.length<1)){for(var n=this.innerRoot.children,r=[],i=0;i<n.length;i++){var o=Number(n[i].getAttribute(\"data-index\"));t.includes(o)&&r.push(n[i])}r.map(function(t){e.innerRoot.removeChild(t)})}}},{key:\"__render\",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];e.length>0&&e.map(function(e){var n=\"text-track-\"+t.config.line;e.text.map(function(r,i){i>0&&(n+=\" text-track-deputy\");var o={\"data-start\":e.start,\"data-end\":e.end,\"data-index\":e.index};t.innerRoot.appendChild(d(\"xg-text-track-span\",r,o,n))})})}},{key:\"show\",value:function(){c(this.root,\"text-track-hide\")}},{key:\"hide\",value:function(){u(this.root,\"text-track-hide\"),this.innerRoot.innerHTML=\"\"}},{key:\"destroy\",value:function(){this.detachPlayer(),this.removeAllListeners(),this.player=null,this.textTrack=null}},{key:\"marginBottom\",get:function(){var t=this._videoMeta,e=t.bottom,n=t.marginBottom;return this.config.fitVideo?e+n:n}}]),e}(wr)});\n//# sourceMappingURL=index.min.js.map\n","import Player from '../player'\n\nimport I18n from './controls/i18n.js'\nimport Enter from './controls/enter.js'\nimport Play from './controls/play.js'\nimport Start from './controls/start.js'\nimport Poster from './controls/poster.js'\nimport Flex from './controls/flex.js'\nimport Fullscreen from './controls/fullscreen.js'\nimport CssFullscreen from './controls/cssFullscreen.js'\nimport Volume from './controls/volume.js'\nimport Definition from './controls/definition.js'\nimport Loading from './controls/loading.js'\nimport Progress from './controls/progress.js'\nimport Time from './controls/time.js'\nimport Replay from './controls/replay.js'\nimport PlaybackRate from './controls/playbackRate.js'\nimport LocalPreview from './controls/localPreview.js'\nimport Download from './controls/download.js'\nimport Danmu from './controls/danmu.js'\nimport Pip from './controls/pip.js'\nimport Miniplayer from './controls/miniplayer.js'\nimport PlayNext from './controls/playNext.js'\nimport Rotate from './controls/rotate.js'\nimport Reload from './controls/reload.js'\nimport ScreenShot from './controls/screenShot.js'\nimport NativeTextTrack from './controls/nativeTextTrack.js'\nimport TextTrack from './controls/textTrack.js'\nimport ErrorControl from './controls/error.js'\nimport MemoryPlay from './controls/memoryPlay.js'\nimport Airplay from './controls/airplay.js'\n\nPlayer.installAll([\n I18n,\n Enter,\n Play,\n Start,\n Poster,\n Flex,\n Fullscreen,\n CssFullscreen,\n Volume,\n Definition,\n Loading,\n Progress,\n Time,\n Replay,\n PlaybackRate,\n LocalPreview,\n Download,\n Danmu,\n Pip,\n Miniplayer,\n PlayNext,\n Rotate,\n Reload,\n ScreenShot,\n NativeTextTrack,\n TextTrack,\n ErrorControl,\n MemoryPlay,\n Airplay\n])","import { createDom } from '../../utils/util'\nimport '../style/controls/enter.scss'\n\nlet s_enter = function () {\n let player = this\n let root = player.root\n\n let barStr = ''\n for(let i = 1; i <= 12; i++) {\n barStr += `<div class=\"xgplayer-enter-bar${i}\"></div>`\n }\n let enter = createDom('xg-enter', `<div class=\"xgplayer-enter-spinner\">\n ${barStr}\n </div>`, {}, 'xgplayer-enter');\n root.appendChild(enter)\n}\n\nexport default {\n name: 's_enter',\n method: s_enter\n}","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./enter.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./enter.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./enter.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-enter{display:none;position:absolute;left:0;top:0;width:100%;height:100%;background:#000;z-index:120}.xgplayer-skin-default .xgplayer-enter .xgplayer-enter-spinner{display:block;position:absolute;left:50%;top:50%;height:100px;width:100px;position:relative;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.xgplayer-skin-default .xgplayer-enter .xgplayer-enter-spinner div{width:12%;height:26%;background-color:hsla(0,0%,100%,.7);position:absolute;left:44%;top:37%;opacity:0;border-radius:30px;-webkit-animation:fade 1s linear infinite;animation:fade 1s linear infinite}.xgplayer-skin-default .xgplayer-enter .xgplayer-enter-spinner div.xgplayer-enter-bar1{-webkit-transform:rotate(0deg) translateY(-142%);-ms-transform:rotate(0deg) translateY(-142%);transform:rotate(0deg) translateY(-142%);-webkit-animation-delay:0s;animation-delay:0s}.xgplayer-skin-default .xgplayer-enter .xgplayer-enter-spinner div.xgplayer-enter-bar2{-webkit-transform:rotate(30deg) translateY(-142%);-ms-transform:rotate(30deg) translateY(-142%);transform:rotate(30deg) translateY(-142%);-webkit-animation-delay:-.9163s;animation-delay:-.9163s}.xgplayer-skin-default .xgplayer-enter .xgplayer-enter-spinner div.xgplayer-enter-bar3{-webkit-transform:rotate(60deg) translateY(-142%);-ms-transform:rotate(60deg) translateY(-142%);transform:rotate(60deg) translateY(-142%);-webkit-animation-delay:-.833s;animation-delay:-.833s}.xgplayer-skin-default .xgplayer-enter .xgplayer-enter-spinner div.xgplayer-enter-bar4{-webkit-transform:rotate(90deg) translateY(-142%);-ms-transform:rotate(90deg) translateY(-142%);transform:rotate(90deg) translateY(-142%);-webkit-animation-delay:-.7497s;animation-delay:-.7497s}.xgplayer-skin-default .xgplayer-enter .xgplayer-enter-spinner div.xgplayer-enter-bar5{-webkit-transform:rotate(120deg) translateY(-142%);-ms-transform:rotate(120deg) translateY(-142%);transform:rotate(120deg) translateY(-142%);-webkit-animation-delay:-.6664s;animation-delay:-.6664s}.xgplayer-skin-default .xgplayer-enter .xgplayer-enter-spinner div.xgplayer-enter-bar6{-webkit-transform:rotate(150deg) translateY(-142%);-ms-transform:rotate(150deg) translateY(-142%);transform:rotate(150deg) translateY(-142%);-webkit-animation-delay:-.5831s;animation-delay:-.5831s}.xgplayer-skin-default .xgplayer-enter .xgplayer-enter-spinner div.xgplayer-enter-bar7{-webkit-transform:rotate(180deg) translateY(-142%);-ms-transform:rotate(180deg) translateY(-142%);transform:rotate(180deg) translateY(-142%);-webkit-animation-delay:-.4998s;animation-delay:-.4998s}.xgplayer-skin-default .xgplayer-enter .xgplayer-enter-spinner div.xgplayer-enter-bar8{-webkit-transform:rotate(210deg) translateY(-142%);-ms-transform:rotate(210deg) translateY(-142%);transform:rotate(210deg) translateY(-142%);-webkit-animation-delay:-.4165s;animation-delay:-.4165s}.xgplayer-skin-default .xgplayer-enter .xgplayer-enter-spinner div.xgplayer-enter-bar9{-webkit-transform:rotate(240deg) translateY(-142%);-ms-transform:rotate(240deg) translateY(-142%);transform:rotate(240deg) translateY(-142%);-webkit-animation-delay:-.3332s;animation-delay:-.3332s}.xgplayer-skin-default .xgplayer-enter .xgplayer-enter-spinner div.xgplayer-enter-bar10{-webkit-transform:rotate(270deg) translateY(-142%);-ms-transform:rotate(270deg) translateY(-142%);transform:rotate(270deg) translateY(-142%);-webkit-animation-delay:-.2499s;animation-delay:-.2499s}.xgplayer-skin-default .xgplayer-enter .xgplayer-enter-spinner div.xgplayer-enter-bar11{-webkit-transform:rotate(300deg) translateY(-142%);-ms-transform:rotate(300deg) translateY(-142%);transform:rotate(300deg) translateY(-142%);-webkit-animation-delay:-.1666s;animation-delay:-.1666s}.xgplayer-skin-default .xgplayer-enter .xgplayer-enter-spinner div.xgplayer-enter-bar12{-webkit-transform:rotate(330deg) translateY(-142%);-ms-transform:rotate(330deg) translateY(-142%);transform:rotate(330deg) translateY(-142%);-webkit-animation-delay:-.0833s;animation-delay:-.0833s}@-webkit-keyframes fade{0%{opacity:1}to{opacity:.25}}@keyframes fade{0%{opacity:1}to{opacity:.25}}.xgplayer-skin-default.xgplayer-is-enter .xgplayer-enter{display:block}\", \"\"]);\n\n// exports\n","import { createDom } from '../../utils/util'\nimport RequestCssFullIcon from '../assets/requestCssFull.svg'\nimport ExitCssFullIcon from '../assets/exitCssFull.svg'\nimport '../style/controls/cssfullscreen.scss'\n\nlet s_cssFullscreen = function () {\n let player = this\n if (!player.config.cssFullscreen) { return }\n let btn = createDom('xg-cssfullscreen', `<xg-icon class=\"xgplayer-icon\">\n <div class=\"xgplayer-icon-requestfull\">${RequestCssFullIcon}</div>\n <div class=\"xgplayer-icon-exitfull\">${ExitCssFullIcon}</div>\n </xg-icon>`, {}, 'xgplayer-cssfullscreen')\n\n let tipsText = {}\n tipsText.requestfull = player.lang.CSSFULLSCREEN_TIPS\n tipsText.exitfull = player.lang.EXITCSSFULLSCREEN_TIPS\n let tips = createDom('xg-tips', `<span class=\"xgplayer-tip-requestfull\">${tipsText.requestfull}</span>\n <span class=\"xgplayer-tip-exitfull\">${tipsText.exitfull}</span>`, {}, 'xgplayer-tips')\n btn.appendChild(tips)\n player.once('ready', () => {\n player.controls.appendChild(btn)\n });\n\n ['click', 'touchend'].forEach(item => {\n btn.addEventListener(item, function (e) {\n e.preventDefault()\n e.stopPropagation()\n player.userGestureTrigEvent('cssFullscreenBtnClick')\n })\n })\n}\n\nexport default {\n name: 's_cssFullscreen',\n method: s_cssFullscreen\n}","export default \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"40\\\" height=\\\"40\\\" viewBox=\\\"0 0 40 40\\\">\\n <path transform=\\\"scale(0.028 0.028)\\\" d=\\\"M843.617212 67.898413 175.411567 67.898413c-61.502749 0-111.367437 49.856501-111.367437 111.367437l0 668.205645c0 61.510936 49.864688 111.367437 111.367437 111.367437L843.617212 958.838931c61.510936 0 111.367437-49.856501 111.367437-111.367437L954.984648 179.26585C954.984648 117.754914 905.12917 67.898413 843.617212 67.898413zM398.146441 736.104057c15.380292 0 27.842115 12.461823 27.842115 27.842115 0 15.379269-12.461823 27.841092-27.842115 27.841092L259.725858 791.787264c-7.785314 0-14.781658-3.217275-19.838837-8.365528-5.383614-4.577249-8.791224-11.228739-8.791224-19.475564L231.095797 624.736621c0-15.371082 12.471033-27.842115 27.842115-27.842115 15.380292 0 27.842115 12.471033 27.842115 27.842115l-0.61603 71.426773 133.036969-133.037992 39.378869 39.378869L324.962651 736.113267 398.146441 736.104057zM419.199942 463.611943 286.162974 330.565764l0.61603 71.435982c0 15.380292-12.461823 27.842115-27.842115 27.842115-15.371082 0-27.842115-12.461823-27.842115-27.842115L231.094774 262.791172c0-8.256034 3.40761-14.908548 8.791224-19.476587 5.057179-5.148253 12.053524-8.374738 19.838837-8.374738l138.420583 0.00921c15.380292 0 27.842115 12.461823 27.842115 27.842115s-12.461823 27.842115-27.842115 27.842115l-73.175603-0.00921 133.607974 133.607974L419.199942 463.611943zM787.932981 763.946172c0 8.247848-3.40761 14.899338-8.791224 19.475564-5.057179 5.148253-12.053524 8.365528-19.839861 8.365528L620.881314 791.787264c-15.379269 0-27.841092-12.461823-27.841092-27.841092 0-15.380292 12.461823-27.842115 27.841092-27.842115l73.185836 0.00921L560.449967 602.50427l39.378869-39.378869L732.875015 696.163393l-0.62524-71.426773c0-15.371082 12.462846-27.842115 27.842115-27.842115 15.380292 0 27.842115 12.471033 27.842115 27.842115L787.934005 763.946172zM787.932981 402.000724c0 15.380292-12.461823 27.842115-27.842115 27.842115-15.379269 0-27.842115-12.461823-27.842115-27.842115l0.62524-71.435982L599.828836 463.611943l-39.378869-39.378869 133.617184-133.607974-73.185836 0.00921c-15.379269 0-27.841092-12.461823-27.841092-27.842115s12.461823-27.842115 27.841092-27.842115l138.421606-0.00921c7.785314 0 14.781658 3.226484 19.839861 8.374738 5.383614 4.568039 8.791224 11.219529 8.791224 19.476587L787.934005 402.000724z\\\"></path>\\n</svg>\\n\"","export default \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"40\\\" height=\\\"40\\\" viewBox=\\\"0 0 40 40\\\">\\n <path transform=\\\"scale(0.028 0.028)\\\" d=\\\"M834.56 81.92H189.44c-59.392 0-107.52 48.128-107.52 107.52v645.12c0 59.392 48.128 107.52 107.52 107.52h645.12c59.392 0 107.52-48.128 107.52-107.52V189.44c0-59.392-48.128-107.52-107.52-107.52zM458.24 727.04c0 14.848-12.288 26.624-26.624 26.624S404.48 741.888 404.48 727.04v-69.632L289.28 773.12c-10.752 10.24-27.648 10.24-37.888 0-10.24-10.752-10.24-27.648 0-37.888L366.592 619.52H296.96c-14.848 0-26.624-12.288-26.624-26.624s12.288-26.624 26.624-26.624h134.144c14.848 0 26.624 12.288 26.624 26.624V727.04z m0-295.936c0 14.848-12.288 26.624-26.624 26.624H296.96c-14.848 0-26.624-12.288-26.624-26.624S282.112 404.48 296.96 404.48h69.632L251.392 289.28c-10.24-10.752-10.24-27.648 0-37.888 5.12-5.12 12.288-7.68 18.944-7.68 6.656 0 13.824 2.56 18.944 7.68L404.48 366.592V296.96c0-14.848 12.288-26.624 26.624-26.624s26.624 12.288 26.624 26.624v134.144zM773.12 773.12c-10.752 10.24-27.648 10.24-37.888 0L619.52 657.408V727.04c0 14.848-12.288 26.624-26.624 26.624s-26.624-11.776-26.624-26.624v-134.144c0-14.848 12.288-26.624 26.624-26.624H727.04c14.848 0 26.624 12.288 26.624 26.624s-12.288 26.624-26.624 26.624h-69.632l115.2 115.2c10.752 10.752 10.752 27.648 0.512 38.4z m0-483.84L657.408 404.48H727.04c14.848 0 26.624 12.288 26.624 26.624 0 14.848-12.288 26.624-26.624 26.624h-134.144c-14.848 0-26.624-12.288-26.624-26.624V296.96c0-14.848 12.288-26.624 26.624-26.624s26.624 12.288 26.624 26.624v69.632L734.72 250.88c5.12-5.12 12.288-7.68 18.944-7.68s13.824 2.56 18.944 7.68c10.752 10.752 10.752 27.648 0.512 38.4z\\\"></path>\\n</svg>\\n\"","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./cssfullscreen.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./cssfullscreen.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./cssfullscreen.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-cssfullscreen,.xgplayer-skin-default .xgplayer-cssfullscreen-img{position:relative;-webkit-order:12;-moz-box-ordinal-group:13;order:12;display:block;cursor:pointer}.xgplayer-skin-default .xgplayer-cssfullscreen-img .xgplayer-icon,.xgplayer-skin-default .xgplayer-cssfullscreen .xgplayer-icon{width:32px;margin-top:5px}.xgplayer-skin-default .xgplayer-cssfullscreen-img .xgplayer-icon div,.xgplayer-skin-default .xgplayer-cssfullscreen .xgplayer-icon div{position:absolute}.xgplayer-skin-default .xgplayer-cssfullscreen-img .xgplayer-icon .xgplayer-icon-requestfull,.xgplayer-skin-default .xgplayer-cssfullscreen .xgplayer-icon .xgplayer-icon-requestfull{display:block}.xgplayer-skin-default .xgplayer-cssfullscreen-img .xgplayer-icon .xgplayer-icon-exitfull,.xgplayer-skin-default .xgplayer-cssfullscreen .xgplayer-icon .xgplayer-icon-exitfull{display:none}.xgplayer-skin-default .xgplayer-cssfullscreen-img .xgplayer-tips,.xgplayer-skin-default .xgplayer-cssfullscreen .xgplayer-tips{margin-left:-40px}.xgplayer-skin-default .xgplayer-cssfullscreen-img .xgplayer-tips .xgplayer-tip-requestfull,.xgplayer-skin-default .xgplayer-cssfullscreen .xgplayer-tips .xgplayer-tip-requestfull{display:block}.xgplayer-skin-default .xgplayer-cssfullscreen-img .xgplayer-tips .xgplayer-tip-exitfull,.xgplayer-skin-default .xgplayer-cssfullscreen .xgplayer-tips .xgplayer-tip-exitfull{display:none}.xgplayer-skin-default .xgplayer-cssfullscreen-img:hover,.xgplayer-skin-default .xgplayer-cssfullscreen:hover{opacity:.85}.xgplayer-skin-default .xgplayer-cssfullscreen-img:hover .xgplayer-tips,.xgplayer-skin-default .xgplayer-cssfullscreen:hover .xgplayer-tips{display:block}.xgplayer-skin-default.xgplayer-is-cssfullscreen .xgplayer-cssfullscreen-img .xgplayer-icon .xgplayer-icon-requestfull,.xgplayer-skin-default.xgplayer-is-cssfullscreen .xgplayer-cssfullscreen .xgplayer-icon .xgplayer-icon-requestfull{display:none}.xgplayer-skin-default.xgplayer-is-cssfullscreen .xgplayer-cssfullscreen-img .xgplayer-icon .xgplayer-icon-exitfull,.xgplayer-skin-default.xgplayer-is-cssfullscreen .xgplayer-cssfullscreen .xgplayer-icon .xgplayer-icon-exitfull{display:block}.xgplayer-skin-default.xgplayer-is-cssfullscreen .xgplayer-cssfullscreen-img .xgplayer-tips,.xgplayer-skin-default.xgplayer-is-cssfullscreen .xgplayer-cssfullscreen .xgplayer-tips{margin-left:-47px}.xgplayer-skin-default.xgplayer-is-cssfullscreen .xgplayer-cssfullscreen-img .xgplayer-tips .xgplayer-tip-requestfull,.xgplayer-skin-default.xgplayer-is-cssfullscreen .xgplayer-cssfullscreen .xgplayer-tips .xgplayer-tip-requestfull{display:none}.xgplayer-skin-default.xgplayer-is-cssfullscreen .xgplayer-cssfullscreen-img .xgplayer-tips .xgplayer-tip-exitfull,.xgplayer-skin-default.xgplayer-is-cssfullscreen .xgplayer-cssfullscreen .xgplayer-tips .xgplayer-tip-exitfull{display:block}.xgplayer-skin-default.xgplayer-is-fullscreen .xgplayer-cssfullscreen,.xgplayer-skin-default.xgplayer-is-fullscreen .xgplayer-cssfullscreen-img{display:none}.xgplayer-skin-default.xgplayer-is-cssfullscreen{position:fixed!important;left:0!important;top:0!important;width:100%!important;height:100%!important;z-index:99999!important}.xgplayer-lang-is-en .xgplayer-cssfullscreen-img .xgplayer-tips,.xgplayer-lang-is-en .xgplayer-cssfullscreen .xgplayer-tips,.xgplayer-lang-is-en.xgplayer-is-cssfullscreen .xgplayer-cssfullscreen-img .xgplayer-tips,.xgplayer-lang-is-en.xgplayer-is-cssfullscreen .xgplayer-cssfullscreen .xgplayer-tips{margin-left:-46px}.lang-is-jp .xgplayer-cssfullscreen-img .xgplayer-tips,.lang-is-jp .xgplayer-cssfullscreen .xgplayer-tips{margin-left:-120px}.lang-is-jp.xgplayer-is-cssfullscreen .xgplayer-cssfullscreen-img .xgplayer-tips,.lang-is-jp.xgplayer-is-cssfullscreen .xgplayer-cssfullscreen .xgplayer-tips{margin-left:-60px}\", \"\"]);\n\n// exports\n","import { createDom } from '../../utils/util'\nimport MutedIcon from '../assets/volumeMuted.svg'\nimport SmallIcon from '../assets/volumeSmall.svg'\nimport LargeIcon from '../assets/volumeLarge.svg'\nimport '../style/controls/volume.scss'\n\nlet s_volume = function () {\n let player = this\n let container = createDom('xg-volume', `<xg-icon class=\"xgplayer-icon\">\n <div class=\"xgplayer-icon-large\">${LargeIcon}</div>\n <div class=\"xgplayer-icon-small\">${SmallIcon}</div>\n <div class=\"xgplayer-icon-muted\">${MutedIcon}</div>\n </xg-icon>\n <xg-slider class=\"xgplayer-slider\" tabindex=\"2\">\n <xg-bar class=\"xgplayer-bar\">\n <xg-drag class=\"xgplayer-drag\"></xg-drag>\n </xg-bar>\n </xg-slider>`, {}, 'xgplayer-volume')\n player.once('ready', () => {\n if(player.controls) {\n player.controls.appendChild(container)\n }\n })\n let slider = container.querySelector('.xgplayer-slider')\n let bar = container.querySelector('.xgplayer-bar')\n let selected = container.querySelector('.xgplayer-drag')\n let icon = container.querySelector('.xgplayer-icon')\n selected.style.height = `${player.config.volume * 100}%`\n slider.volume = player.config.volume;\n\n bar.addEventListener('mousedown', e => {\n e.preventDefault()\n e.stopPropagation()\n player.userGestureTrigEvent('volumeBarClick', e)\n });\n\n ['click', 'touchend'].forEach(item => {\n icon.addEventListener(item, e => {\n e.preventDefault()\n e.stopPropagation()\n player.userGestureTrigEvent('volumeIconClick')\n })\n })\n\n icon.addEventListener('mouseenter', e => {\n e.preventDefault()\n e.stopPropagation()\n player.userGestureTrigEvent('volumeIconEnter')\n });\n\n ['blur', 'mouseleave'].forEach(item => {\n container.addEventListener(item, e => {\n e.preventDefault()\n e.stopPropagation()\n player.userGestureTrigEvent('volumeIconLeave')\n })\n })\n}\n\nexport default {\n name: 's_volume',\n method: s_volume\n}","export default \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"28\\\" height=\\\"28\\\" viewBox=\\\"0 0 28 28\\\">\\n <path transform=\\\"scale(0.0220625 0.0220625)\\\" d=\\\"M358.4 358.4h-204.8v307.2h204.8l256 256v-819.2l-256 256z\\\"></path>\\n <path transform=\\\"scale(0.0220625 0.0220625)\\\" d=\\\"M920.4 439.808l-108.544-109.056-72.704 72.704 109.568 108.544-109.056 108.544 72.704 72.704 108.032-109.568 108.544 109.056 72.704-72.704-109.568-108.032 109.056-108.544-72.704-72.704-108.032 109.568z\\\"></path>\\n</svg>\\n\"","export default \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"28\\\" height=\\\"28\\\" viewBox=\\\"0 0 28 28\\\">\\n <path transform=\\\"scale(0.0220625 0.0220625)\\\" d=\\\"M358.4 358.4h-204.8v307.2h204.8l256 256v-819.2l-256 256z\\\"></path>\\n <path transform=\\\"scale(0.0220625 0.0220625)\\\" d=\\\"M795.648 693.248l-72.704-72.704c27.756-27.789 44.921-66.162 44.921-108.544s-17.165-80.755-44.922-108.546l0.002 0.002 72.704-72.704c46.713 46.235 75.639 110.363 75.639 181.248s-28.926 135.013-75.617 181.227l-0.021 0.021zM795.648 693.248l-72.704-72.704c27.756-27.789 44.921-66.162 44.921-108.544s-17.165-80.755-44.922-108.546l0.002 0.002 72.704-72.704c46.713 46.235 75.639 110.363 75.639 181.248s-28.926 135.013-75.617 181.227l-0.021 0.021z\\\"></path>\\n</svg>\\n\"","export default \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"28\\\" height=\\\"28\\\" viewBox=\\\"0 0 28 28\\\">\\n <path transform=\\\"scale(0.0220625 0.0220625)\\\" d=\\\"M358.4 358.4h-204.8v307.2h204.8l256 256v-819.2l-256 256z\\\"></path>\\n <path transform=\\\"scale(0.0220625 0.0220625)\\\" d=\\\"M940.632 837.632l-72.192-72.192c65.114-64.745 105.412-154.386 105.412-253.44s-40.299-188.695-105.396-253.424l-0.016-0.016 72.192-72.192c83.639 83.197 135.401 198.37 135.401 325.632s-51.762 242.434-135.381 325.612l-0.020 0.020zM795.648 693.248l-72.704-72.704c27.756-27.789 44.921-66.162 44.921-108.544s-17.165-80.755-44.922-108.546l0.002 0.002 72.704-72.704c46.713 46.235 75.639 110.363 75.639 181.248s-28.926 135.013-75.617 181.227l-0.021 0.021z\\\"></path>\\n</svg>\\n\"","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./volume.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./volume.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./volume.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-volume{outline:none;-webkit-order:4;-moz-box-ordinal-group:5;order:4;width:40px;height:40px;display:block;position:relative;z-index:18}.xgplayer-skin-default .xgplayer-volume .xgplayer-icon{margin-top:8px;cursor:pointer;position:absolute;bottom:-9px}.xgplayer-skin-default .xgplayer-volume .xgplayer-icon div{position:absolute}.xgplayer-skin-default .xgplayer-volume .xgplayer-icon .xgplayer-icon-large{display:block}.xgplayer-skin-default .xgplayer-volume .xgplayer-icon .xgplayer-icon-muted,.xgplayer-skin-default .xgplayer-volume .xgplayer-icon .xgplayer-icon-small{display:none}.xgplayer-skin-default .xgplayer-slider{display:none;position:absolute;width:28px;height:92px;background:rgba(0,0,0,.54);border-radius:1px;bottom:42px;outline:none}.xgplayer-skin-default .xgplayer-slider:after{content:\\\" \\\";display:block;height:15px;width:28px;position:absolute;bottom:-15px;left:0;z-index:20}.xgplayer-skin-default .xgplayer-bar,.xgplayer-skin-default .xgplayer-drag{display:block;position:absolute;bottom:6px;left:12px;background:hsla(0,0%,100%,.3);border-radius:100px;width:4px;height:76px;outline:none;cursor:pointer}.xgplayer-skin-default .xgplayer-drag{bottom:0;left:0;background:#fa1f41;max-height:76px}.xgplayer-skin-default .xgplayer-drag:after{content:\\\" \\\";display:inline-block;width:8px;height:8px;background:#fff;box-shadow:0 0 5px 0 rgba(0,0,0,.26);position:absolute;border-radius:50%;left:-2px;top:-6px}.xgplayer-skin-default.xgplayer-volume-active .xgplayer-slider,.xgplayer-skin-default.xgplayer-volume-large .xgplayer-volume .xgplayer-icon .xgplayer-icon-large{display:block}.xgplayer-skin-default.xgplayer-volume-large .xgplayer-volume .xgplayer-icon .xgplayer-icon-muted,.xgplayer-skin-default.xgplayer-volume-large .xgplayer-volume .xgplayer-icon .xgplayer-icon-small,.xgplayer-skin-default.xgplayer-volume-small .xgplayer-volume .xgplayer-icon .xgplayer-icon-large{display:none}.xgplayer-skin-default.xgplayer-volume-small .xgplayer-volume .xgplayer-icon .xgplayer-icon-small{display:block}.xgplayer-skin-default.xgplayer-volume-muted .xgplayer-volume .xgplayer-icon .xgplayer-icon-large,.xgplayer-skin-default.xgplayer-volume-muted .xgplayer-volume .xgplayer-icon .xgplayer-icon-small,.xgplayer-skin-default.xgplayer-volume-small .xgplayer-volume .xgplayer-icon .xgplayer-icon-muted{display:none}.xgplayer-skin-default.xgplayer-volume-muted .xgplayer-volume .xgplayer-icon .xgplayer-icon-muted{display:block}.xgplayer-skin-default.xgplayer-mobile .xgplayer-volume .xgplayer-slider{display:none}\", \"\"]);\n\n// exports\n","import { createDom, addClass, removeClass, hasClass, toggleClass } from '../../utils/util'\nimport sniffer from '../../utils/sniffer'\nimport '../style/controls/definition.scss'\n\nlet s_definition = function () {\n let player = this\n let root = player.root\n let paused\n let container = createDom('xg-definition', '', {tabindex: 3}, 'xgplayer-definition')\n if (sniffer.device === 'mobile') {\n player.config.definitionActive = 'click'\n }\n\n function onCanplayResourceReady () {\n let list = player.definitionList\n let tmp = ['<ul>'], src = player.config.url, a = document.createElement('a')\n if (player.switchURL) {\n ['mp4', 'hls', '__flv__', 'dash'].every(item => {\n if (player[item]) {\n if(player[item].url) {\n a.href = player[item].url\n }\n if(item === '__flv__') {\n if(player[item]._options) {\n a.href = player[item]._options.url\n } else {\n a.href = player[item]._mediaDataSource.url\n }\n }\n if(item === 'hls') {\n a.href = player[item].originUrl || player[item].url\n src = a.href\n }\n src = a.href\n return false\n } else {\n return true\n }\n })\n } else {\n src = player.currentSrc || player.src\n }\n list.forEach(item => {\n a.href = item.url\n if (player.dash) {\n tmp.push(`<li url='${item.url}' cname='${item.name}' class='${item.selected ? 'selected' : ''}'>${item.name}</li>`)\n } else {\n tmp.push(`<li url='${item.url}' cname='${item.name}' class='${a.href === src ? 'selected' : ''}'>${item.name}</li>`)\n }\n })\n let cursrc = list.filter(item => {\n a.href = item.url\n if (player.dash) {\n return item.selected === true\n } else {\n return a.href === src\n }\n })\n tmp.push(`</ul><p class='name'>${(cursrc[0] || {name: ''}).name}</p>`)\n let urlInRoot = root.querySelector('.xgplayer-definition')\n if (urlInRoot) {\n urlInRoot.innerHTML = tmp.join('')\n let cur = urlInRoot.querySelector('.name')\n if (!player.config.definitionActive || player.config.definitionActive === 'hover') {\n cur.addEventListener('mouseenter', (e) => {\n e.preventDefault()\n e.stopPropagation()\n addClass(player.root, 'xgplayer-definition-active')\n urlInRoot.focus()\n })\n }\n } else {\n container.innerHTML = tmp.join('')\n let cur = container.querySelector('.name')\n if (!player.config.definitionActive || player.config.definitionActive === 'hover') {\n cur.addEventListener('mouseenter', (e) => {\n e.preventDefault()\n e.stopPropagation()\n addClass(player.root, 'xgplayer-definition-active')\n container.focus()\n })\n }\n player.controls.appendChild(container)\n }\n }\n function onResourceReady (list) {\n player.definitionList = list\n if (list && list instanceof Array && list.length > 0) {\n addClass(root, 'xgplayer-is-definition')\n player.once('canplay', onCanplayResourceReady)\n }\n }\n player.on('resourceReady', onResourceReady)\n\n function onPlayingChangeDefinition () {\n player.currentTime = player.curTime\n if (paused) {\n player.pause()\n } else {\n let playPromise = player.play()\n if (playPromise !== undefined && playPromise) {\n playPromise.catch(err => {})\n }\n }\n };\n function onTimeupdateChangeDefinition () {\n player.once('timeupdate', onPlayingChangeDefinition)\n };\n ['touchend', 'click'].forEach(item => {\n container.addEventListener(item, function (e) {\n e.preventDefault()\n e.stopPropagation()\n let list = player.definitionList\n let li = e.target || e.srcElement, a = document.createElement('a')\n if (li && li.tagName.toLocaleLowerCase() === 'li') {\n let from, to\n Array.prototype.forEach.call(li.parentNode.childNodes, item => {\n if(hasClass(item, 'selected')) {\n from = item.getAttribute('cname')\n removeClass(item, 'selected')\n player.emit('beforeDefinitionChange', item.getAttribute('url'))\n }\n })\n if (player.dash) {\n list.forEach(item => {\n item.selected = false\n if (item.name === li.innerHTML) {\n item.selected = true\n }\n })\n }\n\n addClass(li, 'selected')\n to = li.getAttribute('cname')\n li.parentNode.nextSibling.innerHTML = `${li.getAttribute('cname')}`\n a.href = li.getAttribute('url')\n paused = player.paused\n if (player.switchURL) {\n let curRUL = document.createElement('a');\n ['mp4', 'hls', '__flv__', 'dash'].every(item => {\n if (player[item]) {\n if(player[item].url) {\n curRUL.href = player[item].url\n }\n if(item === '__flv__') {\n if(player[item]._options) {\n curRUL.href = player[item]._options.url\n } else {\n curRUL.href = player[item]._mediaDataSource.url\n }\n }\n if(item === 'hls') {\n curRUL.href = player[item].originUrl || player[item].url\n }\n return false\n } else {\n return true\n }\n })\n if (curRUL.href !== a.href && !player.ended) {\n player.switchURL(a.href)\n }\n } else {\n if (player['hls']) {\n let curRUL = document.createElement('a')\n curRUL = player['hls'].url\n }\n if (a.href !== player.currentSrc) {\n player.curTime = player.currentTime\n if (!player.ended) {\n player.src = a.href\n }\n }\n }\n if(navigator.userAgent.toLowerCase().indexOf('android') > -1) {\n player.once('timeupdate', onTimeupdateChangeDefinition)\n } else {\n player.once('loadedmetadata', onPlayingChangeDefinition)\n }\n player.emit('definitionChange', {from, to})\n if (sniffer.device === 'mobile') {\n removeClass(player.root, 'xgplayer-definition-active')\n }\n } else if (player.config.definitionActive === 'click' && li && (li.tagName.toLocaleLowerCase() === 'p' || li.tagName.toLocaleLowerCase() === 'em')) {\n if(sniffer.device === 'mobile') {\n toggleClass(player.root, 'xgplayer-definition-active')\n } else {\n addClass(player.root, 'xgplayer-definition-active')\n }\n container.focus()\n }\n player.emit('focus')\n }, false)\n })\n\n container.addEventListener('mouseleave', e => {\n e.preventDefault()\n e.stopPropagation()\n removeClass(root, 'xgplayer-definition-active')\n })\n\n function onBlur () {\n removeClass(root, 'xgplayer-definition-active')\n }\n player.on('blur', onBlur)\n\n function onDestroy () {\n player.off('resourceReady', onResourceReady)\n player.off('canplay', onCanplayResourceReady)\n if(navigator.userAgent.toLowerCase().indexOf('android') > -1) {\n player.off('timeupdate', onTimeupdateChangeDefinition)\n player.off('timeupdate', onPlayingChangeDefinition)\n } else {\n player.off('loadedmetadata', onPlayingChangeDefinition)\n }\n player.off('blur', onBlur)\n player.off('destroy', onDestroy)\n }\n player.once('destroy', onDestroy)\n\n player.getCurrentDefinition = function () {\n let liList = player.controls.querySelectorAll('.xgplayer-definition ul li')\n for(let i = 0; i < liList.length; i++) {\n if(liList[i].className && liList[i].className.indexOf('selected') > -1) {\n return {\n name: liList[i].getAttribute('cname'),\n url: liList[i].getAttribute('url')\n }\n }\n }\n return {\n name: liList[0].getAttribute('cname'),\n url: liList[0].getAttribute('url')\n }\n }\n\n player.switchDefinition = function (definitionObj = {}) {\n let liList = player.controls.querySelectorAll('.xgplayer-definition ul li')\n for(let i = 0; i < liList.length; i++) {\n if(liList[i].getAttribute('cname') === definitionObj.name || liList[i].getAttribute('url') === definitionObj.url || i === definitionObj.index) {\n liList[i].click()\n }\n }\n }\n}\n\nexport default {\n name: 's_definition',\n method: s_definition\n}","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./definition.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./definition.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./definition.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-definition{-webkit-order:5;-moz-box-ordinal-group:6;order:5;width:60px;height:150px;z-index:18;position:relative;outline:none;display:none;cursor:default;margin-left:10px;margin-top:-119px}.xgplayer-skin-default .xgplayer-definition ul{display:none;list-style:none;width:78px;background:rgba(0,0,0,.54);border-radius:1px;position:absolute;bottom:30px;left:0;text-align:center;white-space:nowrap;margin-left:-10px;z-index:26;cursor:pointer}.xgplayer-skin-default .xgplayer-definition ul li{opacity:.7;font-family:PingFangSC-Regular;font-size:11px;color:hsla(0,0%,100%,.8);padding:6px 13px}.xgplayer-skin-default .xgplayer-definition ul li.selected,.xgplayer-skin-default .xgplayer-definition ul li:hover{color:#fff;opacity:1}.xgplayer-skin-default .xgplayer-definition .name{text-align:center;font-family:PingFangSC-Regular;font-size:13px;cursor:pointer;color:hsla(0,0%,100%,.8);position:absolute;bottom:0;width:60px;height:20px;line-height:20px;background:rgba(0,0,0,.38);border-radius:10px;display:inline-block;vertical-align:middle}.xgplayer-skin-default.xgplayer-definition-active .xgplayer-definition ul,.xgplayer-skin-default.xgplayer-is-definition .xgplayer-definition{display:block}\", \"\"]);\n\n// exports\n","import { createDom, addClass, removeClass, hasClass, toggleClass } from '../../utils/util'\nimport sniffer from '../../utils/sniffer'\nimport '../style/controls/playbackRate.scss'\n\nlet s_playbackRate = function () {\n let player = this\n let playbackRateList = []\n if (player.config.playbackRate) {\n playbackRateList = [].concat(player.config.playbackRate)\n playbackRateList.sort((a, b) => b - a)\n } else {\n return false\n }\n let unit = player.config.playbackRateUnit !== undefined ? player.config.playbackRateUnit : 'x'\n let container = createDom('xg-playbackrate', \" \", {}, 'xgplayer-playbackrate')\n if (sniffer.device === 'mobile') {\n player.config.playbackRateActive = 'click'\n }\n\n let list = []\n playbackRateList.forEach(item => {\n list.push({name: `${item}`, rate: `${item}${unit}`, selected: false})\n })\n let selectedSpeed = 1\n let tmp = ['<ul>']\n list.forEach(item => {\n if(player.config.defaultPlaybackRate && player.config.defaultPlaybackRate.toString() === item.name) {\n item.selected = true\n selectedSpeed = player.config.defaultPlaybackRate\n player.once('playing', () => { player.video.playbackRate = player.config.defaultPlaybackRate})\n } else if (item.name === '1.0' || item.name === '1') {\n if(!player.config.defaultPlaybackRate || player.config.defaultPlaybackRate === 1) {\n item.selected = true\n }\n }\n tmp.push(`<li cname='${item.name}' class='${item.selected ? 'selected' : ''}'>${item.rate}</li>`)\n })\n tmp.push(`</ul><p class='name'>${selectedSpeed}${unit}</p>`)\n let playbackDom = player.root.querySelector('.xgplayer-playbackrate')\n if (playbackDom) {\n playbackDom.innerHTML = tmp.join('')\n let cur = playbackDom.querySelector('.name')\n if (!player.config.playbackRateActive || player.config.playbackRateActive === 'hover') {\n cur.addEventListener('mouseenter', (e) => {\n e.preventDefault()\n e.stopPropagation()\n addClass(player.root, 'xgplayer-playbackrate-active')\n playbackDom.focus()\n })\n }\n } else {\n container.innerHTML = tmp.join('')\n let cur = container.querySelector('.name')\n if (!player.config.playbackRateActive || player.config.playbackRateActive === 'hover') {\n cur.addEventListener('mouseenter', (e) => {\n e.preventDefault()\n e.stopPropagation()\n addClass(player.root, 'xgplayer-playbackrate-active')\n container.focus()\n })\n }\n player.once('ready', () => {\n player.controls.appendChild(container)\n })\n }\n\n let ev = ['touchend', 'click']\n ev.forEach(item => {\n container.addEventListener(item, e => {\n e.stopPropagation()\n e.preventDefault()\n let li = e.target\n if(li && li.tagName.toLocaleLowerCase() === 'li') {\n let from, to\n list.forEach(item => {\n item.selected = false\n if (li.textContent.replace(/\\s+/g,\"\") === item.rate) {\n Array.prototype.forEach.call(li.parentNode.childNodes, item => {\n if(hasClass(item, 'selected')) {\n from = Number(item.getAttribute('cname'))\n removeClass(item, 'selected')\n }\n })\n item.selected = true\n player.video.playbackRate = item.name * 1\n selectedSpeed = item.name * 1\n }\n })\n addClass(li, 'selected')\n to = Number(li.getAttribute('cname'))\n li.parentNode.nextSibling.innerHTML = `${li.getAttribute('cname')}${unit}`\n player.emit('playbackrateChange', {from, to})\n if (sniffer.device === 'mobile') {\n removeClass(player.root, 'xgplayer-playbackrate-active')\n }\n } else if (player.config.playbackRateActive === 'click' && li && (li.tagName.toLocaleLowerCase() === 'p' || li.tagName.toLocaleLowerCase() === 'span')) {\n if(sniffer.device === 'mobile') {\n toggleClass(player.root, 'xgplayer-playbackrate-active')\n } else {\n addClass(player.root, 'xgplayer-playbackrate-active')\n }\n container.focus()\n }\n player.emit('focus')\n }, false)\n })\n container.addEventListener('mouseleave', (e) => {\n e.preventDefault()\n e.stopPropagation()\n removeClass(player.root, 'xgplayer-playbackrate-active')\n })\n\n function onBlur () {\n removeClass(player.root, 'xgplayer-playbackrate-active')\n }\n player.on('blur', onBlur)\n\n player.on('play', () => {\n if(player.video.playbackRate.toFixed(1) !== selectedSpeed.toFixed(1) ) {\n player.video.playbackRate = selectedSpeed\n }\n })\n\n player.switchPlaybackRate = function (playbackRateObj = {}) {\n let liList = player.controls.querySelectorAll('.xgplayer-playbackrate ul li')\n for(let i = 0; i < liList.length; i++) {\n if(!hasClass(liList[i], 'selected') && (liList[i].getAttribute('cname') === `${playbackRateObj.playbackRate}` || i === playbackRateObj.index)) {\n liList[i].click()\n }\n }\n }\n\n player.on('ratechange', () => {\n player.switchPlaybackRate({ playbackRate: player.playbackRate })\n })\n}\n\nexport default {\n name: 's_playbackRate',\n method: s_playbackRate\n}","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./playbackRate.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./playbackRate.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./playbackRate.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-playbackrate{-webkit-order:8;-moz-box-ordinal-group:9;order:8;width:60px;height:150px;z-index:18;position:relative;display:inline-block;cursor:default;margin-top:-119px}.xgplayer-skin-default .xgplayer-playbackrate ul{display:none;list-style:none;width:78px;background:rgba(0,0,0,.54);border-radius:1px;position:absolute;bottom:30px;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);text-align:left;white-space:nowrap;z-index:26;cursor:pointer}.xgplayer-skin-default .xgplayer-playbackrate ul li{opacity:.7;font-family:PingFangSC-Regular;font-size:11px;color:hsla(0,0%,100%,.8);position:relative;padding:4px 0;text-align:center}.xgplayer-skin-default .xgplayer-playbackrate ul li.selected,.xgplayer-skin-default .xgplayer-playbackrate ul li:hover{color:#fff;opacity:1}.xgplayer-skin-default .xgplayer-playbackrate ul li:first-child{position:relative;margin-top:12px}.xgplayer-skin-default .xgplayer-playbackrate ul li:last-child{position:relative;margin-bottom:12px}.xgplayer-skin-default .xgplayer-playbackrate .name{width:60px;height:20px;position:absolute;bottom:0;text-align:center;font-family:PingFangSC-Regular;font-size:13px;background:rgba(0,0,0,.38);color:hsla(0,0%,100%,.8);border-radius:10px;line-height:20px}.xgplayer-skin-default .xgplayer-playbackrate span{position:relative;top:19px;font-weight:700;text-shadow:0 0 4px rgba(0,0,0,.6)}.xgplayer-skin-default .xgplayer-playbackrate:hover{opacity:1}.xgplayer-skin-default.xgplayer-playbackrate-active .xgplayer-playbackrate ul{display:block}\", \"\"]);\n\n// exports\n","import { createDom } from '../../utils/util'\n\nlet s_localPreview = function () {\n let player = this\n if (player.config.preview && player.config.preview.uploadEl) {\n let preview = createDom('xg-preview', '<input type=\"file\">', {}, 'xgplayer-preview')\n let upload = preview.querySelector('input')\n player.config.preview.uploadEl.appendChild(preview)\n upload.onchange = function () {\n player.emit('upload', upload)\n }\n }\n}\n\nexport default {\n name: 's_localPreview',\n method: s_localPreview\n}","import { createDom } from '../../utils/util'\nimport DownloadIcon from '../assets/download.svg'\nimport '../style/controls/download.scss'\n\nlet s_download = function () {\n let player = this\n if (!player.config.download) { return }\n let btn = createDom('xg-download', `<xg-icon class=\"xgplayer-icon\">${DownloadIcon}</xg-icon>`, {}, 'xgplayer-download')\n\n let tipsText = player.lang.DOWNLOAD_TIPS\n let tips = createDom('xg-tips', `<span class=\"xgplayer-tip-download\">${tipsText}</span>`, {}, 'xgplayer-tips')\n btn.appendChild(tips)\n player.once('ready', () => {\n player.controls.appendChild(btn)\n });\n\n ['click', 'touchend'].forEach(item => {\n btn.addEventListener(item, function (e) {\n e.preventDefault()\n e.stopPropagation()\n player.userGestureTrigEvent('downloadBtnClick')\n })\n })\n}\n\nexport default {\n name: 's_download',\n method: s_download\n}","export default \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"24px\\\" height=\\\"24px\\\" viewBox=\\\"0 0 24 24\\\">\\n <g id=\\\"Page-1\\\" stroke=\\\"none\\\" stroke-width=\\\"1\\\" fill=\\\"none\\\" fill-rule=\\\"evenodd\\\">\\n <g transform=\\\"translate(-488.000000, -340.000000)\\\" fill=\\\"#FFFFFF\\\">\\n <g id=\\\"Group-2\\\">\\n <g id=\\\"volme_big-copy\\\" transform=\\\"translate(488.000000, 340.000000)\\\">\\n <rect id=\\\"Rectangle-18\\\" x=\\\"11\\\" y=\\\"4\\\" width=\\\"2\\\" height=\\\"12\\\" rx=\\\"1\\\"></rect>\\n <rect id=\\\"Rectangle-2\\\" x=\\\"3\\\" y=\\\"18\\\" width=\\\"18\\\" height=\\\"2\\\" rx=\\\"1\\\"></rect>\\n <rect id=\\\"Rectangle-2\\\" transform=\\\"translate(4.000000, 17.500000) rotate(90.000000) translate(-4.000000, -17.500000) \\\" x=\\\"1.5\\\" y=\\\"16.5\\\" width=\\\"5\\\" height=\\\"2\\\" rx=\\\"1\\\"></rect><rect id=\\\"Rectangle-2-Copy-3\\\" transform=\\\"translate(20.000000, 17.500000) rotate(90.000000) translate(-20.000000, -17.500000) \\\" x=\\\"17.5\\\" y=\\\"16.5\\\" width=\\\"5\\\" height=\\\"2\\\" rx=\\\"1\\\"></rect>\\n <path d=\\\"M9.48791171,8.26502656 L9.48791171,14.2650266 C9.48791171,14.8173113 9.04019646,15.2650266 8.48791171,15.2650266 C7.93562696,15.2650266 7.48791171,14.8173113 7.48791171,14.2650266 L7.48791171,7.26502656 C7.48791171,6.71274181 7.93562696,6.26502656 8.48791171,6.26502656 L15.4879117,6.26502656 C16.0401965,6.26502656 16.4879117,6.71274181 16.4879117,7.26502656 C16.4879117,7.81731131 16.0401965,8.26502656 15.4879117,8.26502656 L9.48791171,8.26502656 Z\\\" id=\\\"Combined-Shape\\\" transform=\\\"translate(11.987912, 10.765027) scale(1, -1) rotate(45.000000) translate(-11.987912, -10.765027) \\\"></path>\\n </g>\\n </g>\\n </g>\\n </g>\\n</svg>\\n\"","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./download.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./download.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./download.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-download{position:relative;-webkit-order:9;-moz-box-ordinal-group:10;order:9;display:block;cursor:pointer}.xgplayer-skin-default .xgplayer-download .xgplayer-icon{margin-top:3px}.xgplayer-skin-default .xgplayer-download .xgplayer-icon div{position:absolute}.xgplayer-skin-default .xgplayer-download .xgplayer-icon svg{position:relative;top:5px;left:5px}.xgplayer-skin-default .xgplayer-download .xgplayer-tips{margin-left:-20px}.xgplayer-skin-default .xgplayer-download .xgplayer-tips .xgplayer-tip-download{display:block}.xgplayer-skin-default .xgplayer-download:hover{opacity:.85}.xgplayer-skin-default .xgplayer-download:hover .xgplayer-tips{display:block}.xgplayer-lang-is-en .xgplayer-download .xgplayer-tips{margin-left:-32px}.xgplayer-lang-is-jp .xgplayer-download .xgplayer-tips{margin-left:-40px}\", \"\"]);\n\n// exports\n","import { createDom, deepCopy, addClass, removeClass } from '../../utils/util'\nimport DanmuJs from 'danmu.js'\nimport PanelIcon from '../assets/panel.svg'\nimport '../style/controls/danmu.scss'\n\nlet s_danmu = function () {\n let player = this\n let root = player.root\n if(!player.config.danmu) { return }\n let container = createDom('xg-danmu', '', {}, 'xgplayer-danmu')\n player.once('ready', () => {\n root.appendChild(container)\n })\n let config = deepCopy({\n container,\n player: player.video,\n comments: [],\n area: {\n start: 0,\n end: 1\n }\n }, player.config.danmu)\n let panelBtn\n if (player.config.danmu.panel) {\n panelBtn = createDom('xg-panel', `<xg-panel-icon class=\"xgplayer-panel-icon\">\n ${PanelIcon}\n </xg-panel-icon>\n <xg-panel-slider class=\"xgplayer-panel-slider\">\n <xg-hidemode class=\"xgplayer-hidemode\">\n <p class=\"xgplayer-hidemode-font\">屏蔽类型</p>\n <ul class=\"xgplayer-hidemode-radio\">\n <li class=\"xgplayer-hidemode-scroll\" id=\"false\">滚动</li><li class=\"xgplayer-hidemode-top\" id=\"false\">顶部</li><li class=\"xgplayer-hidemode-bottom\" id=\"false\">底部</li><li class=\"xgplayer-hidemode-color\" id=\"false\">色彩</li>\n </ul>\n </xg-hidemode>\n <xg-transparency class=\"xgplayer-transparency\">\n <span>不透明度</span>\n <input class=\"xgplayer-transparency-line xgplayer-transparency-color xgplayer-transparency-bar xgplayer-transparency-gradient\" type=\"range\" min=\"0\" max=\"100\" step=\"0.1\" value=\"50\"></input>\n </xg-transparency>\n <xg-showarea class=\"xgplayer-showarea\">\n <div class=\"xgplayer-showarea-name\">显示区域</div>\n <div class=\"xgplayer-showarea-control\">\n <div class=\"xgplayer-showarea-control-up\">\n <span class=\"xgplayer-showarea-control-up-item xgplayer-showarea-onequarters\">1/4</span>\n <span class=\"xgplayer-showarea-control-up-item xgplayer-showarea-twoquarters selected-color\">1/2</span>\n <span class=\"xgplayer-showarea-control-up-item xgplayer-showarea-threequarters\">3/4</span>\n <span class=\"xgplayer-showarea-control-up-item xgplayer-showarea-full\">1</span>\n </div>\n <div class=\"xgplayer-showarea-control-down\">\n <div class=\"xgplayer-showarea-control-down-dots\">\n <span class=\"xgplayer-showarea-onequarters-dot\"></span>\n <span class=\"xgplayer-showarea-twoquarters-dot\"></span>\n <span class=\"xgplayer-showarea-threequarters-dot\"></span>\n <span class=\"xgplayer-showarea-full-dot\"></span>\n </div>\n <input class=\"xgplayer-showarea-line xgplayer-showarea-color xgplayer-showarea-bar xgplayer-gradient\" type=\"range\" min=\"1\" max=\"4\" step=\"1\" value=\"1\">\n </div>\n </div>\n </xg-showarea>\n <xg-danmuspeed class=\"xgplayer-danmuspeed\">\n <div class=\"xgplayer-danmuspeed-name\">弹幕速度</div>\n <div class=\"xgplayer-danmuspeed-control\">\n <div class=\"xgplayer-danmuspeed-control-up\">\n <span class=\"xgplayer-danmuspeed-control-up-item xgplayer-danmuspeed-small\">慢</span>\n <span class=\"xgplayer-danmuspeed-control-up-item xgplayer-danmuspeed-middle selected-color\">中</span>\n <span class=\"xgplayer-danmuspeed-control-up-item xgplayer-danmuspeed-large\">快</span>\n </div>\n <div class=\"xgplayer-danmuspeed-control-down\">\n <div class=\"xgplayer-danmuspeed-control-down-dots\">\n <span class=\"xgplayer-danmuspeed-small-dot\"></span>\n <span class=\"xgplayer-danmuspeed-middle-dot\"></span>\n <span class=\"xgplayer-danmuspeed-large-dot\"></span>\n </div>\n <input class=\"xgplayer-danmuspeed-line xgplayer-danmuspeed-color xgplayer-danmuspeed-bar xgplayer-gradient\" type=\"range\" min=\"50\" max=\"150\" step=\"50\" value=\"100\">\n </div>\n </div>\n </xg-danmuspeed>\n <xg-danmufont class=\"xgplayer-danmufont\">\n <div class=\"xgplayer-danmufont-name\">字体大小</div>\n <div class=\"xgplayer-danmufont-control\">\n <div class=\"xgplayer-danmufont-control-up\">\n <span class=\"xgplayer-danmufont-control-up-item xgplayer-danmufont-small\">小</span>\n <span class=\"xgplayer-danmufont-control-up-item xgplayer-danmufont-middle\">中</span>\n <span class=\"xgplayer-danmufont-control-up-item xgplayer-danmufont-large selected-color\">大</span>\n </div>\n <div class=\"xgplayer-danmufont-control-down\">\n <div class=\"xgplayer-danmufont-control-down-dots\">\n <span class=\"xgplayer-danmufont-small-dot\"></span>\n <span class=\"xgplayer-danmufont-middle-dot\"></span>\n <span class=\"xgplayer-danmufont-large-dot\"></span>\n </div>\n <input class=\"xgplayer-danmufont-line xgplayer-danmufont-color xgplayer-danmufont-bar xgplayer-gradient\" type=\"range\" min=\"20\" max=\"30\" step=\"5\" value=\"25\">\n </div>\n </div>\n </xg-danmufont>\n </xg-panel-slider>`, {tabindex: 7}, 'xgplayer-panel')\n player.once('ready', () => {\n player.controls.appendChild(panelBtn)\n })\n }\n player.once('complete', () => {\n let danmujs = new DanmuJs(config)\n player.emit('initDefaultDanmu', danmujs)\n player.danmu = danmujs\n\n if (!player.config.danmu.panel) {\n return\n }\n\n let slider = panelBtn.querySelector('.xgplayer-panel-slider')\n let focusStatus\n let focusarray = ['mouseenter', 'touchend', 'click']\n focusarray.forEach(item => {\n panelBtn.addEventListener(item, function (e) {\n e.preventDefault()\n e.stopPropagation()\n addClass(slider, 'xgplayer-panel-active')\n panelBtn.focus()\n focusStatus = true\n })\n })\n panelBtn.addEventListener('mouseleave', function (e) {\n e.preventDefault()\n e.stopPropagation()\n removeClass(slider, 'xgplayer-panel-active')\n focusStatus = false\n })\n slider.addEventListener('mouseleave', function (e) {\n e.preventDefault()\n e.stopPropagation()\n if (focusStatus === false) {\n removeClass(slider, 'xgplayer-panel-active')\n }\n })\n\n let danmuConfig = player.config.danmu\n let hidemodeScroll = panelBtn.querySelector('.xgplayer-hidemode-scroll')\n let hidemodeTop = panelBtn.querySelector('.xgplayer-hidemode-top')\n let hidemodeBottom = panelBtn.querySelector('.xgplayer-hidemode-bottom')\n let hidemodeColor = panelBtn.querySelector('.xgplayer-hidemode-color')\n let hidemodeArray = {\n 'scroll': hidemodeScroll,\n 'top': hidemodeTop,\n 'bottom': hidemodeBottom,\n 'color': hidemodeColor\n }\n for (let key in hidemodeArray) {\n let keys = key\n let ev = ['touchend', 'click']\n ev.forEach(item => {\n hidemodeArray[keys].addEventListener(item, function (e) {\n if (hidemodeArray[keys].getAttribute('id') !== 'true') {\n hidemodeArray[keys].style.color = '#f85959'\n hidemodeArray[keys].setAttribute('id', 'true')\n player.danmu.hide(keys)\n } else {\n hidemodeArray[keys].style.color = '#aaa'\n hidemodeArray[keys].setAttribute('id', 'false')\n player.danmu.show(keys)\n }\n })\n })\n }\n let transparency = panelBtn.querySelector('.xgplayer-transparency-line')\n let transparencyGradient = panelBtn.querySelector('.xgplayer-transparency-gradient')\n let transparencyValue = 50\n transparencyGradient.style.background = 'linear-gradient(to right, #f85959 0%, #f85959 ' + transparencyValue + '%, #aaa ' + transparencyValue + '%, #aaa)'\n transparency.addEventListener('input', function (e) {\n e.preventDefault()\n e.stopPropagation()\n transparencyValue = e.target.value\n transparencyGradient.style.background = 'linear-gradient(to right, #f85959 0%, #f85959 ' + transparencyValue + '%, #aaa ' + transparencyValue + '%, #aaa)'\n danmuConfig.comments.forEach(item => {\n item.style.opacity = transparencyValue / 100\n })\n })\n let showarea = panelBtn.querySelector('.xgplayer-showarea-line')\n showarea.addEventListener('input', function (e) {\n e.preventDefault()\n e.stopPropagation()\n let showareaValue = e.target.value\n player.danmu.config.area.end = showareaValue / 100\n player.config.danmu.area.end = showareaValue / 100\n player.danmu.bulletBtn.main.channel.resize()\n })\n let danmuspeed = panelBtn.querySelector('.xgplayer-danmuspeed-line')\n danmuspeed.addEventListener('input', function (e) {\n e.preventDefault()\n e.stopPropagation()\n let danmuspeedValue = e.target.value\n danmuConfig.comments.forEach(item => {\n item.duration = (200 - danmuspeedValue) * 100\n })\n })\n let danmufont = panelBtn.querySelector('.xgplayer-danmufont-line')\n danmufont.addEventListener('input', function (e) {\n e.preventDefault()\n e.stopPropagation()\n let danmufontValue = e.target.value\n danmuConfig.comments.forEach(item => {\n item.style.fontSize = danmufontValue + 'px'\n })\n })\n if(navigator.userAgent.indexOf(\"Firefox\") > -1) {\n for (let i = 0; i < slider.querySelectorAll('input').length; i++) {\n slider.querySelectorAll('input')[i].style.marginTop = '10px'\n }\n }\n })\n}\n\nexport default {\n name: 's_danmu',\n method: s_danmu\n}","!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof exports?exports[\"danmu.js\"]=t():e[\"danmu.js\"]=t()}(window,(function(){return function(e){var t={};function n(i){if(t[i])return t[i].exports;var o=t[i]={i:i,l:!1,exports:{}};return e[i].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,i){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},n.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var o in e)n.d(i,o,function(t){return e[t]}.bind(null,o));return i},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,\"a\",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p=\"\",n(n.s=4)}([function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var i={createDom:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"div\",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"\",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:\"\",o=document.createElement(e);return o.className=i,o.innerHTML=t,Object.keys(n).forEach((function(t){var i=t,r=n[t];\"video\"===e||\"audio\"===e?r&&o.setAttribute(i,r):o.setAttribute(i,r)})),o},hasClass:function(e,t){return e.classList?Array.prototype.some.call(e.classList,(function(e){return e===t})):!!e.className.match(new RegExp(\"(\\\\s|^)\"+t+\"(\\\\s|$)\"))},addClass:function(e,t){e.classList?t.replace(/(^\\s+|\\s+$)/g,\"\").split(/\\s+/g).forEach((function(t){t&&e.classList.add(t)})):i.hasClass(e,t)||(e.className+=\" \"+t)},removeClass:function(e,t){e.classList?t.split(/\\s+/g).forEach((function(t){e.classList.remove(t)})):i.hasClass(e,t)&&t.split(/\\s+/g).forEach((function(t){var n=new RegExp(\"(\\\\s|^)\"+t+\"(\\\\s|$)\");e.className=e.className.replace(n,\" \")}))},toggleClass:function(e,t){t.split(/\\s+/g).forEach((function(t){i.hasClass(e,t)?i.removeClass(e,t):i.addClass(e,t)}))},findDom:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:document,t=arguments[1],n=void 0;try{n=e.querySelector(t)}catch(i){t.startsWith(\"#\")&&(n=e.getElementById(t.slice(1)))}return n},deepCopy:function(e,t){if(\"Object\"===i.typeOf(t)&&\"Object\"===i.typeOf(e))return Object.keys(t).forEach((function(n){\"Object\"!==i.typeOf(t[n])||t[n]instanceof Node?\"Array\"===i.typeOf(t[n])?e[n]=\"Array\"===i.typeOf(e[n])?e[n].concat(t[n]):t[n]:e[n]=t[n]:e[n]?i.deepCopy(e[n],t[n]):e[n]=t[n]})),e},typeOf:function(e){return Object.prototype.toString.call(e).match(/([^\\s.*]+)(?=]$)/g)[0]},copyDom:function(e){if(e&&1===e.nodeType){var t=document.createElement(e.tagName);return Array.prototype.forEach.call(e.attributes,(function(e){t.setAttribute(e.name,e.value)})),e.innerHTML&&(t.innerHTML=e.innerHTML),t}return\"\"},formatTime:function(e){var t=Math.floor(e);return 1e3*t+(e-t)},offInDestroy:function(e,t,n,i){e.once(i,(function o(){e.off(t,n),e.off(i,o)}))},on:function(e,t,n,o){if(o)e.on(t,n),i.offInDestroy(e,t,n,o);else{e.on(t,(function i(o){n(o),e.off(t,i)}))}},style:function(e,t,n){var i=e.style;try{i[t]=n}catch(e){i.setProperty(t,n)}}};t.default=i,e.exports=t.default},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var i,o=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),r=n(26),a=(i=r)&&i.__esModule?i:{default:i};var s=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,e)}return o(e,[{key:\"setLogger\",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"\";this.logger=new a.default(e+\".js\")}}]),e}();t.default=s,e.exports=t.default},function(e,t,n){\"use strict\";var i=n(19)();e.exports=function(e){return e!==i&&null!==e}},function(e,t,n){\"use strict\";e.exports=function(e){return null!=e}},function(e,t,n){e.exports=n(5)},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var i,o=n(6),r=(i=o)&&i.__esModule?i:{default:i};n(34),t.default=r.default,e.exports=t.default},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),o=f(n(7)),r=f(n(1)),a=f(n(27)),s=f(n(31)),l=f(n(0)),u=n(32),c=n(33);function f(e){return e&&e.__esModule?e:{default:e}}function h(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}var d=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,t);var n=h(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));n.setLogger(\"danmu\"),n.logger&&n.logger.info(\"danmu.js version: \"+u.version);var i=n;if(i.config=l.default.deepCopy({overlap:!1,area:{start:0,end:1},live:!1,comments:[],direction:\"r2l\",needResizeObserver:!1},e),i.hideArr=[],i.domObj=new s.default,(0,o.default)(i),i.config.comments.forEach((function(e){e.duration=e.duration?e.duration:5e3,e.mode||(e.mode=\"scroll\")})),!i.config.container||1!==i.config.container.nodeType)return i.emit(\"error\",\"container id can't be empty\"),!1,h(n,!1);if(i.container=i.config.container,i.config.containerStyle){var r=i.config.containerStyle;Object.keys(r).forEach((function(e){i.container.style[e]=r[e]}))}return i.live=i.config.live,i.player=i.config.player,i.direction=i.config.direction,l.default.addClass(i.container,\"danmu\"),i.bulletBtn=new a.default(i),i.isReady=!0,i.emit(\"ready\"),n.logger&&n.logger.info(\"ready\"),n.addResizeObserver(),n}return function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),i(t,[{key:\"addResizeObserver\",value:function(){var e=this;this.config.needResizeObserver&&(0,c.addObserver)(this.container,(function(){e.logger&&e.logger.info(\"needResizeObserver\"),e.resize()}))}},{key:\"start\",value:function(){this.logger&&this.logger.info(\"start\"),this.bulletBtn.main.start()}},{key:\"pause\",value:function(){this.logger&&this.logger.info(\"pause\"),this.bulletBtn.main.pause()}},{key:\"play\",value:function(){this.logger&&this.logger.info(\"play\"),this.bulletBtn.main.play()}},{key:\"stop\",value:function(){this.logger&&this.logger.info(\"stop\"),this.bulletBtn.main.stop()}},{key:\"clear\",value:function(){this.logger&&this.logger.info(\"clear\"),this.bulletBtn.main.clear()}},{key:\"destroy\",value:function(){for(var e in(0,c.unObserver)(this.container),this.logger&&this.logger.info(\"destroy\"),this.stop(),this.bulletBtn.destroy(),this.domObj.destroy(),this)delete this[e];this.emit(\"destroy\")}},{key:\"sendComment\",value:function(e){this.logger&&this.logger.info(\"sendComment: \"+(e.txt||\"[DOM Element]\")),e.duration||(e.duration=15e3),e&&e.id&&e.duration&&(e.el||e.txt)&&(e.duration=e.duration?e.duration:5e3,e.style||(e.style={opacity:void 0,fontSize:void 0}),e.style&&(this.opacity&&this.opacity!==e.style.opacity&&(e.style.opacity=this.opacity),this.fontSize&&this.fontSize!==e.style.fontSize&&(e.style.fontSize=this.fontSize),this.like&&(e.like=e.like?e.like:this.like)),e.prior||e.realTime?(this.bulletBtn.main.data.unshift(e),e.realTime&&(this.bulletBtn.main.readData(),this.bulletBtn.main.dataHandle())):this.bulletBtn.main.data.push(e))}},{key:\"setCommentID\",value:function(e,t){var n=this;this.logger&&this.logger.info(\"setCommentID: oldID \"+e+\" newID \"+t);var i=this.container.getBoundingClientRect();e&&t&&(this.bulletBtn.main.data.some((function(n){return n.id===e&&(n.id=t,!0)})),this.bulletBtn.main.queue.some((function(o){return o.id===e&&(o.id=t,o.pauseMove(i),\"paused\"!==n.bulletBtn.main.status&&o.startMove(i),!0)})))}},{key:\"setCommentDuration\",value:function(e,t){var n=this;this.logger&&this.logger.info(\"setCommentDuration: id \"+e+\" duration \"+t);var i=this.container.getBoundingClientRect();e&&t&&(t=t||5e3,this.bulletBtn.main.data.some((function(n){return n.id===e&&(n.duration=t,!0)})),this.bulletBtn.main.queue.some((function(o){return o.id===e&&(o.duration=t,o.pauseMove(i),\"paused\"!==n.bulletBtn.main.status&&o.startMove(i),!0)})))}},{key:\"setCommentLike\",value:function(e,t){this.logger&&this.logger.info(\"setCommentLike: id \"+e+\" like \"+t);var n=this.container.getBoundingClientRect();this.like=t,e&&t&&(this.bulletBtn.main.data.some((function(n){return n.id===e&&(n.like=t,!0)})),this.bulletBtn.main.queue.some((function(i){return i.id===e&&(i.pauseMove(n),i.setLikeDom(t.el,t.style),\"paused\"!==i.danmu.bulletBtn.main.status&&i.startMove(n),!0)})))}},{key:\"restartComment\",value:function(e){this.logger&&this.logger.info(\"restartComment: id \"+e),this.mouseControl=!1;var t=this.container.getBoundingClientRect();e&&this.bulletBtn.main.queue.some((function(n){return n.id===e&&(\"paused\"!==n.danmu.bulletBtn.main.status?n.startMove(t,!0):n.status=\"paused\",!0)}))}},{key:\"freezeComment\",value:function(e){this.logger&&this.logger.info(\"freezeComment: id \"+e),this.mouseControl=!0;var t=this.container.getBoundingClientRect();e&&this.bulletBtn.main.queue.some((function(n){return n.id===e&&(n.status=\"forcedPause\",n.pauseMove(t),n.el&&n.el.style&&l.default.style(n.el,\"zIndex\",10),!0)}))}},{key:\"removeComment\",value:function(e){this.logger&&this.logger.info(\"removeComment: id \"+e),e&&(this.bulletBtn.main.queue.some((function(t){return t.id===e&&(t.remove(),!0)})),this.bulletBtn.main.data=this.bulletBtn.main.data.filter((function(t){return t.id!==e})))}},{key:\"updateComments\",value:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];t&&(this.bulletBtn.main.data=[]),this.bulletBtn.main.data=this.bulletBtn.main.data.concat(e)}},{key:\"setAllDuration\",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"scroll\",t=arguments[1],n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];this.logger&&this.logger.info(\"setAllDuration: mode \"+e+\" duration \"+t+\" force \"+n);var i=this.container.getBoundingClientRect();t&&(t=t||5e3,n&&(this.bulletBtn.main.forceDuration=t),this.bulletBtn.main.data.forEach((function(n){e===n.mode&&(n.duration=t)})),this.bulletBtn.main.queue.forEach((function(n){e===n.mode&&(n.duration=t,n.pauseMove(i),\"paused\"!==n.danmu.bulletBtn.main.status&&n.startMove(i))})))}},{key:\"setOpacity\",value:function(e){this.logger&&this.logger.info(\"setOpacity: opacity \"+e),this.container.style.opacity=e}},{key:\"setFontSize\",value:function(e,t){var n=this;this.logger&&this.logger.info(\"setFontSize: size \"+e+\" channelSize \"+t),this.fontSize=e+\"px\",e&&(this.bulletBtn.main.data.forEach((function(e){e.style&&(e.style.fontSize=n.fontSize)})),this.bulletBtn.main.queue.forEach((function(e){e.options.style||(e.options.style={}),e.options.style.fontSize=n.fontSize,e.setFontSize(n.fontSize),t&&(e.top=e.channel_id[0]*t,e.topInit())}))),t&&(this.config.channelSize=t,this.bulletBtn.main.channel.resize(!0))}},{key:\"setArea\",value:function(e){this.logger&&this.logger.info(\"setArea: area \"+e),this.config.area=e,this.bulletBtn.main.channel.resize(!0)}},{key:\"hide\",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"scroll\";this.logger&&this.logger.info(\"hide: mode \"+e),this.hideArr.indexOf(e)<0&&this.hideArr.push(e);var t=this.bulletBtn.main.queue.filter((function(t){return e===t.mode||\"color\"===e&&t.color}));t.forEach((function(e){return e.remove()}))}},{key:\"show\",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"scroll\";this.logger&&this.logger.info(\"show: mode \"+e);var t=this.hideArr.indexOf(e);t>-1&&this.hideArr.splice(t,1)}},{key:\"setDirection\",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"r2l\";this.logger&&this.logger.info(\"setDirection: direction \"+e),this.emit(\"changeDirection\",e)}},{key:\"resize\",value:function(){this.logger&&this.logger.info(\"resize\"),this.emit(\"channel_resize\")}}]),t}(r.default);t.default=d,e.exports=t.default},function(e,t,n){\"use strict\";var i,o,r,a,s,l,u,c=n(8),f=n(25),h=Function.prototype.apply,d=Function.prototype.call,g=Object.create,p=Object.defineProperty,m=Object.defineProperties,v=Object.prototype.hasOwnProperty,b={configurable:!0,enumerable:!1,writable:!0};o=function(e,t){var n,o;return f(t),o=this,i.call(this,e,n=function(){r.call(o,e,n),h.call(t,this,arguments)}),n.__eeOnceListener__=t,this},s={on:i=function(e,t){var n;return f(t),v.call(this,\"__ee__\")?n=this.__ee__:(n=b.value=g(null),p(this,\"__ee__\",b),b.value=null),n[e]?\"object\"==typeof n[e]?n[e].push(t):n[e]=[n[e],t]:n[e]=t,this},once:o,off:r=function(e,t){var n,i,o,r;if(f(t),!v.call(this,\"__ee__\"))return this;if(!(n=this.__ee__)[e])return this;if(\"object\"==typeof(i=n[e]))for(r=0;o=i[r];++r)o!==t&&o.__eeOnceListener__!==t||(2===i.length?n[e]=i[r?0:1]:i.splice(r,1));else i!==t&&i.__eeOnceListener__!==t||delete n[e];return this},emit:a=function(e){var t,n,i,o,r;if(v.call(this,\"__ee__\")&&(o=this.__ee__[e]))if(\"object\"==typeof o){for(n=arguments.length,r=new Array(n-1),t=1;t<n;++t)r[t-1]=arguments[t];for(o=o.slice(),t=0;i=o[t];++t)h.call(i,this,r)}else switch(arguments.length){case 1:d.call(o,this);break;case 2:d.call(o,this,arguments[1]);break;case 3:d.call(o,this,arguments[1],arguments[2]);break;default:for(n=arguments.length,r=new Array(n-1),t=1;t<n;++t)r[t-1]=arguments[t];h.call(o,this,r)}}},l={on:c(i),once:c(o),off:c(r),emit:c(a)},u=m({},l),e.exports=t=function(e){return null==e?g(u):m(Object(e),l)},t.methods=s},function(e,t,n){\"use strict\";var i=n(3),o=n(9),r=n(13),a=n(21),s=n(22);(e.exports=function(e,t){var n,o,l,u,c;return arguments.length<2||\"string\"!=typeof e?(u=t,t=e,e=null):u=arguments[2],i(e)?(n=s.call(e,\"c\"),o=s.call(e,\"e\"),l=s.call(e,\"w\")):(n=l=!0,o=!1),c={value:t,configurable:n,enumerable:o,writable:l},u?r(a(u),c):c}).gs=function(e,t,n){var l,u,c,f;return\"string\"!=typeof e?(c=n,n=t,t=e,e=null):c=arguments[3],i(t)?o(t)?i(n)?o(n)||(c=n,n=void 0):n=void 0:(c=t,t=n=void 0):t=void 0,i(e)?(l=s.call(e,\"c\"),u=s.call(e,\"e\")):(l=!0,u=!1),f={get:t,set:n,configurable:l,enumerable:u},c?r(a(c),f):f}},function(e,t,n){\"use strict\";var i=n(10),o=/^\\s*class[\\s{/}]/,r=Function.prototype.toString;e.exports=function(e){return!!i(e)&&!o.test(r.call(e))}},function(e,t,n){\"use strict\";var i=n(11);e.exports=function(e){if(\"function\"!=typeof e)return!1;if(!hasOwnProperty.call(e,\"length\"))return!1;try{if(\"number\"!=typeof e.length)return!1;if(\"function\"!=typeof e.call)return!1;if(\"function\"!=typeof e.apply)return!1}catch(e){return!1}return!i(e)}},function(e,t,n){\"use strict\";var i=n(12);e.exports=function(e){if(!i(e))return!1;try{return!!e.constructor&&e.constructor.prototype===e}catch(e){return!1}}},function(e,t,n){\"use strict\";var i=n(3),o={object:!0,function:!0,undefined:!0};e.exports=function(e){return!!i(e)&&hasOwnProperty.call(o,typeof e)}},function(e,t,n){\"use strict\";e.exports=n(14)()?Object.assign:n(15)},function(e,t,n){\"use strict\";e.exports=function(){var e,t=Object.assign;return\"function\"==typeof t&&(t(e={foo:\"raz\"},{bar:\"dwa\"},{trzy:\"trzy\"}),e.foo+e.bar+e.trzy===\"razdwatrzy\")}},function(e,t,n){\"use strict\";var i=n(16),o=n(20),r=Math.max;e.exports=function(e,t){var n,a,s,l=r(arguments.length,2);for(e=Object(o(e)),s=function(i){try{e[i]=t[i]}catch(e){n||(n=e)}},a=1;a<l;++a)i(t=arguments[a]).forEach(s);if(void 0!==n)throw n;return e}},function(e,t,n){\"use strict\";e.exports=n(17)()?Object.keys:n(18)},function(e,t,n){\"use strict\";e.exports=function(){try{return Object.keys(\"primitive\"),!0}catch(e){return!1}}},function(e,t,n){\"use strict\";var i=n(2),o=Object.keys;e.exports=function(e){return o(i(e)?Object(e):e)}},function(e,t,n){\"use strict\";e.exports=function(){}},function(e,t,n){\"use strict\";var i=n(2);e.exports=function(e){if(!i(e))throw new TypeError(\"Cannot use null or undefined\");return e}},function(e,t,n){\"use strict\";var i=n(2),o=Array.prototype.forEach,r=Object.create,a=function(e,t){var n;for(n in e)t[n]=e[n]};e.exports=function(e){var t=r(null);return o.call(arguments,(function(e){i(e)&&a(Object(e),t)})),t}},function(e,t,n){\"use strict\";e.exports=n(23)()?String.prototype.contains:n(24)},function(e,t,n){\"use strict\";var i=\"razdwatrzy\";e.exports=function(){return\"function\"==typeof i.contains&&(!0===i.contains(\"dwa\")&&!1===i.contains(\"foo\"))}},function(e,t,n){\"use strict\";var i=String.prototype.indexOf;e.exports=function(e){return i.call(this,e,arguments[1])>-1}},function(e,t,n){\"use strict\";e.exports=function(e){if(\"function\"!=typeof e)throw new TypeError(e+\" is not a function\");return e}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}();var o=\"undefined\"!=typeof window&&window.location.href.indexOf(\"danmu-debug\")>-1,r=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,e),this.constructorName=t||\"\"}return i(e,[{key:\"info\",value:function(e){for(var t,n=arguments.length,i=Array(n>1?n-1:0),r=1;r<n;r++)i[r-1]=arguments[r];o&&(t=console).log.apply(t,[\"[Danmu Log][\"+this.constructorName+\"]\",e].concat(i))}}]),e}();t.default=r,e.exports=t.default},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),o=s(n(1)),r=s(n(0)),a=s(n(28));function s(e){return e&&e.__esModule?e:{default:e}}var l=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return n.setLogger(\"control\"),n.danmu=e,n.main=new a.default(e),e.config.defaultOff||n.main.start(),n}return function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),i(t,[{key:\"createSwitch\",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this.logger&&this.logger.info(\"createSwitch\"),this.switchBtn=r.default.createDom(\"dk-switch\",'<span class=\"txt\">弹</span>',{},\"danmu-switch \"+(e?\"danmu-switch-active\":\"\")),this.switchBtn}},{key:\"destroy\",value:function(){for(var e in this.logger&&this.logger.info(\"destroy\"),this.main.destroy(),this)delete this[e]}}]),t}(o.default);t.default=l,e.exports=t.default},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),o=l(n(1)),r=l(n(29)),a=l(n(30)),s=l(n(0));function l(e){return e&&e.__esModule?e:{default:e}}var u=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));n.setLogger(\"main\"),n.danmu=e,n.container=e.container,n.channel=new r.default(e),n.data=[].concat(e.config.comments),n.playedData=[],n.queue=[],n.timer=null,n.retryTimer=null,n.retryStatus=\"normal\",n.interval=e.config.interval||2e3,n.status=\"idle\",s.default.on(e,\"bullet_remove\",n.updateQueue.bind(n),\"destroy\");var i=n;return s.default.on(n.danmu,\"changeDirection\",(function(e){i.danmu.direction=e}),\"destroy\"),n.nums=0,n}return function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),i(t,[{key:\"destroy\",value:function(){for(var e in this.logger&&this.logger.info(\"destroy\"),clearTimeout(this.dataHandleTimer),this.channel.destroy(),this.data=[],this)delete this[e]}},{key:\"updateQueue\",value:function(e){this.logger&&this.logger.info(\"updateQueue\");var t=this;t.queue.some((function(n,i){return n.id===e.bullet.id&&(t.queue.splice(i,1),!0)})),t.data.some((function(t,n){return t.id===e.bullet.id&&(t.hasAttached=!1,!0)}))}},{key:\"init\",value:function(e,t){t.logger&&t.logger.info(\"init\"),t||(t=this),t.retryStatus=\"normal\",t.data.sort((function(e,t){return e.start-t.start}));t.retryTimer||function e(){\"closed\"===t.status&&\"stop\"===t.retryStatus||(\"playing\"===t.status&&(t.readData(),t.dataHandle()),\"stop\"===t.retryStatus&&\"paused\"!==t.status||(t.dataHandleTimer=setTimeout((function(){e()}),t.interval-1e3)))}()}},{key:\"start\",value:function(){this.logger&&this.logger.info(\"start\");this.status=\"playing\",this.queue=[],this.container.innerHTML=\"\",this.channel.resetWithCb(this.init,this)}},{key:\"stop\",value:function(){this.logger&&this.logger.info(\"stop\");this.status=\"closed\",this.retryTimer=null,this.retryStatus=\"stop\",this.channel.reset(),this.queue=[],this.container.innerHTML=\"\"}},{key:\"clear\",value:function(){this.logger&&this.logger.info(\"clear\"),this.channel.reset(),this.data=[],this.queue=[],this.container.innerHTML=\"\"}},{key:\"play\",value:function(){var e=this;this.logger&&this.logger.info(\"play\"),this.status=\"playing\";var t=this.channel.channels,n=this.danmu.container.getBoundingClientRect();t&&t.length>0&&[\"scroll\",\"top\",\"bottom\"].forEach((function(i){e.queue.forEach((function(e){e.startMove(n),e.resized=!0}));for(var o=0;o<t.length;o++)t[o].queue[i].forEach((function(e){e.resized=!1}))}))}},{key:\"pause\",value:function(){this.logger&&this.logger.info(\"pause\"),this.status=\"paused\";var e=this.channel.channels,t=this.danmu.container.getBoundingClientRect();e&&e.length>0&&this.queue.forEach((function(e){e.pauseMove(t)}))}},{key:\"dataHandle\",value:function(){var e=this;\"paused\"!==this.status&&\"closed\"!==this.status&&e.queue.length&&e.queue.forEach((function(t){\"waiting\"===t.status&&t.startMove(e.channel.containerPos)}))}},{key:\"readData\",value:function(){var e=this,t=this.danmu;if(t.isReady){var n=0;t.player&&t.player.currentTime&&(n=s.default.formatTime(t.player.currentTime));var i=void 0,o=e.interval,r=e.channel,l=void 0;t.player?(l=e.data.filter((function(t){return!t.start&&e.danmu.hideArr.indexOf(t.mode)<0&&(!t.color||e.danmu.hideArr.indexOf(\"color\")<0)&&(t.start=n),e.danmu.hideArr.indexOf(t.mode)<0&&(!t.color||e.danmu.hideArr.indexOf(\"color\")<0)&&t.start-o<=n&&n<=t.start+o})),t.live&&(e.data=[])):0===(l=e.data.splice(0,1)).length&&(l=e.playedData.splice(0,1)),l.length>0&&l.forEach((function(n){if(e.forceDuration&&e.forceDuration!=n.duration&&(n.duration=e.forceDuration),i=new a.default(t,n),n.hasAttached){for(var o in i.detach(),i)delete i[o];i=null,n.hasAttached=!1,n.noDiscard&&(n.prior?e.data.unshift(n):e.data.push(n))}else if(i.attach(),n.hasAttached=!0,r.addBullet(i).result)e.queue.push(i),e.nums++,i.topInit();else{for(var s in i.detach(),i)delete i[s];i=null,n.hasAttached=!1,n.noDiscard&&(n.prior?e.data.unshift(n):e.data.push(n))}}))}}}]),t}(o.default);t.default=u,e.exports=t.default},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),o=a(n(1)),r=a(n(0));function a(e){return e&&e.__esModule?e:{default:e}}var s=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));n.setLogger(\"channel\"),n.danmu=e,n.reset(!0);var i=n;return r.default.on(n.danmu,\"bullet_remove\",(function(e){i.removeBullet(e.bullet)}),\"destroy\"),n.direction=e.direction,r.default.on(n.danmu,\"changeDirection\",(function(e){i.direction=e}),\"destroy\"),n.containerPos=n.danmu.container.getBoundingClientRect(),n.containerWidth=n.containerPos.width,n.containerHeight=n.containerPos.height,n.containerLeft=n.containerPos.left,n.containerRight=n.containerPos.right,r.default.on(n.danmu,\"channel_resize\",(function(){i.containerPos=i.danmu.container.getBoundingClientRect(),i.resizing||(i.containerWidth=i.containerPos.width,i.containerHeight=i.containerPos.height,i.containerLeft=i.containerPos.left,i.containerRight=i.containerPos.right,i.resize(!0))}),\"destroy\"),n}return function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),i(t,[{key:\"destroy\",value:function(){for(var e in this.logger&&this.logger.info(\"destroy\"),clearTimeout(this.resizeTimer),this.channels=[],this)delete this[e]}},{key:\"resize\",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.logger&&this.logger.info(\"resize\");var t=this.danmu.container,n=this;n.resizing||(n.resizing=!0,this.resizeTimer=setTimeout((function(){n.danmu.bulletBtn.main.data&&n.danmu.bulletBtn.main.data.forEach((function(e){e.bookChannelId&&(delete e.bookChannelId,n.logger&&n.logger.info(\"resize导致\"+e.id+\"号优先弹幕预定取消\"))})),n.logger&&n.logger.info(\"resize导致所有轨道恢复正常使用\");var i=t.getBoundingClientRect();n.width=i.width,n.height=i.height,n.danmu.config.area&&n.danmu.config.area.start>=0&&n.danmu.config.area.end>=n.danmu.config.area.start&&(\"b2t\"===n.direction?n.width=n.width*(n.danmu.config.area.end-n.danmu.config.area.start):n.height=n.height*(n.danmu.config.area.end-n.danmu.config.area.start)),n.container=t;var o=n.danmu.config.channelSize||(/mobile/gi.test(navigator.userAgent)?10:12),r=void 0;r=\"b2t\"===n.direction?Math.floor(n.width/o):Math.floor(n.height/o);for(var a=[],s=0;s<r;s++)a[s]={id:s,queue:{scroll:[],top:[],bottom:[]},operating:{scroll:!1,top:!1,bottom:!1},bookId:{}};if(n.channels&&n.channels.length<=a.length){for(var l=function(t){a[t]={id:t,queue:{scroll:[],top:[],bottom:[]},operating:{scroll:!1,top:!1,bottom:!1},bookId:{}},[\"scroll\",\"top\"].forEach((function(i){n.channels[t].queue[i].forEach((function(o){o.el&&(a[t].queue[i].push(o),o.resized||(o.pauseMove(n.containerPos,e),\"paused\"!==o.danmu.bulletBtn.main.status&&o.startMove(n.containerPos),o.resized=!0))}))})),n.channels[t].queue.bottom.forEach((function(i){if(i.el){if(a[t+a.length-n.channels.length].queue.bottom.push(i),i.channel_id[0]+i.channel_id[1]-1===t){var r=[].concat(i.channel_id);i.channel_id=[r[0]-n.channels.length+a.length,r[1]],i.top=i.channel_id[0]*o,n.danmu.config.area&&n.danmu.config.area.start&&(i.top+=n.containerHeight*n.danmu.config.area.start),i.topInit()}i.resized||(i.pauseMove(n.containerPos,e),\"paused\"!==i.danmu.bulletBtn.main.status&&i.startMove(n.containerPos),i.resized=!0)}}))},u=0;u<n.channels.length;u++)l(u);for(var c=function(e){[\"scroll\",\"top\",\"bottom\"].forEach((function(t){a[e].queue[t].forEach((function(e){e.resized=!1}))}))},f=0;f<a.length;f++)c(f);n.channels=a,\"b2t\"===n.direction?n.channelWidth=o:n.channelHeight=o}else if(n.channels&&n.channels.length>a.length){for(var h=function(t){a[t]={id:t,queue:{scroll:[],top:[],bottom:[]},operating:{scroll:!1,top:!1,bottom:!1},bookId:{}},[\"scroll\",\"top\",\"bottom\"].forEach((function(i){if(\"top\"===i&&t>Math.floor(a.length/2));else if(\"bottom\"===i&&t<=Math.floor(a.length/2));else{var r=\"bottom\"===i?t-a.length+n.channels.length:t;n.channels[r].queue[i].forEach((function(s,l){if(s.el){if(a[t].queue[i].push(s),\"bottom\"===i&&s.channel_id[0]+s.channel_id[1]-1===r){var u=[].concat(s.channel_id);s.channel_id=[u[0]-n.channels.length+a.length,u[1]],s.top=s.channel_id[0]*o,n.danmu.config.area&&n.danmu.config.area.start&&(s.top+=n.containerHeight*n.danmu.config.area.start),s.topInit()}s.pauseMove(n.containerPos,e),\"paused\"!==s.danmu.bulletBtn.main.status&&s.startMove(n.containerPos),s.resized||(s.resized=!0)}n.channels[r].queue[i].splice(l,1)}))}}))},d=0;d<a.length;d++)h(d);for(var g=function(e){[\"scroll\",\"top\",\"bottom\"].forEach((function(t){a[e].queue[t].forEach((function(e){e.resized=!1}))}))},p=0;p<a.length;p++)g(p);n.channels=a,\"b2t\"===n.direction?n.channelWidth=o:n.channelHeight=o}n.resizing=!1}),10))}},{key:\"addBullet\",value:function(e){var t=this,n=this.danmu,i=this.channels,o=void 0,r=void 0,a=void 0;if(\"b2t\"===t.direction?(r=this.channelWidth,a=Math.ceil(e.width/r)):(o=this.channelHeight,a=Math.ceil(e.height/o)),a>i.length)return{result:!1,message:\"exceed channels.length, occupy=\"+a+\",channelsSize=\"+i.length};for(var s=!0,l=void 0,u=-1,c=0,f=i.length;c<f;c++)if(i[c].queue[e.mode].some((function(t){return t.id===e.id})))return{result:!1,message:\"exsited, channelOrder=\"+c+\",danmu_id=\"+e.id};if(\"scroll\"===e.mode)for(var h=0,d=i.length-a;h<=d;h++){s=!0;for(var g=h;g<h+a;g++){if((l=i[g]).operating.scroll){s=!1;break}if(l.bookId.scroll&&l.bookId.scroll!==e.id){s=!1;break}l.operating.scroll=!0;var p=l.queue.scroll[0];if(p){var m=p.el.getBoundingClientRect();if(\"b2t\"===t.direction){if(m.bottom>t.containerPos.bottom){s=!1,l.operating.scroll=!1;break}}else if(m.right>t.containerPos.right){s=!1,l.operating.scroll=!1;break}var v,b=void 0,y=void 0,w=void 0,_=void 0;if(\"b2t\"===t.direction?(y=(m.top-t.containerPos.top+m.height)/(b=(t.containerPos.height+m.height)/p.duration),w=t.containerPos.height,_=(t.containerPos.height+e.height)/e.duration):(y=(m.left-t.containerPos.left+m.width)/(b=(t.containerPos.width+m.width)/p.duration),w=t.containerPos.width,_=(t.containerPos.width+e.width)/e.duration),v=w/_,n.config.bOffset||(n.config.bOffset=0),b<_&&y+n.config.bOffset>v){s=!1,l.operating.scroll=!1;break}}l.operating.scroll=!1}if(s){u=h;break}}else if(\"top\"===e.mode)for(var O=0,k=i.length-a;O<=k;O++){s=!0;for(var x=O;x<O+a;x++){if(x>Math.floor(i.length/2)){s=!1;break}if((l=i[x]).operating[e.mode]){s=!1;break}if((l.bookId[e.mode]||e.prior)&&l.bookId[e.mode]!==e.id){s=!1;break}if(l.operating[e.mode]=!0,l.queue[e.mode].length>0){s=!1,l.operating[e.mode]=!1;break}l.operating[e.mode]=!1}if(s){u=O;break}}else if(\"bottom\"===e.mode)for(var M=i.length-a;M>=0;M--){s=!0;for(var C=M;C<M+a;C++){if(C<=Math.floor(i.length/2)){s=!1;break}if((l=i[C]).operating[e.mode]){s=!1;break}if((l.bookId[e.mode]||e.prior)&&l.bookId[e.mode]!==e.id){s=!1;break}if(l.operating[e.mode]=!0,l.queue[e.mode].length>0){s=!1,l.operating[e.mode]=!1;break}l.operating[e.mode]=!1}if(s){u=M;break}}if(-1!==u){for(var E=u,j=u+a;E<j;E++)(l=i[E]).operating[e.mode]=!0,l.queue[e.mode].unshift(e),e.prior&&(delete l.bookId[e.mode],t.logger&&t.logger.info(E+\"号轨道恢复正常使用\")),l.operating[e.mode]=!1;if(e.prior)if(t.logger&&t.logger.info(e.id+\"号优先弹幕运行完毕\"),delete e.bookChannelId,n.player)n.bulletBtn.main.data.some((function(t){return t.id===e.id&&(delete t.bookChannelId,!0)}));return e.channel_id=[u,a],\"b2t\"===t.direction?(e.top=u*r,t.danmu.config.area&&t.danmu.config.area.start&&(e.top+=t.containerWidth*t.danmu.config.area.start)):(e.top=u*o,t.danmu.config.area&&t.danmu.config.area.start&&(e.top+=t.containerHeight*t.danmu.config.area.start)),{result:e,message:\"success\"}}if(e.options.realTime){var B=0,T=-1,P=null;if(t.danmu.bulletBtn.main.queue.forEach((function(e,n){!e.prior&&!e.options.realTime&&e.el&&e.el.getBoundingClientRect().left>t.containerPos.right&&e.start>=B&&(B=e.start,T=n,P=e)})),P){P.remove(),t.removeBullet(P),t.danmu.bulletBtn.main.queue.splice(T,1),e.channel_id=P.channel_id;for(var z=P.channel_id[0],S=P.channel_id[0]+P.channel_id[1];z<S;z++)(l=i[z]).operating[e.mode]=!0,l.queue[e.mode].unshift(e),e.prior&&delete l.bookId[e.mode],l.operating[e.mode]=!1;return e.top=P.top,t.danmu.config.area&&t.danmu.config.area.start&&(e.top+=t.containerHeight*t.danmu.config.area.start),{result:e,message:\"success\"}}}if(e.prior)if(e.bookChannelId||t.danmu.live){if(n.player)n.bulletBtn.main.data.some((function(n){return n.id===e.id&&(t.logger&&t.logger.info(e.id+\"号优先弹幕将于2秒后再次请求注册\"),n.start+=2e3,!0)}))}else{u=-1;for(var L=0,D=i.length-a;L<=D;L++){s=!0;for(var q=L;q<L+a;q++)if(i[q].bookId[e.mode]){s=!1;break}if(s){u=L;break}}if(-1!==u){for(var R=u;R<u+a;R++)i[R].bookId[e.mode]=e.id,t.logger&&t.logger.info(R+\"号轨道被\"+e.id+\"号优先弹幕预定\");if(n.player)n.bulletBtn.main.data.some((function(n){return n.id===e.id&&(t.logger&&t.logger.info(e.id+\"号优先弹幕将于2秒后再次请求注册\"),n.start+=2e3,n.bookChannelId=[u,a],t.logger&&t.logger.info(e.id+\"号优先弹幕预定了\"+u+\"~\"+(u+a-1)+\"号轨道\"),!0)}))}}return{result:!1,message:\"no surplus will right\"}}},{key:\"removeBullet\",value:function(e){this.logger&&this.logger.info(\"removeBullet \"+(e.options.txt||\"[DOM Element]\"));for(var t=this.channels,n=e.channel_id,i=void 0,o=n[0],r=n[0]+n[1];o<r;o++)if(i=t[o]){i.operating[e.mode]=!0;var a=-1;i.queue[e.mode].some((function(t,n){return t.id===e.id&&(a=n,!0)})),a>-1&&i.queue[e.mode].splice(a,1),i.operating[e.mode]=!1}e.options.loop&&this.danmu.bulletBtn.main.playedData.push(e.options)}},{key:\"resetArea\",value:function(){this.logger&&this.logger.info(\"resetArea\");var e=this.danmu.container,t=this,n=e.getBoundingClientRect();t.width=n.width,t.height=n.height,t.danmu.config.area&&t.danmu.config.area.start>=0&&t.danmu.config.area.end>=t.danmu.config.area.start&&(\"b2t\"===t.direction?t.width=t.width*(t.danmu.config.area.end-t.danmu.config.area.start):t.height=t.height*(t.danmu.config.area.end-t.danmu.config.area.start)),t.container=e;var i=t.danmu.config.channelSize||(/mobile/gi.test(navigator.userAgent)?10:12),o=void 0;o=\"b2t\"===t.direction?Math.floor(t.width/i):Math.floor(t.height/i);for(var r=[],a=0;a<o;a++)r[a]={id:a,queue:{scroll:[],top:[],bottom:[]},operating:{scroll:!1,top:!1,bottom:!1},bookId:{}};if(t.channels&&t.channels.length<=r.length){for(var s=function(e){r[e]={id:e,queue:{scroll:[],top:[],bottom:[]},operating:{scroll:!1,top:!1,bottom:!1},bookId:{}},[\"scroll\",\"top\"].forEach((function(n){t.channels[e].queue[n].forEach((function(i){i.el&&(r[e].queue[n].push(i),i.resized||(i.pauseMove(t.containerPos,!1),i.startMove(t.containerPos),i.resized=!0))}))})),t.channels[e].queue.bottom.forEach((function(n){if(n.el){if(r[e+r.length-t.channels.length].queue.bottom.push(n),n.channel_id[0]+n.channel_id[1]-1===e){var o=[].concat(n.channel_id);n.channel_id=[o[0]-t.channels.length+r.length,o[1]],n.top=n.channel_id[0]*i,t.danmu.config.area&&t.danmu.config.area.start&&(n.top+=t.containerHeight*t.danmu.config.area.start),n.topInit()}n.resized||(n.pauseMove(t.containerPos,!1),n.startMove(t.containerPos),n.resized=!0)}}))},l=0;l<t.channels.length;l++)s(l);for(var u=function(e){[\"scroll\",\"top\",\"bottom\"].forEach((function(t){r[e].queue[t].forEach((function(e){e.resized=!1}))}))},c=0;c<r.length;c++)u(c);t.channels=r,\"b2t\"===t.direction?t.channelWidth=i:t.channelHeight=i}else if(t.channels&&t.channels.length>r.length){for(var f=function(e){r[e]={id:e,queue:{scroll:[],top:[],bottom:[]},operating:{scroll:!1,top:!1,bottom:!1},bookId:{}},[\"scroll\",\"top\",\"bottom\"].forEach((function(n){if(\"top\"===n&&e>Math.floor(r.length/2));else if(\"bottom\"===n&&e<=Math.floor(r.length/2));else{var o=\"bottom\"===n?e-r.length+t.channels.length:e;t.channels[o].queue[n].forEach((function(a,s){if(a.el){if(r[e].queue[n].push(a),\"bottom\"===n&&a.channel_id[0]+a.channel_id[1]-1===o){var l=[].concat(a.channel_id);a.channel_id=[l[0]-t.channels.length+r.length,l[1]],a.top=a.channel_id[0]*i,t.danmu.config.area&&t.danmu.config.area.start&&(a.top+=t.containerHeight*t.danmu.config.area.start),a.topInit()}a.resized||(a.pauseMove(t.containerPos,!1),a.startMove(t.containerPos),a.resized=!0)}t.channels[o].queue[n].splice(s,1)}))}}))},h=0;h<r.length;h++)f(h);for(var d=function(e){[\"scroll\",\"top\",\"bottom\"].forEach((function(t){r[e].queue[t].forEach((function(e){e.resized=!1}))}))},g=0;g<r.length;g++)d(g);t.channels=r,\"b2t\"===t.direction?t.channelWidth=i:t.channelHeight=i}}},{key:\"reset\",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.logger&&this.logger.info(\"reset\");var t=this.danmu.container,n=this;function i(){var e=t.getBoundingClientRect();n.width=e.width,n.height=e.height,n.danmu.config.area&&n.danmu.config.area.start>=0&&n.danmu.config.area.end>=n.danmu.config.area.start&&(\"b2t\"===n.direction?n.width=n.width*(n.danmu.config.area.end-n.danmu.config.area.start):n.height=n.height*(n.danmu.config.area.end-n.danmu.config.area.start)),n.container=t;var i=n.danmu.config.channelSize||(/mobile/gi.test(navigator.userAgent)?10:12),o=void 0;o=\"b2t\"===n.direction?Math.floor(n.width/i):Math.floor(n.height/i);for(var r=[],a=0;a<o;a++)r[a]={id:a,queue:{scroll:[],top:[],bottom:[]},operating:{scroll:!1,top:!1,bottom:!1},bookId:{}};n.channels=r,\"b2t\"===n.direction?n.channelWidth=i:n.channelHeight=i}n.danmu.bulletBtn&&n.danmu.bulletBtn.main&&n.danmu.bulletBtn.main.queue.forEach((function(e){e.pauseMove(n.containerPos),e.remove()})),n.channels&&n.channels.length>0&&[\"scroll\",\"top\",\"bottom\"].forEach((function(e){for(var t=0;t<n.channels.length;t++)n.channels[t].queue[e].forEach((function(e){e.pauseMove(n.containerPos),e.remove()}))})),n.danmu.bulletBtn&&n.danmu.bulletBtn.main&&n.danmu.bulletBtn.main.data&&n.danmu.bulletBtn.main.data.forEach((function(e){e.hasAttached=!1})),e?this.resetTimer=setTimeout(i,200):i()}},{key:\"resetWithCb\",value:function(e,t){this.logger&&this.logger.info(\"resetWithCb\");var n=this.danmu.container,i=this;i.channels&&i.channels.length>0&&[\"scroll\",\"top\",\"bottom\"].forEach((function(e){for(var t=0;t<i.channels.length;t++)i.channels[t].queue[e].forEach((function(e){e.pauseMove(i.containerPos),e.remove()}))}));var o=n.getBoundingClientRect();i.width=o.width,i.height=o.height,i.danmu.config.area&&i.danmu.config.area.start>=0&&i.danmu.config.area.end>=i.danmu.config.area.start&&(\"b2t\"===i.direction?i.width=i.width*(i.danmu.config.area.end-i.danmu.config.area.start):i.height=i.height*(i.danmu.config.area.end-i.danmu.config.area.start)),i.container=n;var r=i.danmu.config.channelSize||(/mobile/gi.test(navigator.userAgent)?10:12),a=void 0;a=\"b2t\"===i.direction?Math.floor(i.width/r):Math.floor(i.height/r);for(var s=[],l=0;l<a;l++)s[l]={id:l,queue:{scroll:[],top:[],bottom:[]},operating:{scroll:!1,top:!1,bottom:!1},bookId:{}};i.channels=s,i.channelHeight=r,e&&e(!0,t)}}]),t}(o.default);t.default=s,e.exports=t.default},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),o=a(n(1)),r=a(n(0));function a(e){return e&&e.__esModule?e:{default:e}}var s=function(e){function t(e,n){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,t);var i=function(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));i.setLogger(\"bullet\"),i.danmu=e,i.options=n,i.duration=n.duration,i.moveV=n.moveV,i.id=n.id,i.container=e.container,i.start=n.start,i.prior=n.prior,i.color=n.color,i.bookChannelId=n.bookChannelId,i.direction=e.direction;var o=i;i.onChangeDirection=function(e){o.direction=e},i.danmu.on(\"changeDirection\",i.onChangeDirection);var a=void 0;if(i.domObj=e.domObj,n.el&&1===n.el.nodeType){a=i.domObj.use();var s=r.default.copyDom(n.el);n.eventListeners&&n.eventListeners.length>0&&n.eventListeners.forEach((function(e){s.addEventListener(e.event,e.listener,e.useCapture||!1)})),a.appendChild(s)}else(a=i.domObj.use()).textContent=n.txt;if(n.style){var l=n.style;Object.keys(l).forEach((function(e){r.default.style(a,e,l[e])}))}\"top\"===n.mode||\"bottom\"===n.mode?i.mode=n.mode:i.mode=\"scroll\",i.el=a,n.like&&n.like.el&&i.setLikeDom(n.like.el,n.like.style),i.status=\"waiting\";var u=i.container.getBoundingClientRect(),c=Math.floor(Math.random()*(u.width/10>100?200:u.width/10));n.realTime&&(c=0);var f=u.width+c+\"px\";return r.default.style(i.el,\"left\",f),i.containerPos=u,i}return function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),i(t,[{key:\"attach\",value:function(){if(this.container.appendChild(this.el),this.elPos=this.el.getBoundingClientRect(),\"b2t\"===this.direction?(this.width=this.elPos.height,this.height=this.elPos.width):(this.width=this.elPos.width,this.height=this.elPos.height),this.moveV){var e=this.containerPos;this.duration=(e.width+this.width)/this.moveV*1e3}this.danmu.config&&this.danmu.config.mouseControl&&(this.mouseoverFunWrapper=this.mouseoverFun.bind(this),this.el.addEventListener(\"mouseover\",this.mouseoverFunWrapper,!1)),this.danmu.config&&this.danmu.config.mouseEnterControl&&(this.mouseEnterFunWrapper=this.mouseoverFun.bind(this),this.el.addEventListener(\"mouseenter\",this.mouseEnterFunWrapper,!1))}},{key:\"mouseoverFun\",value:function(e){this.danmu&&this.danmu.mouseControl&&this.danmu.config.mouseControlPause||\"waiting\"===this.status||\"end\"===this.status||this.danmu&&this.danmu.emit(\"bullet_hover\",{bullet:this,event:e})}},{key:\"detach\",value:function(){this.el&&(this.danmu.config&&this.danmu.config.mouseControl&&this.el.removeEventListener(\"mouseover\",this.mouseoverFunWrapper,!1),this.danmu.config&&this.danmu.config.mouseEnterControl&&this.el.removeEventListener(\"mouseenter\",this.mouseEnterFunWrapper,!1),this.el.parentNode&&this.el.parentNode.removeChild(this.el),this.domObj.unuse(this.el),this.el=null),this.danmu.off(\"changeDirection\",this.onChangeDirection)}},{key:\"topInit\",value:function(){if(this.logger&&this.logger.info(\"topInit #\"+(this.options.txt||\"[DOM Element]\")+\"#\"),\"b2t\"===this.direction){var e=this.containerPos;r.default.style(this.el,\"transformOrigin\",\"left top\"),r.default.style(this.el,\"transform\",\"translateX(-\"+this.top+\"px) translateY(\"+e.height+\"px) translateZ(0px) rotate(90deg)\"),r.default.style(this.el,\"transition\",\"transform 0s linear 0s\")}else r.default.style(this.el,\"top\",this.top+\"px\")}},{key:\"pauseMove\",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.logger&&this.logger.info(\"pauseMove #\"+(this.options.txt||\"[DOM Element]\")+\"#\");var n=this;if(\"paused\"!==this.status&&(\"forcedPause\"!==n.status&&(this.status=\"paused\"),clearTimeout(n.removeTimer),this.el))if(r.default.style(this.el,\"willChange\",\"auto\"),\"scroll\"===this.mode){if(t){var i=((new Date).getTime()-n.moveTime)/1e3,o=i*this.moveV,a=0;a=n.moveMoreS-o>=0?\"b2t\"===this.direction?(n.moveMoreS-o)/n.moveContainerHeight*e.height:(n.moveMoreS-o)/n.moveContainerWidth*e.width:n.moveMoreS-o,\"b2t\"===this.direction?r.default.style(this.el,\"transform\",\"translateX(-\"+this.top+\"px) translateY(\"+a+\"px) translateZ(0px) rotate(90deg)\"):r.default.style(this.el,\"left\",a+\"px\")}else\"b2t\"===this.direction?r.default.style(this.el,\"transform\",\"translateX(-\"+this.top+\"px) translateY(\"+(this.el.getBoundingClientRect().top-e.top)+\"px) translateZ(0px) rotate(90deg)\"):r.default.style(this.el,\"left\",this.el.getBoundingClientRect().left-e.left+\"px\");\"b2t\"===this.direction||r.default.style(this.el,\"transform\",\"translateX(0px) translateY(0px) translateZ(0px)\"),r.default.style(this.el,\"transition\",\"transform 0s linear 0s\")}else this.pastDuration&&this.startTime?this.pastDuration=this.pastDuration+(new Date).getTime()-this.startTime:this.pastDuration=1}},{key:\"startMove\",value:function(e,t){this.logger&&this.logger.info(\"startMove #\"+(this.options.txt||\"[DOM Element]\")+\"#\");var n=this;if(n.hasMove||(n.danmu.emit(\"bullet_start\",n),n.hasMove=!0),(\"forcedPause\"!==n.status||t)&&this.el&&\"start\"!==this.status)if(this.status=\"start\",r.default.style(this.el,\"willChange\",\"transform\"),\"scroll\"===this.mode)if(\"b2t\"===this.direction){this.moveV=(e.height+this.height)/this.duration*1e3;var i=(n.el.getBoundingClientRect().bottom-e.top)/this.moveV;r.default.style(this.el,\"transition\",\"transform \"+i+\"s linear 0s\"),this.startMoveTimer=setTimeout((function(){n.el&&(r.default.style(n.el,\"transform\",\"translateX(-\"+n.top+\"px) translateY(-\"+n.height+\"px) translateZ(0px) rotate(90deg)\"),n.moveTime=(new Date).getTime(),n.moveMoreS=n.el.getBoundingClientRect().top-e.top,n.moveContainerHeight=e.height,n.removeTimer=setTimeout(l,1e3*i))}),20)}else{var o=this.el.getBoundingClientRect();this.moveV=(e.width+this.width)/this.duration*1e3;var a=(o.right-e.left)/this.moveV;r.default.style(this.el,\"transition\",\"transform \"+a+\"s linear 0s\"),this.startMoveTimer=setTimeout((function(){if(n.el){var t=n.el.getBoundingClientRect(),i=(t.right-e.left)/a;t.right>e.left&&i>n.moveV-1&&i<n.moveV+1?(r.default.style(n.el,\"transform\",\"translateX(-\"+(t.right-e.left)+\"px) translateY(0px) translateZ(0px)\"),n.moveTime=(new Date).getTime(),n.moveMoreS=t.left-e.left,n.moveContainerWidth=e.width,n.removeTimer=setTimeout(l,1e3*a)):(n.status=\"end\",n.remove())}}),0)}else{r.default.style(this.el,\"left\",\"50%\"),r.default.style(this.el,\"margin\",\"0 0 0 -\"+this.width/2+\"px\"),this.pastDuration||(this.pastDuration=1);var s=this.duration>=this.pastDuration?this.duration-this.pastDuration:0;this.removeTimer=setTimeout(l,s),this.startTime=(new Date).getTime()}function l(){if(n.el)if(\"scroll\"===n.mode){var e=n.containerPos,t=n.el.getBoundingClientRect();\"b2t\"===n.direction?t&&t.bottom<=e.top+100?(n.status=\"end\",n.remove()):(n.pauseMove(e),\"paused\"!==n.danmu.bulletBtn.main.status&&n.startMove(e)):t&&t.right<=e.left+100?(n.status=\"end\",n.remove()):(n.pauseMove(e),\"paused\"!==n.danmu.bulletBtn.main.status&&n.startMove(e))}else n.status=\"end\",n.remove()}}},{key:\"remove\",value:function(){this.logger&&this.logger.info(\"remove #\"+(this.options.txt||\"[DOM Element]\")+\"#\");this.removeTimer&&clearTimeout(this.removeTimer),this.startMoveTimer&&clearTimeout(this.startMoveTimer),this.el&&this.el.parentNode&&(r.default.style(this.el,\"willChange\",\"auto\"),this.detach(),this.danmu.emit(\"bullet_remove\",{bullet:this}))}},{key:\"setFontSize\",value:function(e){this.el&&(this.el.style.fontSize=e)}},{key:\"setLikeDom\",value:function(e,t){if(e){Object.keys(t).forEach((function(n){e.style[n]=t[n]}));if(e.className=\"danmu-like\",this.el){var n=this.el.querySelector(\".danmu-like\");n&&this.el.removeChild(n),this.el.innerHTML=\"\"+this.el.innerHTML+e.outerHTML}}return e}}]),t}(o.default);t.default=s,e.exports=t.default},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var i,o=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),r=n(0),a=(i=r)&&i.__esModule?i:{default:i};var s=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,e),t={initDOM:function(){return document.createElement(\"div\")},initSize:10},this.init(t)}return o(e,[{key:\"init\",value:function(e){this.idleList=[],this.usingList=[],this._id=0,this.options=e,this._expand(e.initSize)}},{key:\"use\",value:function(){this.idleList.length||this._expand(1);var e=this.idleList.shift();return this.usingList.push(e),e}},{key:\"unuse\",value:function(e){var t=this.usingList.indexOf(e);t<0||(this.usingList.splice(t,1),e.innerHTML=\"\",e.textcontent=\"\",this.clearElementStyle(e),this.idleList.push(e))}},{key:\"_expand\",value:function(e){for(var t=0;t<e;t++)this.idleList.push(this.options.initDOM(this._id++))}},{key:\"destroy\",value:function(){for(var e=0;e<this.idleList.length;e++)this.idleList[e].innerHTML=\"\",this.idleList[e].textcontent=\"\",this.clearElementStyle(this.idleList[e]);for(var t=0;t<this.usingList.length;t++)this.usingList[t].innerHTML=\"\",this.usingList[t].textcontent=\"\",this.clearElementStyle(this.usingList[t]);for(var n in this)delete this[n]}},{key:\"clearElementStyle\",value:function(e){var t=\"undefined\"!=typeof window?window.navigator.userAgent:null;t&&(t.indexOf(\"MSIE \")>-1||t.indexOf(\"Trident/\")>-1?a.default.style(e,\"transform\",\"none\"):e.setAttribute(\"style\",\"\"))}}]),e}();t.default=s,e.exports=t.default},function(e){e.exports=JSON.parse('{\"version\":\"0.5.10\"}')},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}();var o=new(function(){function e(){var t=this;if(function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,e),this.__handlers=[],window.ResizeObserver)try{this.observer=new window.ResizeObserver((function(e){var n=(new Date).getTime();n-t.timeStampe<200||(t.timeStampe=n,t.__trigger(e))})),this.timeStampe=(new Date).getTime()}catch(e){}}return i(e,[{key:\"addObserver\",value:function(e,t){if(this.observer){this.observer&&this.observer.observe(e);for(var n=this.__handlers,i=-1,o=0;o<n.length;o++)n[o]&&e===n[o].target&&(i=o);i>-1?this.__handlers[i].handler.push(t):this.__handlers.push({target:e,handler:[t]})}}},{key:\"unObserver\",value:function(e){var t=-1;this.__handlers.map((function(n,i){e===n.target&&(t=i)})),this.observer&&this.observer.unobserve(e),t>-1&&this.__handlers.splice(t,1)}},{key:\"destroyObserver\",value:function(){this.observer&&this.observer.disconnect(),this.observer=null,this.__handlers=null}},{key:\"__runHandler\",value:function(e){for(var t=this.__handlers,n=0;n<t.length;n++)if(t[n]&&e===t[n].target){t[n].handler&&t[n].handler.map((function(e){try{e()}catch(e){console.error(e)}}));break}}},{key:\"__trigger\",value:function(e){var t=this;e.map((function(e){t.__runHandler(e.target)}))}}]),e}());t.addObserver=function(e,t){o.addObserver(e,t)},t.unObserver=function(e,t){o.unObserver(e,t)},t.destroyObserver=function(e,t){o.destroyObserver(e,t)}},function(e,t,n){var i=n(35);\"string\"==typeof i&&(i=[[e.i,i,\"\"]]);var o={hmr:!0,transform:void 0,insertInto:void 0};n(37)(i,o);i.locals&&(e.exports=i.locals)},function(e,t,n){(e.exports=n(36)(!1)).push([e.i,\".danmu{overflow:hidden;-webkit-user-select:none;-moz-user-select:none;user-select:none;-ms-user-select:none}.danmu>*{position:absolute;white-space:nowrap}.danmu-switch{width:32px;height:20px;border-radius:100px;background-color:#ccc;-webkit-box-sizing:border-box;box-sizing:border-box;outline:none;cursor:pointer;position:relative;text-align:center;margin:10px auto}.danmu-switch.danmu-switch-active{padding-left:12px;background-color:#f85959}.danmu-switch span.txt{width:20px;height:20px;line-height:20px;text-align:center;display:block;border-radius:100px;background-color:#ffffff;-webkit-box-shadow:-2px 0 0 0 rgba(0, 0, 0, .04);box-shadow:-2px 0 0 0 rgba(0, 0, 0, .04);font-family:PingFangSC;font-size:10px;font-weight:500;color:#f44336}\\n\",\"\"])},function(e,t){e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n=function(e,t){var n=e[1]||\"\",i=e[3];if(!i)return n;if(t&&\"function\"==typeof btoa){var o=(a=i,\"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,\"+btoa(unescape(encodeURIComponent(JSON.stringify(a))))+\" */\"),r=i.sources.map((function(e){return\"/*# sourceURL=\"+i.sourceRoot+e+\" */\"}));return[n].concat(r).concat([o]).join(\"\\n\")}var a;return[n].join(\"\\n\")}(t,e);return t[2]?\"@media \"+t[2]+\"{\"+n+\"}\":n})).join(\"\")},t.i=function(e,n){\"string\"==typeof e&&(e=[[null,e,\"\"]]);for(var i={},o=0;o<this.length;o++){var r=this[o][0];\"number\"==typeof r&&(i[r]=!0)}for(o=0;o<e.length;o++){var a=e[o];\"number\"==typeof a[0]&&i[a[0]]||(n&&!a[2]?a[2]=n:n&&(a[2]=\"(\"+a[2]+\") and (\"+n+\")\"),t.push(a))}},t}},function(e,t,n){var i,o,r={},a=(i=function(){return window&&document&&document.all&&!window.atob},function(){return void 0===o&&(o=i.apply(this,arguments)),o}),s=function(e){return document.querySelector(e)},l=function(e){var t={};return function(e){if(\"function\"==typeof e)return e();if(void 0===t[e]){var n=s.call(this,e);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}t[e]=n}return t[e]}}(),u=null,c=0,f=[],h=n(38);function d(e,t){for(var n=0;n<e.length;n++){var i=e[n],o=r[i.id];if(o){o.refs++;for(var a=0;a<o.parts.length;a++)o.parts[a](i.parts[a]);for(;a<i.parts.length;a++)o.parts.push(y(i.parts[a],t))}else{var s=[];for(a=0;a<i.parts.length;a++)s.push(y(i.parts[a],t));r[i.id]={id:i.id,refs:1,parts:s}}}}function g(e,t){for(var n=[],i={},o=0;o<e.length;o++){var r=e[o],a=t.base?r[0]+t.base:r[0],s={css:r[1],media:r[2],sourceMap:r[3]};i[a]?i[a].parts.push(s):n.push(i[a]={id:a,parts:[s]})}return n}function p(e,t){var n=l(e.insertInto);if(!n)throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insertInto' parameter is invalid.\");var i=f[f.length-1];if(\"top\"===e.insertAt)i?i.nextSibling?n.insertBefore(t,i.nextSibling):n.appendChild(t):n.insertBefore(t,n.firstChild),f.push(t);else if(\"bottom\"===e.insertAt)n.appendChild(t);else{if(\"object\"!=typeof e.insertAt||!e.insertAt.before)throw new Error(\"[Style Loader]\\n\\n Invalid value for parameter 'insertAt' ('options.insertAt') found.\\n Must be 'top', 'bottom', or Object.\\n (https://github.com/webpack-contrib/style-loader#insertat)\\n\");var o=l(e.insertInto+\" \"+e.insertAt.before);n.insertBefore(t,o)}}function m(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e);var t=f.indexOf(e);t>=0&&f.splice(t,1)}function v(e){var t=document.createElement(\"style\");return void 0===e.attrs.type&&(e.attrs.type=\"text/css\"),b(t,e.attrs),p(e,t),t}function b(e,t){Object.keys(t).forEach((function(n){e.setAttribute(n,t[n])}))}function y(e,t){var n,i,o,r;if(t.transform&&e.css){if(!(r=t.transform(e.css)))return function(){};e.css=r}if(t.singleton){var a=c++;n=u||(u=v(t)),i=O.bind(null,n,a,!1),o=O.bind(null,n,a,!0)}else e.sourceMap&&\"function\"==typeof URL&&\"function\"==typeof URL.createObjectURL&&\"function\"==typeof URL.revokeObjectURL&&\"function\"==typeof Blob&&\"function\"==typeof btoa?(n=function(e){var t=document.createElement(\"link\");return void 0===e.attrs.type&&(e.attrs.type=\"text/css\"),e.attrs.rel=\"stylesheet\",b(t,e.attrs),p(e,t),t}(t),i=x.bind(null,n,t),o=function(){m(n),n.href&&URL.revokeObjectURL(n.href)}):(n=v(t),i=k.bind(null,n),o=function(){m(n)});return i(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;i(e=t)}else o()}}e.exports=function(e,t){if(\"undefined\"!=typeof DEBUG&&DEBUG&&\"object\"!=typeof document)throw new Error(\"The style-loader cannot be used in a non-browser environment\");(t=t||{}).attrs=\"object\"==typeof t.attrs?t.attrs:{},t.singleton||\"boolean\"==typeof t.singleton||(t.singleton=a()),t.insertInto||(t.insertInto=\"head\"),t.insertAt||(t.insertAt=\"bottom\");var n=g(e,t);return d(n,t),function(e){for(var i=[],o=0;o<n.length;o++){var a=n[o];(s=r[a.id]).refs--,i.push(s)}e&&d(g(e,t),t);for(o=0;o<i.length;o++){var s;if(0===(s=i[o]).refs){for(var l=0;l<s.parts.length;l++)s.parts[l]();delete r[s.id]}}}};var w,_=(w=[],function(e,t){return w[e]=t,w.filter(Boolean).join(\"\\n\")});function O(e,t,n,i){var o=n?\"\":i.css;if(e.styleSheet)e.styleSheet.cssText=_(t,o);else{var r=document.createTextNode(o),a=e.childNodes;a[t]&&e.removeChild(a[t]),a.length?e.insertBefore(r,a[t]):e.appendChild(r)}}function k(e,t){var n=t.css,i=t.media;if(i&&e.setAttribute(\"media\",i),e.styleSheet)e.styleSheet.cssText=n;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(n))}}function x(e,t,n){var i=n.css,o=n.sourceMap,r=void 0===t.convertToAbsoluteUrls&&o;(t.convertToAbsoluteUrls||r)&&(i=h(i)),o&&(i+=\"\\n/*# sourceMappingURL=data:application/json;base64,\"+btoa(unescape(encodeURIComponent(JSON.stringify(o))))+\" */\");var a=new Blob([i],{type:\"text/css\"}),s=e.href;e.href=URL.createObjectURL(a),s&&URL.revokeObjectURL(s)}},function(e,t){e.exports=function(e){var t=\"undefined\"!=typeof window&&window.location;if(!t)throw new Error(\"fixUrls requires window.location\");if(!e||\"string\"!=typeof e)return e;var n=t.protocol+\"//\"+t.host,i=n+t.pathname.replace(/\\/[^\\/]*$/,\"/\");return e.replace(/url\\s*\\(((?:[^)(]|\\((?:[^)(]+|\\([^)(]*\\))*\\))*)\\)/gi,(function(e,t){var o,r=t.trim().replace(/^\"(.*)\"$/,(function(e,t){return t})).replace(/^'(.*)'$/,(function(e,t){return t}));return/^(#|data:|http:\\/\\/|https:\\/\\/|file:\\/\\/\\/|\\s*$)/i.test(r)?e:(o=0===r.indexOf(\"//\")?r:0===r.indexOf(\"/\")?n+r:i+r.replace(/^\\.\\//,\"\"),\"url(\"+JSON.stringify(o)+\")\")}))}}])}));\n//# sourceMappingURL=index.js.map","module.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function() {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","export default \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 40 40\\\" width=\\\"40\\\" height=\\\"40\\\">\\n <path fill=\\\"#f85959\\\" transform=\\\"scale(0.8 0.8)\\\" d=\\\"M36.5,18.73a1.19,1.19,0,0,0,1-1.14V16.33a1.2,1.2,0,0,0-1-1.13l-.61-.08a1.75,1.75,0,0,1-1.3-.86l-.21-.36-.2-.36A1.72,1.72,0,0,1,34,12l.23-.58a1.18,1.18,0,0,0-.5-1.42l-1.1-.62a1.18,1.18,0,0,0-1.47.3l-.39.51a1.82,1.82,0,0,1-1.41.72c-.44,0-1.88-.27-2.22-.7l-.39-.49a1.18,1.18,0,0,0-1.48-.28l-1.09.64a1.19,1.19,0,0,0-.47,1.43l.25.59a1.87,1.87,0,0,1-.08,1.58c-.26.37-1.17,1.5-1.71,1.58l-.63.09a1.19,1.19,0,0,0-1,1.14l0,1.27a1.17,1.17,0,0,0,1,1.12l.61.08a1.74,1.74,0,0,1,1.3.87l.21.36.2.35A1.69,1.69,0,0,1,24,22.08l-.23.59a1.19,1.19,0,0,0,.5,1.42l1.1.62a1.19,1.19,0,0,0,1.48-.31l.38-.5a1.83,1.83,0,0,1,1.41-.72c.44,0,1.88.25,2.22.69l.39.49a1.18,1.18,0,0,0,1.48.28L33.86,24a1.19,1.19,0,0,0,.47-1.43L34.09,22a1.84,1.84,0,0,1,.07-1.58c.26-.37,1.17-1.5,1.72-1.58ZM31,18.94a2.76,2.76,0,0,1-4.65-1.2A2.71,2.71,0,0,1,27,15.13a2.76,2.76,0,0,1,4.64,1.2A2.7,2.7,0,0,1,31,18.94Z\\\"/>\\n <path fill=\\\"#f85959\\\" transform=\\\"scale(0.8 0.8)\\\" d=\\\"M32,0H3.59A3.59,3.59,0,0,0,0,3.59v17A3.59,3.59,0,0,0,3.59,24.2H19.72a12.59,12.59,0,0,1-.81-1.2A11.73,11.73,0,0,1,35.54,7.28V3.59A3.59,3.59,0,0,0,32,0ZM13,14.18H4.29a1.52,1.52,0,0,1,0-3H13a1.52,1.52,0,0,1,0,3ZM16.45,8H4.29a1.51,1.51,0,0,1,0-3H16.45a1.51,1.51,0,1,1,0,3Z\\\"/>\\n</svg>\\n\"","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./danmu.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./danmu.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./danmu.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .danmu-switch{-webkit-order:6;-moz-box-ordinal-group:7;order:6;z-index:26}.xgplayer-skin-default .xgplayer-danmu{display:none;position:absolute;top:0;left:0;right:0;height:100%;overflow:hidden;z-index:9;outline:none}.xgplayer-skin-default .xgplayer-danmu>*{position:absolute;white-space:nowrap;z-index:9}.xgplayer-skin-default .xgplayer-danmu.xgplayer-has-danmu{display:block}.xgplayer-skin-default .xgplayer-panel{outline:none;-webkit-order:7;-moz-box-ordinal-group:8;order:7;width:40px;height:40px;display:inline-block;position:relative;font-family:PingFangSC-Regular;font-size:13px;color:hsla(0,0%,100%,.8);z-index:36}.xgplayer-skin-default .xgplayer-panel .xgplayer-panel-icon{cursor:pointer;position:absolute;margin-left:5px;top:10px}.xgplayer-skin-default .xgplayer-panel-active{display:block!important;bottom:30px}.xgplayer-skin-default .xgplayer-panel-slider{z-index:36;display:none;position:absolute;width:230px;height:230px;background:rgba(0,0,0,.54);border-radius:1px;padding:10px 20px;outline:none;left:-115px;bottom:40px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-hidemode{padding-bottom:10px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-hidemode-radio li{display:inline;list-style:none;cursor:pointer}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-hidemode ul{display:-webkit-flex;display:-moz-box;display:flex;-webkit-justify-content:space-around;justify-content:space-around}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-hidemode li{margin:0 12px;font-size:11px;color:#aaa}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-hidemode-font{margin-bottom:10px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-transparency{display:block;margin-top:10px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-transparency .xgplayer-transparency-line{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;outline:none;width:150px;height:4px;background:#aaa;border-radius:4px;border-style:none;margin-left:10px;margin-top:-2px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-transparency .xgplayer-transparency-line::-moz-focus-outer{border:0!important}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-transparency .xgplayer-transparency-color::-webkit-slider-runnable-track{outline:none;width:150px;height:4px;border-radius:4px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-transparency .xgplayer-transparency-color::-moz-range-track{outline:none;background-color:#aaa;border-color:transparent;cursor:pointer;width:150px;height:4px;border-radius:4px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-transparency .xgplayer-transparency-color::-ms-track{outline:none;background-color:#aaa;color:transparent;border-color:transparent;width:150px;height:4px;border-radius:4px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-transparency .xgplayer-transparency-bar::-webkit-slider-thumb{outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:6px solid #f85959;height:6px;width:6px;margin-top:-4px;border-radius:6px;cursor:pointer}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-transparency .xgplayer-transparency-bar::-moz-range-thumb{outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:6px solid #f85959;height:0;width:0;border-radius:6px;cursor:pointer}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-transparency .xgplayer-transparency-bar::-ms-thumb{outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:6px solid #f85959;height:6px;width:6px;border-radius:6px;cursor:pointer}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-transparency .xgplayer-transparency-bar::-moz-range-progress{outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:4px;border-radius:4px;background:linear-gradient(90deg,#f85959,#f85959 100%,#aaa)}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea{display:block;margin-top:8px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea-name{display:inline-block;position:relative;top:-10px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea-control{display:inline-block}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea-control-up{width:150px;margin-left:10px;display:-moz-box;display:-webkit-flex;display:flex;-webkit-justify-content:space-between;-moz-box-pack:justify;justify-content:space-between;color:#aaa}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea-control-down{position:relative;top:-10px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea-control-down-dots{display:-webkit-flex;display:-moz-box;display:flex;width:150px;margin-left:10px;-webkit-justify-content:space-between;-moz-box-pack:justify;justify-content:space-between}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea-threequarters,.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea-twoquarters{margin-left:-6px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea-full{margin-right:3px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea .xgplayer-showarea-line{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;outline:none;width:150px;height:4px;background:#aaa;border-radius:4px;border-style:none;margin-left:10px;margin-top:-2px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea .xgplayer-showarea-line::-moz-focus-outer{border:0!important}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea .xgplayer-showarea-color::-webkit-slider-runnable-track{outline:none;width:150px;height:4px;border-radius:4px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea .xgplayer-showarea-color::-moz-range-track{outline:none;background-color:#aaa;border-color:transparent;cursor:pointer;width:150px;height:4px;border-radius:4px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea .xgplayer-showarea-color::-ms-track{outline:none;background-color:#aaa;color:transparent;border-color:transparent;width:150px;height:4px;border-radius:4px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea .xgplayer-showarea-bar::-webkit-slider-thumb{outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:6px solid #f85959;height:6px;width:6px;margin-top:-4px;border-radius:6px;cursor:pointer}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea .xgplayer-showarea-bar::-moz-range-thumb{outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:6px solid #f85959;height:0;width:0;border-radius:6px;cursor:pointer}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea .xgplayer-showarea-bar::-ms-thumb{outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:6px solid #f85959;height:6px;width:6px;border-radius:6px;cursor:pointer}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea .xgplayer-showarea-full-dot,.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea .xgplayer-showarea-onequarters-dot,.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea .xgplayer-showarea-threequarters-dot,.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea .xgplayer-showarea-twoquarters-dot,.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea .xgplayer-showarea-zero-dot{width:3px;height:3px;border:3px solid #aaa;border-radius:50%;background-color:#aaa;position:relative;top:16px;z-index:-1}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmuspeed{display:block}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmuspeed-name{display:inline-block;position:relative;top:-10px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmuspeed-control{display:inline-block}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmuspeed-control-up{width:150px;margin-left:10px;display:-moz-box;display:-webkit-flex;display:flex;-webkit-justify-content:space-between;-moz-box-pack:justify;justify-content:space-between;color:#aaa}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmuspeed-control-down{position:relative;top:-10px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmuspeed-control-down-dots{display:-webkit-flex;display:-moz-box;display:flex;width:150px;margin-left:10px;-webkit-justify-content:space-between;-moz-box-pack:justify;justify-content:space-between}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmuspeed .xgplayer-danmuspeed-line{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;outline:none;width:150px;height:4px;background:#aaa;border-radius:4px;border-style:none;margin-left:10px;margin-top:-2px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmuspeed .xgplayer-danmuspeed-line::-moz-focus-outer{border:0!important}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmuspeed .xgplayer-danmuspeed-color::-webkit-slider-runnable-track{outline:none;width:150px;height:4px;border-radius:4px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmuspeed .xgplayer-danmuspeed-color::-moz-range-track{outline:none;background-color:#aaa;border-color:transparent;cursor:pointer;width:150px;height:4px;border-radius:4px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmuspeed .xgplayer-danmuspeed-color::-ms-track{outline:none;background-color:#aaa;color:transparent;border-color:transparent;width:150px;height:4px;border-radius:4px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmuspeed .xgplayer-danmuspeed-bar::-webkit-slider-thumb{outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:6px solid #f85959;height:6px;width:6px;margin-top:-4px;border-radius:6px;cursor:pointer}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmuspeed .xgplayer-danmuspeed-bar::-moz-range-thumb{outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:6px solid #f85959;height:0;width:0;border-radius:6px;cursor:pointer}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmuspeed .xgplayer-danmuspeed-bar::-ms-thumb{outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:6px solid #f85959;height:6px;width:6px;border-radius:6px;cursor:pointer}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmuspeed .xgplayer-danmuspeed-large-dot,.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmuspeed .xgplayer-danmuspeed-middle-dot,.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmuspeed .xgplayer-danmuspeed-small-dot{width:3px;height:3px;border:3px solid #aaa;border-radius:50%;background-color:#aaa;position:relative;top:16px;z-index:-1}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmufont{display:block}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmufont-name{display:inline-block;position:relative;top:-10px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmufont-control{display:inline-block}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmufont-control-up{width:150px;margin-left:10px;display:-moz-box;display:-webkit-flex;display:flex;-webkit-justify-content:space-between;-moz-box-pack:justify;justify-content:space-between;color:#aaa}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmufont-control-down{position:relative;top:-10px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmufont-control-down-dots{display:-webkit-flex;display:-moz-box;display:flex;width:150px;margin-left:10px;-webkit-justify-content:space-between;-moz-box-pack:justify;justify-content:space-between}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmufont .xgplayer-danmufont-line{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;outline:none;width:150px;height:4px;background:#aaa;border-radius:4px;border-style:none;margin-left:10px;margin-top:-2px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmufont .xgplayer-danmufont-line::-moz-focus-outer{border:0!important}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmufont .xgplayer-danmufont-color::-webkit-slider-runnable-track{outline:none;width:150px;height:4px;border-radius:4px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmufont .xgplayer-danmufont-color::-moz-range-track{outline:none;background-color:#aaa;border-color:transparent;cursor:pointer;width:150px;height:4px;border-radius:4px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmufont .xgplayer-danmufont-color::-ms-track{outline:none;background-color:#aaa;color:transparent;border-color:transparent;width:150px;height:4px;border-radius:4px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmufont .xgplayer-danmufont-bar::-webkit-slider-thumb{outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:6px solid #f85959;height:6px;width:6px;margin-top:-4px;border-radius:6px;cursor:pointer}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmufont .xgplayer-danmufont-bar::-moz-range-thumb{outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:6px solid #f85959;height:0;width:0;border-radius:6px;cursor:pointer}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmufont .xgplayer-danmufont-bar::-ms-thumb{outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:6px solid #f85959;height:6px;width:6px;border-radius:6px;cursor:pointer}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmufont .xgplayer-danmufont-large-dot,.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmufont .xgplayer-danmufont-middle-dot,.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmufont .xgplayer-danmufont-small-dot{width:3px;height:3px;border:3px solid #aaa;border-radius:50%;background-color:#aaa;position:relative;top:16px;z-index:-1}\", \"\"]);\n\n// exports\n","import { createDom } from '../../utils/util'\nimport '../style/controls/pip.scss'\n\nlet s_pip = function () {\n let player = this\n if (!player.config.pip || typeof player.video.requestPictureInPicture !== 'function') { return }\n let pip = player.lang.PIP\n let btn = createDom('xg-pip', `<p class=\"name\"><span>${pip}</span></p>`, {tabindex: 9}, 'xgplayer-pip')\n\n player.once('ready', () => {\n player.controls.appendChild(btn);\n });\n\n ['click', 'touchend'].forEach(item => {\n btn.addEventListener(item, e => {\n e.preventDefault()\n e.stopPropagation()\n player.userGestureTrigEvent('pipBtnClick')\n })\n })\n}\n\nexport default {\n name: 's_pip',\n method: s_pip\n}","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./pip.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./pip.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./pip.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-pip{-webkit-order:9;-moz-box-ordinal-group:10;order:9;position:relative;outline:none;display:block;cursor:pointer;height:20px;top:10px}.xgplayer-skin-default .xgplayer-pip .name{text-align:center;font-family:PingFangSC-Regular;font-size:13px;line-height:20px;height:20px;color:hsla(0,0%,100%,.8)}.xgplayer-skin-default .xgplayer-pip .name span{width:60px;height:20px;line-height:20px;background:rgba(0,0,0,.38);border-radius:10px;display:inline-block;vertical-align:middle}.lang-is-jp .xgplayer-pip .name span{width:70px;height:20px}\", \"\"]);\n\n// exports\n","import { createDom } from '../../utils/util'\nimport '../style/controls/miniplayer.scss'\n\nlet s_miniplayer = function () {\n let player = this\n if (!player.config.miniplayer) { return }\n let miniplayer = player.lang.MINIPLAYER\n let btn = createDom('xg-miniplayer', `<p class=\"name\"><span>${miniplayer}</span></p>`, {tabindex: 9}, 'xgplayer-miniplayer')\n\n player.once('ready', () => {\n player.controls.appendChild(btn);\n });\n\n ['click', 'touchend'].forEach(item => {\n btn.addEventListener(item, e => {\n e.preventDefault()\n e.stopPropagation()\n player.userGestureTrigEvent('miniplayerBtnClick')\n })\n })\n}\n\nexport default {\n name: 's_miniplayer',\n method: s_miniplayer\n}","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./miniplayer.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./miniplayer.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./miniplayer.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-miniplayer{-webkit-order:9;-moz-box-ordinal-group:10;order:9;position:relative;outline:none;display:block;cursor:pointer;height:20px;top:10px}.xgplayer-skin-default .xgplayer-miniplayer .name{text-align:center;font-family:PingFangSC-Regular;font-size:13px;line-height:20px;height:20px;color:hsla(0,0%,100%,.8)}.xgplayer-skin-default .xgplayer-miniplayer .name span{width:80px;height:20px;line-height:20px;background:rgba(0,0,0,.38);border-radius:10px;display:inline-block;vertical-align:middle}.xgplayer-skin-default .xgplayer-miniplayer-lay{position:absolute;top:26px;left:0;width:100%;height:100%;z-index:130;cursor:pointer;background-color:transparent;display:none}.xgplayer-skin-default .xgplayer-miniplayer-lay div{width:100%;height:100%}.xgplayer-skin-default .xgplayer-miniplayer-drag{cursor:move;position:absolute;top:0;left:0;width:100%;height:26px;line-height:26px;background-image:linear-gradient(rgba(0,0,0,.3),transparent);z-index:130;display:none}.xgplayer-skin-default .xgplayer-miniplayer-drag .drag-handle{width:100%}.xgplayer-skin-default.xgplayer-miniplayer-active{position:fixed;right:0;bottom:200px;width:320px;height:180px;z-index:110}.xgplayer-skin-default.xgplayer-miniplayer-active .xgplayer-controls,.xgplayer-skin-default.xgplayer-miniplayer-active .xgplayer-danmu{display:none}.xgplayer-skin-default.xgplayer-miniplayer-active .xgplayer-miniplayer-lay{display:block}.xgplayer-skin-default.xgplayer-miniplayer-active .xgplayer-miniplayer-drag{display:-webkit-flex;display:-moz-box;display:flex}.xgplayer-skin-default.xgplayer-inactive .xgplayer-miniplayer-drag{display:none}.lang-is-jp .xgplayer-miniplayer .name span{width:70px;height:20px}\", \"\"]);\n\n// exports\n","import { createDom, addClass } from '../../utils/util'\nimport PlayNextIcon from '../assets/playNext.svg'\nimport '../style/controls/playNext.scss'\n\nlet s_playNext = function () {\n let player = this\n let nextBtn = player.config.playNext\n if (!nextBtn || !nextBtn.urlList) { return }\n let btn = createDom('xg-playnext', `<xg-icon class=\"xgplayer-icon\">${PlayNextIcon}</xg-icon>`, {}, 'xgplayer-playnext')\n let tipsText = player.lang.PLAYNEXT_TIPS\n let tips = createDom('xg-tips', `<span class=\"xgplayer-tip-playnext\">${tipsText}</span>`, {}, 'xgplayer-tips')\n btn.appendChild(tips)\n player.once('ready', () => {\n player.controls.appendChild(btn)\n });\n\n ['click', 'touchend'].forEach(item => {\n btn.addEventListener(item, e => {\n e.preventDefault()\n e.stopPropagation()\n addClass(player.root, 'xgplayer-is-enter')\n player.userGestureTrigEvent('playNextBtnClick')\n })\n })\n\n let onUrlListEnd = function () {\n addClass(player.root, 'xgplayer-playnext-inactive')\n }\n player.on('urlListEnd', onUrlListEnd)\n\n function onDestroy () {\n player.off('urlListEnd', onUrlListEnd)\n player.off('destroy', onDestroy)\n }\n player.once('destroy', onDestroy)\n}\n\nexport default {\n name: 's_playNext',\n method: s_playNext\n}","export default \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"40\\\" height=\\\"40\\\" viewBox=\\\"0 0 40 40\\\">\\n <path transform=\\\"scale(0.038 0.028)\\\" d=\\\"M800 380v768h-128v-352l-320 320v-704l320 320v-352z\\\"></path>\\n</svg>\\n\"","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./playNext.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./playNext.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./playNext.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-playnext{position:relative;-webkit-order:1;-moz-box-ordinal-group:2;order:1;display:block;cursor:pointer;top:-2px}.xgplayer-skin-default .xgplayer-playnext .xgplayer-icon div{position:absolute}.xgplayer-skin-default .xgplayer-playnext .xgplayer-tips .xgplayer-tip-playnext{display:block}.xgplayer-skin-default .xgplayer-playnext:hover{opacity:.85}.xgplayer-skin-default .xgplayer-playnext:hover .xgplayer-tips{display:block}.xgplayer-lang-is-en .xgplayer-playnext .xgplayer-tips{margin-left:-25px}.xgplayer-lang-is-jp .xgplayer-playnext .xgplayer-tips{margin-left:-38px}.xgplayer-skin-default.xgplayer-playnext-inactive .xgplayer-playnext{display:none}\", \"\"]);\n\n// exports\n","import { createDom } from '../../utils/util'\nimport RotateIcon from '../assets/rotate.svg'\nimport '../style/controls/rotate.scss'\n\nlet s_rotate = function () {\n let player = this\n if (!player.config.rotate) { return }\n let btn = createDom('xg-rotate', `<xg-icon class=\"xgplayer-icon\">${RotateIcon}</xg-icon>`, {}, 'xgplayer-rotate')\n\n let tipsText = player.lang.ROTATE_TIPS\n let tips = createDom('xg-tips', `<span class=\"xgplayer-tip-rotate\">${tipsText}</span>`, {}, 'xgplayer-tips')\n btn.appendChild(tips)\n player.once('ready', () => {\n player.controls.appendChild(btn)\n });\n\n ['click', 'touchend'].forEach(item => {\n btn.addEventListener(item, function (e) {\n e.preventDefault()\n e.stopPropagation()\n player.userGestureTrigEvent('rotateBtnClick')\n })\n })\n}\n\nexport default {\n name: 's_rotate',\n method: s_rotate\n}","export default \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"32\\\" height=\\\"32\\\" viewBox=\\\"0 0 40 40\\\" fill=\\\"none\\\">\\n <g clip-path=\\\"url(#clip0)\\\">\\n <path transform=\\\"scale(1.5 1.5)\\\" d=\\\"M11.6665 9.16663H4.1665C2.78579 9.16663 1.6665 10.2859 1.6665 11.6666V15.8333C1.6665 17.214 2.78579 18.3333 4.1665 18.3333H11.6665C13.0472 18.3333 14.1665 17.214 14.1665 15.8333V11.6666C14.1665 10.2859 13.0472 9.16663 11.6665 9.16663Z\\\" fill=\\\"white\\\"/>\\n <path transform=\\\"scale(1.5 1.5)\\\" fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" d=\\\"M3.88148 4.06298C3.75371 4.21005 3.67667 4.40231 3.67749 4.61242C3.67847 4.87253 3.79852 5.10435 3.98581 5.25646L6.99111 8.05895C7.32771 8.37283 7.85502 8.35443 8.16891 8.01782C8.48279 7.68122 8.46437 7.15391 8.12778 6.84003L6.62061 5.43457L9.8198 5.4224C9.82848 5.42239 9.8372 5.42221 9.84591 5.4219C10.9714 5.38233 12.0885 5.6285 13.0931 6.13744C14.0976 6.64635 14.957 7.40148 15.5908 8.33234C16.2246 9.2632 16.6122 10.3394 16.7177 11.4606C16.823 12.5819 16.6427 13.7115 16.1934 14.7442C16.0098 15.1661 16.203 15.6571 16.6251 15.8408C17.0471 16.0243 17.5381 15.8311 17.7216 15.4091C18.2833 14.1183 18.5087 12.7063 18.3771 11.3047C18.2453 9.90318 17.7607 8.55792 16.9684 7.39433C16.1761 6.23073 15.1021 5.28683 13.8463 4.65065C12.5946 4.01651 11.203 3.70872 9.80072 3.75583L6.43415 3.76862L7.96326 2.12885C8.27715 1.79225 8.25872 1.26494 7.92213 0.951061C7.58553 0.63718 7.05822 0.655585 6.74433 0.99219L3.90268 4.0395C3.89545 4.04724 3.88841 4.05509 3.88154 4.06303L3.88148 4.06298Z\\\" fill=\\\"white\\\"/>\\n </g>\\n <defs>\\n <clipPath id=\\\"clip0\\\">\\n <rect width=\\\"40\\\" height=\\\"40\\\" fill=\\\"white\\\"/>\\n </clipPath>\\n </defs>\\n</svg>\\n\"","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./rotate.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./rotate.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./rotate.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-rotate{position:relative;-webkit-order:10;-moz-box-ordinal-group:11;order:10;display:block;cursor:pointer}.xgplayer-skin-default .xgplayer-rotate .xgplayer-icon{margin-top:7px;width:26px}.xgplayer-skin-default .xgplayer-rotate .xgplayer-icon div{position:absolute}.xgplayer-skin-default .xgplayer-rotate .xgplayer-tips{margin-left:-22px}.xgplayer-skin-default .xgplayer-rotate .xgplayer-tips .xgplayer-tip-rotate{display:block}.xgplayer-skin-default .xgplayer-rotate:hover{opacity:.85}.xgplayer-skin-default .xgplayer-rotate:hover .xgplayer-tips{display:block}.xgplayer-lang-is-en .xgplayer-rotate .xgplayer-tips{margin-left:-26px}.xgplayer-lang-is-jp .xgplayer-rotate .xgplayer-tips{margin-left:-38px}\", \"\"]);\n\n// exports\n","import { createDom } from '../../utils/util'\nimport ReloadIcon from '../assets/reload.svg'\nimport '../style/controls/reload.scss'\n\nlet s_reload = function () {\n let player = this\n if (!player.config.reload) { return }\n let btn = createDom('xg-reload', `<xg-icon class=\"xgplayer-icon\">${ReloadIcon}</xg-icon>`, {}, 'xgplayer-reload')\n\n let tipsText = player.lang.RELOAD_TIPS\n let tips = createDom('xg-tips', `<span class=\"xgplayer-tip-reload\">${tipsText}</span>`, {}, 'xgplayer-tips')\n btn.appendChild(tips)\n player.once('ready', () => {\n player.controls.appendChild(btn)\n });\n\n ['click', 'touchend'].forEach(item => {\n btn.addEventListener(item, function (e) {\n e.preventDefault()\n e.stopPropagation()\n player.userGestureTrigEvent('reloadBtnClick')\n })\n })\n}\n\nexport default {\n name: 's_reload',\n method: s_reload\n}","export default \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"28\\\" height=\\\"28\\\" viewBox=\\\"0 0 28 28\\\">\\n <path fill=\\\"#FFF\\\" fill-opacity=\\\"1\\\" fill-rule=\\\"nonzero\\\" d=\\\"M18.17 19.988a7.182 7.182 0 0 1-4.256 1.318 7.806 7.806 0 0 1-.595-.03c-.08-.008-.16-.021-.242-.031a8.004 8.004 0 0 1-.458-.071c-.094-.018-.185-.042-.276-.063a7.743 7.743 0 0 1-.439-.113c-.068-.022-.136-.047-.205-.07a7.03 7.03 0 0 1-.492-.181c-.037-.015-.072-.032-.108-.049a7.295 7.295 0 0 1-.554-.269l-.025-.012a7.347 7.347 0 0 1-2.111-1.753c-.03-.036-.057-.074-.086-.11a7.305 7.305 0 0 1-1.594-4.557h1.686a.123.123 0 0 0 .108-.064.119.119 0 0 0-.006-.125L5.684 9.532a.123.123 0 0 0-.103-.056.123.123 0 0 0-.102.056l-2.834 4.276a.121.121 0 0 0-.005.125c.022.04.064.064.107.064h1.687c0 2.025.627 3.902 1.693 5.454.013.021.022.044.037.066.11.159.233.305.352.455.043.057.085.116.13.171.175.213.36.413.55.61.02.018.036.038.054.055a9.447 9.447 0 0 0 2.91 1.996c.058.026.115.054.175.079.202.084.41.158.619.228.098.034.196.069.296.1.183.054.37.1.558.145.125.029.249.06.376.085.052.01.102.027.155.035.177.032.355.05.533.071.064.007.128.018.19.026.32.03.639.052.956.052a9.46 9.46 0 0 0 5.47-1.746 1.16 1.16 0 0 0 .282-1.608 1.143 1.143 0 0 0-1.6-.283zm5.397-5.991a9.604 9.604 0 0 0-1.685-5.441c-.016-.027-.026-.054-.043-.078-.132-.19-.276-.366-.419-.543-.017-.022-.032-.044-.05-.065a9.467 9.467 0 0 0-3.571-2.7l-.114-.051a11.2 11.2 0 0 0-.673-.248c-.082-.027-.163-.057-.247-.082a9.188 9.188 0 0 0-.6-.156c-.113-.026-.224-.055-.337-.077-.057-.011-.109-.028-.164-.037-.151-.027-.304-.039-.455-.058-.104-.013-.208-.03-.313-.04a10.05 10.05 0 0 0-.759-.039c-.045 0-.09-.007-.136-.007l-.025.003a9.45 9.45 0 0 0-5.46 1.737 1.16 1.16 0 0 0-.284 1.608c.363.523 1.08.65 1.6.284a7.182 7.182 0 0 1 4.222-1.32c.217.002.429.013.639.033.065.007.129.017.193.025.173.021.344.046.513.08.075.014.149.033.221.05.166.037.331.077.494.127l.152.051c.185.061.366.127.545.201l.054.025a7.308 7.308 0 0 1 2.741 2.067l.013.018a7.302 7.302 0 0 1 1.652 4.633h-1.686a.123.123 0 0 0-.108.064.12.12 0 0 0 .006.124l2.834 4.277c.022.033.06.054.103.054.042 0 .08-.021.102-.054l2.833-4.277a.12.12 0 0 0 .005-.124.123.123 0 0 0-.108-.064h-1.685z\\\"/>\\n</svg>\\n\"","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./reload.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./reload.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./reload.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-reload{position:relative;-webkit-order:1;-moz-box-ordinal-group:2;order:1;display:block;width:40px;height:40px;cursor:pointer}.xgplayer-skin-default .xgplayer-reload .xgplayer-icon{margin-top:7px;width:26px}.xgplayer-skin-default .xgplayer-reload .xgplayer-icon div{position:absolute}.xgplayer-skin-default .xgplayer-reload .xgplayer-tips{margin-left:-22px}.xgplayer-skin-default .xgplayer-reload .xgplayer-tips .xgplayer-tip-reload{display:block}.xgplayer-skin-default .xgplayer-reload:hover{opacity:.85}.xgplayer-skin-default .xgplayer-reload:hover .xgplayer-tips{display:block}.xgplayer-lang-is-en .xgplayer-reload .xgplayer-tips{margin-left:-26px}.xgplayer-lang-is-jp .xgplayer-reload .xgplayer-tips{margin-left:-38px}\", \"\"]);\n\n// exports\n","import { createDom } from '../../utils/util'\nimport '../style/controls/screenShot.scss'\n\nlet s_screenShot = function () {\n let player = this\n if (!player.config.screenShot || player.config.screenShot.hideButton) {\n return\n }\n let screenShotText = player.lang.SCREENSHOT\n let btn = createDom('xg-screenshot', `<p class=\"name\"><span>${player.config.screenShot.iconText || screenShotText}</span></p>`, {tabindex: 11}, 'xgplayer-screenshot')\n player.once('ready', () => {\n player.controls.appendChild(btn)\n });\n\n ['click', 'touchend'].forEach(item => {\n btn.addEventListener(item, e => {\n e.preventDefault()\n e.stopPropagation()\n player.userGestureTrigEvent('screenShotBtnClick')\n })\n })\n}\n\nexport default {\n name: 's_screenShot',\n method: s_screenShot\n}","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./screenShot.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./screenShot.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./screenShot.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-screenshot{-webkit-order:11;-moz-box-ordinal-group:12;order:11;position:relative;outline:none;display:block;cursor:pointer;height:20px;top:10px}.xgplayer-skin-default .xgplayer-screenshot .name{text-align:center;font-family:PingFangSC-Regular;font-size:13px;line-height:20px;height:20px;color:hsla(0,0%,100%,.8)}.xgplayer-skin-default .xgplayer-screenshot .name span{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;padding:0 10px;height:20px;line-height:20px;background:rgba(0,0,0,.38);border-radius:10px;display:inline-block;vertical-align:middle}.xgplayer-lang-is-en .xgplayer-screenshot .name span,.xgplayer-lang-is-jp .xgplayer-screenshot .name span{width:75px;height:20px}\", \"\"]);\n\n// exports\n","import Player from '../../player'\nimport '../style/controls/textTrack.scss'\n\nlet s_nativeTextTrack = function () {\n if (!this.config.nativeTextTrack) {\n return\n }\n let player = this\n let root = player.root\n let util = Player.util\n let container = util.createDom('xg-texttrack', '', {tabindex: 7}, 'xgplayer-texttrack')\n let list = player.config.nativeTextTrack\n if (list && Array.isArray(list) && list.length > 0) {\n util.addClass(player.root, 'xgplayer-is-texttrack')\n player.once('canplay', function () {\n let tmp = ['<ul>']\n tmp.push(`<li class='${this.textTrackShowDefault ? '' : 'selected'}'}'>${player.lang.OFF}</li>`)\n list.forEach(item => {\n tmp.push(`<li class='${item.default && this.textTrackShowDefault ? 'selected' : ''}'>${item.label}</li>`)\n })\n let controlText = player.lang.TEXTTRACK\n tmp.push(`</ul><p class=\"name\">${controlText}</p>`)\n\n let urlInRoot = root.querySelector('.xgplayer-texttrack')\n if (urlInRoot) {\n urlInRoot.innerHTML = tmp.join('')\n let cur = urlInRoot.querySelector('.name')\n if (!player.config.textTrackActive || player.config.textTrackActive === 'hover') {\n cur.addEventListener('mouseenter', e => {\n e.preventDefault()\n e.stopPropagation()\n util.addClass(root, 'xgplayer-texttrack-active')\n urlInRoot.focus()\n })\n }\n } else {\n container.innerHTML = tmp.join('')\n let cur = container.querySelector('.name')\n if (!player.config.textTrackActive || player.config.textTrackActive === 'hover') {\n cur.addEventListener('mouseenter', e => {\n e.preventDefault()\n e.stopPropagation()\n util.addClass(player.root, 'xgplayer-texttrack-active')\n container.focus()\n })\n }\n player.controls.appendChild(container)\n }\n })\n };\n\n ['touchend', 'click'].forEach(item => {\n container.addEventListener(item, function (e) {\n e.preventDefault()\n e.stopPropagation()\n let li = e.target || e.srcElement\n if (li && li.tagName.toLocaleLowerCase() === 'li') {\n Array.prototype.forEach.call(li.parentNode.childNodes, item => {\n util.removeClass(item, 'selected')\n })\n util.addClass(li, 'selected')\n let trackDoms = player.root.getElementsByTagName('Track')\n if (li.innerHTML === player.lang.OFF) {\n trackDoms[0].track.mode = 'hidden'\n trackDoms[0].src = ''\n util.removeClass(player.root, 'xgplayer-texttrack-active')\n } else {\n trackDoms[0].style.display = 'block'\n util.addClass(player.root, 'xgplayer-texttrack-active')\n trackDoms[0].track.mode = 'showing'\n\n list.some(item => {\n if (item.label === li.innerHTML) {\n trackDoms[0].src = item.src\n if (item.kind) {\n trackDoms[0].kind = item.kind\n }\n trackDoms[0].label = item.label\n if (item.srclang) {\n trackDoms[0].srclang = item.srclang\n }\n return true\n }\n })\n player.emit('textTrackChange', li.innerHTML)\n }\n } else if (player.config.textTrackActive === 'click' && li && (li.tagName.toLocaleLowerCase() === 'p' || li.tagName.toLocaleLowerCase() === 'em')) {\n util.addClass(player.root, 'xgplayer-texttrack-active')\n container.focus()\n }\n }, false)\n })\n\n player.on('play', () => {\n let ul = root.querySelector('.xgplayer-texttrack ul')\n let trackDoms = root.getElementsByTagName('Track')\n if (!player['hls'] || !ul || !trackDoms) return\n trackDoms[0].src = ''\n Array.prototype.forEach.call(ul.childNodes, li => {\n if (util.hasClass(li, 'selected')) {\n if (li.innerHTML === player.lang.OFF) {\n trackDoms[0].track.mode = 'hidden'\n trackDoms[0].src = ''\n } else {\n trackDoms[0].track.mode = 'hidden'\n\n list.some(item => {\n if (item.label !== li.innerHTML) {\n trackDoms[0].src = item.src\n if (item.kind) {\n trackDoms[0].kind = item.kind\n }\n trackDoms[0].label = item.label\n if (item.srclang) {\n trackDoms[0].srclang = item.srclang\n }\n return true\n }\n })\n\n list.some(item => {\n if (item.label === li.innerHTML) {\n setTimeout(() => {\n trackDoms[0].src = item.src\n if (item.kind) {\n trackDoms[0].kind = item.kind\n }\n trackDoms[0].label = item.label\n if (item.srclang) {\n trackDoms[0].srclang = item.srclang\n }\n trackDoms[0].track.mode = 'showing'\n })\n return true\n }\n })\n }\n }\n })\n util.removeClass(player.root, 'xgplayer-texttrack-active')\n })\n\n container.addEventListener('mouseleave', e => {\n e.preventDefault()\n e.stopPropagation()\n util.removeClass(player.root, 'xgplayer-texttrack-active')\n })\n}\n\nexport default {\n name: 's_nativeTextTrack',\n method: s_nativeTextTrack\n}\n","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-texttrack{-webkit-order:7;-moz-box-ordinal-group:8;order:7;width:60px;height:150px;z-index:18;position:relative;outline:none;display:none;cursor:default;margin-top:-119px}.xgplayer-skin-default .xgplayer-texttrack ul{display:none;list-style:none;min-width:78px;background:rgba(0,0,0,.54);border-radius:1px;position:absolute;bottom:30px;text-align:center;white-space:nowrap;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;z-index:26;cursor:pointer}.xgplayer-skin-default .xgplayer-texttrack ul li{opacity:.7;font-family:PingFangSC-Regular;font-size:11px;color:hsla(0,0%,100%,.8);width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;margin:auto;padding:6px 13px}.xgplayer-skin-default .xgplayer-texttrack ul li.selected,.xgplayer-skin-default .xgplayer-texttrack ul li:hover{color:#fff;opacity:1}.xgplayer-skin-default .xgplayer-texttrack .name{text-align:center;font-family:PingFangSC-Regular;font-size:13px;cursor:pointer;color:hsla(0,0%,100%,.8);position:absolute;bottom:0;width:60px;height:20px;line-height:20px;background:rgba(0,0,0,.38);border-radius:10px;display:inline-block;vertical-align:middle}.xgplayer-skin-default .xgplayer-texttrack.xgplayer-texttrack-hide{display:none}xg-text-track{transition:bottom .3s ease}.xgplayer-skin-default.xgplayer-is-texttrack .xgplayer-texttrack,.xgplayer-skin-default.xgplayer-texttrack-active .xgplayer-texttrack ul{display:block}\", \"\"]);\n\n// exports\n","import { createDom, addClass, removeClass, hasClass } from '../../utils/util'\nimport '../style/controls/textTrack.scss'\n\nfunction renderList (root, textTrack, offText, isDefaultShow) {\n if (textTrack.length === 0) {\n root.innerHTML = ''\n return\n }\n let tmp = []\n tmp.push(`<li data-type=\"off\" class=\"${isDefaultShow ? '' : 'selected'}\">${offText}</li>`)\n textTrack.forEach(item => {\n tmp.push(`<li data-id=${item.id} data-language=${item.language} class=\"${item.isDefault && isDefaultShow ? 'selected' : ''}\">${item.label}</li>`)\n })\n root.innerHTML = tmp.join('')\n}\n\n// eslint-disable-next-line camelcase\nlet s_textTrack = function () {\n let player = this\n if (!this.config.textTrack) {\n return\n }\n let textTrack = this.config.textTrack\n let controlText = player.lang.TEXTTRACK\n const container = createDom('xg-texttrack', `<ul></ul><p class=\"name\">${controlText}</p>`, {tabindex: 7}, 'xgplayer-texttrack')\n\n function onCanPlay () {\n const urlInRoot = player.root.querySelector('.xgplayer-texttrack')\n if (!urlInRoot) {\n player.controls.appendChild(container)\n const cur = container.querySelector('.name')\n if (!player.config.textTrackActive || player.config.textTrackActive === 'hover') {\n cur.addEventListener('mouseenter', e => {\n e.preventDefault()\n e.stopPropagation()\n addClass(player.root, 'xgplayer-texttrack-active')\n container.focus()\n })\n container.addEventListener('mouseleave', e => {\n e.preventDefault()\n e.stopPropagation()\n removeClass(player.root, 'xgplayer-texttrack-active')\n })\n } else {\n cur.addEventListener('click', e => {\n e.preventDefault()\n e.stopPropagation()\n if (hasClass(player.root, 'xgplayer-texttrack-active')) {\n removeClass(player.root, 'xgplayer-texttrack-active')\n } else {\n addClass(player.root, 'xgplayer-texttrack-active')\n }\n })\n }\n }\n\n ['touchend', 'click'].forEach(item => {\n container.addEventListener(item, function (e) {\n e.preventDefault()\n e.stopPropagation()\n let li = e.target || e.srcElement\n if (li && li.tagName.toLocaleLowerCase() === 'li') {\n const id = li.getAttribute('data-id')\n const type = li.getAttribute('data-type')\n const language = li.getAttribute('data-language')\n Array.prototype.forEach.call(li.parentNode.childNodes, item => {\n removeClass(item, 'selected')\n })\n addClass(li, 'selected')\n if (type === 'off') {\n player.switchOffSubtile()\n removeClass(player.root, 'xgplayer-texttrack-active')\n } else {\n player.switchSubTitle({id, language})\n addClass(player.root, 'xgplayer-texttrack-active')\n }\n }\n })\n })\n\n const ul = container.getElementsByTagName('ul')[0]\n renderList(ul, textTrack, player.lang.OFF, player.textTrackShowDefault)\n if (textTrack.length === 0) {\n addClass(container, 'xgplayer-texttrack-hide')\n } else {\n removeClass(container, 'xgplayer-texttrack-hide')\n }\n }\n\n const onListUpdate = function (data) {\n if (!data.isListUpdate) return\n const ul = container.getElementsByTagName('ul')[0]\n textTrack = data.list\n renderList(ul, data.list, player.lang.OFF, player.textTrackShowDefault)\n data.list.length > 0 ? addClass(player.root, 'xgplayer-is-texttrack') : removeClass(player.root, 'xgplayer-is-texttrack')\n if (data.list.length === 0) {\n addClass(container, 'xgplayer-texttrack-hide')\n } else {\n removeClass(container, 'xgplayer-texttrack-hide')\n }\n }\n\n if (textTrack && Array.isArray(textTrack)) {\n textTrack.length > 0 && addClass(player.root, 'xgplayer-is-texttrack')\n player.once('canplay', onCanPlay)\n player.on('subtitle_change', onListUpdate)\n }\n}\n\nexport default {\n name: 's_textTrack',\n method: s_textTrack\n}\n","import { addClass, removeClass, createDom } from '../../utils/util'\nimport '../style/controls/error.scss'\n\nlet s_error = function () {\n let player = this\n let root = player.root\n\n let error = createDom('xg-error', '<span class=\"xgplayer-error-text\">请<span class=\"xgplayer-error-refresh\">刷新</span>试试</span>', {}, 'xgplayer-error')\n player.once('ready', () => {\n root.appendChild(error)\n });\n\n let text = error.querySelector('.xgplayer-error-text')\n if (player.config.lang && player.config.lang === 'zh-cn') {\n text.innerHTML = player.config.errorTips || `请<span class=\"xgplayer-error-refresh\">刷新</span>试试`\n } else {\n text.innerHTML = player.config.errorTips || `please try to <span class=\"xgplayer-error-refresh\">refresh</span>`\n }\n let refresh = null\n\n function onError () {\n // player.controls.style.display = 'none'\n // if (player.error) {\n // text.innerHTML = player.error\n // } else {\n \n // }\n addClass(player.root, 'xgplayer-is-error')\n refresh = error.querySelector('.xgplayer-error-refresh')\n if (refresh) {\n ['touchend', 'click'].forEach(item => {\n refresh.addEventListener(item, function (e) {\n e.preventDefault()\n e.stopPropagation()\n player.autoplay = true\n let currentTime = player.currentTime\n player.once('playing', () => {\n player.currentTime = currentTime\n removeClass(player.root, 'xgplayer-is-error')\n })\n player.src = player.config.url\n })\n })\n }\n }\n player.on('error', onError)\n function onDestroy () {\n player.off('error', onError)\n player.off('destroy', onDestroy)\n }\n player.once('destroy', onDestroy)\n}\n\nexport default {\n name: 's_error',\n method: s_error\n}","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./error.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./error.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./error.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-error{background:#000;display:none;position:absolute;left:0;top:0;width:100%;height:100%;z-index:125;font-family:PingFangSC-Regular;font-size:14px;color:#fff;text-align:center;line-height:100%;-webkit-justify-content:center;-moz-box-pack:center;justify-content:center;-webkit-align-items:center;-moz-box-align:center;align-items:center}.xgplayer-skin-default .xgplayer-error .xgplayer-error-refresh{color:#fa1f41;padding:0 3px;cursor:pointer}.xgplayer-skin-default .xgplayer-error .xgplayer-error-text{line-height:18px;margin:auto 6px}.xgplayer-skin-default.xgplayer-is-error .xgplayer-error{display:-webkit-flex;display:-moz-box;display:flex}\", \"\"]);\n\n// exports\n","import { createDom, format } from '../../utils/util'\nimport '../style/controls/memoryPlay.scss'\n\nlet s_memoryPlay = function () {\n let player = this\n let lastPlayTime = player.config.lastPlayTime || 0\n let lastPlayTimeHideDelay = player.config.lastPlayTimeHideDelay || 0\n let dom = null\n if (lastPlayTime <= 0) {\n return\n }\n dom = createDom('xg-memoryplay', `<div class=\"xgplayer-memoryplay-spot\"><div class=\"xgplayer-progress-tip\">您上次观看到 <span class=\"xgplayer-lasttime\">${format(lastPlayTime)}</span> ,为您自动续播 <span class=\"btn-close\"><svg viewBox=\"64 64 896 896\" focusable=\"false\" class=\"\" data-icon=\"close\" width=\"1em\" height=\"1em\" fill=\"currentColor\" aria-hidden=\"true\"><path d=\"M563.8 512l262.5-312.9c4.4-5.2.7-13.1-6.1-13.1h-79.8c-4.7 0-9.2 2.1-12.3 5.7L511.6 449.8 295.1 191.7c-3-3.6-7.5-5.7-12.3-5.7H203c-6.8 0-10.5 7.9-6.1 13.1L459.4 512 196.9 824.9A7.95 7.95 0 0 0 203 838h79.8c4.7 0 9.2-2.1 12.3-5.7l216.5-258.1 216.5 258.1c3 3.6 7.5 5.7 12.3 5.7h79.8c6.8 0 10.5-7.9 6.1-13.1L563.8 512z\"></path></svg></span></div></div>`, {}, 'xgplayer-memoryplay');\n dom.addEventListener('mouseover', (e) => {\n e.stopPropagation();\n });\n const removeFunc = () => {\n dom && dom.parentNode && dom.parentNode.removeChild(dom)\n dom = null\n }\n dom.querySelector('.xgplayer-progress-tip .btn-close').addEventListener('click', removeFunc)\n const handlePlay = () => {\n if(lastPlayTimeHideDelay > 0) {\n player.root.appendChild(dom);\n }\n player.emit('memoryPlayStart', lastPlayTime);\n if (lastPlayTimeHideDelay > 0) {\n setTimeout(() => {\n removeFunc()\n }, lastPlayTimeHideDelay * 1000)\n }\n }\n player.once('play', handlePlay)\n player.once('ended', removeFunc)\n}\n\nexport default {\n name: 's_memoryPlay',\n method: s_memoryPlay\n}","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./memoryPlay.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./memoryPlay.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./memoryPlay.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-memoryplay-spot{position:absolute;height:32px;left:10px;bottom:46px;background:rgba(0,0,0,.5);border-radius:32px;line-height:32px;color:#ddd;z-index:15;padding:0 32px 0 16px}.xgplayer-skin-default .xgplayer-memoryplay-spot .xgplayer-lasttime{color:red;font-weight:700}.xgplayer-skin-default .xgplayer-memoryplay-spot .btn-close{position:absolute;width:16px;height:16px;right:10px;top:2px;cursor:pointer;color:#fff;font-size:16px}\", \"\"]);\n\n// exports\n","import { createDom } from '../../utils/util'\nimport AirplayIcon from '../assets/airplay.svg'\nimport '../style/controls/airplay.scss'\n\nlet s_airplay = function () {\n let player = this\n if(!player.config.airplay || !window.WebKitPlaybackTargetAvailabilityEvent) return\n\n let btn = createDom('xg-airplay', `<xg-icon class=\"xgplayer-icon\">\n <div class=\"xgplayer-icon-airplay\">${AirplayIcon}</div>\n </xg-icon>`, {}, 'xgplayer-airplay')\n\n let tips = createDom('xg-tips', `<span class=\"xgplayer-tip-airplay\">${player.lang.AIRPLAY_TIPS}</span>`, {}, 'xgplayer-tips')\n btn.appendChild(tips)\n player.once('ready', () => {\n player.controls.appendChild(btn)\n player.video.addEventListener('webkitplaybacktargetavailabilitychanged',\n event => {\n switch (event.availability) {\n case \"available\":\n btn.hidden = false;\n btn.disabled = false;\n break;\n case \"not-available\":\n btn.hidden = true;\n btn.disabled = true;\n break;\n }\n });\n });\n\n ['click', 'touchend'].forEach(item => {\n btn.addEventListener(item, function (e) {\n e.preventDefault()\n e.stopPropagation()\n player.userGestureTrigEvent('airplayBtnClick')\n })\n })\n}\n\nexport default {\n name: 's_airplay',\n method: s_airplay\n}","export default \"<svg t=\\\"1600422191774\\\" class=\\\"icon\\\" viewBox=\\\"0 0 1024 1024\\\" version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" p-id=\\\"3100\\\" width=\\\"28\\\" height=\\\"28\\\"><path d=\\\"M256 938.666667h512L512 597.333333 256 938.666667z m170.666667-85.333334l85.333333-113.781333L597.333333 853.333333H426.666667zM853.333333 85.333333H170.666667C99.946667 85.333333 42.666667 142.613333 42.666667 213.333333v426.666667c0 70.72 57.28 128 128 128h106.666666l64-85.333333H170.666667c-23.573333 0-42.666667-19.093333-42.666667-42.666667V213.333333c0-23.573333 19.093333-42.666667 42.666667-42.666666h682.666666c23.573333 0 42.666667 19.093333 42.666667 42.666666v426.666667c0 23.573333-19.093333 42.666667-42.666667 42.666667H682.666667l64 85.333333h106.666666c70.72 0 128-57.28 128-128V213.333333c0-70.72-57.28-128-128-128z\\\" p-id=\\\"3101\\\" fill=\\\"#ffffff\\\"></path></svg>\"","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./airplay.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./airplay.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./airplay.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-airplay{position:relative;-webkit-order:11;-moz-box-ordinal-group:12;order:11;display:block;cursor:pointer;margin-left:5px;margin-right:3px}.xgplayer-skin-default .xgplayer-airplay .xgplayer-icon{margin-top:6px;margin-left:6px}.xgplayer-skin-default .xgplayer-airplay .xgplayer-icon div{position:absolute}.xgplayer-skin-default .xgplayer-airplay .xgplayer-icon .xgplayer-icon-airplay{display:block}.xgplayer-skin-default .xgplayer-airplay .xgplayer-tips{position:absolute;right:0;left:auto}.xgplayer-skin-default .xgplayer-airplay .xgplayer-tips .xgplayer-tip-airplay{display:block}.xgplayer-skin-default .xgplayer-airplay:hover{opacity:.85}.xgplayer-skin-default .xgplayer-airplay:hover .xgplayer-tips{display:block}\", \"\"]);\n\n// exports\n"],"sourceRoot":""}