From b7dcba30d80a8a9e331ecb1e739ea056a67eccf4 Mon Sep 17 00:00:00 2001 From: DIYgod Date: Thu, 11 Jan 2018 16:18:03 +0800 Subject: [PATCH] new api: speed --- dist/DPlayer.min.css | 2 +- dist/DPlayer.min.css.map | 2 +- dist/DPlayer.min.js | 2 +- dist/DPlayer.min.js.map | 2 +- package.json | 2 +- src/js/player.js | 4 ++++ src/js/setting.js | 2 +- 7 files changed, 10 insertions(+), 6 deletions(-) diff --git a/dist/DPlayer.min.css b/dist/DPlayer.min.css index 827d2ffc8..0d7131d3b 100644 --- a/dist/DPlayer.min.css +++ b/dist/DPlayer.min.css @@ -1,2 +1,2 @@ -button[data-balloon]{overflow:visible}[data-balloon]{position:relative;cursor:pointer}[data-balloon]:after{font-family:sans-serif!important;font-weight:400!important;font-style:normal!important;text-shadow:none!important;font-size:12px!important;background:hsla(0,0%,7%,.9);border-radius:4px;color:#fff;content:attr(data-balloon);padding:.5em 1em;white-space:nowrap}[data-balloon]:after,[data-balloon]:before{filter:alpha(opactiy=0);-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";-moz-opacity:0;-khtml-opacity:0;opacity:0;pointer-events:none;-webkit-transition:all .18s ease-out .18s;transition:all .18s ease-out .18s;position:absolute;z-index:10}[data-balloon]:before{background:no-repeat url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='12'%3E%3Cpath fill='rgba(17, 17, 17, 0.9)' d='M2.658 0h32.004c-6 0-11.627 12.002-16.002 12.002C14.285 12.002 8.594 0 2.658 0z'/%3E%3C/svg%3E");background-size:100% auto;width:18px;height:6px;content:""}[data-balloon]:hover:after,[data-balloon]:hover:before,[data-balloon][data-balloon-visible]:after,[data-balloon][data-balloon-visible]:before{filter:alpha(opactiy=100);-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";-moz-opacity:1;-khtml-opacity:1;opacity:1;pointer-events:auto}[data-balloon].font-awesome:after{font-family:FontAwesome}[data-balloon][data-balloon-break]:after{white-space:pre}[data-balloon][data-balloon-blunt]:after,[data-balloon][data-balloon-blunt]:before{-webkit-transition:none;transition:none}[data-balloon][data-balloon-pos=up]:after{margin-bottom:11px}[data-balloon][data-balloon-pos=up]:after,[data-balloon][data-balloon-pos=up]:before{bottom:100%;left:50%;-webkit-transform:translate(-50%,10px);transform:translate(-50%,10px);-webkit-transform-origin:top;transform-origin:top}[data-balloon][data-balloon-pos=up]:before{margin-bottom:5px}[data-balloon][data-balloon-pos=up]:hover:after,[data-balloon][data-balloon-pos=up]:hover:before,[data-balloon][data-balloon-pos=up][data-balloon-visible]:after,[data-balloon][data-balloon-pos=up][data-balloon-visible]:before{-webkit-transform:translate(-50%);transform:translate(-50%)}[data-balloon][data-balloon-pos=up-left]:after{left:0;margin-bottom:11px}[data-balloon][data-balloon-pos=up-left]:after,[data-balloon][data-balloon-pos=up-left]:before{bottom:100%;-webkit-transform:translateY(10px);transform:translateY(10px);-webkit-transform-origin:top;transform-origin:top}[data-balloon][data-balloon-pos=up-left]:before{left:5px;margin-bottom:5px}[data-balloon][data-balloon-pos=up-left]:hover:after,[data-balloon][data-balloon-pos=up-left]:hover:before,[data-balloon][data-balloon-pos=up-left][data-balloon-visible]:after,[data-balloon][data-balloon-pos=up-left][data-balloon-visible]:before{-webkit-transform:translate(0);transform:translate(0)}[data-balloon][data-balloon-pos=up-right]:after{right:0;margin-bottom:11px}[data-balloon][data-balloon-pos=up-right]:after,[data-balloon][data-balloon-pos=up-right]:before{bottom:100%;-webkit-transform:translateY(10px);transform:translateY(10px);-webkit-transform-origin:top;transform-origin:top}[data-balloon][data-balloon-pos=up-right]:before{right:5px;margin-bottom:5px}[data-balloon][data-balloon-pos=up-right]:hover:after,[data-balloon][data-balloon-pos=up-right]:hover:before,[data-balloon][data-balloon-pos=up-right][data-balloon-visible]:after,[data-balloon][data-balloon-pos=up-right][data-balloon-visible]:before{-webkit-transform:translate(0);transform:translate(0)}[data-balloon][data-balloon-pos=down]:after{margin-top:11px}[data-balloon][data-balloon-pos=down]:after,[data-balloon][data-balloon-pos=down]:before{left:50%;top:100%;-webkit-transform:translate(-50%,-10px);transform:translate(-50%,-10px)}[data-balloon][data-balloon-pos=down]:before{background:no-repeat url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='12'%3E%3Cpath fill='rgba(17, 17, 17, 0.9)' d='M33.342 12H1.338c6 0 11.627-12.002 16.002-12.002C21.715-.002 27.406 12 33.342 12z'/%3E%3C/svg%3E");background-size:100% auto;width:18px;height:6px;margin-top:5px}[data-balloon][data-balloon-pos=down]:hover:after,[data-balloon][data-balloon-pos=down]:hover:before,[data-balloon][data-balloon-pos=down][data-balloon-visible]:after,[data-balloon][data-balloon-pos=down][data-balloon-visible]:before{-webkit-transform:translate(-50%);transform:translate(-50%)}[data-balloon][data-balloon-pos=down-left]:after{left:0;margin-top:11px;top:100%;-webkit-transform:translateY(-10px);transform:translateY(-10px)}[data-balloon][data-balloon-pos=down-left]:before{background:no-repeat url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='12'%3E%3Cpath fill='rgba(17, 17, 17, 0.9)' d='M33.342 12H1.338c6 0 11.627-12.002 16.002-12.002C21.715-.002 27.406 12 33.342 12z'/%3E%3C/svg%3E");background-size:100% auto;width:18px;height:6px;left:5px;margin-top:5px;top:100%;-webkit-transform:translateY(-10px);transform:translateY(-10px)}[data-balloon][data-balloon-pos=down-left]:hover:after,[data-balloon][data-balloon-pos=down-left]:hover:before,[data-balloon][data-balloon-pos=down-left][data-balloon-visible]:after,[data-balloon][data-balloon-pos=down-left][data-balloon-visible]:before{-webkit-transform:translate(0);transform:translate(0)}[data-balloon][data-balloon-pos=down-right]:after{right:0;margin-top:11px;top:100%;-webkit-transform:translateY(-10px);transform:translateY(-10px)}[data-balloon][data-balloon-pos=down-right]:before{background:no-repeat url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='12'%3E%3Cpath fill='rgba(17, 17, 17, 0.9)' d='M33.342 12H1.338c6 0 11.627-12.002 16.002-12.002C21.715-.002 27.406 12 33.342 12z'/%3E%3C/svg%3E");background-size:100% auto;width:18px;height:6px;right:5px;margin-top:5px;top:100%;-webkit-transform:translateY(-10px);transform:translateY(-10px)}[data-balloon][data-balloon-pos=down-right]:hover:after,[data-balloon][data-balloon-pos=down-right]:hover:before,[data-balloon][data-balloon-pos=down-right][data-balloon-visible]:after,[data-balloon][data-balloon-pos=down-right][data-balloon-visible]:before{-webkit-transform:translate(0);transform:translate(0)}[data-balloon][data-balloon-pos=left]:after{margin-right:11px;right:100%;top:50%;-webkit-transform:translate(10px,-50%);transform:translate(10px,-50%)}[data-balloon][data-balloon-pos=left]:before{background:no-repeat url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='36'%3E%3Cpath fill='rgba(17, 17, 17, 0.9)' d='M0 33.342V1.338c0 6 12.002 11.627 12.002 16.002C12.002 21.715 0 27.406 0 33.342z'/%3E%3C/svg%3E");background-size:100% auto;width:6px;height:18px;margin-right:5px;right:100%;top:50%;-webkit-transform:translate(10px,-50%);transform:translate(10px,-50%)}[data-balloon][data-balloon-pos=left]:hover:after,[data-balloon][data-balloon-pos=left]:hover:before,[data-balloon][data-balloon-pos=left][data-balloon-visible]:after,[data-balloon][data-balloon-pos=left][data-balloon-visible]:before{-webkit-transform:translateY(-50%);transform:translateY(-50%)}[data-balloon][data-balloon-pos=right]:after{left:100%;margin-left:11px;top:50%;-webkit-transform:translate(-10px,-50%);transform:translate(-10px,-50%)}[data-balloon][data-balloon-pos=right]:before{background:no-repeat url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='36'%3E%3Cpath fill='rgba(17, 17, 17, 0.9)' d='M12 2.658v32.004c0-6-12.002-11.627-12.002-16.002C-.002 14.285 12 8.594 12 2.658z'/%3E%3C/svg%3E");background-size:100% auto;width:6px;height:18px;left:100%;margin-left:5px;top:50%;-webkit-transform:translate(-10px,-50%);transform:translate(-10px,-50%)}[data-balloon][data-balloon-pos=right]:hover:after,[data-balloon][data-balloon-pos=right]:hover:before,[data-balloon][data-balloon-pos=right][data-balloon-visible]:after,[data-balloon][data-balloon-pos=right][data-balloon-visible]:before{-webkit-transform:translateY(-50%);transform:translateY(-50%)}[data-balloon][data-balloon-length=small]:after{white-space:normal;width:80px}[data-balloon][data-balloon-length=medium]:after{white-space:normal;width:150px}[data-balloon][data-balloon-length=large]:after{white-space:normal;width:260px}[data-balloon][data-balloon-length=xlarge]:after{white-space:normal;width:380px}@media screen and (max-width:768px){[data-balloon][data-balloon-length=xlarge]:after{white-space:normal;width:90vw}}[data-balloon][data-balloon-length=fit]:after{white-space:normal;width:100%}.dplayer{position:relative;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;line-height:1}.dplayer *{-webkit-box-sizing:content-box;box-sizing:content-box}.dplayer:-webkit-full-screen{width:100%;height:100%;background:#000;position:fixed;z-index:100000;left:0;top:0}.dplayer:-webkit-full-screen .dplayer-danmaku .dplayer-danmaku-bottom.dplayer-danmaku-move,.dplayer:-webkit-full-screen .dplayer-danmaku .dplayer-danmaku-top.dplayer-danmaku-move{-webkit-animation:danmaku-center 6s linear;animation:danmaku-center 6s linear;-webkit-animation-play-state:paused;animation-play-state:paused}.dplayer:-webkit-full-screen .dplayer-danmaku .dplayer-danmaku-right.dplayer-danmaku-move{-webkit-animation:danmaku 8s linear;animation:danmaku 8s linear;-webkit-animation-play-state:paused;animation-play-state:paused}.dplayer.dplayer-live .dplayer-bar-wrap,.dplayer.dplayer-live .dplayer-setting-loop,.dplayer.dplayer-live .dplayer-setting-speed,.dplayer.dplayer-live .dplayer-time,.dplayer.dplayer-no-danmaku .dplayer-controller .dplayer-icons .dplayer-comment,.dplayer.dplayer-no-danmaku .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box .dplayer-setting-danmaku,.dplayer.dplayer-no-danmaku .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box .dplayer-setting-danunlimit,.dplayer.dplayer-no-danmaku .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box .dplayer-setting-showdan,.dplayer.dplayer-no-danmaku .dplayer-danmaku{display:none}.dplayer.dplayer-arrow .dplayer-danmaku{font-size:18px}.dplayer.dplayer-playing .dplayer-danmaku .dplayer-danmaku-move{-webkit-animation-play-state:running!important;animation-play-state:running!important}@media (min-width:900px){.dplayer.dplayer-playing .dplayer-controller,.dplayer.dplayer-playing .dplayer-controller-mask{opacity:0}.dplayer.dplayer-playing:hover .dplayer-controller,.dplayer.dplayer-playing:hover .dplayer-controller-mask{opacity:1}}.dplayer.dplayer-loading .dplayer-bezel .diplayer-loading-icon{display:block}.dplayer.dplayer-loading .dplayer-danmaku .dplayer-danmaku-move{-webkit-animation-play-state:paused!important;animation-play-state:paused!important}.dplayer.dplayer-hide-controller{cursor:none}.dplayer.dplayer-hide-controller .dplayer-controller,.dplayer.dplayer-hide-controller .dplayer-controller-mask{opacity:0;-webkit-transform:translateY(100%);transform:translateY(100%)}.dplayer.dplayer-show-controller .dplayer-controller,.dplayer.dplayer-show-controller .dplayer-controller-mask{opacity:1}.dplayer.dplayer-fulled{position:fixed;z-index:100000;left:0;top:0;width:100%;height:100%}.dplayer.dplayer-mobile .dplayer-camera-icon,.dplayer.dplayer-mobile .dplayer-volume{display:none!important}.dplayer.dplayer-mobile .dplayer-full-in-icon{position:static!important;display:inline-block!important}.dplayer.dplayer-mobile .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-input{width:200px}.dplayer.dplayer-mobile .dplayer-comment-setting-title{display:none}.dplayer.dplayer-mobile .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box{left:17px}.dplayer.dplayer-mobile .dplayer-controller .dplayer-icons .dplayer-icon{width:40px}.dplayer .dplayer-mask{position:absolute;top:0;bottom:0;left:0;right:0;z-index:1;display:none}.dplayer .dplayer-mask.dplayer-mask-show{display:block}.dplayer .dplayer-video-wrap{position:relative;background:#000;font-size:0;width:100%;height:100%}.dplayer .dplayer-video-wrap .dplayer-video{width:100%;height:100%;display:none}.dplayer .dplayer-video-wrap .dplayer-video-current{display:block}.dplayer .dplayer-video-wrap .dplayer-video-prepare{display:none}.dplayer .dplayer-danmaku{position:absolute;left:0;right:0;top:0;bottom:0;font-size:22px;color:#fff}.dplayer .dplayer-danmaku .dplayer-danmaku-item{display:inline-block;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default;white-space:nowrap;text-shadow:.5px .5px .5px rgba(0,0,0,.5)}.dplayer .dplayer-danmaku .dplayer-danmaku-item--demo{position:absolute;visibility:hidden}.dplayer .dplayer-danmaku .dplayer-danmaku-right{position:absolute;right:0;-webkit-transform:translateX(100%);transform:translateX(100%)}.dplayer .dplayer-danmaku .dplayer-danmaku-right.dplayer-danmaku-move{will-change:transform;-webkit-animation:danmaku 5s linear;animation:danmaku 5s linear;-webkit-animation-play-state:paused;animation-play-state:paused}@-webkit-keyframes danmaku{0%{-webkit-transform:translateX(100%);transform:translateX(100%)}}@keyframes danmaku{0%{-webkit-transform:translateX(100%);transform:translateX(100%)}}.dplayer .dplayer-danmaku .dplayer-danmaku-bottom,.dplayer .dplayer-danmaku .dplayer-danmaku-top{position:absolute;width:100%;text-align:center;visibility:hidden}.dplayer .dplayer-danmaku .dplayer-danmaku-bottom.dplayer-danmaku-move,.dplayer .dplayer-danmaku .dplayer-danmaku-top.dplayer-danmaku-move{will-change:visibility;-webkit-animation:danmaku-center 4s linear;animation:danmaku-center 4s linear;-webkit-animation-play-state:paused;animation-play-state:paused}@-webkit-keyframes danmaku-center{0%{visibility:visible}to{visibility:visible}}@keyframes danmaku-center{0%{visibility:visible}to{visibility:visible}}.dplayer .dplayer-subtitle{position:absolute;bottom:40px;width:90%;left:5%;text-align:center;color:#fff;text-shadow:.5px .5px .5px rgba(0,0,0,.5);font-size:20px}.dplayer .dplayer-subtitle.dplayer-subtitle-hide{display:none}.dplayer .dplayer-bezel{position:absolute;left:0;right:0;top:0;bottom:0;font-size:22px;color:#fff;pointer-events:none}.dplayer .dplayer-bezel .dplayer-bezel-icon{position:absolute;top:50%;left:50%;margin:-26px 0 0 -26px;height:52px;width:52px;padding:12px;-webkit-box-sizing:border-box;box-sizing:border-box;background:rgba(0,0,0,.5);border-radius:50%;opacity:0;pointer-events:none}.dplayer .dplayer-bezel .dplayer-bezel-icon.dplayer-bezel-transition{-webkit-animation:bezel-hide .5s linear;animation:bezel-hide .5s linear}@-webkit-keyframes bezel-hide{0%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}to{opacity:0;-webkit-transform:scale(2);transform:scale(2)}}@keyframes bezel-hide{0%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}to{opacity:0;-webkit-transform:scale(2);transform:scale(2)}}.dplayer .dplayer-bezel .dplayer-danloading{position:absolute;top:50%;margin-top:-7px;width:100%;text-align:center;font-size:14px;line-height:14px;-webkit-animation:my-face 5s infinite ease-in-out;animation:my-face 5s infinite ease-in-out}.dplayer .dplayer-bezel .diplayer-loading-icon{display:none;position:absolute;top:50%;left:50%;margin:-18px 0 0 -18px;height:36px;width:36px;pointer-events:none}.dplayer .dplayer-bezel .diplayer-loading-icon .diplayer-loading-hide{display:none}.dplayer .dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot{-webkit-animation:diplayer-loading-dot-fade .8s ease infinite;animation:diplayer-loading-dot-fade .8s ease infinite;opacity:0;fill:#fff;-webkit-transform-origin:4px 4px;transform-origin:4px 4px}.dplayer .dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-7{-webkit-animation-delay:.7s;animation-delay:.7s}.dplayer .dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-6{-webkit-animation-delay:.6s;animation-delay:.6s}.dplayer .dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-5{-webkit-animation-delay:.5s;animation-delay:.5s}.dplayer .dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-4{-webkit-animation-delay:.4s;animation-delay:.4s}.dplayer .dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-3{-webkit-animation-delay:.3s;animation-delay:.3s}.dplayer .dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-2{-webkit-animation-delay:.2s;animation-delay:.2s}.dplayer .dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-1{-webkit-animation-delay:.1s;animation-delay:.1s}@-webkit-keyframes diplayer-loading-dot-fade{0%{opacity:.7;-webkit-transform:scale(1.2);transform:scale(1.2)}50%{opacity:.25;-webkit-transform:scale(.9);transform:scale(.9)}to{opacity:.25;-webkit-transform:scale(.85);transform:scale(.85)}}@keyframes diplayer-loading-dot-fade{0%{opacity:.7;-webkit-transform:scale(1.2);transform:scale(1.2)}50%{opacity:.25;-webkit-transform:scale(.9);transform:scale(.9)}to{opacity:.25;-webkit-transform:scale(.85);transform:scale(.85)}}.dplayer .dplayer-controller-mask{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAADGCAYAAAAT+OqFAAAAdklEQVQoz42QQQ7AIAgEF/T/D+kbq/RWAlnQyyazA4aoAB4FsBSA/bFjuF1EOL7VbrIrBuusmrt4ZZORfb6ehbWdnRHEIiITaEUKa5EJqUakRSaEYBJSCY2dEstQY7AuxahwXFrvZmWl2rh4JZ07z9dLtesfNj5q0FU3A5ObbwAAAABJRU5ErkJggg==) repeat-x bottom;height:98px;width:100%}.dplayer .dplayer-controller,.dplayer .dplayer-controller-mask{position:absolute;bottom:0;-webkit-transition:all .3s ease;transition:all .3s ease}.dplayer .dplayer-controller{left:0;right:0;height:41px;padding:0 20px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.dplayer .dplayer-controller.dplayer-controller-comment .dplayer-icons{display:none}.dplayer .dplayer-controller.dplayer-controller-comment .dplayer-icons.dplayer-comment-box{display:block}.dplayer .dplayer-controller .dplayer-bar-wrap{padding:5px 0;cursor:pointer;position:absolute;bottom:33px;width:calc(100% - 40px);height:3px}.dplayer .dplayer-controller .dplayer-bar-wrap:hover .dplayer-thumb{-webkit-transform:scale(1)!important;transform:scale(1)!important}.dplayer .dplayer-controller .dplayer-bar-wrap .dplayer-bar-preview{position:absolute;background:#fff;pointer-events:none;display:none;background-size:auto 100%}.dplayer .dplayer-controller .dplayer-bar-wrap .dplayer-bar-preview-canvas{position:absolute;width:100%;height:100%;z-index:1;pointer-events:none}.dplayer .dplayer-controller .dplayer-bar-wrap .dplayer-bar-time{position:absolute;left:0;top:-20px;width:30px;border-radius:4px;padding:5px 7px;background-color:rgba(0,0,0,.62);color:#fff;font-size:12px;text-align:center;opacity:1;-webkit-transition:opacity .1s ease-in-out;transition:opacity .1s ease-in-out;word-wrap:normal;word-break:normal;z-index:2;pointer-events:none}.dplayer .dplayer-controller .dplayer-bar-wrap .dplayer-bar-time.hidden{opacity:0}.dplayer .dplayer-controller .dplayer-bar-wrap .dplayer-bar{position:relative;height:3px;width:100%;background:hsla(0,0%,100%,.2);cursor:pointer!important}.dplayer .dplayer-controller .dplayer-bar-wrap .dplayer-bar .dplayer-loaded{position:absolute;left:0;top:0;bottom:0;background:hsla(0,0%,100%,.4);height:3px;-webkit-transition:all .5s ease;transition:all .5s ease;will-change:width}.dplayer .dplayer-controller .dplayer-bar-wrap .dplayer-bar .dplayer-played{position:absolute;left:0;top:0;bottom:0;height:3px;will-change:width}.dplayer .dplayer-controller .dplayer-bar-wrap .dplayer-bar .dplayer-played .dplayer-thumb{position:absolute;top:0;right:5px;margin-top:-4px;margin-right:-10px;height:11px;width:11px;border-radius:50%;cursor:pointer!important;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;-webkit-transform:scale(0);transform:scale(0)}.dplayer .dplayer-controller .dplayer-icons{height:38px;position:absolute;bottom:0}.dplayer .dplayer-controller .dplayer-icons.dplayer-comment-box{display:none;position:absolute;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;z-index:2;height:38px;bottom:0;left:20px;right:20px;color:#fff}.dplayer .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-icon{padding:7px}.dplayer .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-icon{position:absolute;left:0;top:0}.dplayer .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-send-icon{position:absolute;right:0;top:0}.dplayer .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box{position:absolute;background:rgba(28,28,28,.9);bottom:41px;left:0;-webkit-box-shadow:0 0 25px rgba(0,0,0,.3);box-shadow:0 0 25px rgba(0,0,0,.3);border-radius:4px;padding:10px 10px 16px;font-size:14px;width:204px;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;-webkit-transform:scale(0);transform:scale(0)}.dplayer .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box.dplayer-comment-setting-open{-webkit-transform:scale(1);transform:scale(1)}.dplayer .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box input[type=radio]{display:none}.dplayer .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box label{cursor:pointer}.dplayer .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-title{font-size:13px;color:#fff;line-height:30px}.dplayer .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type{font-size:0}.dplayer .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type .dplayer-comment-setting-title{margin-bottom:6px}.dplayer .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type label:nth-child(2) span{border-radius:4px 0 0 4px}.dplayer .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type label:nth-child(4) span{border-radius:0 4px 4px 0}.dplayer .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type span{width:33%;padding:4px 6px;line-height:16px;display:inline-block;font-size:12px;color:#fff;border:1px solid #fff;margin-right:-1px;-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center;cursor:pointer}.dplayer .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type input:checked+span{background:#e4e4e6;color:#1c1c1c}.dplayer .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-color{font-size:0}.dplayer .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-color label{font-size:0;padding:6px;display:inline-block}.dplayer .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-color span{width:22px;height:22px;display:inline-block;border-radius:50%;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer}.dplayer .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-color span:hover{-webkit-animation:my-face 5s infinite ease-in-out;animation:my-face 5s infinite ease-in-out;-webkit-box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12);box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12)}.dplayer .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-color input:checked+span{-webkit-box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12);box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12);border:none!important}.dplayer .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-input{outline:none;border:none;padding:8px 31px;font-size:14px;line-height:18px;text-align:center;border-radius:4px;background:none;margin:0;height:100%;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;color:#fff}.dplayer .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-input::-webkit-input-placeholder{color:#fff;opacity:.8}.dplayer .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-input:-ms-input-placeholder,.dplayer .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-input::-ms-input-placeholder{color:#fff;opacity:.8}.dplayer .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-input::placeholder{color:#fff;opacity:.8}.dplayer .dplayer-controller .dplayer-icons.dplayer-icons-left .dplayer-icon{padding:7px}.dplayer .dplayer-controller .dplayer-icons.dplayer-icons-right{right:20px}.dplayer .dplayer-controller .dplayer-icons.dplayer-icons-right .dplayer-icon{padding:8px}.dplayer .dplayer-controller .dplayer-icons .dplayer-live-badge,.dplayer .dplayer-controller .dplayer-icons .dplayer-time{line-height:38px;color:#eee;text-shadow:0 0 2px rgba(0,0,0,.5);vertical-align:middle;font-size:13px;cursor:default}.dplayer .dplayer-controller .dplayer-icons .dplayer-live-dot{display:inline-block;width:6px;height:6px;vertical-align:4%;margin-right:5px;content:"";border-radius:6px}.dplayer .dplayer-controller .dplayer-icons .dplayer-icon{width:40px;height:100%;border:none;background-color:transparent;outline:none;cursor:pointer;vertical-align:middle;-webkit-box-sizing:border-box;box-sizing:border-box;display:inline-block}.dplayer .dplayer-controller .dplayer-icons .dplayer-icon .dplayer-icon-content{-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out;opacity:.8}.dplayer .dplayer-controller .dplayer-icons .dplayer-icon:hover .dplayer-icon-content{opacity:1}.dplayer .dplayer-controller .dplayer-icons .dplayer-icon.dplayer-quality-icon{color:#fff;width:auto;line-height:22px;font-size:14px}.dplayer .dplayer-controller .dplayer-icons .dplayer-icon.dplayer-comment-icon{padding:10px 9px 9px}.dplayer .dplayer-controller .dplayer-icons .dplayer-icon.dplayer-setting-icon{padding-top:8.5px}.dplayer .dplayer-controller .dplayer-icons .dplayer-icon.dplayer-volume-icon{width:43px}.dplayer .dplayer-controller .dplayer-icons .dplayer-volume{position:relative;display:inline-block;cursor:pointer!important;height:100%}.dplayer .dplayer-controller .dplayer-icons .dplayer-volume:hover .dplayer-volume-bar{width:45px!important}.dplayer .dplayer-controller .dplayer-icons .dplayer-volume:hover .dplayer-thumb{-webkit-transform:scale(1)!important;transform:scale(1)!important}.dplayer .dplayer-controller .dplayer-icons .dplayer-volume.dplayer-volume-active .dplayer-volume-bar{width:45px!important}.dplayer .dplayer-controller .dplayer-icons .dplayer-volume.dplayer-volume-active .dplayer-thumb{-webkit-transform:scale(1)!important;transform:scale(1)!important}.dplayer .dplayer-controller .dplayer-icons .dplayer-volume .dplayer-volume-bar-wrap{display:inline-block;margin:0 10px 0 -5px;vertical-align:middle;height:100%}.dplayer .dplayer-controller .dplayer-icons .dplayer-volume .dplayer-volume-bar-wrap .dplayer-volume-bar{position:relative;top:17px;width:0;height:3px;background:#aaa;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.dplayer .dplayer-controller .dplayer-icons .dplayer-volume .dplayer-volume-bar-wrap .dplayer-volume-bar .dplayer-volume-bar-inner{position:absolute;bottom:0;left:0;height:100%;-webkit-transition:all .1s ease;transition:all .1s ease;will-change:width}.dplayer .dplayer-controller .dplayer-icons .dplayer-volume .dplayer-volume-bar-wrap .dplayer-volume-bar .dplayer-volume-bar-inner .dplayer-thumb{position:absolute;top:0;right:5px;margin-top:-4px;margin-right:-10px;height:11px;width:11px;border-radius:50%;cursor:pointer!important;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;-webkit-transform:scale(0);transform:scale(0)}.dplayer .dplayer-controller .dplayer-icons .dplayer-setting,.dplayer .dplayer-controller .dplayer-icons .dplayer-subtitle-btn{display:inline-block;height:100%}.dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box{position:absolute;right:0;bottom:50px;-webkit-transform:scale(0);transform:scale(0);width:150px;border-radius:2px;background:rgba(28,28,28,.9);padding:7px 0;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;overflow:hidden;z-index:2}.dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box>div{display:none}.dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box>div.dplayer-setting-origin-panel{display:block}.dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box.dplayer-setting-box-open{-webkit-transform:scale(1);transform:scale(1)}.dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box.dplayer-setting-box-narrow{width:70px;height:180px;text-align:center}.dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box.dplayer-setting-box-speed .dplayer-setting-origin-panel{display:none}.dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box.dplayer-setting-box-speed .dplayer-setting-speed-panel{display:block}.dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-item,.dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-speed-item{height:30px;padding:5px 10px;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer;position:relative}.dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-item:hover,.dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-speed-item:hover{background-color:hsla(0,0%,100%,.1)}.dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku{padding:5px 0}.dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-label{padding:0 10px;display:inline}.dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku:hover .dplayer-label{display:none}.dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku:hover .dplayer-danmaku-bar-wrap{display:inline-block}.dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku.dplayer-setting-danmaku-active .dplayer-label{display:none}.dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku.dplayer-setting-danmaku-active .dplayer-danmaku-bar-wrap{display:inline-block}.dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-danmaku-bar-wrap{padding:0 10px;-webkit-box-sizing:border-box;box-sizing:border-box;display:none;vertical-align:middle;height:100%;width:100%}.dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-danmaku-bar-wrap .dplayer-danmaku-bar{position:relative;top:8.5px;width:100%;height:3px;background:#fff;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-danmaku-bar-wrap .dplayer-danmaku-bar .dplayer-danmaku-bar-inner{position:absolute;bottom:0;left:0;height:100%;-webkit-transition:all .1s ease;transition:all .1s ease;background:#aaa;will-change:width}.dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-danmaku-bar-wrap .dplayer-danmaku-bar .dplayer-danmaku-bar-inner .dplayer-thumb{position:absolute;top:0;right:5px;margin-top:-4px;margin-right:-10px;height:11px;width:11px;border-radius:50%;cursor:pointer!important;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;background:#aaa}.dplayer .dplayer-controller .dplayer-icons .dplayer-full{display:inline-block;height:100%;position:relative}.dplayer .dplayer-controller .dplayer-icons .dplayer-full:hover .dplayer-full-in-icon{display:block}.dplayer .dplayer-controller .dplayer-icons .dplayer-full .dplayer-full-in-icon{position:absolute;top:-30px;z-index:1;display:none}.dplayer .dplayer-controller .dplayer-icons .dplayer-quality{position:relative;display:inline-block;height:100%;z-index:2}.dplayer .dplayer-controller .dplayer-icons .dplayer-quality:hover .dplayer-quality-list,.dplayer .dplayer-controller .dplayer-icons .dplayer-quality:hover .dplayer-quality-mask{display:block}.dplayer .dplayer-controller .dplayer-icons .dplayer-quality .dplayer-quality-mask{display:none;position:absolute;bottom:38px;left:-18px;width:80px;padding-bottom:12px}.dplayer .dplayer-controller .dplayer-icons .dplayer-quality .dplayer-quality-list{display:none;font-size:12px;width:80px;border-radius:2px;background:rgba(28,28,28,.9);padding:5px 0;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;overflow:hidden;color:#fff;text-align:center}.dplayer .dplayer-controller .dplayer-icons .dplayer-quality .dplayer-quality-item{height:25px;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer;line-height:25px}.dplayer .dplayer-controller .dplayer-icons .dplayer-quality .dplayer-quality-item:hover{background-color:hsla(0,0%,100%,.1)}.dplayer .dplayer-controller .dplayer-icons .dplayer-comment{display:inline-block;height:100%}.dplayer .dplayer-controller .dplayer-icons .dplayer-label{color:#eee;font-size:13px;display:inline-block;vertical-align:middle;white-space:nowrap}.dplayer .dplayer-controller .dplayer-icons .dplayer-toggle{width:32px;height:20px;text-align:center;font-size:0;vertical-align:middle;position:absolute;top:5px;right:10px}.dplayer .dplayer-controller .dplayer-icons .dplayer-toggle input{max-height:0;max-width:0;display:none}.dplayer .dplayer-controller .dplayer-icons .dplayer-toggle input+label{display:inline-block;position:relative;-webkit-box-shadow:#dfdfdf 0 0 0 0 inset;box-shadow:inset 0 0 0 0 #dfdfdf;border:1px solid #dfdfdf;height:20px;width:32px;border-radius:10px;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer;-webkit-transition:.2s ease-in-out;transition:.2s ease-in-out}.dplayer .dplayer-controller .dplayer-icons .dplayer-toggle input+label:after,.dplayer .dplayer-controller .dplayer-icons .dplayer-toggle input+label:before{content:"";position:absolute;display:block;height:18px;width:18px;top:0;left:0;border-radius:15px;-webkit-transition:.2s ease-in-out;transition:.2s ease-in-out}.dplayer .dplayer-controller .dplayer-icons .dplayer-toggle input+label:after{background:#fff;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.4);box-shadow:0 1px 3px rgba(0,0,0,.4)}.dplayer .dplayer-controller .dplayer-icons .dplayer-toggle input:checked+label{border-color:hsla(0,0%,100%,.5)}.dplayer .dplayer-controller .dplayer-icons .dplayer-toggle input:checked+label:before{width:30px;background:hsla(0,0%,100%,.5)}.dplayer .dplayer-controller .dplayer-icons .dplayer-toggle input:checked+label:after{left:12px}.dplayer .dplayer-menu{position:absolute;width:170px;border-radius:2px;background:rgba(28,28,28,.85);padding:5px 0;overflow:hidden;z-index:3;display:none}.dplayer .dplayer-menu.dplayer-menu-show{display:block}.dplayer .dplayer-menu .dplayer-menu-item{height:30px;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer}.dplayer .dplayer-menu .dplayer-menu-item:hover{background-color:hsla(0,0%,100%,.1)}.dplayer .dplayer-menu .dplayer-menu-item a{padding:0 10px;line-height:30px;color:#eee;font-size:13px;display:inline-block;vertical-align:middle;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.dplayer .dplayer-menu .dplayer-menu-item a:hover{text-decoration:none}.dplayer .dplayer-logo{pointer-events:none;position:absolute;left:20px;top:20px;max-width:50px;max-height:50px}.dplayer .dplayer-logo img{max-width:100%;max-height:100%;background:none}.dplayer .dplayer-notice{opacity:0;position:absolute;bottom:60px;left:20px;font-size:14px;border-radius:2px;background:rgba(28,28,28,.9);padding:7px 20px;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;overflow:hidden;color:#fff;pointer-events:none}@-webkit-keyframes my-face{2%{-webkit-transform:translateY(1.5px) rotate(1.5deg);transform:translateY(1.5px) rotate(1.5deg)}4%{-webkit-transform:translateY(-1.5px) rotate(-.5deg);transform:translateY(-1.5px) rotate(-.5deg)}6%{-webkit-transform:translateY(1.5px) rotate(-1.5deg);transform:translateY(1.5px) rotate(-1.5deg)}8%{-webkit-transform:translateY(-1.5px) rotate(-1.5deg);transform:translateY(-1.5px) rotate(-1.5deg)}10%{-webkit-transform:translateY(2.5px) rotate(1.5deg);transform:translateY(2.5px) rotate(1.5deg)}12%{-webkit-transform:translateY(-.5px) rotate(1.5deg);transform:translateY(-.5px) rotate(1.5deg)}14%{-webkit-transform:translateY(-1.5px) rotate(1.5deg);transform:translateY(-1.5px) rotate(1.5deg)}16%{-webkit-transform:translateY(-.5px) rotate(-1.5deg);transform:translateY(-.5px) rotate(-1.5deg)}18%{-webkit-transform:translateY(.5px) rotate(-1.5deg);transform:translateY(.5px) rotate(-1.5deg)}20%{-webkit-transform:translateY(-1.5px) rotate(2.5deg);transform:translateY(-1.5px) rotate(2.5deg)}22%{-webkit-transform:translateY(.5px) rotate(-1.5deg);transform:translateY(.5px) rotate(-1.5deg)}24%{-webkit-transform:translateY(1.5px) rotate(1.5deg);transform:translateY(1.5px) rotate(1.5deg)}26%{-webkit-transform:translateY(.5px) rotate(.5deg);transform:translateY(.5px) rotate(.5deg)}28%{-webkit-transform:translateY(.5px) rotate(1.5deg);transform:translateY(.5px) rotate(1.5deg)}30%{-webkit-transform:translateY(-.5px) rotate(2.5deg);transform:translateY(-.5px) rotate(2.5deg)}32%{-webkit-transform:translateY(1.5px) rotate(-.5deg);transform:translateY(1.5px) rotate(-.5deg)}34%{-webkit-transform:translateY(1.5px) rotate(-.5deg);transform:translateY(1.5px) rotate(-.5deg)}36%{-webkit-transform:translateY(-1.5px) rotate(2.5deg);transform:translateY(-1.5px) rotate(2.5deg)}38%{-webkit-transform:translateY(1.5px) rotate(-1.5deg);transform:translateY(1.5px) rotate(-1.5deg)}40%{-webkit-transform:translateY(-.5px) rotate(2.5deg);transform:translateY(-.5px) rotate(2.5deg)}42%{-webkit-transform:translateY(2.5px) rotate(-1.5deg);transform:translateY(2.5px) rotate(-1.5deg)}44%{-webkit-transform:translateY(1.5px) rotate(.5deg);transform:translateY(1.5px) rotate(.5deg)}46%{-webkit-transform:translateY(-1.5px) rotate(2.5deg);transform:translateY(-1.5px) rotate(2.5deg)}48%{-webkit-transform:translateY(-.5px) rotate(.5deg);transform:translateY(-.5px) rotate(.5deg)}50%{-webkit-transform:translateY(.5px) rotate(.5deg);transform:translateY(.5px) rotate(.5deg)}52%{-webkit-transform:translateY(2.5px) rotate(2.5deg);transform:translateY(2.5px) rotate(2.5deg)}54%{-webkit-transform:translateY(-1.5px) rotate(1.5deg);transform:translateY(-1.5px) rotate(1.5deg)}56%{-webkit-transform:translateY(2.5px) rotate(2.5deg);transform:translateY(2.5px) rotate(2.5deg)}58%{-webkit-transform:translateY(.5px) rotate(2.5deg);transform:translateY(.5px) rotate(2.5deg)}60%{-webkit-transform:translateY(2.5px) rotate(2.5deg);transform:translateY(2.5px) rotate(2.5deg)}62%{-webkit-transform:translateY(-.5px) rotate(2.5deg);transform:translateY(-.5px) rotate(2.5deg)}64%{-webkit-transform:translateY(-.5px) rotate(1.5deg);transform:translateY(-.5px) rotate(1.5deg)}66%{-webkit-transform:translateY(1.5px) rotate(-.5deg);transform:translateY(1.5px) rotate(-.5deg)}68%{-webkit-transform:translateY(-1.5px) rotate(-.5deg);transform:translateY(-1.5px) rotate(-.5deg)}70%{-webkit-transform:translateY(1.5px) rotate(.5deg);transform:translateY(1.5px) rotate(.5deg)}72%{-webkit-transform:translateY(2.5px) rotate(1.5deg);transform:translateY(2.5px) rotate(1.5deg)}74%{-webkit-transform:translateY(-.5px) rotate(.5deg);transform:translateY(-.5px) rotate(.5deg)}76%{-webkit-transform:translateY(-.5px) rotate(2.5deg);transform:translateY(-.5px) rotate(2.5deg)}78%{-webkit-transform:translateY(-.5px) rotate(1.5deg);transform:translateY(-.5px) rotate(1.5deg)}80%{-webkit-transform:translateY(1.5px) rotate(1.5deg);transform:translateY(1.5px) rotate(1.5deg)}82%{-webkit-transform:translateY(-.5px) rotate(.5deg);transform:translateY(-.5px) rotate(.5deg)}84%{-webkit-transform:translateY(1.5px) rotate(2.5deg);transform:translateY(1.5px) rotate(2.5deg)}86%{-webkit-transform:translateY(-1.5px) rotate(-1.5deg);transform:translateY(-1.5px) rotate(-1.5deg)}88%{-webkit-transform:translateY(-.5px) rotate(2.5deg);transform:translateY(-.5px) rotate(2.5deg)}90%{-webkit-transform:translateY(2.5px) rotate(-.5deg);transform:translateY(2.5px) rotate(-.5deg)}92%{-webkit-transform:translateY(.5px) rotate(-.5deg);transform:translateY(.5px) rotate(-.5deg)}94%{-webkit-transform:translateY(2.5px) rotate(.5deg);transform:translateY(2.5px) rotate(.5deg)}96%{-webkit-transform:translateY(-.5px) rotate(1.5deg);transform:translateY(-.5px) rotate(1.5deg)}98%{-webkit-transform:translateY(-1.5px) rotate(-.5deg);transform:translateY(-1.5px) rotate(-.5deg)}0%,to{-webkit-transform:translate(0) rotate(0deg);transform:translate(0) rotate(0deg)}}@keyframes my-face{2%{-webkit-transform:translateY(1.5px) rotate(1.5deg);transform:translateY(1.5px) rotate(1.5deg)}4%{-webkit-transform:translateY(-1.5px) rotate(-.5deg);transform:translateY(-1.5px) rotate(-.5deg)}6%{-webkit-transform:translateY(1.5px) rotate(-1.5deg);transform:translateY(1.5px) rotate(-1.5deg)}8%{-webkit-transform:translateY(-1.5px) rotate(-1.5deg);transform:translateY(-1.5px) rotate(-1.5deg)}10%{-webkit-transform:translateY(2.5px) rotate(1.5deg);transform:translateY(2.5px) rotate(1.5deg)}12%{-webkit-transform:translateY(-.5px) rotate(1.5deg);transform:translateY(-.5px) rotate(1.5deg)}14%{-webkit-transform:translateY(-1.5px) rotate(1.5deg);transform:translateY(-1.5px) rotate(1.5deg)}16%{-webkit-transform:translateY(-.5px) rotate(-1.5deg);transform:translateY(-.5px) rotate(-1.5deg)}18%{-webkit-transform:translateY(.5px) rotate(-1.5deg);transform:translateY(.5px) rotate(-1.5deg)}20%{-webkit-transform:translateY(-1.5px) rotate(2.5deg);transform:translateY(-1.5px) rotate(2.5deg)}22%{-webkit-transform:translateY(.5px) rotate(-1.5deg);transform:translateY(.5px) rotate(-1.5deg)}24%{-webkit-transform:translateY(1.5px) rotate(1.5deg);transform:translateY(1.5px) rotate(1.5deg)}26%{-webkit-transform:translateY(.5px) rotate(.5deg);transform:translateY(.5px) rotate(.5deg)}28%{-webkit-transform:translateY(.5px) rotate(1.5deg);transform:translateY(.5px) rotate(1.5deg)}30%{-webkit-transform:translateY(-.5px) rotate(2.5deg);transform:translateY(-.5px) rotate(2.5deg)}32%{-webkit-transform:translateY(1.5px) rotate(-.5deg);transform:translateY(1.5px) rotate(-.5deg)}34%{-webkit-transform:translateY(1.5px) rotate(-.5deg);transform:translateY(1.5px) rotate(-.5deg)}36%{-webkit-transform:translateY(-1.5px) rotate(2.5deg);transform:translateY(-1.5px) rotate(2.5deg)}38%{-webkit-transform:translateY(1.5px) rotate(-1.5deg);transform:translateY(1.5px) rotate(-1.5deg)}40%{-webkit-transform:translateY(-.5px) rotate(2.5deg);transform:translateY(-.5px) rotate(2.5deg)}42%{-webkit-transform:translateY(2.5px) rotate(-1.5deg);transform:translateY(2.5px) rotate(-1.5deg)}44%{-webkit-transform:translateY(1.5px) rotate(.5deg);transform:translateY(1.5px) rotate(.5deg)}46%{-webkit-transform:translateY(-1.5px) rotate(2.5deg);transform:translateY(-1.5px) rotate(2.5deg)}48%{-webkit-transform:translateY(-.5px) rotate(.5deg);transform:translateY(-.5px) rotate(.5deg)}50%{-webkit-transform:translateY(.5px) rotate(.5deg);transform:translateY(.5px) rotate(.5deg)}52%{-webkit-transform:translateY(2.5px) rotate(2.5deg);transform:translateY(2.5px) rotate(2.5deg)}54%{-webkit-transform:translateY(-1.5px) rotate(1.5deg);transform:translateY(-1.5px) rotate(1.5deg)}56%{-webkit-transform:translateY(2.5px) rotate(2.5deg);transform:translateY(2.5px) rotate(2.5deg)}58%{-webkit-transform:translateY(.5px) rotate(2.5deg);transform:translateY(.5px) rotate(2.5deg)}60%{-webkit-transform:translateY(2.5px) rotate(2.5deg);transform:translateY(2.5px) rotate(2.5deg)}62%{-webkit-transform:translateY(-.5px) rotate(2.5deg);transform:translateY(-.5px) rotate(2.5deg)}64%{-webkit-transform:translateY(-.5px) rotate(1.5deg);transform:translateY(-.5px) rotate(1.5deg)}66%{-webkit-transform:translateY(1.5px) rotate(-.5deg);transform:translateY(1.5px) rotate(-.5deg)}68%{-webkit-transform:translateY(-1.5px) rotate(-.5deg);transform:translateY(-1.5px) rotate(-.5deg)}70%{-webkit-transform:translateY(1.5px) rotate(.5deg);transform:translateY(1.5px) rotate(.5deg)}72%{-webkit-transform:translateY(2.5px) rotate(1.5deg);transform:translateY(2.5px) rotate(1.5deg)}74%{-webkit-transform:translateY(-.5px) rotate(.5deg);transform:translateY(-.5px) rotate(.5deg)}76%{-webkit-transform:translateY(-.5px) rotate(2.5deg);transform:translateY(-.5px) rotate(2.5deg)}78%{-webkit-transform:translateY(-.5px) rotate(1.5deg);transform:translateY(-.5px) rotate(1.5deg)}80%{-webkit-transform:translateY(1.5px) rotate(1.5deg);transform:translateY(1.5px) rotate(1.5deg)}82%{-webkit-transform:translateY(-.5px) rotate(.5deg);transform:translateY(-.5px) rotate(.5deg)}84%{-webkit-transform:translateY(1.5px) rotate(2.5deg);transform:translateY(1.5px) rotate(2.5deg)}86%{-webkit-transform:translateY(-1.5px) rotate(-1.5deg);transform:translateY(-1.5px) rotate(-1.5deg)}88%{-webkit-transform:translateY(-.5px) rotate(2.5deg);transform:translateY(-.5px) rotate(2.5deg)}90%{-webkit-transform:translateY(2.5px) rotate(-.5deg);transform:translateY(2.5px) rotate(-.5deg)}92%{-webkit-transform:translateY(.5px) rotate(-.5deg);transform:translateY(.5px) rotate(-.5deg)}94%{-webkit-transform:translateY(2.5px) rotate(.5deg);transform:translateY(2.5px) rotate(.5deg)}96%{-webkit-transform:translateY(-.5px) rotate(1.5deg);transform:translateY(-.5px) rotate(1.5deg)}98%{-webkit-transform:translateY(-1.5px) rotate(-.5deg);transform:translateY(-1.5px) rotate(-.5deg)}0%,to{-webkit-transform:translate(0) rotate(0deg);transform:translate(0) rotate(0deg)}}[data-balloon]:before{display:none}[data-balloon]:after{padding:.3em .7em;background:hsla(0,0%,7%,.7)}[data-balloon][data-balloon-pos=up]:after{margin-bottom:0}.dplayer-web-fullscreen-fix{position:fixed;top:0;left:0;margin:0;padding:0} +button[data-balloon]{overflow:visible}[data-balloon]{position:relative;cursor:pointer}[data-balloon]:after{font-family:sans-serif!important;font-weight:400!important;font-style:normal!important;text-shadow:none!important;font-size:12px!important;background:hsla(0,0%,7%,.9);border-radius:4px;color:#fff;content:attr(data-balloon);padding:.5em 1em;white-space:nowrap}[data-balloon]:after,[data-balloon]:before{filter:alpha(opactiy=0);-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";-moz-opacity:0;-khtml-opacity:0;opacity:0;pointer-events:none;-webkit-transition:all .18s ease-out .18s;transition:all .18s ease-out .18s;position:absolute;z-index:10}[data-balloon]:before{background:no-repeat url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='12'%3E%3Cpath fill='rgba(17, 17, 17, 0.9)' d='M2.658 0h32.004c-6 0-11.627 12.002-16.002 12.002C14.285 12.002 8.594 0 2.658 0z'/%3E%3C/svg%3E");background-size:100% auto;width:18px;height:6px;content:""}[data-balloon]:hover:after,[data-balloon]:hover:before,[data-balloon][data-balloon-visible]:after,[data-balloon][data-balloon-visible]:before{filter:alpha(opactiy=100);-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";-moz-opacity:1;-khtml-opacity:1;opacity:1;pointer-events:auto}[data-balloon].font-awesome:after{font-family:FontAwesome}[data-balloon][data-balloon-break]:after{white-space:pre}[data-balloon][data-balloon-blunt]:after,[data-balloon][data-balloon-blunt]:before{-webkit-transition:none;transition:none}[data-balloon][data-balloon-pos=up]:after{margin-bottom:11px}[data-balloon][data-balloon-pos=up]:after,[data-balloon][data-balloon-pos=up]:before{bottom:100%;left:50%;-webkit-transform:translate(-50%,10px);transform:translate(-50%,10px);-webkit-transform-origin:top;transform-origin:top}[data-balloon][data-balloon-pos=up]:before{margin-bottom:5px}[data-balloon][data-balloon-pos=up]:hover:after,[data-balloon][data-balloon-pos=up]:hover:before,[data-balloon][data-balloon-pos=up][data-balloon-visible]:after,[data-balloon][data-balloon-pos=up][data-balloon-visible]:before{-webkit-transform:translate(-50%);transform:translate(-50%)}[data-balloon][data-balloon-pos=up-left]:after{left:0;margin-bottom:11px}[data-balloon][data-balloon-pos=up-left]:after,[data-balloon][data-balloon-pos=up-left]:before{bottom:100%;-webkit-transform:translateY(10px);transform:translateY(10px);-webkit-transform-origin:top;transform-origin:top}[data-balloon][data-balloon-pos=up-left]:before{left:5px;margin-bottom:5px}[data-balloon][data-balloon-pos=up-left]:hover:after,[data-balloon][data-balloon-pos=up-left]:hover:before,[data-balloon][data-balloon-pos=up-left][data-balloon-visible]:after,[data-balloon][data-balloon-pos=up-left][data-balloon-visible]:before{-webkit-transform:translate(0);transform:translate(0)}[data-balloon][data-balloon-pos=up-right]:after{right:0;margin-bottom:11px}[data-balloon][data-balloon-pos=up-right]:after,[data-balloon][data-balloon-pos=up-right]:before{bottom:100%;-webkit-transform:translateY(10px);transform:translateY(10px);-webkit-transform-origin:top;transform-origin:top}[data-balloon][data-balloon-pos=up-right]:before{right:5px;margin-bottom:5px}[data-balloon][data-balloon-pos=up-right]:hover:after,[data-balloon][data-balloon-pos=up-right]:hover:before,[data-balloon][data-balloon-pos=up-right][data-balloon-visible]:after,[data-balloon][data-balloon-pos=up-right][data-balloon-visible]:before{-webkit-transform:translate(0);transform:translate(0)}[data-balloon][data-balloon-pos=down]:after{margin-top:11px}[data-balloon][data-balloon-pos=down]:after,[data-balloon][data-balloon-pos=down]:before{left:50%;top:100%;-webkit-transform:translate(-50%,-10px);transform:translate(-50%,-10px)}[data-balloon][data-balloon-pos=down]:before{background:no-repeat url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='12'%3E%3Cpath fill='rgba(17, 17, 17, 0.9)' d='M33.342 12H1.338c6 0 11.627-12.002 16.002-12.002C21.715-.002 27.406 12 33.342 12z'/%3E%3C/svg%3E");background-size:100% auto;width:18px;height:6px;margin-top:5px}[data-balloon][data-balloon-pos=down]:hover:after,[data-balloon][data-balloon-pos=down]:hover:before,[data-balloon][data-balloon-pos=down][data-balloon-visible]:after,[data-balloon][data-balloon-pos=down][data-balloon-visible]:before{-webkit-transform:translate(-50%);transform:translate(-50%)}[data-balloon][data-balloon-pos=down-left]:after{left:0;margin-top:11px;top:100%;-webkit-transform:translateY(-10px);transform:translateY(-10px)}[data-balloon][data-balloon-pos=down-left]:before{background:no-repeat url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='12'%3E%3Cpath fill='rgba(17, 17, 17, 0.9)' d='M33.342 12H1.338c6 0 11.627-12.002 16.002-12.002C21.715-.002 27.406 12 33.342 12z'/%3E%3C/svg%3E");background-size:100% auto;width:18px;height:6px;left:5px;margin-top:5px;top:100%;-webkit-transform:translateY(-10px);transform:translateY(-10px)}[data-balloon][data-balloon-pos=down-left]:hover:after,[data-balloon][data-balloon-pos=down-left]:hover:before,[data-balloon][data-balloon-pos=down-left][data-balloon-visible]:after,[data-balloon][data-balloon-pos=down-left][data-balloon-visible]:before{-webkit-transform:translate(0);transform:translate(0)}[data-balloon][data-balloon-pos=down-right]:after{right:0;margin-top:11px;top:100%;-webkit-transform:translateY(-10px);transform:translateY(-10px)}[data-balloon][data-balloon-pos=down-right]:before{background:no-repeat url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='12'%3E%3Cpath fill='rgba(17, 17, 17, 0.9)' d='M33.342 12H1.338c6 0 11.627-12.002 16.002-12.002C21.715-.002 27.406 12 33.342 12z'/%3E%3C/svg%3E");background-size:100% auto;width:18px;height:6px;right:5px;margin-top:5px;top:100%;-webkit-transform:translateY(-10px);transform:translateY(-10px)}[data-balloon][data-balloon-pos=down-right]:hover:after,[data-balloon][data-balloon-pos=down-right]:hover:before,[data-balloon][data-balloon-pos=down-right][data-balloon-visible]:after,[data-balloon][data-balloon-pos=down-right][data-balloon-visible]:before{-webkit-transform:translate(0);transform:translate(0)}[data-balloon][data-balloon-pos=left]:after{margin-right:11px;right:100%;top:50%;-webkit-transform:translate(10px,-50%);transform:translate(10px,-50%)}[data-balloon][data-balloon-pos=left]:before{background:no-repeat url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='36'%3E%3Cpath fill='rgba(17, 17, 17, 0.9)' d='M0 33.342V1.338c0 6 12.002 11.627 12.002 16.002C12.002 21.715 0 27.406 0 33.342z'/%3E%3C/svg%3E");background-size:100% auto;width:6px;height:18px;margin-right:5px;right:100%;top:50%;-webkit-transform:translate(10px,-50%);transform:translate(10px,-50%)}[data-balloon][data-balloon-pos=left]:hover:after,[data-balloon][data-balloon-pos=left]:hover:before,[data-balloon][data-balloon-pos=left][data-balloon-visible]:after,[data-balloon][data-balloon-pos=left][data-balloon-visible]:before{-webkit-transform:translateY(-50%);transform:translateY(-50%)}[data-balloon][data-balloon-pos=right]:after{left:100%;margin-left:11px;top:50%;-webkit-transform:translate(-10px,-50%);transform:translate(-10px,-50%)}[data-balloon][data-balloon-pos=right]:before{background:no-repeat url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='36'%3E%3Cpath fill='rgba(17, 17, 17, 0.9)' d='M12 2.658v32.004c0-6-12.002-11.627-12.002-16.002C-.002 14.285 12 8.594 12 2.658z'/%3E%3C/svg%3E");background-size:100% auto;width:6px;height:18px;left:100%;margin-left:5px;top:50%;-webkit-transform:translate(-10px,-50%);transform:translate(-10px,-50%)}[data-balloon][data-balloon-pos=right]:hover:after,[data-balloon][data-balloon-pos=right]:hover:before,[data-balloon][data-balloon-pos=right][data-balloon-visible]:after,[data-balloon][data-balloon-pos=right][data-balloon-visible]:before{-webkit-transform:translateY(-50%);transform:translateY(-50%)}[data-balloon][data-balloon-length=small]:after{white-space:normal;width:80px}[data-balloon][data-balloon-length=medium]:after{white-space:normal;width:150px}[data-balloon][data-balloon-length=large]:after{white-space:normal;width:260px}[data-balloon][data-balloon-length=xlarge]:after{white-space:normal;width:380px}@media screen and (max-width:768px){[data-balloon][data-balloon-length=xlarge]:after{white-space:normal;width:90vw}}[data-balloon][data-balloon-length=fit]:after{white-space:normal;width:100%}@-webkit-keyframes my-face{2%{-webkit-transform:translateY(1.5px) rotate(1.5deg);transform:translateY(1.5px) rotate(1.5deg)}4%{-webkit-transform:translateY(-1.5px) rotate(-.5deg);transform:translateY(-1.5px) rotate(-.5deg)}6%{-webkit-transform:translateY(1.5px) rotate(-1.5deg);transform:translateY(1.5px) rotate(-1.5deg)}8%{-webkit-transform:translateY(-1.5px) rotate(-1.5deg);transform:translateY(-1.5px) rotate(-1.5deg)}10%{-webkit-transform:translateY(2.5px) rotate(1.5deg);transform:translateY(2.5px) rotate(1.5deg)}12%{-webkit-transform:translateY(-.5px) rotate(1.5deg);transform:translateY(-.5px) rotate(1.5deg)}14%{-webkit-transform:translateY(-1.5px) rotate(1.5deg);transform:translateY(-1.5px) rotate(1.5deg)}16%{-webkit-transform:translateY(-.5px) rotate(-1.5deg);transform:translateY(-.5px) rotate(-1.5deg)}18%{-webkit-transform:translateY(.5px) rotate(-1.5deg);transform:translateY(.5px) rotate(-1.5deg)}20%{-webkit-transform:translateY(-1.5px) rotate(2.5deg);transform:translateY(-1.5px) rotate(2.5deg)}22%{-webkit-transform:translateY(.5px) rotate(-1.5deg);transform:translateY(.5px) rotate(-1.5deg)}24%{-webkit-transform:translateY(1.5px) rotate(1.5deg);transform:translateY(1.5px) rotate(1.5deg)}26%{-webkit-transform:translateY(.5px) rotate(.5deg);transform:translateY(.5px) rotate(.5deg)}28%{-webkit-transform:translateY(.5px) rotate(1.5deg);transform:translateY(.5px) rotate(1.5deg)}30%{-webkit-transform:translateY(-.5px) rotate(2.5deg);transform:translateY(-.5px) rotate(2.5deg)}32%{-webkit-transform:translateY(1.5px) rotate(-.5deg);transform:translateY(1.5px) rotate(-.5deg)}34%{-webkit-transform:translateY(1.5px) rotate(-.5deg);transform:translateY(1.5px) rotate(-.5deg)}36%{-webkit-transform:translateY(-1.5px) rotate(2.5deg);transform:translateY(-1.5px) rotate(2.5deg)}38%{-webkit-transform:translateY(1.5px) rotate(-1.5deg);transform:translateY(1.5px) rotate(-1.5deg)}40%{-webkit-transform:translateY(-.5px) rotate(2.5deg);transform:translateY(-.5px) rotate(2.5deg)}42%{-webkit-transform:translateY(2.5px) rotate(-1.5deg);transform:translateY(2.5px) rotate(-1.5deg)}44%{-webkit-transform:translateY(1.5px) rotate(.5deg);transform:translateY(1.5px) rotate(.5deg)}46%{-webkit-transform:translateY(-1.5px) rotate(2.5deg);transform:translateY(-1.5px) rotate(2.5deg)}48%{-webkit-transform:translateY(-.5px) rotate(.5deg);transform:translateY(-.5px) rotate(.5deg)}50%{-webkit-transform:translateY(.5px) rotate(.5deg);transform:translateY(.5px) rotate(.5deg)}52%{-webkit-transform:translateY(2.5px) rotate(2.5deg);transform:translateY(2.5px) rotate(2.5deg)}54%{-webkit-transform:translateY(-1.5px) rotate(1.5deg);transform:translateY(-1.5px) rotate(1.5deg)}56%{-webkit-transform:translateY(2.5px) rotate(2.5deg);transform:translateY(2.5px) rotate(2.5deg)}58%{-webkit-transform:translateY(.5px) rotate(2.5deg);transform:translateY(.5px) rotate(2.5deg)}60%{-webkit-transform:translateY(2.5px) rotate(2.5deg);transform:translateY(2.5px) rotate(2.5deg)}62%{-webkit-transform:translateY(-.5px) rotate(2.5deg);transform:translateY(-.5px) rotate(2.5deg)}64%{-webkit-transform:translateY(-.5px) rotate(1.5deg);transform:translateY(-.5px) rotate(1.5deg)}66%{-webkit-transform:translateY(1.5px) rotate(-.5deg);transform:translateY(1.5px) rotate(-.5deg)}68%{-webkit-transform:translateY(-1.5px) rotate(-.5deg);transform:translateY(-1.5px) rotate(-.5deg)}70%{-webkit-transform:translateY(1.5px) rotate(.5deg);transform:translateY(1.5px) rotate(.5deg)}72%{-webkit-transform:translateY(2.5px) rotate(1.5deg);transform:translateY(2.5px) rotate(1.5deg)}74%{-webkit-transform:translateY(-.5px) rotate(.5deg);transform:translateY(-.5px) rotate(.5deg)}76%{-webkit-transform:translateY(-.5px) rotate(2.5deg);transform:translateY(-.5px) rotate(2.5deg)}78%{-webkit-transform:translateY(-.5px) rotate(1.5deg);transform:translateY(-.5px) rotate(1.5deg)}80%{-webkit-transform:translateY(1.5px) rotate(1.5deg);transform:translateY(1.5px) rotate(1.5deg)}82%{-webkit-transform:translateY(-.5px) rotate(.5deg);transform:translateY(-.5px) rotate(.5deg)}84%{-webkit-transform:translateY(1.5px) rotate(2.5deg);transform:translateY(1.5px) rotate(2.5deg)}86%{-webkit-transform:translateY(-1.5px) rotate(-1.5deg);transform:translateY(-1.5px) rotate(-1.5deg)}88%{-webkit-transform:translateY(-.5px) rotate(2.5deg);transform:translateY(-.5px) rotate(2.5deg)}90%{-webkit-transform:translateY(2.5px) rotate(-.5deg);transform:translateY(2.5px) rotate(-.5deg)}92%{-webkit-transform:translateY(.5px) rotate(-.5deg);transform:translateY(.5px) rotate(-.5deg)}94%{-webkit-transform:translateY(2.5px) rotate(.5deg);transform:translateY(2.5px) rotate(.5deg)}96%{-webkit-transform:translateY(-.5px) rotate(1.5deg);transform:translateY(-.5px) rotate(1.5deg)}98%{-webkit-transform:translateY(-1.5px) rotate(-.5deg);transform:translateY(-1.5px) rotate(-.5deg)}0%,to{-webkit-transform:translate(0) rotate(0deg);transform:translate(0) rotate(0deg)}}@keyframes my-face{2%{-webkit-transform:translateY(1.5px) rotate(1.5deg);transform:translateY(1.5px) rotate(1.5deg)}4%{-webkit-transform:translateY(-1.5px) rotate(-.5deg);transform:translateY(-1.5px) rotate(-.5deg)}6%{-webkit-transform:translateY(1.5px) rotate(-1.5deg);transform:translateY(1.5px) rotate(-1.5deg)}8%{-webkit-transform:translateY(-1.5px) rotate(-1.5deg);transform:translateY(-1.5px) rotate(-1.5deg)}10%{-webkit-transform:translateY(2.5px) rotate(1.5deg);transform:translateY(2.5px) rotate(1.5deg)}12%{-webkit-transform:translateY(-.5px) rotate(1.5deg);transform:translateY(-.5px) rotate(1.5deg)}14%{-webkit-transform:translateY(-1.5px) rotate(1.5deg);transform:translateY(-1.5px) rotate(1.5deg)}16%{-webkit-transform:translateY(-.5px) rotate(-1.5deg);transform:translateY(-.5px) rotate(-1.5deg)}18%{-webkit-transform:translateY(.5px) rotate(-1.5deg);transform:translateY(.5px) rotate(-1.5deg)}20%{-webkit-transform:translateY(-1.5px) rotate(2.5deg);transform:translateY(-1.5px) rotate(2.5deg)}22%{-webkit-transform:translateY(.5px) rotate(-1.5deg);transform:translateY(.5px) rotate(-1.5deg)}24%{-webkit-transform:translateY(1.5px) rotate(1.5deg);transform:translateY(1.5px) rotate(1.5deg)}26%{-webkit-transform:translateY(.5px) rotate(.5deg);transform:translateY(.5px) rotate(.5deg)}28%{-webkit-transform:translateY(.5px) rotate(1.5deg);transform:translateY(.5px) rotate(1.5deg)}30%{-webkit-transform:translateY(-.5px) rotate(2.5deg);transform:translateY(-.5px) rotate(2.5deg)}32%{-webkit-transform:translateY(1.5px) rotate(-.5deg);transform:translateY(1.5px) rotate(-.5deg)}34%{-webkit-transform:translateY(1.5px) rotate(-.5deg);transform:translateY(1.5px) rotate(-.5deg)}36%{-webkit-transform:translateY(-1.5px) rotate(2.5deg);transform:translateY(-1.5px) rotate(2.5deg)}38%{-webkit-transform:translateY(1.5px) rotate(-1.5deg);transform:translateY(1.5px) rotate(-1.5deg)}40%{-webkit-transform:translateY(-.5px) rotate(2.5deg);transform:translateY(-.5px) rotate(2.5deg)}42%{-webkit-transform:translateY(2.5px) rotate(-1.5deg);transform:translateY(2.5px) rotate(-1.5deg)}44%{-webkit-transform:translateY(1.5px) rotate(.5deg);transform:translateY(1.5px) rotate(.5deg)}46%{-webkit-transform:translateY(-1.5px) rotate(2.5deg);transform:translateY(-1.5px) rotate(2.5deg)}48%{-webkit-transform:translateY(-.5px) rotate(.5deg);transform:translateY(-.5px) rotate(.5deg)}50%{-webkit-transform:translateY(.5px) rotate(.5deg);transform:translateY(.5px) rotate(.5deg)}52%{-webkit-transform:translateY(2.5px) rotate(2.5deg);transform:translateY(2.5px) rotate(2.5deg)}54%{-webkit-transform:translateY(-1.5px) rotate(1.5deg);transform:translateY(-1.5px) rotate(1.5deg)}56%{-webkit-transform:translateY(2.5px) rotate(2.5deg);transform:translateY(2.5px) rotate(2.5deg)}58%{-webkit-transform:translateY(.5px) rotate(2.5deg);transform:translateY(.5px) rotate(2.5deg)}60%{-webkit-transform:translateY(2.5px) rotate(2.5deg);transform:translateY(2.5px) rotate(2.5deg)}62%{-webkit-transform:translateY(-.5px) rotate(2.5deg);transform:translateY(-.5px) rotate(2.5deg)}64%{-webkit-transform:translateY(-.5px) rotate(1.5deg);transform:translateY(-.5px) rotate(1.5deg)}66%{-webkit-transform:translateY(1.5px) rotate(-.5deg);transform:translateY(1.5px) rotate(-.5deg)}68%{-webkit-transform:translateY(-1.5px) rotate(-.5deg);transform:translateY(-1.5px) rotate(-.5deg)}70%{-webkit-transform:translateY(1.5px) rotate(.5deg);transform:translateY(1.5px) rotate(.5deg)}72%{-webkit-transform:translateY(2.5px) rotate(1.5deg);transform:translateY(2.5px) rotate(1.5deg)}74%{-webkit-transform:translateY(-.5px) rotate(.5deg);transform:translateY(-.5px) rotate(.5deg)}76%{-webkit-transform:translateY(-.5px) rotate(2.5deg);transform:translateY(-.5px) rotate(2.5deg)}78%{-webkit-transform:translateY(-.5px) rotate(1.5deg);transform:translateY(-.5px) rotate(1.5deg)}80%{-webkit-transform:translateY(1.5px) rotate(1.5deg);transform:translateY(1.5px) rotate(1.5deg)}82%{-webkit-transform:translateY(-.5px) rotate(.5deg);transform:translateY(-.5px) rotate(.5deg)}84%{-webkit-transform:translateY(1.5px) rotate(2.5deg);transform:translateY(1.5px) rotate(2.5deg)}86%{-webkit-transform:translateY(-1.5px) rotate(-1.5deg);transform:translateY(-1.5px) rotate(-1.5deg)}88%{-webkit-transform:translateY(-.5px) rotate(2.5deg);transform:translateY(-.5px) rotate(2.5deg)}90%{-webkit-transform:translateY(2.5px) rotate(-.5deg);transform:translateY(2.5px) rotate(-.5deg)}92%{-webkit-transform:translateY(.5px) rotate(-.5deg);transform:translateY(.5px) rotate(-.5deg)}94%{-webkit-transform:translateY(2.5px) rotate(.5deg);transform:translateY(2.5px) rotate(.5deg)}96%{-webkit-transform:translateY(-.5px) rotate(1.5deg);transform:translateY(-.5px) rotate(1.5deg)}98%{-webkit-transform:translateY(-1.5px) rotate(-.5deg);transform:translateY(-1.5px) rotate(-.5deg)}0%,to{-webkit-transform:translate(0) rotate(0deg);transform:translate(0) rotate(0deg)}}.dplayer{position:relative;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;line-height:1}.dplayer *{-webkit-box-sizing:content-box;box-sizing:content-box}.dplayer:-webkit-full-screen{width:100%;height:100%;background:#000;position:fixed;z-index:100000;left:0;top:0}.dplayer:-webkit-full-screen .dplayer-danmaku .dplayer-danmaku-bottom.dplayer-danmaku-move,.dplayer:-webkit-full-screen .dplayer-danmaku .dplayer-danmaku-top.dplayer-danmaku-move{-webkit-animation:danmaku-center 6s linear;animation:danmaku-center 6s linear;-webkit-animation-play-state:paused;animation-play-state:paused}.dplayer:-webkit-full-screen .dplayer-danmaku .dplayer-danmaku-right.dplayer-danmaku-move{-webkit-animation:danmaku 8s linear;animation:danmaku 8s linear;-webkit-animation-play-state:paused;animation-play-state:paused}.dplayer.dplayer-live .dplayer-bar-wrap,.dplayer.dplayer-live .dplayer-setting-loop,.dplayer.dplayer-live .dplayer-setting-speed,.dplayer.dplayer-live .dplayer-time,.dplayer.dplayer-no-danmaku .dplayer-controller .dplayer-icons .dplayer-comment,.dplayer.dplayer-no-danmaku .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box .dplayer-setting-danmaku,.dplayer.dplayer-no-danmaku .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box .dplayer-setting-danunlimit,.dplayer.dplayer-no-danmaku .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box .dplayer-setting-showdan,.dplayer.dplayer-no-danmaku .dplayer-danmaku{display:none}.dplayer.dplayer-arrow .dplayer-danmaku{font-size:18px}.dplayer.dplayer-arrow .dplayer-icon{margin:0 -3px}.dplayer.dplayer-playing .dplayer-danmaku .dplayer-danmaku-move{-webkit-animation-play-state:running;animation-play-state:running}@media (min-width:900px){.dplayer.dplayer-playing .dplayer-controller,.dplayer.dplayer-playing .dplayer-controller-mask{opacity:0}.dplayer.dplayer-playing:hover .dplayer-controller,.dplayer.dplayer-playing:hover .dplayer-controller-mask{opacity:1}}.dplayer.dplayer-loading .dplayer-bezel .diplayer-loading-icon{display:block}.dplayer.dplayer-loading .dplayer-danmaku .dplayer-danmaku-move{-webkit-animation-play-state:paused;animation-play-state:paused}.dplayer.dplayer-hide-controller{cursor:none}.dplayer.dplayer-hide-controller .dplayer-controller,.dplayer.dplayer-hide-controller .dplayer-controller-mask{opacity:0;-webkit-transform:translateY(100%);transform:translateY(100%)}.dplayer.dplayer-show-controller .dplayer-controller,.dplayer.dplayer-show-controller .dplayer-controller-mask{opacity:1}.dplayer.dplayer-fulled{position:fixed;z-index:100000;left:0;top:0;width:100%;height:100%}.dplayer.dplayer-mobile .dplayer-controller .dplayer-icons .dplayer-camera-icon,.dplayer.dplayer-mobile .dplayer-controller .dplayer-icons .dplayer-volume{display:none}.dplayer.dplayer-mobile .dplayer-controller .dplayer-icons .dplayer-full .dplayer-full-in-icon{position:static;display:inline-block}.dplayer-web-fullscreen-fix{position:fixed;top:0;left:0;margin:0;padding:0}[data-balloon]:before{display:none}[data-balloon]:after{padding:.3em .7em;background:hsla(0,0%,7%,.7)}[data-balloon][data-balloon-pos=up]:after{margin-bottom:0}.dplayer-bezel{position:absolute;left:0;right:0;top:0;bottom:0;font-size:22px;color:#fff;pointer-events:none}.dplayer-bezel .dplayer-bezel-icon{position:absolute;top:50%;left:50%;margin:-26px 0 0 -26px;height:52px;width:52px;padding:12px;-webkit-box-sizing:border-box;box-sizing:border-box;background:rgba(0,0,0,.5);border-radius:50%;opacity:0;pointer-events:none}.dplayer-bezel .dplayer-bezel-icon.dplayer-bezel-transition{-webkit-animation:bezel-hide .5s linear;animation:bezel-hide .5s linear}@-webkit-keyframes bezel-hide{0%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}to{opacity:0;-webkit-transform:scale(2);transform:scale(2)}}@keyframes bezel-hide{0%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}to{opacity:0;-webkit-transform:scale(2);transform:scale(2)}}.dplayer-bezel .dplayer-danloading{position:absolute;top:50%;margin-top:-7px;width:100%;text-align:center;font-size:14px;line-height:14px;-webkit-animation:my-face 5s infinite ease-in-out;animation:my-face 5s infinite ease-in-out}.dplayer-bezel .diplayer-loading-icon{display:none;position:absolute;top:50%;left:50%;margin:-18px 0 0 -18px;height:36px;width:36px;pointer-events:none}.dplayer-bezel .diplayer-loading-icon .diplayer-loading-hide{display:none}.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot{-webkit-animation:diplayer-loading-dot-fade .8s ease infinite;animation:diplayer-loading-dot-fade .8s ease infinite;opacity:0;fill:#fff;-webkit-transform-origin:4px 4px;transform-origin:4px 4px}.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-7{-webkit-animation-delay:.7s;animation-delay:.7s}.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-6{-webkit-animation-delay:.6s;animation-delay:.6s}.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-5{-webkit-animation-delay:.5s;animation-delay:.5s}.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-4{-webkit-animation-delay:.4s;animation-delay:.4s}.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-3{-webkit-animation-delay:.3s;animation-delay:.3s}.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-2{-webkit-animation-delay:.2s;animation-delay:.2s}.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-1{-webkit-animation-delay:.1s;animation-delay:.1s}@-webkit-keyframes diplayer-loading-dot-fade{0%{opacity:.7;-webkit-transform:scale(1.2);transform:scale(1.2)}50%{opacity:.25;-webkit-transform:scale(.9);transform:scale(.9)}to{opacity:.25;-webkit-transform:scale(.85);transform:scale(.85)}}@keyframes diplayer-loading-dot-fade{0%{opacity:.7;-webkit-transform:scale(1.2);transform:scale(1.2)}50%{opacity:.25;-webkit-transform:scale(.9);transform:scale(.9)}to{opacity:.25;-webkit-transform:scale(.85);transform:scale(.85)}}.dplayer-controller-mask{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAADGCAYAAAAT+OqFAAAAdklEQVQoz42QQQ7AIAgEF/T/D+kbq/RWAlnQyyazA4aoAB4FsBSA/bFjuF1EOL7VbrIrBuusmrt4ZZORfb6ehbWdnRHEIiITaEUKa5EJqUakRSaEYBJSCY2dEstQY7AuxahwXFrvZmWl2rh4JZ07z9dLtesfNj5q0FU3A5ObbwAAAABJRU5ErkJggg==) repeat-x bottom;height:98px;width:100%}.dplayer-controller,.dplayer-controller-mask{position:absolute;bottom:0;-webkit-transition:all .3s ease;transition:all .3s ease}.dplayer-controller{left:0;right:0;height:41px;padding:0 20px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.dplayer-controller.dplayer-controller-comment .dplayer-icons{display:none}.dplayer-controller.dplayer-controller-comment .dplayer-icons.dplayer-comment-box{display:block}.dplayer-controller .dplayer-bar-wrap{padding:5px 0;cursor:pointer;position:absolute;bottom:33px;width:calc(100% - 40px);height:3px}.dplayer-controller .dplayer-bar-wrap:hover .dplayer-bar .dplayer-played .dplayer-thumb{-webkit-transform:scale(1);transform:scale(1)}.dplayer-controller .dplayer-bar-wrap .dplayer-bar-preview{position:absolute;background:#fff;pointer-events:none;display:none;background-size:auto 100%}.dplayer-controller .dplayer-bar-wrap .dplayer-bar-preview-canvas{position:absolute;width:100%;height:100%;z-index:1;pointer-events:none}.dplayer-controller .dplayer-bar-wrap .dplayer-bar-time{position:absolute;left:0;top:-20px;width:30px;border-radius:4px;padding:5px 7px;background-color:rgba(0,0,0,.62);color:#fff;font-size:12px;text-align:center;opacity:1;-webkit-transition:opacity .1s ease-in-out;transition:opacity .1s ease-in-out;word-wrap:normal;word-break:normal;z-index:2;pointer-events:none}.dplayer-controller .dplayer-bar-wrap .dplayer-bar-time.hidden{opacity:0}.dplayer-controller .dplayer-bar-wrap .dplayer-bar{position:relative;height:3px;width:100%;background:hsla(0,0%,100%,.2);cursor:pointer}.dplayer-controller .dplayer-bar-wrap .dplayer-bar .dplayer-loaded{background:hsla(0,0%,100%,.4);-webkit-transition:all .5s ease;transition:all .5s ease}.dplayer-controller .dplayer-bar-wrap .dplayer-bar .dplayer-loaded,.dplayer-controller .dplayer-bar-wrap .dplayer-bar .dplayer-played{position:absolute;left:0;top:0;bottom:0;height:3px;will-change:width}.dplayer-controller .dplayer-bar-wrap .dplayer-bar .dplayer-played .dplayer-thumb{position:absolute;top:0;right:5px;margin-top:-4px;margin-right:-10px;height:11px;width:11px;border-radius:50%;cursor:pointer;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;-webkit-transform:scale(0);transform:scale(0)}.dplayer-controller .dplayer-icons{height:38px;position:absolute;bottom:0}.dplayer-controller .dplayer-icons.dplayer-comment-box{display:none;position:absolute;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;z-index:2;height:38px;bottom:0;left:20px;right:20px;color:#fff}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-icon{padding:7px}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-icon{position:absolute;left:0;top:0}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-send-icon{position:absolute;right:0;top:0}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box{position:absolute;background:rgba(28,28,28,.9);bottom:41px;left:0;-webkit-box-shadow:0 0 25px rgba(0,0,0,.3);box-shadow:0 0 25px rgba(0,0,0,.3);border-radius:4px;padding:10px 10px 16px;font-size:14px;width:204px;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;-webkit-transform:scale(0);transform:scale(0)}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box.dplayer-comment-setting-open{-webkit-transform:scale(1);transform:scale(1)}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box input[type=radio]{display:none}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box label{cursor:pointer}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-title{font-size:13px;color:#fff;line-height:30px}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type{font-size:0}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type .dplayer-comment-setting-title{margin-bottom:6px}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type label:nth-child(2) span{border-radius:4px 0 0 4px}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type label:nth-child(4) span{border-radius:0 4px 4px 0}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type span{width:33%;padding:4px 6px;line-height:16px;display:inline-block;font-size:12px;color:#fff;border:1px solid #fff;margin-right:-1px;-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center;cursor:pointer}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type input:checked+span{background:#e4e4e6;color:#1c1c1c}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-color{font-size:0}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-color label{font-size:0;padding:6px;display:inline-block}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-color span{width:22px;height:22px;display:inline-block;border-radius:50%;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-color span:hover{-webkit-animation:my-face 5s infinite ease-in-out;animation:my-face 5s infinite ease-in-out}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-input{outline:none;border:none;padding:8px 31px;font-size:14px;line-height:18px;text-align:center;border-radius:4px;background:none;margin:0;height:100%;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;color:#fff}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-input::-webkit-input-placeholder{color:#fff;opacity:.8}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-input:-ms-input-placeholder,.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-input::-ms-input-placeholder{color:#fff;opacity:.8}.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-input::placeholder{color:#fff;opacity:.8}.dplayer-controller .dplayer-icons.dplayer-icons-left .dplayer-icon{padding:7px}.dplayer-controller .dplayer-icons.dplayer-icons-right{right:20px}.dplayer-controller .dplayer-icons.dplayer-icons-right .dplayer-icon{padding:8px}.dplayer-controller .dplayer-icons .dplayer-live-badge,.dplayer-controller .dplayer-icons .dplayer-time{line-height:38px;color:#eee;text-shadow:0 0 2px rgba(0,0,0,.5);vertical-align:middle;font-size:13px;cursor:default}.dplayer-controller .dplayer-icons .dplayer-live-dot{display:inline-block;width:6px;height:6px;vertical-align:4%;margin-right:5px;content:"";border-radius:6px}.dplayer-controller .dplayer-icons .dplayer-icon{width:40px;height:100%;border:none;background-color:transparent;outline:none;cursor:pointer;vertical-align:middle;-webkit-box-sizing:border-box;box-sizing:border-box;display:inline-block}.dplayer-controller .dplayer-icons .dplayer-icon .dplayer-icon-content{-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out;opacity:.8}.dplayer-controller .dplayer-icons .dplayer-icon:hover .dplayer-icon-content{opacity:1}.dplayer-controller .dplayer-icons .dplayer-icon.dplayer-quality-icon{color:#fff;width:auto;line-height:22px;font-size:14px}.dplayer-controller .dplayer-icons .dplayer-icon.dplayer-comment-icon{padding:10px 9px 9px}.dplayer-controller .dplayer-icons .dplayer-icon.dplayer-setting-icon{padding-top:8.5px}.dplayer-controller .dplayer-icons .dplayer-icon.dplayer-volume-icon{width:43px}.dplayer-controller .dplayer-icons .dplayer-volume{position:relative;display:inline-block;cursor:pointer;height:100%}.dplayer-controller .dplayer-icons .dplayer-volume:hover .dplayer-volume-bar-wrap .dplayer-volume-bar{width:45px}.dplayer-controller .dplayer-icons .dplayer-volume:hover .dplayer-volume-bar-wrap .dplayer-volume-bar .dplayer-volume-bar-inner .dplayer-thumb{-webkit-transform:scale(1);transform:scale(1)}.dplayer-controller .dplayer-icons .dplayer-volume.dplayer-volume-active .dplayer-volume-bar-wrap .dplayer-volume-bar{width:45px}.dplayer-controller .dplayer-icons .dplayer-volume.dplayer-volume-active .dplayer-volume-bar-wrap .dplayer-volume-bar .dplayer-volume-bar-inner .dplayer-thumb{-webkit-transform:scale(1);transform:scale(1)}.dplayer-controller .dplayer-icons .dplayer-volume .dplayer-volume-bar-wrap{display:inline-block;margin:0 10px 0 -5px;vertical-align:middle;height:100%}.dplayer-controller .dplayer-icons .dplayer-volume .dplayer-volume-bar-wrap .dplayer-volume-bar{position:relative;top:17px;width:0;height:3px;background:#aaa;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.dplayer-controller .dplayer-icons .dplayer-volume .dplayer-volume-bar-wrap .dplayer-volume-bar .dplayer-volume-bar-inner{position:absolute;bottom:0;left:0;height:100%;-webkit-transition:all .1s ease;transition:all .1s ease;will-change:width}.dplayer-controller .dplayer-icons .dplayer-volume .dplayer-volume-bar-wrap .dplayer-volume-bar .dplayer-volume-bar-inner .dplayer-thumb{position:absolute;top:0;right:5px;margin-top:-4px;margin-right:-10px;height:11px;width:11px;border-radius:50%;cursor:pointer;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;-webkit-transform:scale(0);transform:scale(0)}.dplayer-controller .dplayer-icons .dplayer-setting,.dplayer-controller .dplayer-icons .dplayer-subtitle-btn{display:inline-block;height:100%}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box{position:absolute;right:0;bottom:50px;-webkit-transform:scale(0);transform:scale(0);width:150px;border-radius:2px;background:rgba(28,28,28,.9);padding:7px 0;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;overflow:hidden;z-index:2}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box>div{display:none}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box>div.dplayer-setting-origin-panel{display:block}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box.dplayer-setting-box-open{-webkit-transform:scale(1);transform:scale(1)}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box.dplayer-setting-box-narrow{width:70px;height:180px;text-align:center}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box.dplayer-setting-box-speed .dplayer-setting-origin-panel{display:none}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box.dplayer-setting-box-speed .dplayer-setting-speed-panel{display:block}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-item,.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-speed-item{height:30px;padding:5px 10px;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer;position:relative}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-item:hover,.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-speed-item:hover{background-color:hsla(0,0%,100%,.1)}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku{padding:5px 0}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-label{padding:0 10px;display:inline}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku:hover .dplayer-label{display:none}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku:hover .dplayer-danmaku-bar-wrap{display:inline-block}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku.dplayer-setting-danmaku-active .dplayer-label{display:none}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku.dplayer-setting-danmaku-active .dplayer-danmaku-bar-wrap{display:inline-block}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-danmaku-bar-wrap{padding:0 10px;-webkit-box-sizing:border-box;box-sizing:border-box;display:none;vertical-align:middle;height:100%;width:100%}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-danmaku-bar-wrap .dplayer-danmaku-bar{position:relative;top:8.5px;width:100%;height:3px;background:#fff;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-danmaku-bar-wrap .dplayer-danmaku-bar .dplayer-danmaku-bar-inner{position:absolute;bottom:0;left:0;height:100%;-webkit-transition:all .1s ease;transition:all .1s ease;background:#aaa;will-change:width}.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-danmaku-bar-wrap .dplayer-danmaku-bar .dplayer-danmaku-bar-inner .dplayer-thumb{position:absolute;top:0;right:5px;margin-top:-4px;margin-right:-10px;height:11px;width:11px;border-radius:50%;cursor:pointer;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;background:#aaa}.dplayer-controller .dplayer-icons .dplayer-full{display:inline-block;height:100%;position:relative}.dplayer-controller .dplayer-icons .dplayer-full:hover .dplayer-full-in-icon{display:block}.dplayer-controller .dplayer-icons .dplayer-full .dplayer-full-in-icon{position:absolute;top:-30px;z-index:1;display:none}.dplayer-controller .dplayer-icons .dplayer-quality{position:relative;display:inline-block;height:100%;z-index:2}.dplayer-controller .dplayer-icons .dplayer-quality:hover .dplayer-quality-list,.dplayer-controller .dplayer-icons .dplayer-quality:hover .dplayer-quality-mask{display:block}.dplayer-controller .dplayer-icons .dplayer-quality .dplayer-quality-mask{display:none;position:absolute;bottom:38px;left:-18px;width:80px;padding-bottom:12px}.dplayer-controller .dplayer-icons .dplayer-quality .dplayer-quality-list{display:none;font-size:12px;width:80px;border-radius:2px;background:rgba(28,28,28,.9);padding:5px 0;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;overflow:hidden;color:#fff;text-align:center}.dplayer-controller .dplayer-icons .dplayer-quality .dplayer-quality-item{height:25px;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer;line-height:25px}.dplayer-controller .dplayer-icons .dplayer-quality .dplayer-quality-item:hover{background-color:hsla(0,0%,100%,.1)}.dplayer-controller .dplayer-icons .dplayer-comment{display:inline-block;height:100%}.dplayer-controller .dplayer-icons .dplayer-label{color:#eee;font-size:13px;display:inline-block;vertical-align:middle;white-space:nowrap}.dplayer-controller .dplayer-icons .dplayer-toggle{width:32px;height:20px;text-align:center;font-size:0;vertical-align:middle;position:absolute;top:5px;right:10px}.dplayer-controller .dplayer-icons .dplayer-toggle input{max-height:0;max-width:0;display:none}.dplayer-controller .dplayer-icons .dplayer-toggle input+label{display:inline-block;position:relative;-webkit-box-shadow:#dfdfdf 0 0 0 0 inset;box-shadow:inset 0 0 0 0 #dfdfdf;border:1px solid #dfdfdf;height:20px;width:32px;border-radius:10px;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer;-webkit-transition:.2s ease-in-out;transition:.2s ease-in-out}.dplayer-controller .dplayer-icons .dplayer-toggle input+label:after,.dplayer-controller .dplayer-icons .dplayer-toggle input+label:before{content:"";position:absolute;display:block;height:18px;width:18px;top:0;left:0;border-radius:15px;-webkit-transition:.2s ease-in-out;transition:.2s ease-in-out}.dplayer-controller .dplayer-icons .dplayer-toggle input+label:after{background:#fff;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.4);box-shadow:0 1px 3px rgba(0,0,0,.4)}.dplayer-controller .dplayer-icons .dplayer-toggle input:checked+label{border-color:hsla(0,0%,100%,.5)}.dplayer-controller .dplayer-icons .dplayer-toggle input:checked+label:before{width:30px;background:hsla(0,0%,100%,.5)}.dplayer-controller .dplayer-icons .dplayer-toggle input:checked+label:after{left:12px}.dplayer-danmaku{position:absolute;left:0;right:0;top:0;bottom:0;font-size:22px;color:#fff}.dplayer-danmaku .dplayer-danmaku-item{display:inline-block;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default;white-space:nowrap;text-shadow:.5px .5px .5px rgba(0,0,0,.5)}.dplayer-danmaku .dplayer-danmaku-item--demo{position:absolute;visibility:hidden}.dplayer-danmaku .dplayer-danmaku-right{position:absolute;right:0;-webkit-transform:translateX(100%);transform:translateX(100%)}.dplayer-danmaku .dplayer-danmaku-right.dplayer-danmaku-move{will-change:transform;-webkit-animation:danmaku 5s linear;animation:danmaku 5s linear;-webkit-animation-play-state:paused;animation-play-state:paused}@-webkit-keyframes danmaku{0%{-webkit-transform:translateX(100%);transform:translateX(100%)}}@keyframes danmaku{0%{-webkit-transform:translateX(100%);transform:translateX(100%)}}.dplayer-danmaku .dplayer-danmaku-bottom,.dplayer-danmaku .dplayer-danmaku-top{position:absolute;width:100%;text-align:center;visibility:hidden}.dplayer-danmaku .dplayer-danmaku-bottom.dplayer-danmaku-move,.dplayer-danmaku .dplayer-danmaku-top.dplayer-danmaku-move{will-change:visibility;-webkit-animation:danmaku-center 4s linear;animation:danmaku-center 4s linear;-webkit-animation-play-state:paused;animation-play-state:paused}@-webkit-keyframes danmaku-center{0%{visibility:visible}to{visibility:visible}}@keyframes danmaku-center{0%{visibility:visible}to{visibility:visible}}.dplayer-logo{pointer-events:none;position:absolute;left:20px;top:20px;max-width:50px;max-height:50px}.dplayer-logo img{max-width:100%;max-height:100%;background:none}.dplayer-menu{position:absolute;width:170px;border-radius:2px;background:rgba(28,28,28,.85);padding:5px 0;overflow:hidden;z-index:3;display:none}.dplayer-menu.dplayer-menu-show{display:block}.dplayer-menu .dplayer-menu-item{height:30px;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer}.dplayer-menu .dplayer-menu-item:hover{background-color:hsla(0,0%,100%,.1)}.dplayer-menu .dplayer-menu-item a{padding:0 10px;line-height:30px;color:#eee;font-size:13px;display:inline-block;vertical-align:middle;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.dplayer-menu .dplayer-menu-item a:hover{text-decoration:none}.dplayer-notice{opacity:0;position:absolute;bottom:60px;left:20px;font-size:14px;border-radius:2px;background:rgba(28,28,28,.9);padding:7px 20px;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;overflow:hidden;color:#fff;pointer-events:none}.dplayer-subtitle{position:absolute;bottom:40px;width:90%;left:5%;text-align:center;color:#fff;text-shadow:.5px .5px .5px rgba(0,0,0,.5);font-size:20px}.dplayer-subtitle.dplayer-subtitle-hide{display:none}.dplayer-mask{position:absolute;top:0;bottom:0;left:0;right:0;z-index:1;display:none}.dplayer-mask.dplayer-mask-show{display:block}.dplayer-video-wrap{position:relative;background:#000;font-size:0;width:100%;height:100%}.dplayer-video-wrap .dplayer-video{width:100%;height:100%;display:none}.dplayer-video-wrap .dplayer-video-current{display:block}.dplayer-video-wrap .dplayer-video-prepare{display:none} /*# sourceMappingURL=DPlayer.min.css.map*/ \ No newline at end of file diff --git a/dist/DPlayer.min.css.map b/dist/DPlayer.min.css.map index a82b88240..8652f384b 100644 --- a/dist/DPlayer.min.css.map +++ b/dist/DPlayer.min.css.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///./node_modules/balloon-css/balloon.css","webpack:///./src/DPlayer.scss"],"names":[],"mappings":"AAAA,qBACE,gBAAkB,CAEpB,eACE,kBACA,cAAgB,CAChB,qBASE,iCACA,0BACA,4BACA,2BACA,yBACA,4BACA,kBACA,WACA,2BACA,iBAEA,kBAAoB,CAEtB,2CArBE,wBACA,gEACA,eACA,iBACA,UACA,oBACA,0CACA,kCAWA,kBAEA,UAAY,CAgBE,sBAdd,uQACA,0BACA,WACA,WASA,UAAY,CAGd,8IACE,0BACA,kEACA,eACA,iBACA,UACA,mBAAqB,CACvB,kCACE,uBAAyB,CAC3B,yCACE,eAAiB,CACnB,mFACE,wBACA,eAAiB,CACnB,0CAGE,kBAAoB,CAKtB,qFAPE,YACA,SAEA,uCACA,+BACA,6BACA,oBAAsB,CAQE,2CAJxB,iBAAmB,CAQrB,kOACE,kCACA,yBAA8B,CAChC,+CAEE,OACA,kBAAoB,CAKtB,+FAPE,YAGA,mCACA,2BACA,6BACA,oBAAsB,CAQE,gDALxB,SACA,iBAAmB,CAQrB,sPACE,+BACA,sBAA2B,CAC7B,gDAEE,QACA,kBAAoB,CAKtB,iGAPE,YAGA,mCACA,2BACA,6BACA,oBAAsB,CAQE,iDALxB,UACA,iBAAmB,CAQrB,0PACE,+BACA,sBAA2B,CAC7B,4CAEE,eAAiB,CAInB,yFALE,SAEA,SACA,wCACA,+BAAkC,CAUE,6CARpC,yQACA,0BACA,WACA,WAEA,cAAgB,CAOlB,0OACE,kCACA,yBAA8B,CAChC,iDACE,OACA,gBACA,SACA,oCACA,2BAA+B,CACjC,kDACE,yQACA,0BACA,WACA,WACA,SACA,eACA,SACA,oCACA,2BAA+B,CAIjC,8PACE,+BACA,sBAA2B,CAC7B,kDACE,QACA,gBACA,SACA,oCACA,2BAA+B,CACjC,mDACE,yQACA,0BACA,WACA,WACA,UACA,eACA,SACA,oCACA,2BAA+B,CAIjC,kQACE,+BACA,sBAA2B,CAC7B,4CACE,kBACA,WACA,QACA,uCACA,8BAAiC,CACnC,6CACE,wQACA,0BACA,UACA,YACA,iBACA,WACA,QACA,uCACA,8BAAiC,CAInC,0OACE,mCACA,0BAA8B,CAChC,6CACE,UACA,iBACA,QACA,wCACA,+BAAkC,CACpC,8CACE,wQACA,0BACA,UACA,YACA,UACA,gBACA,QACA,wCACA,+BAAkC,CAIpC,8OACE,mCACA,0BAA8B,CAChC,gDACE,mBACA,UAAY,CACd,iDACE,mBACA,WAAa,CACf,gDACE,mBACA,WAAa,CACf,iDACE,mBACA,WAAa,CACb,oCACE,iDACE,mBACA,UAAY,CAAE,CACpB,8CACE,mBACA,UAAY,CC3PhB,SACE,kBACA,gBACA,yBACG,sBACC,qBACI,iBACR,aAAe,CACf,WACE,+BACQ,sBAAwB,CAClC,6BACE,WACA,YACA,gBACA,eACA,eACA,OACA,KAAO,CACP,mLAEE,2CACQ,mCACR,oCACQ,2BAA6B,CACvC,0FACE,oCACQ,4BACR,oCACQ,2BAA6B,CAezC,+pBACE,YAAc,CAChB,wCACE,cAAgB,CAClB,gEACE,+CACQ,sCAAyC,CACnD,yBAGE,+FACE,SAAW,CAGb,2GACE,SAAW,CAAE,CACjB,+DACE,aAAe,CACjB,gEACE,8CACQ,qCAAwC,CAClD,iCACE,WAAa,CAKb,+GACE,UACA,mCACQ,0BAA4B,CAGxC,+GACE,SAAW,CACb,wBACE,eACA,eACA,OACA,MACA,WACA,WAAa,CACf,qFAEE,sBAAyB,CAC3B,8CACE,0BACA,8BAAiC,CACnC,wHACE,WAAa,CACf,uDACE,YAAc,CAChB,8HACE,SAAW,CACb,yEACE,UAAY,CACd,uBACE,kBACA,MACA,SACA,OACA,QACA,UACA,YAAc,CACd,yCACE,aAAe,CACnB,6BACE,kBACA,gBACA,YACA,WACA,WAAa,CACb,4CACE,WACA,YACA,YAAc,CAChB,oDACE,aAAe,CACjB,oDACE,YAAc,CAClB,0BACE,kBACA,OACA,QACA,MACA,SACA,eACA,UAAY,CACZ,gDACE,qBACA,oBACA,yBACG,sBACC,qBACI,iBACR,eACA,mBACA,yCAAkD,CAClD,sDACE,kBACA,iBAAmB,CACvB,iDACE,kBACA,QACA,mCACQ,0BAA4B,CACpC,sEACE,sBACA,oCACQ,4BACR,oCACQ,2BAA6B,CAE7C,2BACE,GACE,mCACQ,0BAA4B,CAAE,CAE1C,mBACE,GACE,mCACQ,0BAA4B,CAAE,CACtC,iGAEE,kBACA,WACA,kBACA,iBAAmB,CACnB,2IAEE,uBACA,2CACQ,mCACR,oCACQ,2BAA6B,CAE7C,kCACE,GACE,kBAAoB,CACtB,GACE,kBAAoB,CAAE,CAE1B,0BACE,GACE,kBAAoB,CACtB,GACE,kBAAoB,CAAE,CACxB,2BACE,kBACA,YACA,UACA,QACA,kBACA,WACA,0CACA,cAAgB,CAChB,iDACE,YAAc,CAClB,wBACE,kBACA,OACA,QACA,MACA,SACA,eACA,WACA,mBAAqB,CACrB,4CACE,kBACA,QACA,SACA,uBACA,YACA,WACA,aACA,8BACQ,sBACR,0BACA,kBACA,UACA,mBAAqB,CACrB,qEACE,wCACQ,+BAAiC,CAEjD,8BACE,GACE,UACA,2BACQ,kBAAoB,CAC9B,GACE,UACA,2BACQ,kBAAoB,CAAE,CAElC,sBACE,GACE,UACA,2BACQ,kBAAoB,CAC9B,GACE,UACA,2BACQ,kBAAoB,CAAE,CAC9B,4CACE,kBACA,QACA,gBACA,WACA,kBACA,eACA,iBACA,kDACQ,yCAA2C,CACrD,+CACE,aACA,kBACA,QACA,SACA,uBACA,YACA,WACA,mBAAqB,CACrB,sEACE,YAAc,CAChB,qEACE,8DACQ,sDACR,UACA,UACA,iCACQ,wBAA0B,CAClC,4FACE,4BACQ,mBAAsB,CAChC,4FACE,4BACQ,mBAAsB,CAChC,4FACE,4BACQ,mBAAsB,CAChC,4FACE,4BACQ,mBAAsB,CAChC,4FACE,4BACQ,mBAAsB,CAChC,4FACE,4BACQ,mBAAsB,CAChC,4FACE,4BACQ,mBAAsB,CAExC,6CACE,GACE,WACA,6BACQ,oBAA2B,CACrC,IACE,YACA,4BACQ,mBAA2B,CACrC,GACE,YACA,6BACQ,oBAA6B,CAAE,CAE3C,qCACE,GACE,WACA,6BACQ,oBAA2B,CACrC,IACE,YACA,4BACQ,mBAA2B,CACrC,GACE,YACA,6BACQ,oBAA6B,CAAE,CACzC,kCACE,mSACA,YACA,UAAY,CAKd,+DAJE,kBACA,SACA,gCACA,uBAA0B,CAaE,6BAT5B,OACA,QACA,YACA,eACA,yBACG,sBACC,qBACI,gBAAkB,CAG1B,uEACE,YAAc,CAChB,2FACE,aAAe,CACjB,+CACE,cACA,eACA,kBACA,YACA,wBACA,UAAY,CACZ,oEACE,qCACQ,4BAA+B,CACzC,oEACE,kBACA,gBACA,oBACA,aACA,yBAA2B,CAC7B,2EACE,kBACA,WACA,YACA,UACA,mBAAqB,CACvB,iEACE,kBACA,OACA,UACA,WACA,kBACA,gBACA,iCACA,WACA,eACA,kBACA,UACA,2CACA,mCACA,iBACA,kBACA,UACA,mBAAqB,CACrB,wEACE,SAAW,CACf,4DACE,kBACA,WACA,WACA,8BACA,wBAA2B,CAC3B,4EACE,kBACA,OACA,MACA,SACA,8BACA,WACA,gCACA,wBACA,iBAAmB,CACrB,4EACE,kBACA,OACA,MACA,SACA,WACA,iBAAmB,CACnB,2FACE,kBACA,MACA,UACA,gBACA,mBACA,YACA,WACA,kBACA,yBACA,uCACA,+BACA,2BACQ,kBAAoB,CACpC,4CACE,YACA,kBACA,QAAU,CACV,gEACE,aACA,kBACA,uCACA,+BACA,UACA,YACA,SACA,UACA,WACA,UAAY,CACZ,8EACE,WAAa,CACf,8FACE,kBACA,OACA,KAAO,CACT,mFACE,kBACA,QACA,KAAO,CACT,6FACE,kBACA,6BACA,YACA,OACA,2CACQ,mCACR,kBACA,uBACA,eACA,YACA,uCACA,+BACA,2BACQ,kBAAoB,CAC5B,0HACE,2BACQ,kBAAoB,CAC9B,+GACE,YAAc,CAChB,mGACE,cAAgB,CAClB,4HACE,eACA,WACA,gBAAkB,CACpB,2HACE,WAAa,CACb,0JACE,iBAAmB,CACrB,mJACE,yBAA2B,CAC7B,mJACE,yBAA2B,CAC7B,gIACE,UACA,gBACA,iBACA,qBACA,eACA,WACA,sBACA,kBACA,8BACQ,sBACR,kBACA,cAAgB,CAClB,8IACE,mBACA,aAAe,CACnB,4HACE,WAAa,CACb,kIACE,YACA,YACA,oBAAsB,CACxB,iIACE,WACA,YACA,qBACA,kBACA,8BACQ,sBACR,cAAgB,CAChB,uIACE,kDACQ,0CACR,yGACQ,gGAAgH,CAC5H,+IACE,yGACQ,iGACR,qBAAwB,CAC9B,uFACE,aACA,YACA,iBACA,eACA,iBACA,kBACA,kBACA,gBACA,SACA,YACA,8BACQ,sBACR,WACA,UAAY,CACZ,kHACE,WACA,UAAa,CAIf,2NACE,WACA,UAAa,CACf,oGACE,WACA,UAAa,CACnB,6EACE,WAAa,CACf,gEACE,UAAY,CACZ,8EACE,WAAa,CACjB,0HAEE,iBACA,WACA,mCACA,sBACA,eACA,cAAgB,CAClB,8DACE,qBACA,UACA,WACA,kBACA,iBACA,WACA,iBAAmB,CACrB,0DACE,WACA,YACA,YACA,6BACA,aACA,eACA,sBACA,8BACQ,sBACR,oBAAsB,CACtB,gFACE,uCACA,+BACA,UAAY,CACd,sFACE,SAAW,CACb,+EACE,WACA,WACA,iBACA,cAAgB,CAClB,+EACE,oBAAsB,CACxB,+EACE,iBAAmB,CACrB,8EACE,UAAY,CAChB,4DACE,kBACA,qBACA,yBACA,WAAa,CACb,sFACE,oBAAuB,CACzB,iFACE,qCACQ,4BAA+B,CACzC,sGACE,oBAAuB,CACzB,iGACE,qCACQ,4BAA+B,CACzC,qFACE,qBACA,qBACA,sBACA,WAAa,CACb,yGACE,kBACA,SACA,QACA,WACA,gBACA,uCACA,8BAAiC,CACjC,mIACE,kBACA,SACA,OACA,YACA,gCACA,wBACA,iBAAmB,CACnB,kJACE,kBACA,MACA,UACA,gBACA,mBACA,YACA,WACA,kBACA,yBACA,uCACA,+BACA,2BACQ,kBAAoB,CAItC,+HACE,qBACA,WAAa,CACb,kFACE,kBACA,QACA,YACA,2BACQ,mBACR,YACA,kBACA,6BACA,cACA,uCACA,+BACA,gBACA,SAAW,CACX,sFACE,YAAc,CACd,mHACE,aAAe,CACnB,2GACE,2BACQ,kBAAoB,CAC9B,6GACE,WACA,aACA,iBAAmB,CACrB,0IACE,YAAc,CAChB,yIACE,aAAe,CACnB,4KAEE,YACA,iBACA,8BACQ,sBACR,eACA,iBAAmB,CACnB,wLAEE,mCAA2C,CAC/C,sFACE,aAAe,CACf,qGACE,eACA,cAAgB,CAClB,2GACE,YAAc,CAChB,sHACE,oBAAsB,CACxB,oIACE,YAAc,CAChB,+IACE,oBAAsB,CACxB,gHACE,eACA,8BACQ,sBACR,aACA,sBACA,YACA,UAAY,CACZ,qIACE,kBACA,UACA,WACA,WACA,gBACA,uCACA,8BAAiC,CACjC,gKACE,kBACA,SACA,OACA,YACA,gCACA,wBACA,gBACA,iBAAmB,CACnB,+KACE,kBACA,MACA,UACA,gBACA,mBACA,YACA,WACA,kBACA,yBACA,uCACA,+BACA,eAAiB,CAC7B,0DACE,qBACA,YACA,iBAAmB,CACnB,sFACE,aAAe,CACjB,gFACE,kBACA,UACA,UACA,YAAc,CAClB,6DACE,kBACA,qBACA,YACA,SAAW,CAGX,kLACE,aAAe,CACjB,mFACE,aACA,kBACA,YACA,WACA,WACA,mBAAqB,CACvB,mFACE,aACA,eACA,WACA,kBACA,6BACA,cACA,uCACA,+BACA,gBACA,WACA,iBAAmB,CACrB,mFACE,YACA,8BACQ,sBACR,eACA,gBAAkB,CAClB,yFACE,mCAA2C,CACjD,6DACE,qBACA,WAAa,CACf,2DACE,WACA,eACA,qBACA,sBACA,kBAAoB,CACtB,4DACE,WACA,YACA,kBACA,YACA,sBACA,kBACA,QACA,UAAY,CACZ,kEACE,aACA,YACA,YAAc,CAChB,wEACE,qBACA,kBACA,yCACQ,iCACR,yBACA,YACA,WACA,mBACA,8BACQ,sBACR,eACA,mCACA,0BAA4B,CAY9B,6JAVE,WACA,kBACA,cACA,YACA,WACA,MACA,OACA,mBACA,mCACA,0BAA4B,CAcd,8EANd,gBAGA,4CACQ,mCAAyC,CAGnD,gFACE,+BAAuC,CACzC,uFACE,WACA,6BAAqC,CACvC,sFACE,SAAW,CACnB,uBACE,kBACA,YACA,kBACA,8BACA,cACA,gBACA,UACA,YAAc,CACd,yCACE,aAAe,CACjB,0CACE,YACA,8BACQ,sBACR,cAAgB,CAChB,gDACE,mCAA2C,CAC7C,4CAEE,eACA,iBACA,WACA,eACA,qBACA,sBACA,WACA,8BACQ,sBACR,mBACA,uBACA,eAAiB,CACjB,kDACE,oBAAsB,CAC9B,uBACE,oBACA,kBACA,UACA,SACA,eACA,eAAiB,CACjB,2BACE,eACA,gBACA,eAAiB,CACrB,yBACE,UACA,kBACA,YACA,UACA,eACA,kBACA,6BACA,iBACA,uCACA,+BACA,gBACA,WACA,mBAAqB,CAEzB,2BACE,GACE,mDACQ,0CAA8C,CACxD,GACE,oDACQ,2CAAgD,CAC1D,GACE,oDACQ,2CAA+C,CACzD,GACE,qDACQ,4CAAgD,CAC1D,IACE,mDACQ,0CAA8C,CACxD,IACE,mDACQ,0CAA+C,CACzD,IACE,oDACQ,2CAA+C,CACzD,IACE,oDACQ,2CAAgD,CAC1D,IACE,mDACQ,0CAA+C,CACzD,IACE,oDACQ,2CAA+C,CACzD,IACE,mDACQ,0CAA+C,CACzD,IACE,mDACQ,0CAA8C,CACxD,IACE,iDACQ,wCAA8C,CACxD,IACE,kDACQ,yCAA8C,CACxD,IACE,mDACQ,0CAA+C,CACzD,IACE,mDACQ,0CAA+C,CACzD,IACE,mDACQ,0CAA+C,CACzD,IACE,oDACQ,2CAA+C,CACzD,IACE,oDACQ,2CAA+C,CACzD,IACE,mDACQ,0CAA+C,CACzD,IACE,oDACQ,2CAA+C,CACzD,IACE,kDACQ,yCAA8C,CACxD,IACE,oDACQ,2CAA+C,CACzD,IACE,kDACQ,yCAA+C,CACzD,IACE,iDACQ,wCAA8C,CACxD,IACE,mDACQ,0CAA8C,CACxD,IACE,oDACQ,2CAA+C,CACzD,IACE,mDACQ,0CAA8C,CACxD,IACE,kDACQ,yCAA8C,CACxD,IACE,mDACQ,0CAA8C,CACxD,IACE,mDACQ,0CAA+C,CACzD,IACE,mDACQ,0CAA+C,CACzD,IACE,mDACQ,0CAA+C,CACzD,IACE,oDACQ,2CAAgD,CAC1D,IACE,kDACQ,yCAA8C,CACxD,IACE,mDACQ,0CAA8C,CACxD,IACE,kDACQ,yCAA+C,CACzD,IACE,mDACQ,0CAA+C,CACzD,IACE,mDACQ,0CAA+C,CACzD,IACE,mDACQ,0CAA8C,CACxD,IACE,kDACQ,yCAA+C,CACzD,IACE,mDACQ,0CAA8C,CACxD,IACE,qDACQ,4CAAgD,CAC1D,IACE,mDACQ,0CAA+C,CACzD,IACE,mDACQ,0CAA+C,CACzD,IACE,kDACQ,yCAA+C,CACzD,IACE,kDACQ,yCAA8C,CACxD,IACE,mDACQ,0CAA+C,CACzD,IACE,oDACQ,2CAAgD,CAC1D,MACE,4CACQ,mCAAwC,CAAE,CAEtD,mBACE,GACE,mDACQ,0CAA8C,CACxD,GACE,oDACQ,2CAAgD,CAC1D,GACE,oDACQ,2CAA+C,CACzD,GACE,qDACQ,4CAAgD,CAC1D,IACE,mDACQ,0CAA8C,CACxD,IACE,mDACQ,0CAA+C,CACzD,IACE,oDACQ,2CAA+C,CACzD,IACE,oDACQ,2CAAgD,CAC1D,IACE,mDACQ,0CAA+C,CACzD,IACE,oDACQ,2CAA+C,CACzD,IACE,mDACQ,0CAA+C,CACzD,IACE,mDACQ,0CAA8C,CACxD,IACE,iDACQ,wCAA8C,CACxD,IACE,kDACQ,yCAA8C,CACxD,IACE,mDACQ,0CAA+C,CACzD,IACE,mDACQ,0CAA+C,CACzD,IACE,mDACQ,0CAA+C,CACzD,IACE,oDACQ,2CAA+C,CACzD,IACE,oDACQ,2CAA+C,CACzD,IACE,mDACQ,0CAA+C,CACzD,IACE,oDACQ,2CAA+C,CACzD,IACE,kDACQ,yCAA8C,CACxD,IACE,oDACQ,2CAA+C,CACzD,IACE,kDACQ,yCAA+C,CACzD,IACE,iDACQ,wCAA8C,CACxD,IACE,mDACQ,0CAA8C,CACxD,IACE,oDACQ,2CAA+C,CACzD,IACE,mDACQ,0CAA8C,CACxD,IACE,kDACQ,yCAA8C,CACxD,IACE,mDACQ,0CAA8C,CACxD,IACE,mDACQ,0CAA+C,CACzD,IACE,mDACQ,0CAA+C,CACzD,IACE,mDACQ,0CAA+C,CACzD,IACE,oDACQ,2CAAgD,CAC1D,IACE,kDACQ,yCAA8C,CACxD,IACE,mDACQ,0CAA8C,CACxD,IACE,kDACQ,yCAA+C,CACzD,IACE,mDACQ,0CAA+C,CACzD,IACE,mDACQ,0CAA+C,CACzD,IACE,mDACQ,0CAA8C,CACxD,IACE,kDACQ,yCAA+C,CACzD,IACE,mDACQ,0CAA8C,CACxD,IACE,qDACQ,4CAAgD,CAC1D,IACE,mDACQ,0CAA+C,CACzD,IACE,mDACQ,0CAA+C,CACzD,IACE,kDACQ,yCAA+C,CACzD,IACE,kDACQ,yCAA8C,CACxD,IACE,mDACQ,0CAA+C,CACzD,IACE,oDACQ,2CAAgD,CAC1D,MACE,4CACQ,mCAAwC,CAAE,CAEtD,sBACE,YAAc,CAEhB,qBACE,kBACA,2BAAkC,CAEpC,0CACE,eAAiB,CAEnB,4BACE,eACA,MACA,OACA,SACA,SAAW","file":"DPlayer.min.css","sourcesContent":["button[data-balloon] {\n overflow: visible; }\n\n[data-balloon] {\n position: relative;\n cursor: pointer; }\n [data-balloon]:after {\n filter: alpha(opactiy=0);\n -ms-filter: \"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)\";\n -moz-opacity: 0;\n -khtml-opacity: 0;\n opacity: 0;\n pointer-events: none;\n -webkit-transition: all 0.18s ease-out 0.18s;\n transition: all 0.18s ease-out 0.18s;\n font-family: sans-serif !important;\n font-weight: normal !important;\n font-style: normal !important;\n text-shadow: none !important;\n font-size: 12px !important;\n background: rgba(17, 17, 17, 0.9);\n border-radius: 4px;\n color: #fff;\n content: attr(data-balloon);\n padding: .5em 1em;\n position: absolute;\n white-space: nowrap;\n z-index: 10; }\n [data-balloon]:before {\n background: no-repeat url(\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20width%3D%2236px%22%20height%3D%2212px%22%3E%3Cpath%20fill%3D%22rgba(17, 17, 17, 0.9)%22%20transform%3D%22rotate(0)%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E\");\n background-size: 100% auto;\n width: 18px;\n height: 6px;\n filter: alpha(opactiy=0);\n -ms-filter: \"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)\";\n -moz-opacity: 0;\n -khtml-opacity: 0;\n opacity: 0;\n pointer-events: none;\n -webkit-transition: all 0.18s ease-out 0.18s;\n transition: all 0.18s ease-out 0.18s;\n content: '';\n position: absolute;\n z-index: 10; }\n [data-balloon]:hover:before, [data-balloon]:hover:after, [data-balloon][data-balloon-visible]:before, [data-balloon][data-balloon-visible]:after {\n filter: alpha(opactiy=100);\n -ms-filter: \"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)\";\n -moz-opacity: 1;\n -khtml-opacity: 1;\n opacity: 1;\n pointer-events: auto; }\n [data-balloon].font-awesome:after {\n font-family: FontAwesome; }\n [data-balloon][data-balloon-break]:after {\n white-space: pre; }\n [data-balloon][data-balloon-blunt]:before, [data-balloon][data-balloon-blunt]:after {\n -webkit-transition: none;\n transition: none; }\n [data-balloon][data-balloon-pos=\"up\"]:after {\n bottom: 100%;\n left: 50%;\n margin-bottom: 11px;\n -webkit-transform: translate(-50%, 10px);\n transform: translate(-50%, 10px);\n -webkit-transform-origin: top;\n transform-origin: top; }\n [data-balloon][data-balloon-pos=\"up\"]:before {\n bottom: 100%;\n left: 50%;\n margin-bottom: 5px;\n -webkit-transform: translate(-50%, 10px);\n transform: translate(-50%, 10px);\n -webkit-transform-origin: top;\n transform-origin: top; }\n [data-balloon][data-balloon-pos=\"up\"]:hover:after, [data-balloon][data-balloon-pos=\"up\"][data-balloon-visible]:after {\n -webkit-transform: translate(-50%, 0);\n transform: translate(-50%, 0); }\n [data-balloon][data-balloon-pos=\"up\"]:hover:before, [data-balloon][data-balloon-pos=\"up\"][data-balloon-visible]:before {\n -webkit-transform: translate(-50%, 0);\n transform: translate(-50%, 0); }\n [data-balloon][data-balloon-pos=\"up-left\"]:after {\n bottom: 100%;\n left: 0;\n margin-bottom: 11px;\n -webkit-transform: translate(0, 10px);\n transform: translate(0, 10px);\n -webkit-transform-origin: top;\n transform-origin: top; }\n [data-balloon][data-balloon-pos=\"up-left\"]:before {\n bottom: 100%;\n left: 5px;\n margin-bottom: 5px;\n -webkit-transform: translate(0, 10px);\n transform: translate(0, 10px);\n -webkit-transform-origin: top;\n transform-origin: top; }\n [data-balloon][data-balloon-pos=\"up-left\"]:hover:after, [data-balloon][data-balloon-pos=\"up-left\"][data-balloon-visible]:after {\n -webkit-transform: translate(0, 0);\n transform: translate(0, 0); }\n [data-balloon][data-balloon-pos=\"up-left\"]:hover:before, [data-balloon][data-balloon-pos=\"up-left\"][data-balloon-visible]:before {\n -webkit-transform: translate(0, 0);\n transform: translate(0, 0); }\n [data-balloon][data-balloon-pos=\"up-right\"]:after {\n bottom: 100%;\n right: 0;\n margin-bottom: 11px;\n -webkit-transform: translate(0, 10px);\n transform: translate(0, 10px);\n -webkit-transform-origin: top;\n transform-origin: top; }\n [data-balloon][data-balloon-pos=\"up-right\"]:before {\n bottom: 100%;\n right: 5px;\n margin-bottom: 5px;\n -webkit-transform: translate(0, 10px);\n transform: translate(0, 10px);\n -webkit-transform-origin: top;\n transform-origin: top; }\n [data-balloon][data-balloon-pos=\"up-right\"]:hover:after, [data-balloon][data-balloon-pos=\"up-right\"][data-balloon-visible]:after {\n -webkit-transform: translate(0, 0);\n transform: translate(0, 0); }\n [data-balloon][data-balloon-pos=\"up-right\"]:hover:before, [data-balloon][data-balloon-pos=\"up-right\"][data-balloon-visible]:before {\n -webkit-transform: translate(0, 0);\n transform: translate(0, 0); }\n [data-balloon][data-balloon-pos='down']:after {\n left: 50%;\n margin-top: 11px;\n top: 100%;\n -webkit-transform: translate(-50%, -10px);\n transform: translate(-50%, -10px); }\n [data-balloon][data-balloon-pos='down']:before {\n background: no-repeat url(\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20width%3D%2236px%22%20height%3D%2212px%22%3E%3Cpath%20fill%3D%22rgba(17, 17, 17, 0.9)%22%20transform%3D%22rotate(180 18 6)%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E\");\n background-size: 100% auto;\n width: 18px;\n height: 6px;\n left: 50%;\n margin-top: 5px;\n top: 100%;\n -webkit-transform: translate(-50%, -10px);\n transform: translate(-50%, -10px); }\n [data-balloon][data-balloon-pos='down']:hover:after, [data-balloon][data-balloon-pos='down'][data-balloon-visible]:after {\n -webkit-transform: translate(-50%, 0);\n transform: translate(-50%, 0); }\n [data-balloon][data-balloon-pos='down']:hover:before, [data-balloon][data-balloon-pos='down'][data-balloon-visible]:before {\n -webkit-transform: translate(-50%, 0);\n transform: translate(-50%, 0); }\n [data-balloon][data-balloon-pos='down-left']:after {\n left: 0;\n margin-top: 11px;\n top: 100%;\n -webkit-transform: translate(0, -10px);\n transform: translate(0, -10px); }\n [data-balloon][data-balloon-pos='down-left']:before {\n background: no-repeat url(\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20width%3D%2236px%22%20height%3D%2212px%22%3E%3Cpath%20fill%3D%22rgba(17, 17, 17, 0.9)%22%20transform%3D%22rotate(180 18 6)%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E\");\n background-size: 100% auto;\n width: 18px;\n height: 6px;\n left: 5px;\n margin-top: 5px;\n top: 100%;\n -webkit-transform: translate(0, -10px);\n transform: translate(0, -10px); }\n [data-balloon][data-balloon-pos='down-left']:hover:after, [data-balloon][data-balloon-pos='down-left'][data-balloon-visible]:after {\n -webkit-transform: translate(0, 0);\n transform: translate(0, 0); }\n [data-balloon][data-balloon-pos='down-left']:hover:before, [data-balloon][data-balloon-pos='down-left'][data-balloon-visible]:before {\n -webkit-transform: translate(0, 0);\n transform: translate(0, 0); }\n [data-balloon][data-balloon-pos='down-right']:after {\n right: 0;\n margin-top: 11px;\n top: 100%;\n -webkit-transform: translate(0, -10px);\n transform: translate(0, -10px); }\n [data-balloon][data-balloon-pos='down-right']:before {\n background: no-repeat url(\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20width%3D%2236px%22%20height%3D%2212px%22%3E%3Cpath%20fill%3D%22rgba(17, 17, 17, 0.9)%22%20transform%3D%22rotate(180 18 6)%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E\");\n background-size: 100% auto;\n width: 18px;\n height: 6px;\n right: 5px;\n margin-top: 5px;\n top: 100%;\n -webkit-transform: translate(0, -10px);\n transform: translate(0, -10px); }\n [data-balloon][data-balloon-pos='down-right']:hover:after, [data-balloon][data-balloon-pos='down-right'][data-balloon-visible]:after {\n -webkit-transform: translate(0, 0);\n transform: translate(0, 0); }\n [data-balloon][data-balloon-pos='down-right']:hover:before, [data-balloon][data-balloon-pos='down-right'][data-balloon-visible]:before {\n -webkit-transform: translate(0, 0);\n transform: translate(0, 0); }\n [data-balloon][data-balloon-pos='left']:after {\n margin-right: 11px;\n right: 100%;\n top: 50%;\n -webkit-transform: translate(10px, -50%);\n transform: translate(10px, -50%); }\n [data-balloon][data-balloon-pos='left']:before {\n background: no-repeat url(\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20width%3D%2212px%22%20height%3D%2236px%22%3E%3Cpath%20fill%3D%22rgba(17, 17, 17, 0.9)%22%20transform%3D%22rotate(-90 18 18)%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E\");\n background-size: 100% auto;\n width: 6px;\n height: 18px;\n margin-right: 5px;\n right: 100%;\n top: 50%;\n -webkit-transform: translate(10px, -50%);\n transform: translate(10px, -50%); }\n [data-balloon][data-balloon-pos='left']:hover:after, [data-balloon][data-balloon-pos='left'][data-balloon-visible]:after {\n -webkit-transform: translate(0, -50%);\n transform: translate(0, -50%); }\n [data-balloon][data-balloon-pos='left']:hover:before, [data-balloon][data-balloon-pos='left'][data-balloon-visible]:before {\n -webkit-transform: translate(0, -50%);\n transform: translate(0, -50%); }\n [data-balloon][data-balloon-pos='right']:after {\n left: 100%;\n margin-left: 11px;\n top: 50%;\n -webkit-transform: translate(-10px, -50%);\n transform: translate(-10px, -50%); }\n [data-balloon][data-balloon-pos='right']:before {\n background: no-repeat url(\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20width%3D%2212px%22%20height%3D%2236px%22%3E%3Cpath%20fill%3D%22rgba(17, 17, 17, 0.9)%22%20transform%3D%22rotate(90 6 6)%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E\");\n background-size: 100% auto;\n width: 6px;\n height: 18px;\n left: 100%;\n margin-left: 5px;\n top: 50%;\n -webkit-transform: translate(-10px, -50%);\n transform: translate(-10px, -50%); }\n [data-balloon][data-balloon-pos='right']:hover:after, [data-balloon][data-balloon-pos='right'][data-balloon-visible]:after {\n -webkit-transform: translate(0, -50%);\n transform: translate(0, -50%); }\n [data-balloon][data-balloon-pos='right']:hover:before, [data-balloon][data-balloon-pos='right'][data-balloon-visible]:before {\n -webkit-transform: translate(0, -50%);\n transform: translate(0, -50%); }\n [data-balloon][data-balloon-length='small']:after {\n white-space: normal;\n width: 80px; }\n [data-balloon][data-balloon-length='medium']:after {\n white-space: normal;\n width: 150px; }\n [data-balloon][data-balloon-length='large']:after {\n white-space: normal;\n width: 260px; }\n [data-balloon][data-balloon-length='xlarge']:after {\n white-space: normal;\n width: 380px; }\n @media screen and (max-width: 768px) {\n [data-balloon][data-balloon-length='xlarge']:after {\n white-space: normal;\n width: 90vw; } }\n [data-balloon][data-balloon-length='fit']:after {\n white-space: normal;\n width: 100%; }\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/balloon-css/balloon.css","@import url(../node_modules/balloon-css/balloon.css);\n.dplayer {\n position: relative;\n overflow: hidden;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n line-height: 1; }\n .dplayer * {\n -webkit-box-sizing: content-box;\n box-sizing: content-box; }\n .dplayer:-webkit-full-screen {\n width: 100%;\n height: 100%;\n background: #000;\n position: fixed;\n z-index: 100000;\n left: 0;\n top: 0; }\n .dplayer:-webkit-full-screen .dplayer-danmaku .dplayer-danmaku-top.dplayer-danmaku-move,\n .dplayer:-webkit-full-screen .dplayer-danmaku .dplayer-danmaku-bottom.dplayer-danmaku-move {\n -webkit-animation: danmaku-center 6s linear;\n animation: danmaku-center 6s linear;\n -webkit-animation-play-state: paused;\n animation-play-state: paused; }\n .dplayer:-webkit-full-screen .dplayer-danmaku .dplayer-danmaku-right.dplayer-danmaku-move {\n -webkit-animation: danmaku 8s linear;\n animation: danmaku 8s linear;\n -webkit-animation-play-state: paused;\n animation-play-state: paused; }\n .dplayer.dplayer-no-danmaku .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box .dplayer-setting-showdan,\n .dplayer.dplayer-no-danmaku .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box .dplayer-setting-danmaku,\n .dplayer.dplayer-no-danmaku .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box .dplayer-setting-danunlimit {\n display: none; }\n .dplayer.dplayer-no-danmaku .dplayer-controller .dplayer-icons .dplayer-comment {\n display: none; }\n .dplayer.dplayer-no-danmaku .dplayer-danmaku {\n display: none; }\n .dplayer.dplayer-live .dplayer-time {\n display: none; }\n .dplayer.dplayer-live .dplayer-bar-wrap {\n display: none; }\n .dplayer.dplayer-live .dplayer-setting-speed {\n display: none; }\n .dplayer.dplayer-live .dplayer-setting-loop {\n display: none; }\n .dplayer.dplayer-arrow .dplayer-danmaku {\n font-size: 18px; }\n .dplayer.dplayer-playing .dplayer-danmaku .dplayer-danmaku-move {\n -webkit-animation-play-state: running !important;\n animation-play-state: running !important; }\n @media (min-width: 900px) {\n .dplayer.dplayer-playing .dplayer-controller-mask {\n opacity: 0; }\n .dplayer.dplayer-playing .dplayer-controller {\n opacity: 0; }\n .dplayer.dplayer-playing:hover .dplayer-controller-mask {\n opacity: 1; }\n .dplayer.dplayer-playing:hover .dplayer-controller {\n opacity: 1; } }\n .dplayer.dplayer-loading .dplayer-bezel .diplayer-loading-icon {\n display: block; }\n .dplayer.dplayer-loading .dplayer-danmaku .dplayer-danmaku-move {\n -webkit-animation-play-state: paused !important;\n animation-play-state: paused !important; }\n .dplayer.dplayer-hide-controller {\n cursor: none; }\n .dplayer.dplayer-hide-controller .dplayer-controller-mask {\n opacity: 0;\n -webkit-transform: translateY(100%);\n transform: translateY(100%); }\n .dplayer.dplayer-hide-controller .dplayer-controller {\n opacity: 0;\n -webkit-transform: translateY(100%);\n transform: translateY(100%); }\n .dplayer.dplayer-show-controller .dplayer-controller-mask {\n opacity: 1; }\n .dplayer.dplayer-show-controller .dplayer-controller {\n opacity: 1; }\n .dplayer.dplayer-fulled {\n position: fixed;\n z-index: 100000;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%; }\n .dplayer.dplayer-mobile .dplayer-volume,\n .dplayer.dplayer-mobile .dplayer-camera-icon {\n display: none !important; }\n .dplayer.dplayer-mobile .dplayer-full-in-icon {\n position: static !important;\n display: inline-block !important; }\n .dplayer.dplayer-mobile .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-input {\n width: 200px; }\n .dplayer.dplayer-mobile .dplayer-comment-setting-title {\n display: none; }\n .dplayer.dplayer-mobile .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box {\n left: 17px; }\n .dplayer.dplayer-mobile .dplayer-controller .dplayer-icons .dplayer-icon {\n width: 40px; }\n .dplayer .dplayer-mask {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n z-index: 1;\n display: none; }\n .dplayer .dplayer-mask.dplayer-mask-show {\n display: block; }\n .dplayer .dplayer-video-wrap {\n position: relative;\n background: #000;\n font-size: 0;\n width: 100%;\n height: 100%; }\n .dplayer .dplayer-video-wrap .dplayer-video {\n width: 100%;\n height: 100%;\n display: none; }\n .dplayer .dplayer-video-wrap .dplayer-video-current {\n display: block; }\n .dplayer .dplayer-video-wrap .dplayer-video-prepare {\n display: none; }\n .dplayer .dplayer-danmaku {\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n font-size: 22px;\n color: #fff; }\n .dplayer .dplayer-danmaku .dplayer-danmaku-item {\n display: inline-block;\n pointer-events: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n cursor: default;\n white-space: nowrap;\n text-shadow: 0.5px 0.5px 0.5px rgba(0, 0, 0, 0.5); }\n .dplayer .dplayer-danmaku .dplayer-danmaku-item--demo {\n position: absolute;\n visibility: hidden; }\n .dplayer .dplayer-danmaku .dplayer-danmaku-right {\n position: absolute;\n right: 0;\n -webkit-transform: translateX(100%);\n transform: translateX(100%); }\n .dplayer .dplayer-danmaku .dplayer-danmaku-right.dplayer-danmaku-move {\n will-change: transform;\n -webkit-animation: danmaku 5s linear;\n animation: danmaku 5s linear;\n -webkit-animation-play-state: paused;\n animation-play-state: paused; }\n\n@-webkit-keyframes danmaku {\n from {\n -webkit-transform: translateX(100%);\n transform: translateX(100%); } }\n\n@keyframes danmaku {\n from {\n -webkit-transform: translateX(100%);\n transform: translateX(100%); } }\n .dplayer .dplayer-danmaku .dplayer-danmaku-top,\n .dplayer .dplayer-danmaku .dplayer-danmaku-bottom {\n position: absolute;\n width: 100%;\n text-align: center;\n visibility: hidden; }\n .dplayer .dplayer-danmaku .dplayer-danmaku-top.dplayer-danmaku-move,\n .dplayer .dplayer-danmaku .dplayer-danmaku-bottom.dplayer-danmaku-move {\n will-change: visibility;\n -webkit-animation: danmaku-center 4s linear;\n animation: danmaku-center 4s linear;\n -webkit-animation-play-state: paused;\n animation-play-state: paused; }\n\n@-webkit-keyframes danmaku-center {\n from {\n visibility: visible; }\n to {\n visibility: visible; } }\n\n@keyframes danmaku-center {\n from {\n visibility: visible; }\n to {\n visibility: visible; } }\n .dplayer .dplayer-subtitle {\n position: absolute;\n bottom: 40px;\n width: 90%;\n left: 5%;\n text-align: center;\n color: #fff;\n text-shadow: 0.5px 0.5px 0.5px rgba(0, 0, 0, 0.5);\n font-size: 20px; }\n .dplayer .dplayer-subtitle.dplayer-subtitle-hide {\n display: none; }\n .dplayer .dplayer-bezel {\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n font-size: 22px;\n color: #fff;\n pointer-events: none; }\n .dplayer .dplayer-bezel .dplayer-bezel-icon {\n position: absolute;\n top: 50%;\n left: 50%;\n margin: -26px 0 0 -26px;\n height: 52px;\n width: 52px;\n padding: 12px;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n background: rgba(0, 0, 0, 0.5);\n border-radius: 50%;\n opacity: 0;\n pointer-events: none; }\n .dplayer .dplayer-bezel .dplayer-bezel-icon.dplayer-bezel-transition {\n -webkit-animation: bezel-hide .5s linear;\n animation: bezel-hide .5s linear; }\n\n@-webkit-keyframes bezel-hide {\n from {\n opacity: 1;\n -webkit-transform: scale(1);\n transform: scale(1); }\n to {\n opacity: 0;\n -webkit-transform: scale(2);\n transform: scale(2); } }\n\n@keyframes bezel-hide {\n from {\n opacity: 1;\n -webkit-transform: scale(1);\n transform: scale(1); }\n to {\n opacity: 0;\n -webkit-transform: scale(2);\n transform: scale(2); } }\n .dplayer .dplayer-bezel .dplayer-danloading {\n position: absolute;\n top: 50%;\n margin-top: -7px;\n width: 100%;\n text-align: center;\n font-size: 14px;\n line-height: 14px;\n -webkit-animation: my-face 5s infinite ease-in-out;\n animation: my-face 5s infinite ease-in-out; }\n .dplayer .dplayer-bezel .diplayer-loading-icon {\n display: none;\n position: absolute;\n top: 50%;\n left: 50%;\n margin: -18px 0 0 -18px;\n height: 36px;\n width: 36px;\n pointer-events: none; }\n .dplayer .dplayer-bezel .diplayer-loading-icon .diplayer-loading-hide {\n display: none; }\n .dplayer .dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot {\n -webkit-animation: diplayer-loading-dot-fade .8s ease infinite;\n animation: diplayer-loading-dot-fade .8s ease infinite;\n opacity: 0;\n fill: #fff;\n -webkit-transform-origin: 4px 4px;\n transform-origin: 4px 4px; }\n .dplayer .dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-7 {\n -webkit-animation-delay: 0.7s;\n animation-delay: 0.7s; }\n .dplayer .dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-6 {\n -webkit-animation-delay: 0.6s;\n animation-delay: 0.6s; }\n .dplayer .dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-5 {\n -webkit-animation-delay: 0.5s;\n animation-delay: 0.5s; }\n .dplayer .dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-4 {\n -webkit-animation-delay: 0.4s;\n animation-delay: 0.4s; }\n .dplayer .dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-3 {\n -webkit-animation-delay: 0.3s;\n animation-delay: 0.3s; }\n .dplayer .dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-2 {\n -webkit-animation-delay: 0.2s;\n animation-delay: 0.2s; }\n .dplayer .dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-1 {\n -webkit-animation-delay: 0.1s;\n animation-delay: 0.1s; }\n\n@-webkit-keyframes diplayer-loading-dot-fade {\n 0% {\n opacity: .7;\n -webkit-transform: scale(1.2, 1.2);\n transform: scale(1.2, 1.2); }\n 50% {\n opacity: .25;\n -webkit-transform: scale(0.9, 0.9);\n transform: scale(0.9, 0.9); }\n to {\n opacity: .25;\n -webkit-transform: scale(0.85, 0.85);\n transform: scale(0.85, 0.85); } }\n\n@keyframes diplayer-loading-dot-fade {\n 0% {\n opacity: .7;\n -webkit-transform: scale(1.2, 1.2);\n transform: scale(1.2, 1.2); }\n 50% {\n opacity: .25;\n -webkit-transform: scale(0.9, 0.9);\n transform: scale(0.9, 0.9); }\n to {\n opacity: .25;\n -webkit-transform: scale(0.85, 0.85);\n transform: scale(0.85, 0.85); } }\n .dplayer .dplayer-controller-mask {\n background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAADGCAYAAAAT+OqFAAAAdklEQVQoz42QQQ7AIAgEF/T/D+kbq/RWAlnQyyazA4aoAB4FsBSA/bFjuF1EOL7VbrIrBuusmrt4ZZORfb6ehbWdnRHEIiITaEUKa5EJqUakRSaEYBJSCY2dEstQY7AuxahwXFrvZmWl2rh4JZ07z9dLtesfNj5q0FU3A5ObbwAAAABJRU5ErkJggg==) repeat-x bottom;\n height: 98px;\n width: 100%;\n position: absolute;\n bottom: 0;\n -webkit-transition: all 0.3s ease;\n transition: all 0.3s ease; }\n .dplayer .dplayer-controller {\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n height: 41px;\n padding: 0 20px;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n -webkit-transition: all 0.3s ease;\n transition: all 0.3s ease; }\n .dplayer .dplayer-controller.dplayer-controller-comment .dplayer-icons {\n display: none; }\n .dplayer .dplayer-controller.dplayer-controller-comment .dplayer-icons.dplayer-comment-box {\n display: block; }\n .dplayer .dplayer-controller .dplayer-bar-wrap {\n padding: 5px 0;\n cursor: pointer;\n position: absolute;\n bottom: 33px;\n width: calc(100% - 40px);\n height: 3px; }\n .dplayer .dplayer-controller .dplayer-bar-wrap:hover .dplayer-thumb {\n -webkit-transform: scale(1) !important;\n transform: scale(1) !important; }\n .dplayer .dplayer-controller .dplayer-bar-wrap .dplayer-bar-preview {\n position: absolute;\n background: #fff;\n pointer-events: none;\n display: none;\n background-size: auto 100%; }\n .dplayer .dplayer-controller .dplayer-bar-wrap .dplayer-bar-preview-canvas {\n position: absolute;\n width: 100%;\n height: 100%;\n z-index: 1;\n pointer-events: none; }\n .dplayer .dplayer-controller .dplayer-bar-wrap .dplayer-bar-time {\n position: absolute;\n left: 0px;\n top: -20px;\n width: 30px;\n border-radius: 4px;\n padding: 5px 7px;\n background-color: rgba(0, 0, 0, 0.62);\n color: #fff;\n font-size: 12px;\n text-align: center;\n opacity: 1;\n -webkit-transition: opacity .1s ease-in-out;\n transition: opacity .1s ease-in-out;\n word-wrap: normal;\n word-break: normal;\n z-index: 2;\n pointer-events: none; }\n .dplayer .dplayer-controller .dplayer-bar-wrap .dplayer-bar-time.hidden {\n opacity: 0; }\n .dplayer .dplayer-controller .dplayer-bar-wrap .dplayer-bar {\n position: relative;\n height: 3px;\n width: 100%;\n background: rgba(255, 255, 255, 0.2);\n cursor: pointer !important; }\n .dplayer .dplayer-controller .dplayer-bar-wrap .dplayer-bar .dplayer-loaded {\n position: absolute;\n left: 0;\n top: 0;\n bottom: 0;\n background: rgba(255, 255, 255, 0.4);\n height: 3px;\n -webkit-transition: all 0.5s ease;\n transition: all 0.5s ease;\n will-change: width; }\n .dplayer .dplayer-controller .dplayer-bar-wrap .dplayer-bar .dplayer-played {\n position: absolute;\n left: 0;\n top: 0;\n bottom: 0;\n height: 3px;\n will-change: width; }\n .dplayer .dplayer-controller .dplayer-bar-wrap .dplayer-bar .dplayer-played .dplayer-thumb {\n position: absolute;\n top: 0;\n right: 5px;\n margin-top: -4px;\n margin-right: -10px;\n height: 11px;\n width: 11px;\n border-radius: 50%;\n cursor: pointer !important;\n -webkit-transition: all .3s ease-in-out;\n transition: all .3s ease-in-out;\n -webkit-transform: scale(0);\n transform: scale(0); }\n .dplayer .dplayer-controller .dplayer-icons {\n height: 38px;\n position: absolute;\n bottom: 0; }\n .dplayer .dplayer-controller .dplayer-icons.dplayer-comment-box {\n display: none;\n position: absolute;\n -webkit-transition: all .3s ease-in-out;\n transition: all .3s ease-in-out;\n z-index: 2;\n height: 38px;\n bottom: 0;\n left: 20px;\n right: 20px;\n color: #fff; }\n .dplayer .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-icon {\n padding: 7px; }\n .dplayer .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-icon {\n position: absolute;\n left: 0;\n top: 0; }\n .dplayer .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-send-icon {\n position: absolute;\n right: 0;\n top: 0; }\n .dplayer .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box {\n position: absolute;\n background: rgba(28, 28, 28, 0.9);\n bottom: 41px;\n left: 0;\n -webkit-box-shadow: 0 0 25px rgba(0, 0, 0, 0.3);\n box-shadow: 0 0 25px rgba(0, 0, 0, 0.3);\n border-radius: 4px;\n padding: 10px 10px 16px;\n font-size: 14px;\n width: 204px;\n -webkit-transition: all .3s ease-in-out;\n transition: all .3s ease-in-out;\n -webkit-transform: scale(0);\n transform: scale(0); }\n .dplayer .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box.dplayer-comment-setting-open {\n -webkit-transform: scale(1);\n transform: scale(1); }\n .dplayer .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box input[type=radio] {\n display: none; }\n .dplayer .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box label {\n cursor: pointer; }\n .dplayer .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-title {\n font-size: 13px;\n color: #fff;\n line-height: 30px; }\n .dplayer .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type {\n font-size: 0; }\n .dplayer .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type .dplayer-comment-setting-title {\n margin-bottom: 6px; }\n .dplayer .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type label:nth-child(2) span {\n border-radius: 4px 0 0 4px; }\n .dplayer .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type label:nth-child(4) span {\n border-radius: 0 4px 4px 0; }\n .dplayer .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type span {\n width: 33%;\n padding: 4px 6px;\n line-height: 16px;\n display: inline-block;\n font-size: 12px;\n color: #fff;\n border: 1px solid #fff;\n margin-right: -1px;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n text-align: center;\n cursor: pointer; }\n .dplayer .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type input:checked + span {\n background: #E4E4E6;\n color: #1c1c1c; }\n .dplayer .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-color {\n font-size: 0; }\n .dplayer .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-color label {\n font-size: 0;\n padding: 6px;\n display: inline-block; }\n .dplayer .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-color span {\n width: 22px;\n height: 22px;\n display: inline-block;\n border-radius: 50%;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n cursor: pointer; }\n .dplayer .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-color span:hover {\n -webkit-animation: my-face 5s infinite ease-in-out;\n animation: my-face 5s infinite ease-in-out;\n -webkit-box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\n box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); }\n .dplayer .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-color input:checked + span {\n -webkit-box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\n box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\n border: none !important; }\n .dplayer .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-input {\n outline: none;\n border: none;\n padding: 8px 31px;\n font-size: 14px;\n line-height: 18px;\n text-align: center;\n border-radius: 4px;\n background: none;\n margin: 0;\n height: 100%;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n width: 100%;\n color: #fff; }\n .dplayer .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-input::-webkit-input-placeholder {\n color: #fff;\n opacity: 0.8; }\n .dplayer .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-input:-ms-input-placeholder {\n color: #fff;\n opacity: 0.8; }\n .dplayer .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-input::-ms-input-placeholder {\n color: #fff;\n opacity: 0.8; }\n .dplayer .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-input::placeholder {\n color: #fff;\n opacity: 0.8; }\n .dplayer .dplayer-controller .dplayer-icons.dplayer-icons-left .dplayer-icon {\n padding: 7px; }\n .dplayer .dplayer-controller .dplayer-icons.dplayer-icons-right {\n right: 20px; }\n .dplayer .dplayer-controller .dplayer-icons.dplayer-icons-right .dplayer-icon {\n padding: 8px; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-time,\n .dplayer .dplayer-controller .dplayer-icons .dplayer-live-badge {\n line-height: 38px;\n color: #eee;\n text-shadow: 0 0 2px rgba(0, 0, 0, 0.5);\n vertical-align: middle;\n font-size: 13px;\n cursor: default; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-live-dot {\n display: inline-block;\n width: 6px;\n height: 6px;\n vertical-align: 4%;\n margin-right: 5px;\n content: '';\n border-radius: 6px; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-icon {\n width: 40px;\n height: 100%;\n border: none;\n background-color: transparent;\n outline: none;\n cursor: pointer;\n vertical-align: middle;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n display: inline-block; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-icon .dplayer-icon-content {\n -webkit-transition: all .2s ease-in-out;\n transition: all .2s ease-in-out;\n opacity: .8; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-icon:hover .dplayer-icon-content {\n opacity: 1; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-icon.dplayer-quality-icon {\n color: #fff;\n width: auto;\n line-height: 22px;\n font-size: 14px; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-icon.dplayer-comment-icon {\n padding: 10px 9px 9px; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-icon.dplayer-setting-icon {\n padding-top: 8.5px; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-icon.dplayer-volume-icon {\n width: 43px; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-volume {\n position: relative;\n display: inline-block;\n cursor: pointer !important;\n height: 100%; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-volume:hover .dplayer-volume-bar {\n width: 45px !important; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-volume:hover .dplayer-thumb {\n -webkit-transform: scale(1) !important;\n transform: scale(1) !important; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-volume.dplayer-volume-active .dplayer-volume-bar {\n width: 45px !important; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-volume.dplayer-volume-active .dplayer-thumb {\n -webkit-transform: scale(1) !important;\n transform: scale(1) !important; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-volume .dplayer-volume-bar-wrap {\n display: inline-block;\n margin: 0 10px 0 -5px;\n vertical-align: middle;\n height: 100%; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-volume .dplayer-volume-bar-wrap .dplayer-volume-bar {\n position: relative;\n top: 17px;\n width: 0;\n height: 3px;\n background: #aaa;\n -webkit-transition: all 0.3s ease-in-out;\n transition: all 0.3s ease-in-out; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-volume .dplayer-volume-bar-wrap .dplayer-volume-bar .dplayer-volume-bar-inner {\n position: absolute;\n bottom: 0;\n left: 0;\n height: 100%;\n -webkit-transition: all 0.1s ease;\n transition: all 0.1s ease;\n will-change: width; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-volume .dplayer-volume-bar-wrap .dplayer-volume-bar .dplayer-volume-bar-inner .dplayer-thumb {\n position: absolute;\n top: 0;\n right: 5px;\n margin-top: -4px;\n margin-right: -10px;\n height: 11px;\n width: 11px;\n border-radius: 50%;\n cursor: pointer !important;\n -webkit-transition: all .3s ease-in-out;\n transition: all .3s ease-in-out;\n -webkit-transform: scale(0);\n transform: scale(0); }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-subtitle-btn {\n display: inline-block;\n height: 100%; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-setting {\n display: inline-block;\n height: 100%; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box {\n position: absolute;\n right: 0;\n bottom: 50px;\n -webkit-transform: scale(0);\n transform: scale(0);\n width: 150px;\n border-radius: 2px;\n background: rgba(28, 28, 28, 0.9);\n padding: 7px 0;\n -webkit-transition: all .3s ease-in-out;\n transition: all .3s ease-in-out;\n overflow: hidden;\n z-index: 2; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box > div {\n display: none; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box > div.dplayer-setting-origin-panel {\n display: block; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box.dplayer-setting-box-open {\n -webkit-transform: scale(1);\n transform: scale(1); }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box.dplayer-setting-box-narrow {\n width: 70px;\n height: 180px;\n text-align: center; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box.dplayer-setting-box-speed .dplayer-setting-origin-panel {\n display: none; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box.dplayer-setting-box-speed .dplayer-setting-speed-panel {\n display: block; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-item,\n .dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-speed-item {\n height: 30px;\n padding: 5px 10px;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n cursor: pointer;\n position: relative; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-item:hover,\n .dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-speed-item:hover {\n background-color: rgba(255, 255, 255, 0.1); }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku {\n padding: 5px 0; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-label {\n padding: 0 10px;\n display: inline; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku:hover .dplayer-label {\n display: none; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku:hover .dplayer-danmaku-bar-wrap {\n display: inline-block; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku.dplayer-setting-danmaku-active .dplayer-label {\n display: none; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku.dplayer-setting-danmaku-active .dplayer-danmaku-bar-wrap {\n display: inline-block; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-danmaku-bar-wrap {\n padding: 0 10px;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n display: none;\n vertical-align: middle;\n height: 100%;\n width: 100%; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-danmaku-bar-wrap .dplayer-danmaku-bar {\n position: relative;\n top: 8.5px;\n width: 100%;\n height: 3px;\n background: #fff;\n -webkit-transition: all 0.3s ease-in-out;\n transition: all 0.3s ease-in-out; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-danmaku-bar-wrap .dplayer-danmaku-bar .dplayer-danmaku-bar-inner {\n position: absolute;\n bottom: 0;\n left: 0;\n height: 100%;\n -webkit-transition: all 0.1s ease;\n transition: all 0.1s ease;\n background: #aaa;\n will-change: width; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-danmaku-bar-wrap .dplayer-danmaku-bar .dplayer-danmaku-bar-inner .dplayer-thumb {\n position: absolute;\n top: 0;\n right: 5px;\n margin-top: -4px;\n margin-right: -10px;\n height: 11px;\n width: 11px;\n border-radius: 50%;\n cursor: pointer !important;\n -webkit-transition: all .3s ease-in-out;\n transition: all .3s ease-in-out;\n background: #aaa; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-full {\n display: inline-block;\n height: 100%;\n position: relative; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-full:hover .dplayer-full-in-icon {\n display: block; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-full .dplayer-full-in-icon {\n position: absolute;\n top: -30px;\n z-index: 1;\n display: none; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-quality {\n position: relative;\n display: inline-block;\n height: 100%;\n z-index: 2; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-quality:hover .dplayer-quality-list {\n display: block; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-quality:hover .dplayer-quality-mask {\n display: block; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-quality .dplayer-quality-mask {\n display: none;\n position: absolute;\n bottom: 38px;\n left: -18px;\n width: 80px;\n padding-bottom: 12px; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-quality .dplayer-quality-list {\n display: none;\n font-size: 12px;\n width: 80px;\n border-radius: 2px;\n background: rgba(28, 28, 28, 0.9);\n padding: 5px 0;\n -webkit-transition: all .3s ease-in-out;\n transition: all .3s ease-in-out;\n overflow: hidden;\n color: #fff;\n text-align: center; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-quality .dplayer-quality-item {\n height: 25px;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n cursor: pointer;\n line-height: 25px; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-quality .dplayer-quality-item:hover {\n background-color: rgba(255, 255, 255, 0.1); }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-comment {\n display: inline-block;\n height: 100%; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-label {\n color: #eee;\n font-size: 13px;\n display: inline-block;\n vertical-align: middle;\n white-space: nowrap; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-toggle {\n width: 32px;\n height: 20px;\n text-align: center;\n font-size: 0;\n vertical-align: middle;\n position: absolute;\n top: 5px;\n right: 10px; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-toggle input {\n max-height: 0;\n max-width: 0;\n display: none; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-toggle input + label {\n display: inline-block;\n position: relative;\n -webkit-box-shadow: #dfdfdf 0 0 0 0 inset;\n box-shadow: #dfdfdf 0 0 0 0 inset;\n border: 1px solid #dfdfdf;\n height: 20px;\n width: 32px;\n border-radius: 10px;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n cursor: pointer;\n -webkit-transition: .2s ease-in-out;\n transition: .2s ease-in-out; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-toggle input + label:before {\n content: \"\";\n position: absolute;\n display: block;\n height: 18px;\n width: 18px;\n top: 0;\n left: 0;\n border-radius: 15px;\n -webkit-transition: .2s ease-in-out;\n transition: .2s ease-in-out; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-toggle input + label:after {\n content: \"\";\n position: absolute;\n display: block;\n left: 0;\n top: 0;\n border-radius: 15px;\n background: #fff;\n -webkit-transition: .2s ease-in-out;\n transition: .2s ease-in-out;\n -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);\n height: 18px;\n width: 18px; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-toggle input:checked + label {\n border-color: rgba(255, 255, 255, 0.5); }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-toggle input:checked + label:before {\n width: 30px;\n background: rgba(255, 255, 255, 0.5); }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-toggle input:checked + label:after {\n left: 12px; }\n .dplayer .dplayer-menu {\n position: absolute;\n width: 170px;\n border-radius: 2px;\n background: rgba(28, 28, 28, 0.85);\n padding: 5px 0;\n overflow: hidden;\n z-index: 3;\n display: none; }\n .dplayer .dplayer-menu.dplayer-menu-show {\n display: block; }\n .dplayer .dplayer-menu .dplayer-menu-item {\n height: 30px;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n cursor: pointer; }\n .dplayer .dplayer-menu .dplayer-menu-item:hover {\n background-color: rgba(255, 255, 255, 0.1); }\n .dplayer .dplayer-menu .dplayer-menu-item a {\n display: inline-block;\n padding: 0 10px;\n line-height: 30px;\n color: #eee;\n font-size: 13px;\n display: inline-block;\n vertical-align: middle;\n width: 100%;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden; }\n .dplayer .dplayer-menu .dplayer-menu-item a:hover {\n text-decoration: none; }\n .dplayer .dplayer-logo {\n pointer-events: none;\n position: absolute;\n left: 20px;\n top: 20px;\n max-width: 50px;\n max-height: 50px; }\n .dplayer .dplayer-logo img {\n max-width: 100%;\n max-height: 100%;\n background: none; }\n .dplayer .dplayer-notice {\n opacity: 0;\n position: absolute;\n bottom: 60px;\n left: 20px;\n font-size: 14px;\n border-radius: 2px;\n background: rgba(28, 28, 28, 0.9);\n padding: 7px 20px;\n -webkit-transition: all .3s ease-in-out;\n transition: all .3s ease-in-out;\n overflow: hidden;\n color: #fff;\n pointer-events: none; }\n\n@-webkit-keyframes my-face {\n 2% {\n -webkit-transform: translate(0, 1.5px) rotate(1.5deg);\n transform: translate(0, 1.5px) rotate(1.5deg); }\n 4% {\n -webkit-transform: translate(0, -1.5px) rotate(-0.5deg);\n transform: translate(0, -1.5px) rotate(-0.5deg); }\n 6% {\n -webkit-transform: translate(0, 1.5px) rotate(-1.5deg);\n transform: translate(0, 1.5px) rotate(-1.5deg); }\n 8% {\n -webkit-transform: translate(0, -1.5px) rotate(-1.5deg);\n transform: translate(0, -1.5px) rotate(-1.5deg); }\n 10% {\n -webkit-transform: translate(0, 2.5px) rotate(1.5deg);\n transform: translate(0, 2.5px) rotate(1.5deg); }\n 12% {\n -webkit-transform: translate(0, -0.5px) rotate(1.5deg);\n transform: translate(0, -0.5px) rotate(1.5deg); }\n 14% {\n -webkit-transform: translate(0, -1.5px) rotate(1.5deg);\n transform: translate(0, -1.5px) rotate(1.5deg); }\n 16% {\n -webkit-transform: translate(0, -0.5px) rotate(-1.5deg);\n transform: translate(0, -0.5px) rotate(-1.5deg); }\n 18% {\n -webkit-transform: translate(0, 0.5px) rotate(-1.5deg);\n transform: translate(0, 0.5px) rotate(-1.5deg); }\n 20% {\n -webkit-transform: translate(0, -1.5px) rotate(2.5deg);\n transform: translate(0, -1.5px) rotate(2.5deg); }\n 22% {\n -webkit-transform: translate(0, 0.5px) rotate(-1.5deg);\n transform: translate(0, 0.5px) rotate(-1.5deg); }\n 24% {\n -webkit-transform: translate(0, 1.5px) rotate(1.5deg);\n transform: translate(0, 1.5px) rotate(1.5deg); }\n 26% {\n -webkit-transform: translate(0, 0.5px) rotate(0.5deg);\n transform: translate(0, 0.5px) rotate(0.5deg); }\n 28% {\n -webkit-transform: translate(0, 0.5px) rotate(1.5deg);\n transform: translate(0, 0.5px) rotate(1.5deg); }\n 30% {\n -webkit-transform: translate(0, -0.5px) rotate(2.5deg);\n transform: translate(0, -0.5px) rotate(2.5deg); }\n 32% {\n -webkit-transform: translate(0, 1.5px) rotate(-0.5deg);\n transform: translate(0, 1.5px) rotate(-0.5deg); }\n 34% {\n -webkit-transform: translate(0, 1.5px) rotate(-0.5deg);\n transform: translate(0, 1.5px) rotate(-0.5deg); }\n 36% {\n -webkit-transform: translate(0, -1.5px) rotate(2.5deg);\n transform: translate(0, -1.5px) rotate(2.5deg); }\n 38% {\n -webkit-transform: translate(0, 1.5px) rotate(-1.5deg);\n transform: translate(0, 1.5px) rotate(-1.5deg); }\n 40% {\n -webkit-transform: translate(0, -0.5px) rotate(2.5deg);\n transform: translate(0, -0.5px) rotate(2.5deg); }\n 42% {\n -webkit-transform: translate(0, 2.5px) rotate(-1.5deg);\n transform: translate(0, 2.5px) rotate(-1.5deg); }\n 44% {\n -webkit-transform: translate(0, 1.5px) rotate(0.5deg);\n transform: translate(0, 1.5px) rotate(0.5deg); }\n 46% {\n -webkit-transform: translate(0, -1.5px) rotate(2.5deg);\n transform: translate(0, -1.5px) rotate(2.5deg); }\n 48% {\n -webkit-transform: translate(0, -0.5px) rotate(0.5deg);\n transform: translate(0, -0.5px) rotate(0.5deg); }\n 50% {\n -webkit-transform: translate(0, 0.5px) rotate(0.5deg);\n transform: translate(0, 0.5px) rotate(0.5deg); }\n 52% {\n -webkit-transform: translate(0, 2.5px) rotate(2.5deg);\n transform: translate(0, 2.5px) rotate(2.5deg); }\n 54% {\n -webkit-transform: translate(0, -1.5px) rotate(1.5deg);\n transform: translate(0, -1.5px) rotate(1.5deg); }\n 56% {\n -webkit-transform: translate(0, 2.5px) rotate(2.5deg);\n transform: translate(0, 2.5px) rotate(2.5deg); }\n 58% {\n -webkit-transform: translate(0, 0.5px) rotate(2.5deg);\n transform: translate(0, 0.5px) rotate(2.5deg); }\n 60% {\n -webkit-transform: translate(0, 2.5px) rotate(2.5deg);\n transform: translate(0, 2.5px) rotate(2.5deg); }\n 62% {\n -webkit-transform: translate(0, -0.5px) rotate(2.5deg);\n transform: translate(0, -0.5px) rotate(2.5deg); }\n 64% {\n -webkit-transform: translate(0, -0.5px) rotate(1.5deg);\n transform: translate(0, -0.5px) rotate(1.5deg); }\n 66% {\n -webkit-transform: translate(0, 1.5px) rotate(-0.5deg);\n transform: translate(0, 1.5px) rotate(-0.5deg); }\n 68% {\n -webkit-transform: translate(0, -1.5px) rotate(-0.5deg);\n transform: translate(0, -1.5px) rotate(-0.5deg); }\n 70% {\n -webkit-transform: translate(0, 1.5px) rotate(0.5deg);\n transform: translate(0, 1.5px) rotate(0.5deg); }\n 72% {\n -webkit-transform: translate(0, 2.5px) rotate(1.5deg);\n transform: translate(0, 2.5px) rotate(1.5deg); }\n 74% {\n -webkit-transform: translate(0, -0.5px) rotate(0.5deg);\n transform: translate(0, -0.5px) rotate(0.5deg); }\n 76% {\n -webkit-transform: translate(0, -0.5px) rotate(2.5deg);\n transform: translate(0, -0.5px) rotate(2.5deg); }\n 78% {\n -webkit-transform: translate(0, -0.5px) rotate(1.5deg);\n transform: translate(0, -0.5px) rotate(1.5deg); }\n 80% {\n -webkit-transform: translate(0, 1.5px) rotate(1.5deg);\n transform: translate(0, 1.5px) rotate(1.5deg); }\n 82% {\n -webkit-transform: translate(0, -0.5px) rotate(0.5deg);\n transform: translate(0, -0.5px) rotate(0.5deg); }\n 84% {\n -webkit-transform: translate(0, 1.5px) rotate(2.5deg);\n transform: translate(0, 1.5px) rotate(2.5deg); }\n 86% {\n -webkit-transform: translate(0, -1.5px) rotate(-1.5deg);\n transform: translate(0, -1.5px) rotate(-1.5deg); }\n 88% {\n -webkit-transform: translate(0, -0.5px) rotate(2.5deg);\n transform: translate(0, -0.5px) rotate(2.5deg); }\n 90% {\n -webkit-transform: translate(0, 2.5px) rotate(-0.5deg);\n transform: translate(0, 2.5px) rotate(-0.5deg); }\n 92% {\n -webkit-transform: translate(0, 0.5px) rotate(-0.5deg);\n transform: translate(0, 0.5px) rotate(-0.5deg); }\n 94% {\n -webkit-transform: translate(0, 2.5px) rotate(0.5deg);\n transform: translate(0, 2.5px) rotate(0.5deg); }\n 96% {\n -webkit-transform: translate(0, -0.5px) rotate(1.5deg);\n transform: translate(0, -0.5px) rotate(1.5deg); }\n 98% {\n -webkit-transform: translate(0, -1.5px) rotate(-0.5deg);\n transform: translate(0, -1.5px) rotate(-0.5deg); }\n 0%, 100% {\n -webkit-transform: translate(0, 0) rotate(0deg);\n transform: translate(0, 0) rotate(0deg); } }\n\n@keyframes my-face {\n 2% {\n -webkit-transform: translate(0, 1.5px) rotate(1.5deg);\n transform: translate(0, 1.5px) rotate(1.5deg); }\n 4% {\n -webkit-transform: translate(0, -1.5px) rotate(-0.5deg);\n transform: translate(0, -1.5px) rotate(-0.5deg); }\n 6% {\n -webkit-transform: translate(0, 1.5px) rotate(-1.5deg);\n transform: translate(0, 1.5px) rotate(-1.5deg); }\n 8% {\n -webkit-transform: translate(0, -1.5px) rotate(-1.5deg);\n transform: translate(0, -1.5px) rotate(-1.5deg); }\n 10% {\n -webkit-transform: translate(0, 2.5px) rotate(1.5deg);\n transform: translate(0, 2.5px) rotate(1.5deg); }\n 12% {\n -webkit-transform: translate(0, -0.5px) rotate(1.5deg);\n transform: translate(0, -0.5px) rotate(1.5deg); }\n 14% {\n -webkit-transform: translate(0, -1.5px) rotate(1.5deg);\n transform: translate(0, -1.5px) rotate(1.5deg); }\n 16% {\n -webkit-transform: translate(0, -0.5px) rotate(-1.5deg);\n transform: translate(0, -0.5px) rotate(-1.5deg); }\n 18% {\n -webkit-transform: translate(0, 0.5px) rotate(-1.5deg);\n transform: translate(0, 0.5px) rotate(-1.5deg); }\n 20% {\n -webkit-transform: translate(0, -1.5px) rotate(2.5deg);\n transform: translate(0, -1.5px) rotate(2.5deg); }\n 22% {\n -webkit-transform: translate(0, 0.5px) rotate(-1.5deg);\n transform: translate(0, 0.5px) rotate(-1.5deg); }\n 24% {\n -webkit-transform: translate(0, 1.5px) rotate(1.5deg);\n transform: translate(0, 1.5px) rotate(1.5deg); }\n 26% {\n -webkit-transform: translate(0, 0.5px) rotate(0.5deg);\n transform: translate(0, 0.5px) rotate(0.5deg); }\n 28% {\n -webkit-transform: translate(0, 0.5px) rotate(1.5deg);\n transform: translate(0, 0.5px) rotate(1.5deg); }\n 30% {\n -webkit-transform: translate(0, -0.5px) rotate(2.5deg);\n transform: translate(0, -0.5px) rotate(2.5deg); }\n 32% {\n -webkit-transform: translate(0, 1.5px) rotate(-0.5deg);\n transform: translate(0, 1.5px) rotate(-0.5deg); }\n 34% {\n -webkit-transform: translate(0, 1.5px) rotate(-0.5deg);\n transform: translate(0, 1.5px) rotate(-0.5deg); }\n 36% {\n -webkit-transform: translate(0, -1.5px) rotate(2.5deg);\n transform: translate(0, -1.5px) rotate(2.5deg); }\n 38% {\n -webkit-transform: translate(0, 1.5px) rotate(-1.5deg);\n transform: translate(0, 1.5px) rotate(-1.5deg); }\n 40% {\n -webkit-transform: translate(0, -0.5px) rotate(2.5deg);\n transform: translate(0, -0.5px) rotate(2.5deg); }\n 42% {\n -webkit-transform: translate(0, 2.5px) rotate(-1.5deg);\n transform: translate(0, 2.5px) rotate(-1.5deg); }\n 44% {\n -webkit-transform: translate(0, 1.5px) rotate(0.5deg);\n transform: translate(0, 1.5px) rotate(0.5deg); }\n 46% {\n -webkit-transform: translate(0, -1.5px) rotate(2.5deg);\n transform: translate(0, -1.5px) rotate(2.5deg); }\n 48% {\n -webkit-transform: translate(0, -0.5px) rotate(0.5deg);\n transform: translate(0, -0.5px) rotate(0.5deg); }\n 50% {\n -webkit-transform: translate(0, 0.5px) rotate(0.5deg);\n transform: translate(0, 0.5px) rotate(0.5deg); }\n 52% {\n -webkit-transform: translate(0, 2.5px) rotate(2.5deg);\n transform: translate(0, 2.5px) rotate(2.5deg); }\n 54% {\n -webkit-transform: translate(0, -1.5px) rotate(1.5deg);\n transform: translate(0, -1.5px) rotate(1.5deg); }\n 56% {\n -webkit-transform: translate(0, 2.5px) rotate(2.5deg);\n transform: translate(0, 2.5px) rotate(2.5deg); }\n 58% {\n -webkit-transform: translate(0, 0.5px) rotate(2.5deg);\n transform: translate(0, 0.5px) rotate(2.5deg); }\n 60% {\n -webkit-transform: translate(0, 2.5px) rotate(2.5deg);\n transform: translate(0, 2.5px) rotate(2.5deg); }\n 62% {\n -webkit-transform: translate(0, -0.5px) rotate(2.5deg);\n transform: translate(0, -0.5px) rotate(2.5deg); }\n 64% {\n -webkit-transform: translate(0, -0.5px) rotate(1.5deg);\n transform: translate(0, -0.5px) rotate(1.5deg); }\n 66% {\n -webkit-transform: translate(0, 1.5px) rotate(-0.5deg);\n transform: translate(0, 1.5px) rotate(-0.5deg); }\n 68% {\n -webkit-transform: translate(0, -1.5px) rotate(-0.5deg);\n transform: translate(0, -1.5px) rotate(-0.5deg); }\n 70% {\n -webkit-transform: translate(0, 1.5px) rotate(0.5deg);\n transform: translate(0, 1.5px) rotate(0.5deg); }\n 72% {\n -webkit-transform: translate(0, 2.5px) rotate(1.5deg);\n transform: translate(0, 2.5px) rotate(1.5deg); }\n 74% {\n -webkit-transform: translate(0, -0.5px) rotate(0.5deg);\n transform: translate(0, -0.5px) rotate(0.5deg); }\n 76% {\n -webkit-transform: translate(0, -0.5px) rotate(2.5deg);\n transform: translate(0, -0.5px) rotate(2.5deg); }\n 78% {\n -webkit-transform: translate(0, -0.5px) rotate(1.5deg);\n transform: translate(0, -0.5px) rotate(1.5deg); }\n 80% {\n -webkit-transform: translate(0, 1.5px) rotate(1.5deg);\n transform: translate(0, 1.5px) rotate(1.5deg); }\n 82% {\n -webkit-transform: translate(0, -0.5px) rotate(0.5deg);\n transform: translate(0, -0.5px) rotate(0.5deg); }\n 84% {\n -webkit-transform: translate(0, 1.5px) rotate(2.5deg);\n transform: translate(0, 1.5px) rotate(2.5deg); }\n 86% {\n -webkit-transform: translate(0, -1.5px) rotate(-1.5deg);\n transform: translate(0, -1.5px) rotate(-1.5deg); }\n 88% {\n -webkit-transform: translate(0, -0.5px) rotate(2.5deg);\n transform: translate(0, -0.5px) rotate(2.5deg); }\n 90% {\n -webkit-transform: translate(0, 2.5px) rotate(-0.5deg);\n transform: translate(0, 2.5px) rotate(-0.5deg); }\n 92% {\n -webkit-transform: translate(0, 0.5px) rotate(-0.5deg);\n transform: translate(0, 0.5px) rotate(-0.5deg); }\n 94% {\n -webkit-transform: translate(0, 2.5px) rotate(0.5deg);\n transform: translate(0, 2.5px) rotate(0.5deg); }\n 96% {\n -webkit-transform: translate(0, -0.5px) rotate(1.5deg);\n transform: translate(0, -0.5px) rotate(1.5deg); }\n 98% {\n -webkit-transform: translate(0, -1.5px) rotate(-0.5deg);\n transform: translate(0, -1.5px) rotate(-0.5deg); }\n 0%, 100% {\n -webkit-transform: translate(0, 0) rotate(0deg);\n transform: translate(0, 0) rotate(0deg); } }\n\n[data-balloon]:before {\n display: none; }\n\n[data-balloon]:after {\n padding: 0.3em 0.7em;\n background: rgba(17, 17, 17, 0.7); }\n\n[data-balloon][data-balloon-pos=\"up\"]:after {\n margin-bottom: 0; }\n\n.dplayer-web-fullscreen-fix {\n position: fixed;\n top: 0;\n left: 0;\n margin: 0;\n padding: 0; }\n\n\n\n// WEBPACK FOOTER //\n// ./src/DPlayer.scss"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///./node_modules/balloon-css/balloon.css","webpack:///./src/css/index.scss"],"names":[],"mappings":"AAAA,qBACE,gBAAkB,CAEpB,eACE,kBACA,cAAgB,CAChB,qBASE,iCACA,0BACA,4BACA,2BACA,yBACA,4BACA,kBACA,WACA,2BACA,iBAEA,kBAAoB,CAEtB,2CArBE,wBACA,gEACA,eACA,iBACA,UACA,oBACA,0CACA,kCAWA,kBAEA,UAAY,CAgBE,sBAdd,uQACA,0BACA,WACA,WASA,UAAY,CAGd,8IACE,0BACA,kEACA,eACA,iBACA,UACA,mBAAqB,CACvB,kCACE,uBAAyB,CAC3B,yCACE,eAAiB,CACnB,mFACE,wBACA,eAAiB,CACnB,0CAGE,kBAAoB,CAKtB,qFAPE,YACA,SAEA,uCACA,+BACA,6BACA,oBAAsB,CAQE,2CAJxB,iBAAmB,CAQrB,kOACE,kCACA,yBAA8B,CAChC,+CAEE,OACA,kBAAoB,CAKtB,+FAPE,YAGA,mCACA,2BACA,6BACA,oBAAsB,CAQE,gDALxB,SACA,iBAAmB,CAQrB,sPACE,+BACA,sBAA2B,CAC7B,gDAEE,QACA,kBAAoB,CAKtB,iGAPE,YAGA,mCACA,2BACA,6BACA,oBAAsB,CAQE,iDALxB,UACA,iBAAmB,CAQrB,0PACE,+BACA,sBAA2B,CAC7B,4CAEE,eAAiB,CAInB,yFALE,SAEA,SACA,wCACA,+BAAkC,CAUE,6CARpC,yQACA,0BACA,WACA,WAEA,cAAgB,CAOlB,0OACE,kCACA,yBAA8B,CAChC,iDACE,OACA,gBACA,SACA,oCACA,2BAA+B,CACjC,kDACE,yQACA,0BACA,WACA,WACA,SACA,eACA,SACA,oCACA,2BAA+B,CAIjC,8PACE,+BACA,sBAA2B,CAC7B,kDACE,QACA,gBACA,SACA,oCACA,2BAA+B,CACjC,mDACE,yQACA,0BACA,WACA,WACA,UACA,eACA,SACA,oCACA,2BAA+B,CAIjC,kQACE,+BACA,sBAA2B,CAC7B,4CACE,kBACA,WACA,QACA,uCACA,8BAAiC,CACnC,6CACE,wQACA,0BACA,UACA,YACA,iBACA,WACA,QACA,uCACA,8BAAiC,CAInC,0OACE,mCACA,0BAA8B,CAChC,6CACE,UACA,iBACA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CAA+C,CACzD,IACE,mDACQ,0CAA8C,CACxD,IACE,kDACQ,yCAA+C,CACzD,IACE,mDACQ,0CAA8C,CACxD,IACE,qDACQ,4CAAgD,CAC1D,IACE,mDACQ,0CAA+C,CACzD,IACE,mDACQ,0CAA+C,CACzD,IACE,kDACQ,yCAA+C,CACzD,IACE,kDACQ,yCAA8C,CACxD,IACE,mDACQ,0CAA+C,CACzD,IACE,oDACQ,2CAAgD,CAC1D,MAEE,4CACQ,mCAAwC,CAAE,CAEtD,SACE,kBACA,gBACA,yBACG,sBACC,qBACI,iBACR,aAAe,CACf,WACE,+BACQ,sBAAwB,CAClC,6BACE,WACA,YACA,gBACA,eACA,eACA,OACA,KAAO,CACP,mLAEE,2CACQ,mCACR,oCACQ,2BAA6B,CACvC,0FACE,oCACQ,4BACR,oCACQ,2BAA6B,CAezC,+pBACE,YAAc,CAChB,wCACE,cAAgB,CAClB,qCACE,aAAe,CACjB,gEACE,qCACQ,4BAA8B,CACxC,yBAGE,+FACE,SAAW,CAGb,2GACE,SAAW,CAAE,CACjB,+DACE,aAAe,CACjB,gEACE,oCACQ,2BAA6B,CACvC,iCACE,WAAa,CAKb,+GACE,UACA,mCACQ,0BAA4B,CAGxC,+GACE,SAAW,CACb,wBACE,eACA,eACA,OACA,MACA,WACA,WAAa,CACf,2JAEE,YAAc,CAChB,+FACE,gBACA,oBAAsB,CAE1B,4BACE,eACA,MACA,OACA,SACA,SAAW,CAEb,sBACE,YAAc,CAEhB,qBACE,kBACA,2BAAkC,CAEpC,0CACE,eAAiB,CAEnB,eACE,kBACA,OACA,QACA,MACA,SACA,eACA,WACA,mBAAqB,CACrB,mCACE,kBACA,QACA,SACA,uBACA,YACA,WACA,aACA,8BACQ,sBACR,0BACA,kBACA,UACA,mBAAqB,CACrB,4DACE,wCACQ,+BAAiC,CAE/C,8BACE,GACE,UACA,2BACQ,kBAAoB,CAC9B,GACE,UACA,2BACQ,kBAAoB,CAAE,CAElC,sBACE,GACE,UACA,2BACQ,kBAAoB,CAC9B,GACE,UACA,2BACQ,kBAAoB,CAAE,CAChC,mCACE,kBACA,QACA,gBACA,WACA,kBACA,eACA,iBACA,kDACQ,yCAA2C,CACrD,sCACE,aACA,kBACA,QACA,SACA,uBACA,YACA,WACA,mBAAqB,CACrB,6DACE,YAAc,CAChB,4DACE,8DACQ,sDACR,UACA,UACA,iCACQ,wBAA0B,CAClC,mFACE,4BACQ,mBAAsB,CAChC,mFACE,4BACQ,mBAAsB,CAChC,mFACE,4BACQ,mBAAsB,CAChC,mFACE,4BACQ,mBAAsB,CAChC,mFACE,4BACQ,mBAAsB,CAChC,mFACE,4BACQ,mBAAsB,CAChC,mFACE,4BACQ,mBAAsB,CAEtC,6CACE,GACE,WACA,6BACQ,oBAA2B,CACrC,IACE,YACA,4BACQ,mBAA2B,CACrC,GACE,YACA,6BACQ,oBAA6B,CAAE,CAE3C,qCACE,GACE,WACA,6BACQ,oBAA2B,CACrC,IACE,YACA,4BACQ,mBAA2B,CACrC,GACE,YACA,6BACQ,oBAA6B,CAAE,CAE3C,yBACE,mSACA,YACA,UAAY,CAMd,6CALE,kBACA,SACA,gCACA,uBAA0B,CAcE,oBAT5B,OACA,QACA,YACA,eACA,yBACG,sBACC,qBACI,gBAAkB,CAG1B,8DACE,YAAc,CAChB,kFACE,aAAe,CACjB,sCACE,cACA,eACA,kBACA,YACA,wBACA,UAAY,CACZ,wFACE,2BACQ,kBAAoB,CAC9B,2DACE,kBACA,gBACA,oBACA,aACA,yBAA2B,CAC7B,kEACE,kBACA,WACA,YACA,UACA,mBAAqB,CACvB,wDACE,kBACA,OACA,UACA,WACA,kBACA,gBACA,iCACA,WACA,eACA,kBACA,UACA,2CACA,mCACA,iBACA,kBACA,UACA,mBAAqB,CACrB,+DACE,SAAW,CACf,mDACE,kBACA,WACA,WACA,8BACA,cAAgB,CAChB,mEAKE,8BAEA,gCACA,uBAA0B,CAE5B,sIATE,kBACA,OACA,MACA,SAEA,WAGA,iBAAmB,CAQnB,kFACE,kBACA,MACA,UACA,gBACA,mBACA,YACA,WACA,kBACA,eACA,uCACA,+BACA,2BACQ,kBAAoB,CACpC,mCACE,YACA,kBACA,QAAU,CACV,uDACE,aACA,kBACA,uCACA,+BACA,UACA,YACA,SACA,UACA,WACA,UAAY,CACZ,qEACE,WAAa,CACf,qFACE,kBACA,OACA,KAAO,CACT,0EACE,kBACA,QACA,KAAO,CACT,oFACE,kBACA,6BACA,YACA,OACA,2CACQ,mCACR,kBACA,uBACA,eACA,YACA,uCACA,+BACA,2BACQ,kBAAoB,CAC5B,iHACE,2BACQ,kBAAoB,CAC9B,sGACE,YAAc,CAChB,0FACE,cAAgB,CAClB,mHACE,eACA,WACA,gBAAkB,CACpB,kHACE,WAAa,CACb,iJACE,iBAAmB,CACrB,0IACE,yBAA2B,CAC7B,0IACE,yBAA2B,CAC7B,uHACE,UACA,gBACA,iBACA,qBACA,eACA,WACA,sBACA,kBACA,8BACQ,sBACR,kBACA,cAAgB,CAClB,qIACE,mBACA,aAAe,CACnB,mHACE,WAAa,CACb,yHACE,YACA,YACA,oBAAsB,CACxB,wHACE,WACA,YACA,qBACA,kBACA,8BACQ,sBACR,cAAgB,CAChB,8HACE,kDACQ,yCAA2C,CAC3D,8EACE,aACA,YACA,iBACA,eACA,iBACA,kBACA,kBACA,gBACA,SACA,YACA,8BACQ,sBACR,WACA,UAAY,CACZ,yGACE,WACA,UAAa,CAIf,yMACE,WACA,UAAa,CACf,2FACE,WACA,UAAa,CACnB,oEACE,WAAa,CACf,uDACE,UAAY,CACZ,qEACE,WAAa,CACjB,wGAEE,iBACA,WACA,mCACA,sBACA,eACA,cAAgB,CAClB,qDACE,qBACA,UACA,WACA,kBACA,iBACA,WACA,iBAAmB,CACrB,iDACE,WACA,YACA,YACA,6BACA,aACA,eACA,sBACA,8BACQ,sBACR,oBAAsB,CACtB,uEACE,uCACA,+BACA,UAAY,CACd,6EACE,SAAW,CACb,sEACE,WACA,WACA,iBACA,cAAgB,CAClB,sEACE,oBAAsB,CACxB,sEACE,iBAAmB,CACrB,qEACE,UAAY,CAChB,mDACE,kBACA,qBACA,eACA,WAAa,CACb,sGACE,UAAY,CACd,+IACE,2BACQ,kBAAoB,CAC9B,sHACE,UAAY,CACd,+JACE,2BACQ,kBAAoB,CAC9B,4EACE,qBACA,qBACA,sBACA,WAAa,CACb,gGACE,kBACA,SACA,QACA,WACA,gBACA,uCACA,8BAAiC,CACjC,0HACE,kBACA,SACA,OACA,YACA,gCACA,wBACA,iBAAmB,CACnB,yIACE,kBACA,MACA,UACA,gBACA,mBACA,YACA,WACA,kBACA,eACA,uCACA,+BACA,2BACQ,kBAAoB,CAItC,6GACE,qBACA,WAAa,CACb,yEACE,kBACA,QACA,YACA,2BACQ,mBACR,YACA,kBACA,6BACA,cACA,uCACA,+BACA,gBACA,SAAW,CACX,6EACE,YAAc,CACd,0GACE,aAAe,CACnB,kGACE,2BACQ,kBAAoB,CAC9B,oGACE,WACA,aACA,iBAAmB,CACrB,iIACE,YAAc,CAChB,gIACE,aAAe,CACnB,0JAEE,YACA,iBACA,8BACQ,sBACR,eACA,iBAAmB,CACnB,sKAEE,mCAA2C,CAC/C,6EACE,aAAe,CACf,4FACE,eACA,cAAgB,CAClB,kGACE,YAAc,CAChB,6GACE,oBAAsB,CACxB,2HACE,YAAc,CAChB,sIACE,oBAAsB,CACxB,uGACE,eACA,8BACQ,sBACR,aACA,sBACA,YACA,UAAY,CACZ,4HACE,kBACA,UACA,WACA,WACA,gBACA,uCACA,8BAAiC,CACjC,uJACE,kBACA,SACA,OACA,YACA,gCACA,wBACA,gBACA,iBAAmB,CACnB,sKACE,kBACA,MACA,UACA,gBACA,mBACA,YACA,WACA,kBACA,eACA,uCACA,+BACA,eAAiB,CAC7B,iDACE,qBACA,YACA,iBAAmB,CACnB,6EACE,aAAe,CACjB,uEACE,kBACA,UACA,UACA,YAAc,CAClB,oDACE,kBACA,qBACA,YACA,SAAW,CAGX,gKACE,aAAe,CACjB,0EACE,aACA,kBACA,YACA,WACA,WACA,mBAAqB,CACvB,0EACE,aACA,eACA,WACA,kBACA,6BACA,cACA,uCACA,+BACA,gBACA,WACA,iBAAmB,CACrB,0EACE,YACA,8BACQ,sBACR,eACA,gBAAkB,CAClB,gFACE,mCAA2C,CACjD,oDACE,qBACA,WAAa,CACf,kDACE,WACA,eACA,qBACA,sBACA,kBAAoB,CACtB,mDACE,WACA,YACA,kBACA,YACA,sBACA,kBACA,QACA,UAAY,CACZ,yDACE,aACA,YACA,YAAc,CAChB,+DACE,qBACA,kBACA,yCACQ,iCACR,yBACA,YACA,WACA,mBACA,8BACQ,sBACR,eACA,mCACA,0BAA4B,CAY9B,2IAVE,WACA,kBACA,cACA,YACA,WACA,MACA,OACA,mBACA,mCACA,0BAA4B,CAcd,qEANd,gBAGA,4CACQ,mCAAyC,CAGnD,uEACE,+BAAuC,CACzC,8EACE,WACA,6BAAqC,CACvC,6EACE,SAAW,CAEnB,iBACE,kBACA,OACA,QACA,MACA,SACA,eACA,UAAY,CACZ,uCACE,qBACA,oBACA,yBACG,sBACC,qBACI,iBACR,eACA,mBACA,yCAAkD,CAClD,6CACE,kBACA,iBAAmB,CACvB,wCACE,kBACA,QACA,mCACQ,0BAA4B,CACpC,6DACE,sBACA,oCACQ,4BACR,oCACQ,2BAA6B,CAE3C,2BACE,GACE,mCACQ,0BAA4B,CAAE,CAE1C,mBACE,GACE,mCACQ,0BAA4B,CAAE,CACxC,+EAEE,kBACA,WACA,kBACA,iBAAmB,CACnB,yHAEE,uBACA,2CACQ,mCACR,oCACQ,2BAA6B,CAE3C,kCACE,GACE,kBAAoB,CACtB,GACE,kBAAoB,CAAE,CAE1B,0BACE,GACE,kBAAoB,CACtB,GACE,kBAAoB,CAAE,CAE1B,cACE,oBACA,kBACA,UACA,SACA,eACA,eAAiB,CACjB,kBACE,eACA,gBACA,eAAiB,CAErB,cACE,kBACA,YACA,kBACA,8BACA,cACA,gBACA,UACA,YAAc,CACd,gCACE,aAAe,CACjB,iCACE,YACA,8BACQ,sBACR,cAAgB,CAChB,uCACE,mCAA2C,CAC7C,mCAEE,eACA,iBACA,WACA,eACA,qBACA,sBACA,WACA,8BACQ,sBACR,mBACA,uBACA,eAAiB,CACjB,yCACE,oBAAsB,CAE9B,gBACE,UACA,kBACA,YACA,UACA,eACA,kBACA,6BACA,iBACA,uCACA,+BACA,gBACA,WACA,mBAAqB,CAEvB,kBACE,kBACA,YACA,UACA,QACA,kBACA,WACA,0CACA,cAAgB,CAChB,wCACE,YAAc,CAElB,cACE,kBACA,MACA,SACA,OACA,QACA,UACA,YAAc,CACd,gCACE,aAAe,CAEnB,oBACE,kBACA,gBACA,YACA,WACA,WAAa,CACb,mCACE,WACA,YACA,YAAc,CAChB,2CACE,aAAe,CACjB,2CACE,YAAc","file":"DPlayer.min.css","sourcesContent":["button[data-balloon] {\n overflow: visible; }\n\n[data-balloon] {\n position: relative;\n cursor: pointer; }\n [data-balloon]:after {\n filter: alpha(opactiy=0);\n -ms-filter: \"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)\";\n -moz-opacity: 0;\n -khtml-opacity: 0;\n opacity: 0;\n pointer-events: none;\n -webkit-transition: all 0.18s ease-out 0.18s;\n transition: all 0.18s ease-out 0.18s;\n font-family: sans-serif !important;\n font-weight: normal !important;\n font-style: normal !important;\n text-shadow: none !important;\n font-size: 12px !important;\n background: rgba(17, 17, 17, 0.9);\n border-radius: 4px;\n color: #fff;\n content: attr(data-balloon);\n padding: .5em 1em;\n position: absolute;\n white-space: nowrap;\n z-index: 10; }\n [data-balloon]:before {\n background: no-repeat url(\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20width%3D%2236px%22%20height%3D%2212px%22%3E%3Cpath%20fill%3D%22rgba(17, 17, 17, 0.9)%22%20transform%3D%22rotate(0)%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E\");\n background-size: 100% auto;\n width: 18px;\n height: 6px;\n filter: alpha(opactiy=0);\n -ms-filter: \"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)\";\n -moz-opacity: 0;\n -khtml-opacity: 0;\n opacity: 0;\n pointer-events: none;\n -webkit-transition: all 0.18s ease-out 0.18s;\n transition: all 0.18s ease-out 0.18s;\n content: '';\n position: absolute;\n z-index: 10; }\n [data-balloon]:hover:before, [data-balloon]:hover:after, [data-balloon][data-balloon-visible]:before, [data-balloon][data-balloon-visible]:after {\n filter: alpha(opactiy=100);\n -ms-filter: \"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)\";\n -moz-opacity: 1;\n -khtml-opacity: 1;\n opacity: 1;\n pointer-events: auto; }\n [data-balloon].font-awesome:after {\n font-family: FontAwesome; }\n [data-balloon][data-balloon-break]:after {\n white-space: pre; }\n [data-balloon][data-balloon-blunt]:before, [data-balloon][data-balloon-blunt]:after {\n -webkit-transition: none;\n transition: none; }\n [data-balloon][data-balloon-pos=\"up\"]:after {\n bottom: 100%;\n left: 50%;\n margin-bottom: 11px;\n -webkit-transform: translate(-50%, 10px);\n transform: translate(-50%, 10px);\n -webkit-transform-origin: top;\n transform-origin: top; }\n [data-balloon][data-balloon-pos=\"up\"]:before {\n bottom: 100%;\n left: 50%;\n margin-bottom: 5px;\n -webkit-transform: translate(-50%, 10px);\n transform: translate(-50%, 10px);\n -webkit-transform-origin: top;\n transform-origin: top; }\n [data-balloon][data-balloon-pos=\"up\"]:hover:after, [data-balloon][data-balloon-pos=\"up\"][data-balloon-visible]:after {\n -webkit-transform: translate(-50%, 0);\n transform: translate(-50%, 0); }\n [data-balloon][data-balloon-pos=\"up\"]:hover:before, [data-balloon][data-balloon-pos=\"up\"][data-balloon-visible]:before {\n -webkit-transform: translate(-50%, 0);\n transform: translate(-50%, 0); }\n [data-balloon][data-balloon-pos=\"up-left\"]:after {\n bottom: 100%;\n left: 0;\n margin-bottom: 11px;\n -webkit-transform: translate(0, 10px);\n transform: translate(0, 10px);\n -webkit-transform-origin: top;\n transform-origin: top; }\n [data-balloon][data-balloon-pos=\"up-left\"]:before {\n bottom: 100%;\n left: 5px;\n margin-bottom: 5px;\n -webkit-transform: translate(0, 10px);\n transform: translate(0, 10px);\n -webkit-transform-origin: top;\n transform-origin: top; }\n [data-balloon][data-balloon-pos=\"up-left\"]:hover:after, [data-balloon][data-balloon-pos=\"up-left\"][data-balloon-visible]:after {\n -webkit-transform: translate(0, 0);\n transform: translate(0, 0); }\n [data-balloon][data-balloon-pos=\"up-left\"]:hover:before, [data-balloon][data-balloon-pos=\"up-left\"][data-balloon-visible]:before {\n -webkit-transform: translate(0, 0);\n transform: translate(0, 0); }\n [data-balloon][data-balloon-pos=\"up-right\"]:after {\n bottom: 100%;\n right: 0;\n margin-bottom: 11px;\n -webkit-transform: translate(0, 10px);\n transform: translate(0, 10px);\n -webkit-transform-origin: top;\n transform-origin: top; }\n [data-balloon][data-balloon-pos=\"up-right\"]:before {\n bottom: 100%;\n right: 5px;\n margin-bottom: 5px;\n -webkit-transform: translate(0, 10px);\n transform: translate(0, 10px);\n -webkit-transform-origin: top;\n transform-origin: top; }\n [data-balloon][data-balloon-pos=\"up-right\"]:hover:after, [data-balloon][data-balloon-pos=\"up-right\"][data-balloon-visible]:after {\n -webkit-transform: translate(0, 0);\n transform: translate(0, 0); }\n [data-balloon][data-balloon-pos=\"up-right\"]:hover:before, [data-balloon][data-balloon-pos=\"up-right\"][data-balloon-visible]:before {\n -webkit-transform: translate(0, 0);\n transform: translate(0, 0); }\n [data-balloon][data-balloon-pos='down']:after {\n left: 50%;\n margin-top: 11px;\n top: 100%;\n -webkit-transform: translate(-50%, -10px);\n transform: translate(-50%, -10px); }\n [data-balloon][data-balloon-pos='down']:before {\n background: no-repeat url(\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20width%3D%2236px%22%20height%3D%2212px%22%3E%3Cpath%20fill%3D%22rgba(17, 17, 17, 0.9)%22%20transform%3D%22rotate(180 18 6)%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E\");\n background-size: 100% auto;\n width: 18px;\n height: 6px;\n left: 50%;\n margin-top: 5px;\n top: 100%;\n -webkit-transform: translate(-50%, -10px);\n transform: translate(-50%, -10px); }\n [data-balloon][data-balloon-pos='down']:hover:after, [data-balloon][data-balloon-pos='down'][data-balloon-visible]:after {\n -webkit-transform: translate(-50%, 0);\n transform: translate(-50%, 0); }\n [data-balloon][data-balloon-pos='down']:hover:before, [data-balloon][data-balloon-pos='down'][data-balloon-visible]:before {\n -webkit-transform: translate(-50%, 0);\n transform: translate(-50%, 0); }\n [data-balloon][data-balloon-pos='down-left']:after {\n left: 0;\n margin-top: 11px;\n top: 100%;\n -webkit-transform: translate(0, -10px);\n transform: translate(0, -10px); }\n [data-balloon][data-balloon-pos='down-left']:before {\n background: no-repeat url(\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20width%3D%2236px%22%20height%3D%2212px%22%3E%3Cpath%20fill%3D%22rgba(17, 17, 17, 0.9)%22%20transform%3D%22rotate(180 18 6)%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E\");\n background-size: 100% auto;\n width: 18px;\n height: 6px;\n left: 5px;\n margin-top: 5px;\n top: 100%;\n -webkit-transform: translate(0, -10px);\n transform: translate(0, -10px); }\n [data-balloon][data-balloon-pos='down-left']:hover:after, [data-balloon][data-balloon-pos='down-left'][data-balloon-visible]:after {\n -webkit-transform: translate(0, 0);\n transform: translate(0, 0); }\n [data-balloon][data-balloon-pos='down-left']:hover:before, [data-balloon][data-balloon-pos='down-left'][data-balloon-visible]:before {\n -webkit-transform: translate(0, 0);\n transform: translate(0, 0); }\n [data-balloon][data-balloon-pos='down-right']:after {\n right: 0;\n margin-top: 11px;\n top: 100%;\n -webkit-transform: translate(0, -10px);\n transform: translate(0, -10px); }\n [data-balloon][data-balloon-pos='down-right']:before {\n background: no-repeat url(\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20width%3D%2236px%22%20height%3D%2212px%22%3E%3Cpath%20fill%3D%22rgba(17, 17, 17, 0.9)%22%20transform%3D%22rotate(180 18 6)%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E\");\n background-size: 100% auto;\n width: 18px;\n height: 6px;\n right: 5px;\n margin-top: 5px;\n top: 100%;\n -webkit-transform: translate(0, -10px);\n transform: translate(0, -10px); }\n [data-balloon][data-balloon-pos='down-right']:hover:after, [data-balloon][data-balloon-pos='down-right'][data-balloon-visible]:after {\n -webkit-transform: translate(0, 0);\n transform: translate(0, 0); }\n [data-balloon][data-balloon-pos='down-right']:hover:before, [data-balloon][data-balloon-pos='down-right'][data-balloon-visible]:before {\n -webkit-transform: translate(0, 0);\n transform: translate(0, 0); }\n [data-balloon][data-balloon-pos='left']:after {\n margin-right: 11px;\n right: 100%;\n top: 50%;\n -webkit-transform: translate(10px, -50%);\n transform: translate(10px, -50%); }\n [data-balloon][data-balloon-pos='left']:before {\n background: no-repeat url(\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20width%3D%2212px%22%20height%3D%2236px%22%3E%3Cpath%20fill%3D%22rgba(17, 17, 17, 0.9)%22%20transform%3D%22rotate(-90 18 18)%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E\");\n background-size: 100% auto;\n width: 6px;\n height: 18px;\n margin-right: 5px;\n right: 100%;\n top: 50%;\n -webkit-transform: translate(10px, -50%);\n transform: translate(10px, -50%); }\n [data-balloon][data-balloon-pos='left']:hover:after, [data-balloon][data-balloon-pos='left'][data-balloon-visible]:after {\n -webkit-transform: translate(0, -50%);\n transform: translate(0, -50%); }\n [data-balloon][data-balloon-pos='left']:hover:before, [data-balloon][data-balloon-pos='left'][data-balloon-visible]:before {\n -webkit-transform: translate(0, -50%);\n transform: translate(0, -50%); }\n [data-balloon][data-balloon-pos='right']:after {\n left: 100%;\n margin-left: 11px;\n top: 50%;\n -webkit-transform: translate(-10px, -50%);\n transform: translate(-10px, -50%); }\n [data-balloon][data-balloon-pos='right']:before {\n background: no-repeat url(\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20width%3D%2212px%22%20height%3D%2236px%22%3E%3Cpath%20fill%3D%22rgba(17, 17, 17, 0.9)%22%20transform%3D%22rotate(90 6 6)%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E\");\n background-size: 100% auto;\n width: 6px;\n height: 18px;\n left: 100%;\n margin-left: 5px;\n top: 50%;\n -webkit-transform: translate(-10px, -50%);\n transform: translate(-10px, -50%); }\n [data-balloon][data-balloon-pos='right']:hover:after, [data-balloon][data-balloon-pos='right'][data-balloon-visible]:after {\n -webkit-transform: translate(0, -50%);\n transform: translate(0, -50%); }\n [data-balloon][data-balloon-pos='right']:hover:before, [data-balloon][data-balloon-pos='right'][data-balloon-visible]:before {\n -webkit-transform: translate(0, -50%);\n transform: translate(0, -50%); }\n [data-balloon][data-balloon-length='small']:after {\n white-space: normal;\n width: 80px; }\n [data-balloon][data-balloon-length='medium']:after {\n white-space: normal;\n width: 150px; }\n [data-balloon][data-balloon-length='large']:after {\n white-space: normal;\n width: 260px; }\n [data-balloon][data-balloon-length='xlarge']:after {\n white-space: normal;\n width: 380px; }\n @media screen and (max-width: 768px) {\n [data-balloon][data-balloon-length='xlarge']:after {\n white-space: normal;\n width: 90vw; } }\n [data-balloon][data-balloon-length='fit']:after {\n white-space: normal;\n width: 100%; }\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/balloon-css/balloon.css","@import url(../../node_modules/balloon-css/balloon.css);\n@-webkit-keyframes my-face {\n 2% {\n -webkit-transform: translate(0, 1.5px) rotate(1.5deg);\n transform: translate(0, 1.5px) rotate(1.5deg); }\n 4% {\n -webkit-transform: translate(0, -1.5px) rotate(-0.5deg);\n transform: translate(0, -1.5px) rotate(-0.5deg); }\n 6% {\n -webkit-transform: translate(0, 1.5px) rotate(-1.5deg);\n transform: translate(0, 1.5px) rotate(-1.5deg); }\n 8% {\n -webkit-transform: translate(0, -1.5px) rotate(-1.5deg);\n transform: translate(0, -1.5px) rotate(-1.5deg); }\n 10% {\n -webkit-transform: translate(0, 2.5px) rotate(1.5deg);\n transform: translate(0, 2.5px) rotate(1.5deg); }\n 12% {\n -webkit-transform: translate(0, -0.5px) rotate(1.5deg);\n transform: translate(0, -0.5px) rotate(1.5deg); }\n 14% {\n -webkit-transform: translate(0, -1.5px) rotate(1.5deg);\n transform: translate(0, -1.5px) rotate(1.5deg); }\n 16% {\n -webkit-transform: translate(0, -0.5px) rotate(-1.5deg);\n transform: translate(0, -0.5px) rotate(-1.5deg); }\n 18% {\n -webkit-transform: translate(0, 0.5px) rotate(-1.5deg);\n transform: translate(0, 0.5px) rotate(-1.5deg); }\n 20% {\n -webkit-transform: translate(0, -1.5px) rotate(2.5deg);\n transform: translate(0, -1.5px) rotate(2.5deg); }\n 22% {\n -webkit-transform: translate(0, 0.5px) rotate(-1.5deg);\n transform: translate(0, 0.5px) rotate(-1.5deg); }\n 24% {\n -webkit-transform: translate(0, 1.5px) rotate(1.5deg);\n transform: translate(0, 1.5px) rotate(1.5deg); }\n 26% {\n -webkit-transform: translate(0, 0.5px) rotate(0.5deg);\n transform: translate(0, 0.5px) rotate(0.5deg); }\n 28% {\n -webkit-transform: translate(0, 0.5px) rotate(1.5deg);\n transform: translate(0, 0.5px) rotate(1.5deg); }\n 30% {\n -webkit-transform: translate(0, -0.5px) rotate(2.5deg);\n transform: translate(0, -0.5px) rotate(2.5deg); }\n 32% {\n -webkit-transform: translate(0, 1.5px) rotate(-0.5deg);\n transform: translate(0, 1.5px) rotate(-0.5deg); }\n 34% {\n -webkit-transform: translate(0, 1.5px) rotate(-0.5deg);\n transform: translate(0, 1.5px) rotate(-0.5deg); }\n 36% {\n -webkit-transform: translate(0, -1.5px) rotate(2.5deg);\n transform: translate(0, -1.5px) rotate(2.5deg); }\n 38% {\n -webkit-transform: translate(0, 1.5px) rotate(-1.5deg);\n transform: translate(0, 1.5px) rotate(-1.5deg); }\n 40% {\n -webkit-transform: translate(0, -0.5px) rotate(2.5deg);\n transform: translate(0, -0.5px) rotate(2.5deg); }\n 42% {\n -webkit-transform: translate(0, 2.5px) rotate(-1.5deg);\n transform: translate(0, 2.5px) rotate(-1.5deg); }\n 44% {\n -webkit-transform: translate(0, 1.5px) rotate(0.5deg);\n transform: translate(0, 1.5px) rotate(0.5deg); }\n 46% {\n -webkit-transform: translate(0, -1.5px) rotate(2.5deg);\n transform: translate(0, -1.5px) rotate(2.5deg); }\n 48% {\n -webkit-transform: translate(0, -0.5px) rotate(0.5deg);\n transform: translate(0, -0.5px) rotate(0.5deg); }\n 50% {\n -webkit-transform: translate(0, 0.5px) rotate(0.5deg);\n transform: translate(0, 0.5px) rotate(0.5deg); }\n 52% {\n -webkit-transform: translate(0, 2.5px) rotate(2.5deg);\n transform: translate(0, 2.5px) rotate(2.5deg); }\n 54% {\n -webkit-transform: translate(0, -1.5px) rotate(1.5deg);\n transform: translate(0, -1.5px) rotate(1.5deg); }\n 56% {\n -webkit-transform: translate(0, 2.5px) rotate(2.5deg);\n transform: translate(0, 2.5px) rotate(2.5deg); }\n 58% {\n -webkit-transform: translate(0, 0.5px) rotate(2.5deg);\n transform: translate(0, 0.5px) rotate(2.5deg); }\n 60% {\n -webkit-transform: translate(0, 2.5px) rotate(2.5deg);\n transform: translate(0, 2.5px) rotate(2.5deg); }\n 62% {\n -webkit-transform: translate(0, -0.5px) rotate(2.5deg);\n transform: translate(0, -0.5px) rotate(2.5deg); }\n 64% {\n -webkit-transform: translate(0, -0.5px) rotate(1.5deg);\n transform: translate(0, -0.5px) rotate(1.5deg); }\n 66% {\n -webkit-transform: translate(0, 1.5px) rotate(-0.5deg);\n transform: translate(0, 1.5px) rotate(-0.5deg); }\n 68% {\n -webkit-transform: translate(0, -1.5px) rotate(-0.5deg);\n transform: translate(0, -1.5px) rotate(-0.5deg); }\n 70% {\n -webkit-transform: translate(0, 1.5px) rotate(0.5deg);\n transform: translate(0, 1.5px) rotate(0.5deg); }\n 72% {\n -webkit-transform: translate(0, 2.5px) rotate(1.5deg);\n transform: translate(0, 2.5px) rotate(1.5deg); }\n 74% {\n -webkit-transform: translate(0, -0.5px) rotate(0.5deg);\n transform: translate(0, -0.5px) rotate(0.5deg); }\n 76% {\n -webkit-transform: translate(0, -0.5px) rotate(2.5deg);\n transform: translate(0, -0.5px) rotate(2.5deg); }\n 78% {\n -webkit-transform: translate(0, -0.5px) rotate(1.5deg);\n transform: translate(0, -0.5px) rotate(1.5deg); }\n 80% {\n -webkit-transform: translate(0, 1.5px) rotate(1.5deg);\n transform: translate(0, 1.5px) rotate(1.5deg); }\n 82% {\n -webkit-transform: translate(0, -0.5px) rotate(0.5deg);\n transform: translate(0, -0.5px) rotate(0.5deg); }\n 84% {\n -webkit-transform: translate(0, 1.5px) rotate(2.5deg);\n transform: translate(0, 1.5px) rotate(2.5deg); }\n 86% {\n -webkit-transform: translate(0, -1.5px) rotate(-1.5deg);\n transform: translate(0, -1.5px) rotate(-1.5deg); }\n 88% {\n -webkit-transform: translate(0, -0.5px) rotate(2.5deg);\n transform: translate(0, -0.5px) rotate(2.5deg); }\n 90% {\n -webkit-transform: translate(0, 2.5px) rotate(-0.5deg);\n transform: translate(0, 2.5px) rotate(-0.5deg); }\n 92% {\n -webkit-transform: translate(0, 0.5px) rotate(-0.5deg);\n transform: translate(0, 0.5px) rotate(-0.5deg); }\n 94% {\n -webkit-transform: translate(0, 2.5px) rotate(0.5deg);\n transform: translate(0, 2.5px) rotate(0.5deg); }\n 96% {\n -webkit-transform: translate(0, -0.5px) rotate(1.5deg);\n transform: translate(0, -0.5px) rotate(1.5deg); }\n 98% {\n -webkit-transform: translate(0, -1.5px) rotate(-0.5deg);\n transform: translate(0, -1.5px) rotate(-0.5deg); }\n 0%,\n 100% {\n -webkit-transform: translate(0, 0) rotate(0deg);\n transform: translate(0, 0) rotate(0deg); } }\n@keyframes my-face {\n 2% {\n -webkit-transform: translate(0, 1.5px) rotate(1.5deg);\n transform: translate(0, 1.5px) rotate(1.5deg); }\n 4% {\n -webkit-transform: translate(0, -1.5px) rotate(-0.5deg);\n transform: translate(0, -1.5px) rotate(-0.5deg); }\n 6% {\n -webkit-transform: translate(0, 1.5px) rotate(-1.5deg);\n transform: translate(0, 1.5px) rotate(-1.5deg); }\n 8% {\n -webkit-transform: translate(0, -1.5px) rotate(-1.5deg);\n transform: translate(0, -1.5px) rotate(-1.5deg); }\n 10% {\n -webkit-transform: translate(0, 2.5px) rotate(1.5deg);\n transform: translate(0, 2.5px) rotate(1.5deg); }\n 12% {\n -webkit-transform: translate(0, -0.5px) rotate(1.5deg);\n transform: translate(0, -0.5px) rotate(1.5deg); }\n 14% {\n -webkit-transform: translate(0, -1.5px) rotate(1.5deg);\n transform: translate(0, -1.5px) rotate(1.5deg); }\n 16% {\n -webkit-transform: translate(0, -0.5px) rotate(-1.5deg);\n transform: translate(0, -0.5px) rotate(-1.5deg); }\n 18% {\n -webkit-transform: translate(0, 0.5px) rotate(-1.5deg);\n transform: translate(0, 0.5px) rotate(-1.5deg); }\n 20% {\n -webkit-transform: translate(0, -1.5px) rotate(2.5deg);\n transform: translate(0, -1.5px) rotate(2.5deg); }\n 22% {\n -webkit-transform: translate(0, 0.5px) rotate(-1.5deg);\n transform: translate(0, 0.5px) rotate(-1.5deg); }\n 24% {\n -webkit-transform: translate(0, 1.5px) rotate(1.5deg);\n transform: translate(0, 1.5px) rotate(1.5deg); }\n 26% {\n -webkit-transform: translate(0, 0.5px) rotate(0.5deg);\n transform: translate(0, 0.5px) rotate(0.5deg); }\n 28% {\n -webkit-transform: translate(0, 0.5px) rotate(1.5deg);\n transform: translate(0, 0.5px) rotate(1.5deg); }\n 30% {\n -webkit-transform: translate(0, -0.5px) rotate(2.5deg);\n transform: translate(0, -0.5px) rotate(2.5deg); }\n 32% {\n -webkit-transform: translate(0, 1.5px) rotate(-0.5deg);\n transform: translate(0, 1.5px) rotate(-0.5deg); }\n 34% {\n -webkit-transform: translate(0, 1.5px) rotate(-0.5deg);\n transform: translate(0, 1.5px) rotate(-0.5deg); }\n 36% {\n -webkit-transform: translate(0, -1.5px) rotate(2.5deg);\n transform: translate(0, -1.5px) rotate(2.5deg); }\n 38% {\n -webkit-transform: translate(0, 1.5px) rotate(-1.5deg);\n transform: translate(0, 1.5px) rotate(-1.5deg); }\n 40% {\n -webkit-transform: translate(0, -0.5px) rotate(2.5deg);\n transform: translate(0, -0.5px) rotate(2.5deg); }\n 42% {\n -webkit-transform: translate(0, 2.5px) rotate(-1.5deg);\n transform: translate(0, 2.5px) rotate(-1.5deg); }\n 44% {\n -webkit-transform: translate(0, 1.5px) rotate(0.5deg);\n transform: translate(0, 1.5px) rotate(0.5deg); }\n 46% {\n -webkit-transform: translate(0, -1.5px) rotate(2.5deg);\n transform: translate(0, -1.5px) rotate(2.5deg); }\n 48% {\n -webkit-transform: translate(0, -0.5px) rotate(0.5deg);\n transform: translate(0, -0.5px) rotate(0.5deg); }\n 50% {\n -webkit-transform: translate(0, 0.5px) rotate(0.5deg);\n transform: translate(0, 0.5px) rotate(0.5deg); }\n 52% {\n -webkit-transform: translate(0, 2.5px) rotate(2.5deg);\n transform: translate(0, 2.5px) rotate(2.5deg); }\n 54% {\n -webkit-transform: translate(0, -1.5px) rotate(1.5deg);\n transform: translate(0, -1.5px) rotate(1.5deg); }\n 56% {\n -webkit-transform: translate(0, 2.5px) rotate(2.5deg);\n transform: translate(0, 2.5px) rotate(2.5deg); }\n 58% {\n -webkit-transform: translate(0, 0.5px) rotate(2.5deg);\n transform: translate(0, 0.5px) rotate(2.5deg); }\n 60% {\n -webkit-transform: translate(0, 2.5px) rotate(2.5deg);\n transform: translate(0, 2.5px) rotate(2.5deg); }\n 62% {\n -webkit-transform: translate(0, -0.5px) rotate(2.5deg);\n transform: translate(0, -0.5px) rotate(2.5deg); }\n 64% {\n -webkit-transform: translate(0, -0.5px) rotate(1.5deg);\n transform: translate(0, -0.5px) rotate(1.5deg); }\n 66% {\n -webkit-transform: translate(0, 1.5px) rotate(-0.5deg);\n transform: translate(0, 1.5px) rotate(-0.5deg); }\n 68% {\n -webkit-transform: translate(0, -1.5px) rotate(-0.5deg);\n transform: translate(0, -1.5px) rotate(-0.5deg); }\n 70% {\n -webkit-transform: translate(0, 1.5px) rotate(0.5deg);\n transform: translate(0, 1.5px) rotate(0.5deg); }\n 72% {\n -webkit-transform: translate(0, 2.5px) rotate(1.5deg);\n transform: translate(0, 2.5px) rotate(1.5deg); }\n 74% {\n -webkit-transform: translate(0, -0.5px) rotate(0.5deg);\n transform: translate(0, -0.5px) rotate(0.5deg); }\n 76% {\n -webkit-transform: translate(0, -0.5px) rotate(2.5deg);\n transform: translate(0, -0.5px) rotate(2.5deg); }\n 78% {\n -webkit-transform: translate(0, -0.5px) rotate(1.5deg);\n transform: translate(0, -0.5px) rotate(1.5deg); }\n 80% {\n -webkit-transform: translate(0, 1.5px) rotate(1.5deg);\n transform: translate(0, 1.5px) rotate(1.5deg); }\n 82% {\n -webkit-transform: translate(0, -0.5px) rotate(0.5deg);\n transform: translate(0, -0.5px) rotate(0.5deg); }\n 84% {\n -webkit-transform: translate(0, 1.5px) rotate(2.5deg);\n transform: translate(0, 1.5px) rotate(2.5deg); }\n 86% {\n -webkit-transform: translate(0, -1.5px) rotate(-1.5deg);\n transform: translate(0, -1.5px) rotate(-1.5deg); }\n 88% {\n -webkit-transform: translate(0, -0.5px) rotate(2.5deg);\n transform: translate(0, -0.5px) rotate(2.5deg); }\n 90% {\n -webkit-transform: translate(0, 2.5px) rotate(-0.5deg);\n transform: translate(0, 2.5px) rotate(-0.5deg); }\n 92% {\n -webkit-transform: translate(0, 0.5px) rotate(-0.5deg);\n transform: translate(0, 0.5px) rotate(-0.5deg); }\n 94% {\n -webkit-transform: translate(0, 2.5px) rotate(0.5deg);\n transform: translate(0, 2.5px) rotate(0.5deg); }\n 96% {\n -webkit-transform: translate(0, -0.5px) rotate(1.5deg);\n transform: translate(0, -0.5px) rotate(1.5deg); }\n 98% {\n -webkit-transform: translate(0, -1.5px) rotate(-0.5deg);\n transform: translate(0, -1.5px) rotate(-0.5deg); }\n 0%,\n 100% {\n -webkit-transform: translate(0, 0) rotate(0deg);\n transform: translate(0, 0) rotate(0deg); } }\n\n.dplayer {\n position: relative;\n overflow: hidden;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n line-height: 1; }\n .dplayer * {\n -webkit-box-sizing: content-box;\n box-sizing: content-box; }\n .dplayer:-webkit-full-screen {\n width: 100%;\n height: 100%;\n background: #000;\n position: fixed;\n z-index: 100000;\n left: 0;\n top: 0; }\n .dplayer:-webkit-full-screen .dplayer-danmaku .dplayer-danmaku-top.dplayer-danmaku-move,\n .dplayer:-webkit-full-screen .dplayer-danmaku .dplayer-danmaku-bottom.dplayer-danmaku-move {\n -webkit-animation: danmaku-center 6s linear;\n animation: danmaku-center 6s linear;\n -webkit-animation-play-state: paused;\n animation-play-state: paused; }\n .dplayer:-webkit-full-screen .dplayer-danmaku .dplayer-danmaku-right.dplayer-danmaku-move {\n -webkit-animation: danmaku 8s linear;\n animation: danmaku 8s linear;\n -webkit-animation-play-state: paused;\n animation-play-state: paused; }\n .dplayer.dplayer-no-danmaku .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box .dplayer-setting-showdan,\n .dplayer.dplayer-no-danmaku .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box .dplayer-setting-danmaku,\n .dplayer.dplayer-no-danmaku .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box .dplayer-setting-danunlimit {\n display: none; }\n .dplayer.dplayer-no-danmaku .dplayer-controller .dplayer-icons .dplayer-comment {\n display: none; }\n .dplayer.dplayer-no-danmaku .dplayer-danmaku {\n display: none; }\n .dplayer.dplayer-live .dplayer-time {\n display: none; }\n .dplayer.dplayer-live .dplayer-bar-wrap {\n display: none; }\n .dplayer.dplayer-live .dplayer-setting-speed {\n display: none; }\n .dplayer.dplayer-live .dplayer-setting-loop {\n display: none; }\n .dplayer.dplayer-arrow .dplayer-danmaku {\n font-size: 18px; }\n .dplayer.dplayer-arrow .dplayer-icon {\n margin: 0 -3px; }\n .dplayer.dplayer-playing .dplayer-danmaku .dplayer-danmaku-move {\n -webkit-animation-play-state: running;\n animation-play-state: running; }\n @media (min-width: 900px) {\n .dplayer.dplayer-playing .dplayer-controller-mask {\n opacity: 0; }\n .dplayer.dplayer-playing .dplayer-controller {\n opacity: 0; }\n .dplayer.dplayer-playing:hover .dplayer-controller-mask {\n opacity: 1; }\n .dplayer.dplayer-playing:hover .dplayer-controller {\n opacity: 1; } }\n .dplayer.dplayer-loading .dplayer-bezel .diplayer-loading-icon {\n display: block; }\n .dplayer.dplayer-loading .dplayer-danmaku .dplayer-danmaku-move {\n -webkit-animation-play-state: paused;\n animation-play-state: paused; }\n .dplayer.dplayer-hide-controller {\n cursor: none; }\n .dplayer.dplayer-hide-controller .dplayer-controller-mask {\n opacity: 0;\n -webkit-transform: translateY(100%);\n transform: translateY(100%); }\n .dplayer.dplayer-hide-controller .dplayer-controller {\n opacity: 0;\n -webkit-transform: translateY(100%);\n transform: translateY(100%); }\n .dplayer.dplayer-show-controller .dplayer-controller-mask {\n opacity: 1; }\n .dplayer.dplayer-show-controller .dplayer-controller {\n opacity: 1; }\n .dplayer.dplayer-fulled {\n position: fixed;\n z-index: 100000;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%; }\n .dplayer.dplayer-mobile .dplayer-controller .dplayer-icons .dplayer-volume,\n .dplayer.dplayer-mobile .dplayer-controller .dplayer-icons .dplayer-camera-icon {\n display: none; }\n .dplayer.dplayer-mobile .dplayer-controller .dplayer-icons .dplayer-full .dplayer-full-in-icon {\n position: static;\n display: inline-block; }\n\n.dplayer-web-fullscreen-fix {\n position: fixed;\n top: 0;\n left: 0;\n margin: 0;\n padding: 0; }\n\n[data-balloon]:before {\n display: none; }\n\n[data-balloon]:after {\n padding: 0.3em 0.7em;\n background: rgba(17, 17, 17, 0.7); }\n\n[data-balloon][data-balloon-pos=\"up\"]:after {\n margin-bottom: 0; }\n\n.dplayer-bezel {\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n font-size: 22px;\n color: #fff;\n pointer-events: none; }\n .dplayer-bezel .dplayer-bezel-icon {\n position: absolute;\n top: 50%;\n left: 50%;\n margin: -26px 0 0 -26px;\n height: 52px;\n width: 52px;\n padding: 12px;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n background: rgba(0, 0, 0, 0.5);\n border-radius: 50%;\n opacity: 0;\n pointer-events: none; }\n .dplayer-bezel .dplayer-bezel-icon.dplayer-bezel-transition {\n -webkit-animation: bezel-hide .5s linear;\n animation: bezel-hide .5s linear; }\n\n@-webkit-keyframes bezel-hide {\n from {\n opacity: 1;\n -webkit-transform: scale(1);\n transform: scale(1); }\n to {\n opacity: 0;\n -webkit-transform: scale(2);\n transform: scale(2); } }\n\n@keyframes bezel-hide {\n from {\n opacity: 1;\n -webkit-transform: scale(1);\n transform: scale(1); }\n to {\n opacity: 0;\n -webkit-transform: scale(2);\n transform: scale(2); } }\n .dplayer-bezel .dplayer-danloading {\n position: absolute;\n top: 50%;\n margin-top: -7px;\n width: 100%;\n text-align: center;\n font-size: 14px;\n line-height: 14px;\n -webkit-animation: my-face 5s infinite ease-in-out;\n animation: my-face 5s infinite ease-in-out; }\n .dplayer-bezel .diplayer-loading-icon {\n display: none;\n position: absolute;\n top: 50%;\n left: 50%;\n margin: -18px 0 0 -18px;\n height: 36px;\n width: 36px;\n pointer-events: none; }\n .dplayer-bezel .diplayer-loading-icon .diplayer-loading-hide {\n display: none; }\n .dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot {\n -webkit-animation: diplayer-loading-dot-fade .8s ease infinite;\n animation: diplayer-loading-dot-fade .8s ease infinite;\n opacity: 0;\n fill: #fff;\n -webkit-transform-origin: 4px 4px;\n transform-origin: 4px 4px; }\n .dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-7 {\n -webkit-animation-delay: 0.7s;\n animation-delay: 0.7s; }\n .dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-6 {\n -webkit-animation-delay: 0.6s;\n animation-delay: 0.6s; }\n .dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-5 {\n -webkit-animation-delay: 0.5s;\n animation-delay: 0.5s; }\n .dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-4 {\n -webkit-animation-delay: 0.4s;\n animation-delay: 0.4s; }\n .dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-3 {\n -webkit-animation-delay: 0.3s;\n animation-delay: 0.3s; }\n .dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-2 {\n -webkit-animation-delay: 0.2s;\n animation-delay: 0.2s; }\n .dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-1 {\n -webkit-animation-delay: 0.1s;\n animation-delay: 0.1s; }\n\n@-webkit-keyframes diplayer-loading-dot-fade {\n 0% {\n opacity: .7;\n -webkit-transform: scale(1.2, 1.2);\n transform: scale(1.2, 1.2); }\n 50% {\n opacity: .25;\n -webkit-transform: scale(0.9, 0.9);\n transform: scale(0.9, 0.9); }\n to {\n opacity: .25;\n -webkit-transform: scale(0.85, 0.85);\n transform: scale(0.85, 0.85); } }\n\n@keyframes diplayer-loading-dot-fade {\n 0% {\n opacity: .7;\n -webkit-transform: scale(1.2, 1.2);\n transform: scale(1.2, 1.2); }\n 50% {\n opacity: .25;\n -webkit-transform: scale(0.9, 0.9);\n transform: scale(0.9, 0.9); }\n to {\n opacity: .25;\n -webkit-transform: scale(0.85, 0.85);\n transform: scale(0.85, 0.85); } }\n\n.dplayer-controller-mask {\n background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAADGCAYAAAAT+OqFAAAAdklEQVQoz42QQQ7AIAgEF/T/D+kbq/RWAlnQyyazA4aoAB4FsBSA/bFjuF1EOL7VbrIrBuusmrt4ZZORfb6ehbWdnRHEIiITaEUKa5EJqUakRSaEYBJSCY2dEstQY7AuxahwXFrvZmWl2rh4JZ07z9dLtesfNj5q0FU3A5ObbwAAAABJRU5ErkJggg==) repeat-x bottom;\n height: 98px;\n width: 100%;\n position: absolute;\n bottom: 0;\n -webkit-transition: all 0.3s ease;\n transition: all 0.3s ease; }\n\n.dplayer-controller {\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n height: 41px;\n padding: 0 20px;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n -webkit-transition: all 0.3s ease;\n transition: all 0.3s ease; }\n .dplayer-controller.dplayer-controller-comment .dplayer-icons {\n display: none; }\n .dplayer-controller.dplayer-controller-comment .dplayer-icons.dplayer-comment-box {\n display: block; }\n .dplayer-controller .dplayer-bar-wrap {\n padding: 5px 0;\n cursor: pointer;\n position: absolute;\n bottom: 33px;\n width: calc(100% - 40px);\n height: 3px; }\n .dplayer-controller .dplayer-bar-wrap:hover .dplayer-bar .dplayer-played .dplayer-thumb {\n -webkit-transform: scale(1);\n transform: scale(1); }\n .dplayer-controller .dplayer-bar-wrap .dplayer-bar-preview {\n position: absolute;\n background: #fff;\n pointer-events: none;\n display: none;\n background-size: auto 100%; }\n .dplayer-controller .dplayer-bar-wrap .dplayer-bar-preview-canvas {\n position: absolute;\n width: 100%;\n height: 100%;\n z-index: 1;\n pointer-events: none; }\n .dplayer-controller .dplayer-bar-wrap .dplayer-bar-time {\n position: absolute;\n left: 0px;\n top: -20px;\n width: 30px;\n border-radius: 4px;\n padding: 5px 7px;\n background-color: rgba(0, 0, 0, 0.62);\n color: #fff;\n font-size: 12px;\n text-align: center;\n opacity: 1;\n -webkit-transition: opacity .1s ease-in-out;\n transition: opacity .1s ease-in-out;\n word-wrap: normal;\n word-break: normal;\n z-index: 2;\n pointer-events: none; }\n .dplayer-controller .dplayer-bar-wrap .dplayer-bar-time.hidden {\n opacity: 0; }\n .dplayer-controller .dplayer-bar-wrap .dplayer-bar {\n position: relative;\n height: 3px;\n width: 100%;\n background: rgba(255, 255, 255, 0.2);\n cursor: pointer; }\n .dplayer-controller .dplayer-bar-wrap .dplayer-bar .dplayer-loaded {\n position: absolute;\n left: 0;\n top: 0;\n bottom: 0;\n background: rgba(255, 255, 255, 0.4);\n height: 3px;\n -webkit-transition: all 0.5s ease;\n transition: all 0.5s ease;\n will-change: width; }\n .dplayer-controller .dplayer-bar-wrap .dplayer-bar .dplayer-played {\n position: absolute;\n left: 0;\n top: 0;\n bottom: 0;\n height: 3px;\n will-change: width; }\n .dplayer-controller .dplayer-bar-wrap .dplayer-bar .dplayer-played .dplayer-thumb {\n position: absolute;\n top: 0;\n right: 5px;\n margin-top: -4px;\n margin-right: -10px;\n height: 11px;\n width: 11px;\n border-radius: 50%;\n cursor: pointer;\n -webkit-transition: all .3s ease-in-out;\n transition: all .3s ease-in-out;\n -webkit-transform: scale(0);\n transform: scale(0); }\n .dplayer-controller .dplayer-icons {\n height: 38px;\n position: absolute;\n bottom: 0; }\n .dplayer-controller .dplayer-icons.dplayer-comment-box {\n display: none;\n position: absolute;\n -webkit-transition: all .3s ease-in-out;\n transition: all .3s ease-in-out;\n z-index: 2;\n height: 38px;\n bottom: 0;\n left: 20px;\n right: 20px;\n color: #fff; }\n .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-icon {\n padding: 7px; }\n .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-icon {\n position: absolute;\n left: 0;\n top: 0; }\n .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-send-icon {\n position: absolute;\n right: 0;\n top: 0; }\n .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box {\n position: absolute;\n background: rgba(28, 28, 28, 0.9);\n bottom: 41px;\n left: 0;\n -webkit-box-shadow: 0 0 25px rgba(0, 0, 0, 0.3);\n box-shadow: 0 0 25px rgba(0, 0, 0, 0.3);\n border-radius: 4px;\n padding: 10px 10px 16px;\n font-size: 14px;\n width: 204px;\n -webkit-transition: all .3s ease-in-out;\n transition: all .3s ease-in-out;\n -webkit-transform: scale(0);\n transform: scale(0); }\n .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box.dplayer-comment-setting-open {\n -webkit-transform: scale(1);\n transform: scale(1); }\n .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box input[type=radio] {\n display: none; }\n .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box label {\n cursor: pointer; }\n .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-title {\n font-size: 13px;\n color: #fff;\n line-height: 30px; }\n .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type {\n font-size: 0; }\n .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type .dplayer-comment-setting-title {\n margin-bottom: 6px; }\n .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type label:nth-child(2) span {\n border-radius: 4px 0 0 4px; }\n .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type label:nth-child(4) span {\n border-radius: 0 4px 4px 0; }\n .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type span {\n width: 33%;\n padding: 4px 6px;\n line-height: 16px;\n display: inline-block;\n font-size: 12px;\n color: #fff;\n border: 1px solid #fff;\n margin-right: -1px;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n text-align: center;\n cursor: pointer; }\n .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type input:checked + span {\n background: #E4E4E6;\n color: #1c1c1c; }\n .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-color {\n font-size: 0; }\n .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-color label {\n font-size: 0;\n padding: 6px;\n display: inline-block; }\n .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-color span {\n width: 22px;\n height: 22px;\n display: inline-block;\n border-radius: 50%;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n cursor: pointer; }\n .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-color span:hover {\n -webkit-animation: my-face 5s infinite ease-in-out;\n animation: my-face 5s infinite ease-in-out; }\n .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-input {\n outline: none;\n border: none;\n padding: 8px 31px;\n font-size: 14px;\n line-height: 18px;\n text-align: center;\n border-radius: 4px;\n background: none;\n margin: 0;\n height: 100%;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n width: 100%;\n color: #fff; }\n .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-input::-webkit-input-placeholder {\n color: #fff;\n opacity: 0.8; }\n .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-input:-ms-input-placeholder {\n color: #fff;\n opacity: 0.8; }\n .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-input::-ms-input-placeholder {\n color: #fff;\n opacity: 0.8; }\n .dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-input::placeholder {\n color: #fff;\n opacity: 0.8; }\n .dplayer-controller .dplayer-icons.dplayer-icons-left .dplayer-icon {\n padding: 7px; }\n .dplayer-controller .dplayer-icons.dplayer-icons-right {\n right: 20px; }\n .dplayer-controller .dplayer-icons.dplayer-icons-right .dplayer-icon {\n padding: 8px; }\n .dplayer-controller .dplayer-icons .dplayer-time,\n .dplayer-controller .dplayer-icons .dplayer-live-badge {\n line-height: 38px;\n color: #eee;\n text-shadow: 0 0 2px rgba(0, 0, 0, 0.5);\n vertical-align: middle;\n font-size: 13px;\n cursor: default; }\n .dplayer-controller .dplayer-icons .dplayer-live-dot {\n display: inline-block;\n width: 6px;\n height: 6px;\n vertical-align: 4%;\n margin-right: 5px;\n content: '';\n border-radius: 6px; }\n .dplayer-controller .dplayer-icons .dplayer-icon {\n width: 40px;\n height: 100%;\n border: none;\n background-color: transparent;\n outline: none;\n cursor: pointer;\n vertical-align: middle;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n display: inline-block; }\n .dplayer-controller .dplayer-icons .dplayer-icon .dplayer-icon-content {\n -webkit-transition: all .2s ease-in-out;\n transition: all .2s ease-in-out;\n opacity: .8; }\n .dplayer-controller .dplayer-icons .dplayer-icon:hover .dplayer-icon-content {\n opacity: 1; }\n .dplayer-controller .dplayer-icons .dplayer-icon.dplayer-quality-icon {\n color: #fff;\n width: auto;\n line-height: 22px;\n font-size: 14px; }\n .dplayer-controller .dplayer-icons .dplayer-icon.dplayer-comment-icon {\n padding: 10px 9px 9px; }\n .dplayer-controller .dplayer-icons .dplayer-icon.dplayer-setting-icon {\n padding-top: 8.5px; }\n .dplayer-controller .dplayer-icons .dplayer-icon.dplayer-volume-icon {\n width: 43px; }\n .dplayer-controller .dplayer-icons .dplayer-volume {\n position: relative;\n display: inline-block;\n cursor: pointer;\n height: 100%; }\n .dplayer-controller .dplayer-icons .dplayer-volume:hover .dplayer-volume-bar-wrap .dplayer-volume-bar {\n width: 45px; }\n .dplayer-controller .dplayer-icons .dplayer-volume:hover .dplayer-volume-bar-wrap .dplayer-volume-bar .dplayer-volume-bar-inner .dplayer-thumb {\n -webkit-transform: scale(1);\n transform: scale(1); }\n .dplayer-controller .dplayer-icons .dplayer-volume.dplayer-volume-active .dplayer-volume-bar-wrap .dplayer-volume-bar {\n width: 45px; }\n .dplayer-controller .dplayer-icons .dplayer-volume.dplayer-volume-active .dplayer-volume-bar-wrap .dplayer-volume-bar .dplayer-volume-bar-inner .dplayer-thumb {\n -webkit-transform: scale(1);\n transform: scale(1); }\n .dplayer-controller .dplayer-icons .dplayer-volume .dplayer-volume-bar-wrap {\n display: inline-block;\n margin: 0 10px 0 -5px;\n vertical-align: middle;\n height: 100%; }\n .dplayer-controller .dplayer-icons .dplayer-volume .dplayer-volume-bar-wrap .dplayer-volume-bar {\n position: relative;\n top: 17px;\n width: 0;\n height: 3px;\n background: #aaa;\n -webkit-transition: all 0.3s ease-in-out;\n transition: all 0.3s ease-in-out; }\n .dplayer-controller .dplayer-icons .dplayer-volume .dplayer-volume-bar-wrap .dplayer-volume-bar .dplayer-volume-bar-inner {\n position: absolute;\n bottom: 0;\n left: 0;\n height: 100%;\n -webkit-transition: all 0.1s ease;\n transition: all 0.1s ease;\n will-change: width; }\n .dplayer-controller .dplayer-icons .dplayer-volume .dplayer-volume-bar-wrap .dplayer-volume-bar .dplayer-volume-bar-inner .dplayer-thumb {\n position: absolute;\n top: 0;\n right: 5px;\n margin-top: -4px;\n margin-right: -10px;\n height: 11px;\n width: 11px;\n border-radius: 50%;\n cursor: pointer;\n -webkit-transition: all .3s ease-in-out;\n transition: all .3s ease-in-out;\n -webkit-transform: scale(0);\n transform: scale(0); }\n .dplayer-controller .dplayer-icons .dplayer-subtitle-btn {\n display: inline-block;\n height: 100%; }\n .dplayer-controller .dplayer-icons .dplayer-setting {\n display: inline-block;\n height: 100%; }\n .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box {\n position: absolute;\n right: 0;\n bottom: 50px;\n -webkit-transform: scale(0);\n transform: scale(0);\n width: 150px;\n border-radius: 2px;\n background: rgba(28, 28, 28, 0.9);\n padding: 7px 0;\n -webkit-transition: all .3s ease-in-out;\n transition: all .3s ease-in-out;\n overflow: hidden;\n z-index: 2; }\n .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box > div {\n display: none; }\n .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box > div.dplayer-setting-origin-panel {\n display: block; }\n .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box.dplayer-setting-box-open {\n -webkit-transform: scale(1);\n transform: scale(1); }\n .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box.dplayer-setting-box-narrow {\n width: 70px;\n height: 180px;\n text-align: center; }\n .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box.dplayer-setting-box-speed .dplayer-setting-origin-panel {\n display: none; }\n .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box.dplayer-setting-box-speed .dplayer-setting-speed-panel {\n display: block; }\n .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-item,\n .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-speed-item {\n height: 30px;\n padding: 5px 10px;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n cursor: pointer;\n position: relative; }\n .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-item:hover,\n .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-speed-item:hover {\n background-color: rgba(255, 255, 255, 0.1); }\n .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku {\n padding: 5px 0; }\n .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-label {\n padding: 0 10px;\n display: inline; }\n .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku:hover .dplayer-label {\n display: none; }\n .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku:hover .dplayer-danmaku-bar-wrap {\n display: inline-block; }\n .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku.dplayer-setting-danmaku-active .dplayer-label {\n display: none; }\n .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku.dplayer-setting-danmaku-active .dplayer-danmaku-bar-wrap {\n display: inline-block; }\n .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-danmaku-bar-wrap {\n padding: 0 10px;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n display: none;\n vertical-align: middle;\n height: 100%;\n width: 100%; }\n .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-danmaku-bar-wrap .dplayer-danmaku-bar {\n position: relative;\n top: 8.5px;\n width: 100%;\n height: 3px;\n background: #fff;\n -webkit-transition: all 0.3s ease-in-out;\n transition: all 0.3s ease-in-out; }\n .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-danmaku-bar-wrap .dplayer-danmaku-bar .dplayer-danmaku-bar-inner {\n position: absolute;\n bottom: 0;\n left: 0;\n height: 100%;\n -webkit-transition: all 0.1s ease;\n transition: all 0.1s ease;\n background: #aaa;\n will-change: width; }\n .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-danmaku-bar-wrap .dplayer-danmaku-bar .dplayer-danmaku-bar-inner .dplayer-thumb {\n position: absolute;\n top: 0;\n right: 5px;\n margin-top: -4px;\n margin-right: -10px;\n height: 11px;\n width: 11px;\n border-radius: 50%;\n cursor: pointer;\n -webkit-transition: all .3s ease-in-out;\n transition: all .3s ease-in-out;\n background: #aaa; }\n .dplayer-controller .dplayer-icons .dplayer-full {\n display: inline-block;\n height: 100%;\n position: relative; }\n .dplayer-controller .dplayer-icons .dplayer-full:hover .dplayer-full-in-icon {\n display: block; }\n .dplayer-controller .dplayer-icons .dplayer-full .dplayer-full-in-icon {\n position: absolute;\n top: -30px;\n z-index: 1;\n display: none; }\n .dplayer-controller .dplayer-icons .dplayer-quality {\n position: relative;\n display: inline-block;\n height: 100%;\n z-index: 2; }\n .dplayer-controller .dplayer-icons .dplayer-quality:hover .dplayer-quality-list {\n display: block; }\n .dplayer-controller .dplayer-icons .dplayer-quality:hover .dplayer-quality-mask {\n display: block; }\n .dplayer-controller .dplayer-icons .dplayer-quality .dplayer-quality-mask {\n display: none;\n position: absolute;\n bottom: 38px;\n left: -18px;\n width: 80px;\n padding-bottom: 12px; }\n .dplayer-controller .dplayer-icons .dplayer-quality .dplayer-quality-list {\n display: none;\n font-size: 12px;\n width: 80px;\n border-radius: 2px;\n background: rgba(28, 28, 28, 0.9);\n padding: 5px 0;\n -webkit-transition: all .3s ease-in-out;\n transition: all .3s ease-in-out;\n overflow: hidden;\n color: #fff;\n text-align: center; }\n .dplayer-controller .dplayer-icons .dplayer-quality .dplayer-quality-item {\n height: 25px;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n cursor: pointer;\n line-height: 25px; }\n .dplayer-controller .dplayer-icons .dplayer-quality .dplayer-quality-item:hover {\n background-color: rgba(255, 255, 255, 0.1); }\n .dplayer-controller .dplayer-icons .dplayer-comment {\n display: inline-block;\n height: 100%; }\n .dplayer-controller .dplayer-icons .dplayer-label {\n color: #eee;\n font-size: 13px;\n display: inline-block;\n vertical-align: middle;\n white-space: nowrap; }\n .dplayer-controller .dplayer-icons .dplayer-toggle {\n width: 32px;\n height: 20px;\n text-align: center;\n font-size: 0;\n vertical-align: middle;\n position: absolute;\n top: 5px;\n right: 10px; }\n .dplayer-controller .dplayer-icons .dplayer-toggle input {\n max-height: 0;\n max-width: 0;\n display: none; }\n .dplayer-controller .dplayer-icons .dplayer-toggle input + label {\n display: inline-block;\n position: relative;\n -webkit-box-shadow: #dfdfdf 0 0 0 0 inset;\n box-shadow: #dfdfdf 0 0 0 0 inset;\n border: 1px solid #dfdfdf;\n height: 20px;\n width: 32px;\n border-radius: 10px;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n cursor: pointer;\n -webkit-transition: .2s ease-in-out;\n transition: .2s ease-in-out; }\n .dplayer-controller .dplayer-icons .dplayer-toggle input + label:before {\n content: \"\";\n position: absolute;\n display: block;\n height: 18px;\n width: 18px;\n top: 0;\n left: 0;\n border-radius: 15px;\n -webkit-transition: .2s ease-in-out;\n transition: .2s ease-in-out; }\n .dplayer-controller .dplayer-icons .dplayer-toggle input + label:after {\n content: \"\";\n position: absolute;\n display: block;\n left: 0;\n top: 0;\n border-radius: 15px;\n background: #fff;\n -webkit-transition: .2s ease-in-out;\n transition: .2s ease-in-out;\n -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);\n height: 18px;\n width: 18px; }\n .dplayer-controller .dplayer-icons .dplayer-toggle input:checked + label {\n border-color: rgba(255, 255, 255, 0.5); }\n .dplayer-controller .dplayer-icons .dplayer-toggle input:checked + label:before {\n width: 30px;\n background: rgba(255, 255, 255, 0.5); }\n .dplayer-controller .dplayer-icons .dplayer-toggle input:checked + label:after {\n left: 12px; }\n\n.dplayer-danmaku {\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n font-size: 22px;\n color: #fff; }\n .dplayer-danmaku .dplayer-danmaku-item {\n display: inline-block;\n pointer-events: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n cursor: default;\n white-space: nowrap;\n text-shadow: 0.5px 0.5px 0.5px rgba(0, 0, 0, 0.5); }\n .dplayer-danmaku .dplayer-danmaku-item--demo {\n position: absolute;\n visibility: hidden; }\n .dplayer-danmaku .dplayer-danmaku-right {\n position: absolute;\n right: 0;\n -webkit-transform: translateX(100%);\n transform: translateX(100%); }\n .dplayer-danmaku .dplayer-danmaku-right.dplayer-danmaku-move {\n will-change: transform;\n -webkit-animation: danmaku 5s linear;\n animation: danmaku 5s linear;\n -webkit-animation-play-state: paused;\n animation-play-state: paused; }\n\n@-webkit-keyframes danmaku {\n from {\n -webkit-transform: translateX(100%);\n transform: translateX(100%); } }\n\n@keyframes danmaku {\n from {\n -webkit-transform: translateX(100%);\n transform: translateX(100%); } }\n .dplayer-danmaku .dplayer-danmaku-top,\n .dplayer-danmaku .dplayer-danmaku-bottom {\n position: absolute;\n width: 100%;\n text-align: center;\n visibility: hidden; }\n .dplayer-danmaku .dplayer-danmaku-top.dplayer-danmaku-move,\n .dplayer-danmaku .dplayer-danmaku-bottom.dplayer-danmaku-move {\n will-change: visibility;\n -webkit-animation: danmaku-center 4s linear;\n animation: danmaku-center 4s linear;\n -webkit-animation-play-state: paused;\n animation-play-state: paused; }\n\n@-webkit-keyframes danmaku-center {\n from {\n visibility: visible; }\n to {\n visibility: visible; } }\n\n@keyframes danmaku-center {\n from {\n visibility: visible; }\n to {\n visibility: visible; } }\n\n.dplayer-logo {\n pointer-events: none;\n position: absolute;\n left: 20px;\n top: 20px;\n max-width: 50px;\n max-height: 50px; }\n .dplayer-logo img {\n max-width: 100%;\n max-height: 100%;\n background: none; }\n\n.dplayer-menu {\n position: absolute;\n width: 170px;\n border-radius: 2px;\n background: rgba(28, 28, 28, 0.85);\n padding: 5px 0;\n overflow: hidden;\n z-index: 3;\n display: none; }\n .dplayer-menu.dplayer-menu-show {\n display: block; }\n .dplayer-menu .dplayer-menu-item {\n height: 30px;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n cursor: pointer; }\n .dplayer-menu .dplayer-menu-item:hover {\n background-color: rgba(255, 255, 255, 0.1); }\n .dplayer-menu .dplayer-menu-item a {\n display: inline-block;\n padding: 0 10px;\n line-height: 30px;\n color: #eee;\n font-size: 13px;\n display: inline-block;\n vertical-align: middle;\n width: 100%;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden; }\n .dplayer-menu .dplayer-menu-item a:hover {\n text-decoration: none; }\n\n.dplayer-notice {\n opacity: 0;\n position: absolute;\n bottom: 60px;\n left: 20px;\n font-size: 14px;\n border-radius: 2px;\n background: rgba(28, 28, 28, 0.9);\n padding: 7px 20px;\n -webkit-transition: all .3s ease-in-out;\n transition: all .3s ease-in-out;\n overflow: hidden;\n color: #fff;\n pointer-events: none; }\n\n.dplayer-subtitle {\n position: absolute;\n bottom: 40px;\n width: 90%;\n left: 5%;\n text-align: center;\n color: #fff;\n text-shadow: 0.5px 0.5px 0.5px rgba(0, 0, 0, 0.5);\n font-size: 20px; }\n .dplayer-subtitle.dplayer-subtitle-hide {\n display: none; }\n\n.dplayer-mask {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n z-index: 1;\n display: none; }\n .dplayer-mask.dplayer-mask-show {\n display: block; }\n\n.dplayer-video-wrap {\n position: relative;\n background: #000;\n font-size: 0;\n width: 100%;\n height: 100%; }\n .dplayer-video-wrap .dplayer-video {\n width: 100%;\n height: 100%;\n display: none; }\n .dplayer-video-wrap .dplayer-video-current {\n display: block; }\n .dplayer-video-wrap .dplayer-video-prepare {\n display: none; }\n\n\n\n// WEBPACK FOOTER //\n// ./src/css/index.scss"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/DPlayer.min.js b/dist/DPlayer.min.js index 5a0969456..44012cf03 100644 --- a/dist/DPlayer.min.js +++ b/dist/DPlayer.min.js @@ -1,2 +1,2 @@ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("DPlayer",[],t):"object"==typeof exports?exports.DPlayer=t():e.DPlayer=t()}("undefined"!=typeof self?self:this,function(){return function(e){function t(i){if(n[i])return n[i].exports;var a=n[i]={i:i,l:!1,exports:{}};return e[i].call(a.exports,a,a.exports,t),a.l=!0,a.exports}var n={};return t.m=e,t.c=n,t.d=function(e,n,i){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:i})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="/",t(t.s=1)}([function(e,t,n){"use strict";e.exports={secondToTime:function(e){var t=function(e){return e<10?"0"+e:""+e},n=parseInt(e/60),i=parseInt(e-60*n);return t(n)+":"+t(i)},getElementViewLeft:function(e){var t=e.offsetLeft,n=e.offsetParent,i=document.body.scrollLeft+document.documentElement.scrollLeft;if(document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement)for(;null!==n&&n!==e;)t+=n.offsetLeft,n=n.offsetParent;else for(;null!==n;)t+=n.offsetLeft,n=n.offsetParent;return t-i},getScrollPosition:function(){return{left:window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft||0,top:window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0}},setScrollPosition:function(e){var t=e.left,n=void 0===t?0:t,i=e.top,a=void 0===i?0:i;this.isFirefox?(document.documentElement.scrollLeft=n,document.documentElement.scrollTop=a):window.scrollTo(n,a)},isMobile:/mobile/i.test(window.navigator.userAgent),isFirefox:/firefox/i.test(window.navigator.userAgent),isChrome:/chrome/i.test(window.navigator.userAgent),storage:{set:function(e,t){localStorage.setItem(e,t)},get:function(e){return localStorage.getItem(e)}},cumulativeOffset:function(e){var t=0,n=0;do{t+=e.offsetTop||0,n+=e.offsetLeft||0,e=e.offsetParent}while(e);return{top:t,left:n}}}},function(e,t,n){"use strict";console.log("\n %c DPlayer 1.17.3 e3cfb21 %c http://dplayer.js.org \n\n","color: #fadfa3; background: #030307; padding:5px 0;","background: #fadfa3; padding:5px 0;"),e.exports=n(2)},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var s=function(){function e(e,t){for(var n=0;ne&&this.notice(this.tran("REW")+" "+(this.video.currentTime-e).toFixed(0)+" "+this.tran("s")),this.video.currentTime=e,this.danmaku&&this.danmaku.seek(),this.bar.set("played",e/this.video.duration,"width")}},{key:"play",value:function(){if(this.paused=!1,this.video.paused&&this.bezel.switch(this.icons.get("play")),this.template.playButton.innerHTML=this.icons.get("pause"),this.video.play(),this.time.enable(),this.container.classList.add("dplayer-playing"),this.danmaku&&this.danmaku.play(),this.options.mutex)for(var e=0;e=.95?this.template.volumeIcon.innerHTML=this.icons.get("volume-up"):this.volume()>0?this.template.volumeIcon.innerHTML=this.icons.get("volume-down"):this.template.volumeIcon.innerHTML=this.icons.get("volume-off")}},{key:"volume",value:function(e,t,n){if(e=parseFloat(e),!isNaN(e)){e=Math.max(e,0),e=Math.min(e,1),this.bar.set("volume",e,"width");var i=(100*e).toFixed(0)+"%";this.template.volumeBarWrapWrap.dataset.balloon=i,t||this.user.set("volume",e),n||this.notice(this.tran("Volume")+" "+(100*e).toFixed(0)+"%"),this.video.volume=e,this.video.muted&&(this.video.muted=!1),this.switchVolumeIcon()}return this.video.volume}},{key:"toggle",value:function(){this.video.paused?this.play():this.pause()}},{key:"on",value:function(e,t){this.events.on(e,t)}},{key:"switchVideo",value:function(e,t){this.pause(),this.video.poster=e.pic?e.pic:"",this.video.src=e.url,this.initMSE(this.video,e.type||"auto"),t&&(this.template.danmakuLoading.style.display="block",this.bar.set("played",0,"width"),this.bar.set("loaded",0,"width"),this.template.ptime.innerHTML="00:00",this.template.danmaku.innerHTML="",this.danmaku&&this.danmaku.reload({id:t.id,address:t.api,token:t.token,maximum:t.maximum,addition:t.addition,user:t.user}))}},{key:"initMSE",value:function(e,t){if(this.type=t,"auto"===this.type&&(/m3u8(#|\?|$)/i.exec(e.src)?this.type="hls":/.flv(#|\?|$)/i.exec(e.src)?this.type="flv":/.mpd(#|\?|$)/i.exec(e.src)?this.type="dash":this.type="normal"),"hls"===this.type&&Hls&&Hls.isSupported()){var n=new Hls;n.loadSource(e.src),n.attachMedia(e)}if("flv"===this.type&&flvjs&&flvjs.isSupported()){var i=flvjs.createPlayer({type:"flv",url:e.src});i.attachMediaElement(e),i.load()}"dash"===this.type&&dashjs&&dashjs.MediaPlayer().create().initialize(e,e.src,!1)}},{key:"initVideo",value:function(e,t){var n=this;this.initMSE(e,t),this.on("durationchange",function(){1!==e.duration&&(n.template.dtime.innerHTML=o.default.secondToTime(e.duration))}),this.on("progress",function(){var t=e.buffered.length?e.buffered.end(e.buffered.length-1)/e.duration:0;n.bar.set("loaded",t,"width")}),this.on("error",function(){n.tran&&n.notice&&n.notice(n.tran("This video fails to load"),-1)}),this.ended=!1,this.on("ended",function(){n.bar.set("played",1,"width"),n.setting.loop?(n.seek(0),e.play()):(n.ended=!0,n.pause()),n.danmaku&&(n.danmaku.danIndex=0)}),this.on("play",function(){n.paused&&n.play()}),this.on("pause",function(){n.paused||n.pause()});for(var i=0;i1&&void 0!==arguments[1]?arguments[1]:2e3,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:.8;this.template.notice.innerHTML=e,this.template.notice.style.opacity=i,this.noticeTime&&clearTimeout(this.noticeTime),this.events.trigger("notice_show",e),this.noticeTime=setTimeout(function(){t.template.notice.style.opacity=0,t.events.trigger("notice_hide")},n)}},{key:"resize",value:function(){this.danmaku&&this.danmaku.resize(),this.events.trigger("resize")}},{key:"destroy",value:function(){R.splice(R.indexOf(this),1),this.pause(),this.controller.destroy(),this.time.destroy(),this.video.src="",this.container.innerHTML="",this.events.trigger("destroy");for(var e in this)this.hasOwnProperty(e)&&"paused"!==e&&delete this[e]}}]),e}();e.exports=N},function(e,t){},function(e,t,n){"use strict";var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a=n(5);e.exports=function(e){/mobile/i.test(window.navigator.userAgent)&&(e.autoplay=!1);var t={container:e.element||document.getElementsByClassName("dplayer")[0],live:!1,autoplay:!1,theme:"#b7daff",loop:!1,lang:(navigator.language||navigator.browserLanguage).toLowerCase(),screenshot:!1,hotkey:!0,preload:"auto",volume:.7,apiBackend:a,video:{},icons:{play:["0 0 16 32","M15.552 15.168q0.448 0.32 0.448 0.832 0 0.448-0.448 0.768l-13.696 8.512q-0.768 0.512-1.312 0.192t-0.544-1.28v-16.448q0-0.96 0.544-1.28t1.312 0.192z"],pause:["0 0 17 32","M14.080 4.8q2.88 0 2.88 2.048v18.24q0 2.112-2.88 2.112t-2.88-2.112v-18.24q0-2.048 2.88-2.048zM2.88 4.8q2.88 0 2.88 2.048v18.24q0 2.112-2.88 2.112t-2.88-2.112v-18.24q0-2.048 2.88-2.048z"],"volume-up":["0 0 21 32","M13.728 6.272v19.456q0 0.448-0.352 0.8t-0.8 0.32-0.8-0.32l-5.952-5.952h-4.672q-0.48 0-0.8-0.352t-0.352-0.8v-6.848q0-0.48 0.352-0.8t0.8-0.352h4.672l5.952-5.952q0.32-0.32 0.8-0.32t0.8 0.32 0.352 0.8zM20.576 16q0 1.344-0.768 2.528t-2.016 1.664q-0.16 0.096-0.448 0.096-0.448 0-0.8-0.32t-0.32-0.832q0-0.384 0.192-0.64t0.544-0.448 0.608-0.384 0.512-0.64 0.192-1.024-0.192-1.024-0.512-0.64-0.608-0.384-0.544-0.448-0.192-0.64q0-0.48 0.32-0.832t0.8-0.32q0.288 0 0.448 0.096 1.248 0.48 2.016 1.664t0.768 2.528zM25.152 16q0 2.72-1.536 5.056t-4 3.36q-0.256 0.096-0.448 0.096-0.48 0-0.832-0.352t-0.32-0.8q0-0.704 0.672-1.056 1.024-0.512 1.376-0.8 1.312-0.96 2.048-2.4t0.736-3.104-0.736-3.104-2.048-2.4q-0.352-0.288-1.376-0.8-0.672-0.352-0.672-1.056 0-0.448 0.32-0.8t0.8-0.352q0.224 0 0.48 0.096 2.496 1.056 4 3.36t1.536 5.056z"],"volume-down":["0 0 21 32","M13.728 6.272v19.456q0 0.448-0.352 0.8t-0.8 0.32-0.8-0.32l-5.952-5.952h-4.672q-0.48 0-0.8-0.352t-0.352-0.8v-6.848q0-0.48 0.352-0.8t0.8-0.352h4.672l5.952-5.952q0.32-0.32 0.8-0.32t0.8 0.32 0.352 0.8zM20.576 16q0 1.344-0.768 2.528t-2.016 1.664q-0.16 0.096-0.448 0.096-0.448 0-0.8-0.32t-0.32-0.832q0-0.384 0.192-0.64t0.544-0.448 0.608-0.384 0.512-0.64 0.192-1.024-0.192-1.024-0.512-0.64-0.608-0.384-0.544-0.448-0.192-0.64q0-0.48 0.32-0.832t0.8-0.32q0.288 0 0.448 0.096 1.248 0.48 2.016 1.664t0.768 2.528z"],"volume-off":["0 0 21 32","M13.728 6.272v19.456q0 0.448-0.352 0.8t-0.8 0.32-0.8-0.32l-5.952-5.952h-4.672q-0.48 0-0.8-0.352t-0.352-0.8v-6.848q0-0.48 0.352-0.8t0.8-0.352h4.672l5.952-5.952q0.32-0.32 0.8-0.32t0.8 0.32 0.352 0.8z"],loop:["0 0 32 32","M1.882 16.941c0 4.152 3.221 7.529 7.177 7.529v1.882c-4.996 0-9.060-4.222-9.060-9.412s4.064-9.412 9.060-9.412h7.96l-3.098-3.098 1.331-1.331 5.372 5.37-5.37 5.372-1.333-1.333 3.1-3.098h-7.962c-3.957 0-7.177 3.377-7.177 7.529zM22.94 7.529v1.882c3.957 0 7.177 3.377 7.177 7.529s-3.221 7.529-7.177 7.529h-7.962l3.098-3.098-1.331-1.331-5.37 5.37 5.372 5.372 1.331-1.331-3.1-3.1h7.96c4.998 0 9.062-4.222 9.062-9.412s-4.064-9.412-9.060-9.412z"],full:["0 0 32 33","M6.667 28h-5.333c-0.8 0-1.333-0.533-1.333-1.333v-5.333c0-0.8 0.533-1.333 1.333-1.333s1.333 0.533 1.333 1.333v4h4c0.8 0 1.333 0.533 1.333 1.333s-0.533 1.333-1.333 1.333zM30.667 28h-5.333c-0.8 0-1.333-0.533-1.333-1.333s0.533-1.333 1.333-1.333h4v-4c0-0.8 0.533-1.333 1.333-1.333s1.333 0.533 1.333 1.333v5.333c0 0.8-0.533 1.333-1.333 1.333zM30.667 12c-0.8 0-1.333-0.533-1.333-1.333v-4h-4c-0.8 0-1.333-0.533-1.333-1.333s0.533-1.333 1.333-1.333h5.333c0.8 0 1.333 0.533 1.333 1.333v5.333c0 0.8-0.533 1.333-1.333 1.333zM1.333 12c-0.8 0-1.333-0.533-1.333-1.333v-5.333c0-0.8 0.533-1.333 1.333-1.333h5.333c0.8 0 1.333 0.533 1.333 1.333s-0.533 1.333-1.333 1.333h-4v4c0 0.8-0.533 1.333-1.333 1.333z"],"full-in":["0 0 32 33","M24.965 24.38h-18.132c-1.366 0-2.478-1.113-2.478-2.478v-11.806c0-1.364 1.111-2.478 2.478-2.478h18.132c1.366 0 2.478 1.113 2.478 2.478v11.806c0 1.364-1.11 2.478-2.478 2.478zM6.833 10.097v11.806h18.134l-0.002-11.806h-18.132zM2.478 28.928h5.952c0.684 0 1.238-0.554 1.238-1.239 0-0.684-0.554-1.238-1.238-1.238h-5.952v-5.802c0-0.684-0.554-1.239-1.238-1.239s-1.239 0.556-1.239 1.239v5.802c0 1.365 1.111 2.478 2.478 2.478zM30.761 19.412c-0.684 0-1.238 0.554-1.238 1.238v5.801h-5.951c-0.686 0-1.239 0.554-1.239 1.238 0 0.686 0.554 1.239 1.239 1.239h5.951c1.366 0 2.478-1.111 2.478-2.478v-5.801c0-0.683-0.554-1.238-1.239-1.238zM0 5.55v5.802c0 0.683 0.554 1.238 1.238 1.238s1.238-0.555 1.238-1.238v-5.802h5.952c0.684 0 1.238-0.554 1.238-1.238s-0.554-1.238-1.238-1.238h-5.951c-1.366-0.001-2.478 1.111-2.478 2.476zM32 11.35v-5.801c0-1.365-1.11-2.478-2.478-2.478h-5.951c-0.686 0-1.239 0.554-1.239 1.238s0.554 1.238 1.239 1.238h5.951v5.801c0 0.683 0.554 1.237 1.238 1.237 0.686 0.002 1.239-0.553 1.239-1.236z"],setting:["0 0 32 28","M28.633 17.104c0.035 0.21 0.026 0.463-0.026 0.76s-0.14 0.598-0.262 0.904c-0.122 0.306-0.271 0.581-0.445 0.825s-0.367 0.419-0.576 0.524c-0.209 0.105-0.393 0.157-0.55 0.157s-0.332-0.035-0.524-0.105c-0.175-0.052-0.393-0.1-0.655-0.144s-0.528-0.052-0.799-0.026c-0.271 0.026-0.541 0.083-0.812 0.17s-0.502 0.236-0.694 0.445c-0.419 0.437-0.664 0.934-0.734 1.493s0.009 1.092 0.236 1.598c0.175 0.349 0.148 0.699-0.079 1.048-0.105 0.14-0.271 0.284-0.498 0.432s-0.476 0.284-0.747 0.406-0.555 0.218-0.851 0.288c-0.297 0.070-0.559 0.105-0.786 0.105-0.157 0-0.306-0.061-0.445-0.183s-0.236-0.253-0.288-0.393h-0.026c-0.192-0.541-0.52-1.009-0.982-1.402s-1-0.589-1.611-0.589c-0.594 0-1.131 0.197-1.611 0.589s-0.816 0.851-1.009 1.375c-0.087 0.21-0.218 0.362-0.393 0.458s-0.367 0.144-0.576 0.144c-0.244 0-0.52-0.044-0.825-0.131s-0.611-0.197-0.917-0.327c-0.306-0.131-0.581-0.284-0.825-0.458s-0.428-0.349-0.55-0.524c-0.087-0.122-0.135-0.266-0.144-0.432s0.057-0.397 0.197-0.694c0.192-0.402 0.266-0.86 0.223-1.375s-0.266-0.991-0.668-1.428c-0.244-0.262-0.541-0.432-0.891-0.511s-0.681-0.109-0.995-0.092c-0.367 0.017-0.742 0.087-1.127 0.21-0.244 0.070-0.489 0.052-0.734-0.052-0.192-0.070-0.371-0.231-0.537-0.485s-0.314-0.533-0.445-0.838c-0.131-0.306-0.231-0.62-0.301-0.943s-0.087-0.59-0.052-0.799c0.052-0.384 0.227-0.629 0.524-0.734 0.524-0.21 0.995-0.555 1.415-1.035s0.629-1.017 0.629-1.611c0-0.611-0.21-1.144-0.629-1.598s-0.891-0.786-1.415-0.996c-0.157-0.052-0.288-0.179-0.393-0.38s-0.157-0.406-0.157-0.616c0-0.227 0.035-0.48 0.105-0.76s0.162-0.55 0.275-0.812 0.244-0.502 0.393-0.72c0.148-0.218 0.31-0.38 0.485-0.485 0.14-0.087 0.275-0.122 0.406-0.105s0.275 0.052 0.432 0.105c0.524 0.21 1.070 0.275 1.637 0.197s1.070-0.327 1.506-0.747c0.21-0.209 0.362-0.467 0.458-0.773s0.157-0.607 0.183-0.904c0.026-0.297 0.026-0.568 0-0.812s-0.048-0.419-0.065-0.524c-0.035-0.105-0.066-0.227-0.092-0.367s-0.013-0.262 0.039-0.367c0.105-0.244 0.293-0.458 0.563-0.642s0.563-0.336 0.878-0.458c0.314-0.122 0.62-0.214 0.917-0.275s0.533-0.092 0.707-0.092c0.227 0 0.406 0.074 0.537 0.223s0.223 0.301 0.275 0.458c0.192 0.471 0.507 0.886 0.943 1.244s0.952 0.537 1.546 0.537c0.611 0 1.153-0.17 1.624-0.511s0.803-0.773 0.996-1.297c0.070-0.14 0.179-0.284 0.327-0.432s0.301-0.223 0.458-0.223c0.244 0 0.511 0.035 0.799 0.105s0.572 0.166 0.851 0.288c0.279 0.122 0.537 0.279 0.773 0.472s0.423 0.402 0.563 0.629c0.087 0.14 0.113 0.293 0.079 0.458s-0.070 0.284-0.105 0.354c-0.227 0.506-0.297 1.039-0.21 1.598s0.341 1.048 0.76 1.467c0.419 0.419 0.934 0.651 1.546 0.694s1.179-0.057 1.703-0.301c0.14-0.087 0.31-0.122 0.511-0.105s0.371 0.096 0.511 0.236c0.262 0.244 0.493 0.616 0.694 1.113s0.336 1 0.406 1.506c0.035 0.297-0.013 0.528-0.144 0.694s-0.266 0.275-0.406 0.327c-0.542 0.192-1.004 0.528-1.388 1.009s-0.576 1.026-0.576 1.637c0 0.594 0.162 1.113 0.485 1.559s0.747 0.764 1.27 0.956c0.122 0.070 0.227 0.14 0.314 0.21 0.192 0.157 0.323 0.358 0.393 0.602v0zM16.451 19.462c0.786 0 1.528-0.149 2.227-0.445s1.305-0.707 1.821-1.231c0.515-0.524 0.921-1.131 1.218-1.821s0.445-1.428 0.445-2.214c0-0.786-0.148-1.524-0.445-2.214s-0.703-1.292-1.218-1.808c-0.515-0.515-1.122-0.921-1.821-1.218s-1.441-0.445-2.227-0.445c-0.786 0-1.524 0.148-2.214 0.445s-1.292 0.703-1.808 1.218c-0.515 0.515-0.921 1.118-1.218 1.808s-0.445 1.428-0.445 2.214c0 0.786 0.149 1.524 0.445 2.214s0.703 1.297 1.218 1.821c0.515 0.524 1.118 0.934 1.808 1.231s1.428 0.445 2.214 0.445v0z"],right:["0 0 32 32","M22 16l-10.105-10.6-1.895 1.987 8.211 8.613-8.211 8.612 1.895 1.988 8.211-8.613z"],comment:["0 0 32 32","M27.128 0.38h-22.553c-2.336 0-4.229 1.825-4.229 4.076v16.273c0 2.251 1.893 4.076 4.229 4.076h4.229v-2.685h8.403l-8.784 8.072 1.566 1.44 7.429-6.827h9.71c2.335 0 4.229-1.825 4.229-4.076v-16.273c0-2.252-1.894-4.076-4.229-4.076zM28.538 19.403c0 1.5-1.262 2.717-2.819 2.717h-8.36l-0.076-0.070-0.076 0.070h-11.223c-1.557 0-2.819-1.217-2.819-2.717v-13.589c0-1.501 1.262-2.718 2.819-2.718h19.734c1.557 0 2.819-0.141 2.819 1.359v14.947zM9.206 10.557c-1.222 0-2.215 0.911-2.215 2.036s0.992 2.035 2.215 2.035c1.224 0 2.216-0.911 2.216-2.035s-0.992-2.036-2.216-2.036zM22.496 10.557c-1.224 0-2.215 0.911-2.215 2.036s0.991 2.035 2.215 2.035c1.224 0 2.215-0.911 2.215-2.035s-0.991-2.036-2.215-2.036zM15.852 10.557c-1.224 0-2.215 0.911-2.215 2.036s0.991 2.035 2.215 2.035c1.222 0 2.215-0.911 2.215-2.035s-0.992-2.036-2.215-2.036z"],"comment-off":["0 0 32 32","M27.090 0.131h-22.731c-2.354 0-4.262 1.839-4.262 4.109v16.401c0 2.269 1.908 4.109 4.262 4.109h4.262v-2.706h8.469l-8.853 8.135 1.579 1.451 7.487-6.88h9.787c2.353 0 4.262-1.84 4.262-4.109v-16.401c0-2.27-1.909-4.109-4.262-4.109v0zM28.511 19.304c0 1.512-1.272 2.738-2.841 2.738h-8.425l-0.076-0.070-0.076 0.070h-11.311c-1.569 0-2.841-1.226-2.841-2.738v-13.696c0-1.513 1.272-2.739 2.841-2.739h19.889c1.569 0 2.841-0.142 2.841 1.37v15.064z"],send:["0 0 32 32","M13.725 30l3.9-5.325-3.9-1.125v6.45zM0 17.5l11.050 3.35 13.6-11.55-10.55 12.425 11.8 3.65 6.1-23.375-32 15.5z"],pallette:["0 0 32 32","M19.357 2.88c1.749 0 3.366 0.316 4.851 0.946 1.485 0.632 2.768 1.474 3.845 2.533s1.922 2.279 2.532 3.661c0.611 1.383 0.915 2.829 0.915 4.334 0 1.425-0.304 2.847-0.915 4.271-0.611 1.425-1.587 2.767-2.928 4.028-0.855 0.813-1.811 1.607-2.869 2.38s-2.136 1.465-3.233 2.075c-1.099 0.61-2.198 1.098-3.296 1.465-1.098 0.366-2.115 0.549-3.051 0.549-1.343 0-2.441-0.438-3.296-1.311-0.854-0.876-1.281-2.41-1.281-4.608 0-0.366 0.020-0.773 0.060-1.221s0.062-0.895 0.062-1.343c0-0.773-0.183-1.353-0.55-1.738-0.366-0.387-0.793-0.58-1.281-0.58-0.652 0-1.21 0.295-1.678 0.886s-0.926 1.23-1.373 1.921c-0.447 0.693-0.905 1.334-1.372 1.923s-1.028 0.886-1.679 0.886c-0.529 0-1.048-0.427-1.556-1.282s-0.763-2.259-0.763-4.212c0-2.197 0.529-4.241 1.587-6.133s2.462-3.529 4.21-4.912c1.75-1.383 3.762-2.471 6.041-3.264 2.277-0.796 4.617-1.212 7.018-1.253zM7.334 15.817c0.569 0 1.047-0.204 1.434-0.611s0.579-0.875 0.579-1.404c0-0.569-0.193-1.047-0.579-1.434s-0.864-0.579-1.434-0.579c-0.529 0-0.987 0.193-1.373 0.579s-0.58 0.864-0.58 1.434c0 0.53 0.194 0.998 0.58 1.404 0.388 0.407 0.845 0.611 1.373 0.611zM12.216 11.79c0.691 0 1.292-0.254 1.8-0.763s0.762-1.107 0.762-1.8c0-0.732-0.255-1.343-0.762-1.831-0.509-0.489-1.109-0.732-1.8-0.732-0.732 0-1.342 0.244-1.831 0.732-0.488 0.488-0.732 1.098-0.732 1.831 0 0.693 0.244 1.292 0.732 1.8s1.099 0.763 1.831 0.763zM16.366 25.947c0.692 0 1.282-0.214 1.77-0.64s0.732-0.987 0.732-1.678-0.244-1.261-0.732-1.709c-0.489-0.448-1.078-0.671-1.77-0.671-0.65 0-1.21 0.223-1.678 0.671s-0.702 1.018-0.702 1.709c0 0.692 0.234 1.25 0.702 1.678s1.027 0.64 1.678 0.64zM19.113 9.592c0.651 0 1.129-0.203 1.433-0.611 0.305-0.406 0.459-0.874 0.459-1.404 0-0.488-0.154-0.947-0.459-1.373-0.304-0.427-0.782-0.641-1.433-0.641-0.529 0-1.008 0.193-1.434 0.58s-0.64 0.865-0.64 1.434c0 0.571 0.213 1.049 0.64 1.434 0.427 0.389 0.905 0.581 1.434 0.581zM24.848 12.826c0.57 0 1.067-0.213 1.495-0.64 0.427-0.427 0.64-0.947 0.64-1.556 0-0.57-0.214-1.068-0.64-1.495-0.428-0.427-0.927-0.64-1.495-0.64-0.611 0-1.129 0.213-1.555 0.64-0.428 0.427-0.642 0.926-0.642 1.495 0 0.611 0.213 1.129 0.642 1.556s0.947 0.64 1.555 0.64z"],camera:["0 0 32 32","M16 23c-3.309 0-6-2.691-6-6s2.691-6 6-6 6 2.691 6 6-2.691 6-6 6zM16 13c-2.206 0-4 1.794-4 4s1.794 4 4 4c2.206 0 4-1.794 4-4s-1.794-4-4-4zM27 28h-22c-1.654 0-3-1.346-3-3v-16c0-1.654 1.346-3 3-3h3c0.552 0 1 0.448 1 1s-0.448 1-1 1h-3c-0.551 0-1 0.449-1 1v16c0 0.552 0.449 1 1 1h22c0.552 0 1-0.448 1-1v-16c0-0.551-0.448-1-1-1h-11c-0.552 0-1-0.448-1-1s0.448-1 1-1h11c1.654 0 3 1.346 3 3v16c0 1.654-1.346 3-3 3zM24 10.5c0 0.828 0.672 1.5 1.5 1.5s1.5-0.672 1.5-1.5c0-0.828-0.672-1.5-1.5-1.5s-1.5 0.672-1.5 1.5zM15 4c0 0.552-0.448 1-1 1h-4c-0.552 0-1-0.448-1-1v0c0-0.552 0.448-1 1-1h4c0.552 0 1 0.448 1 1v0z"],subtitle:["0 0 32 32","M26.667 5.333h-21.333c-0 0-0.001 0-0.001 0-1.472 0-2.666 1.194-2.666 2.666 0 0 0 0.001 0 0.001v-0 16c0 0 0 0.001 0 0.001 0 1.472 1.194 2.666 2.666 2.666 0 0 0.001 0 0.001 0h21.333c0 0 0.001 0 0.001 0 1.472 0 2.666-1.194 2.666-2.666 0-0 0-0.001 0-0.001v0-16c0-0 0-0.001 0-0.001 0-1.472-1.194-2.666-2.666-2.666-0 0-0.001 0-0.001 0h0zM5.333 16h5.333v2.667h-5.333v-2.667zM18.667 24h-13.333v-2.667h13.333v2.667zM26.667 24h-5.333v-2.667h5.333v2.667zM26.667 18.667h-13.333v-2.667h13.333v2.667z"]},iconsColor:"#ffffff",contextmenu:[],mutex:!0};for(var n in t)t.hasOwnProperty(n)&&!e.hasOwnProperty(n)&&(e[n]=t[n]);return e.video&&!e.video.type&&(e.video.type="auto"),"object"===i(e.danmaku)&&e.danmaku&&!e.danmaku.user&&(e.danmaku.user="DIYgod"),e.subtitle&&(!e.subtitle.type&&(e.subtitle.type="webvtt"),!e.subtitle.fontSize&&(e.subtitle.fontSize="20px"),!e.subtitle.bottom&&(e.subtitle.bottom="40px"),!e.subtitle.color&&(e.subtitle.color="#fff")),e.video.quality&&(e.video.url=[e.video.quality[e.video.defaultQuality].url]),e.lang&&(e.lang=e.lang.toLowerCase()),e.icons&&(e.icons=Object.assign({},t.icons,e.icons)),e.contextmenu=e.contextmenu.concat([{text:"About author",link:"https://diygod.me"},{text:"About DPlayer",link:"https://github.com/MoePlayer/DPlayer"},{text:"DPlayer feedback",link:"https://github.com/DIYgod/DPlayer/issues"},{text:"DPlayer 1.17.3 e3cfb21",link:"https://github.com/MoePlayer/DPlayer/releases"}]),e}},function(e,t,n){"use strict";var i=function(e,t,n,i,a){var s=new XMLHttpRequest;s.onreadystatechange=function(){if(4===s.readyState){if(s.status>=200&&s.status<300||304===s.status){var e=JSON.parse(s.responseText);return 1!==e.code?i(s,e):n(s,e)}a(s)}},s.open(null!==t?"POST":"GET",e,!0),s.send(null!==t?JSON.stringify(t):null)};e.exports={send:function(e,t,n){i(e,t,function(e,t){console.log("Post danmaku: ",t),n&&n()},function(e,t){alert(t.msg)},function(e){console.log("Request was unsuccessful: "+e.status)})},read:function(e,t){i(e,null,function(e,n){t(null,n.danmaku)},function(e,n){t({status:e.status,response:n})},function(e){t({status:e.status,response:null})})}}},function(e,t,n){"use strict";e.exports=function(e){var t=this;this.lang=e,this.tran=function(e){return i[t.lang]&&i[t.lang][e]?i[t.lang][e]:e}};var i={"zh-cn":{"Danmaku is loading":"\u5f39\u5e55\u52a0\u8f7d\u4e2d",Top:"\u9876\u90e8",Bottom:"\u5e95\u90e8",Rolling:"\u6eda\u52a8","Input danmaku, hit Enter":"\u8f93\u5165\u5f39\u5e55\uff0c\u56de\u8f66\u53d1\u9001","About author":"\u5173\u4e8e\u4f5c\u8005","DPlayer feedback":"\u64ad\u653e\u5668\u610f\u89c1\u53cd\u9988","About DPlayer":"\u5173\u4e8e DPlayer \u64ad\u653e\u5668",Loop:"\u6d17\u8111\u5faa\u73af",Speed:"\u901f\u5ea6","Opacity for danmaku":"\u5f39\u5e55\u900f\u660e\u5ea6",Normal:"\u6b63\u5e38","Please input danmaku content!":"\u8981\u8f93\u5165\u5f39\u5e55\u5185\u5bb9\u554a\u5582\uff01","Set danmaku color":"\u8bbe\u7f6e\u5f39\u5e55\u989c\u8272","Set danmaku type":"\u8bbe\u7f6e\u5f39\u5e55\u7c7b\u578b","Show danmaku":"\u663e\u793a\u5f39\u5e55","This video fails to load":"\u89c6\u9891\u52a0\u8f7d\u5931\u8d25","Switching to":"\u6b63\u5728\u5207\u6362\u81f3","Switched to":"\u5df2\u7ecf\u5207\u6362\u81f3",quality:"\u753b\u8d28",FF:"\u5feb\u8fdb",REW:"\u5feb\u9000","Unlimited danmaku":"\u6d77\u91cf\u5f39\u5e55","Send danmaku":"\u53d1\u9001\u5f39\u5e55",Setting:"\u8bbe\u7f6e","Full screen":"\u5168\u5c4f","Web full screen":"\u9875\u9762\u5168\u5c4f",Send:"\u53d1\u9001",Screenshot:"\u622a\u56fe",s:"\u79d2","Show subtitle":"\u663e\u793a\u5b57\u5e55","Hide subtitle":"\u9690\u85cf\u5b57\u5e55",Volume:"\u97f3\u91cf",Live:"\u76f4\u64ad"},"zh-tw":{"Danmaku is loading":"\u5f48\u5e55\u52a0\u8f09\u4e2d",Top:"\u9802\u90e8",Bottom:"\u5e95\u90e8",Rolling:"\u6efe\u52d5","Input danmaku, hit Enter":"\u8f38\u5165\u5f48\u5e55\uff0cEnter \u767c\u9001","About author":"\u95dc\u65bc\u4f5c\u8005","DPlayer feedback":"\u64ad\u653e\u5668\u610f\u898b\u53cd\u994b","About DPlayer":"\u95dc\u65bc DPlayer \u64ad\u653e\u5668",Loop:"\u5faa\u74b0\u64ad\u653e",Speed:"\u901f\u5ea6","Opacity for danmaku":"\u5f48\u5e55\u900f\u660e\u5ea6",Normal:"\u6b63\u5e38","Please input danmaku content!":"\u8acb\u8f38\u5165\u5f48\u5e55\u5185\u5bb9\u554a\uff01","Set danmaku color":"\u8a2d\u7f6e\u5f48\u5e55\u984f\u8272","Set danmaku type":"\u8a2d\u7f6e\u5f48\u5e55\u985e\u578b","Show danmaku":"\u986f\u793a\u5f48\u5e55","This video fails to load":"\u8996\u983b\u52a0\u8f09\u5931\u6557","Switching to":"\u6b63\u5728\u5207\u63db\u81f3","Switched to":"\u5df2\u7d93\u5207\u63db\u81f3",quality:"\u756b\u8cea",FF:"\u5feb\u9032",REW:"\u5feb\u9000","Unlimited danmaku":"\u6d77\u91cf\u5f48\u5e55","Send danmaku":"\u767c\u9001\u5f48\u5e55",Setting:"\u8a2d\u7f6e","Full screen":"\u5168\u5c4f","Web full screen":"\u9801\u9762\u5168\u5c4f",Send:"\u767c\u9001",Screenshot:"\u622a\u5716",s:"\u79d2","Show subtitle":"\u986f\u793a\u5b57\u5e55","Hide subtitle":"\u96b1\u85cf\u5b57\u5e55",Volume:"\u97f3\u91cf",Live:"\u76f4\u64ad"}}},function(e,t,n){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var a=function(){function e(e,t){for(var n=0;n
'+this.tplVideo(!0,e.video.pic,e.screenshot,e.preload,e.video.url,e.subtitle)+(e.logo?'':"")+'
'+(e.danmaku?''+n("Danmaku is loading")+"":"")+'
'+n("Set danmaku color")+'
'+n("Set danmaku type")+'
0:00 / 0:00'+(e.live?''+n("Live")+"":"")+'
'+(e.video.quality?'
'+this.tplQualityList(e.video.quality)+"
":"")+(e.screenshot?''+i.get("camera")+"":"")+'
"+(e.subtitle?'
":"")+'
'+n("Speed")+'
'+i.get("right")+'
'+n("Loop")+'
'+n("Show danmaku")+'
'+n("Unlimited danmaku")+'
'+n("Opacity for danmaku")+'
0.5
0.75
'+n("Normal")+'
1.25
1.5
2
'+this.tplContextmenuList(e.contextmenu,n)+'
'}},{key:"tplDanmakumargin",value:function(e){var t="";if(e)for(var n in e)t+=n+":"+e[n]+";";return t}},{key:"tplContextmenuList",value:function(e,t){for(var n='";return n+=""}},{key:"tplQualityList",value:function(e){for(var t='
',n=0;n'+e[n].name+"
";return t+=""}},{key:"tplVideo",value:function(e,t,n,i,a,s){var l=s&&"webvtt"===s.type;return'"}}]),e}();e.exports=s},function(e,t,n){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var a=function(){function e(e,t){for(var n=0;n'}}]),e}();e.exports=s},function(e,t,n){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},s=function(){function e(e,t){for(var n=0;nparseFloat(t.time);)n.push(t),t=this.dan[++this.danIndex];this.draw(n)}window.requestAnimationFrame(function(){e.frame()})}},{key:"opacity",value:function(e){if(void 0!==e){for(var t=this.container.getElementsByClassName("dplayer-danmaku-item"),n=0;n'+e[a].text+"":s.innerHTML=e[a].text,s.style.opacity=t._opacity,s.style.color=e[a].color,s.addEventListener("animationend",function(){t.container.removeChild(s)});var l=t._measure(e[a].text),o=void 0;switch(e[a].type){case"right":o=c(s,e[a].type,l),o>=0&&(s.style.width=l+1+"px",s.style.top=n*o+"px",s.style.transform="translateX(-"+i+"px)");break;case"top":o=c(s,e[a].type),o>=0&&(s.style.top=n*o+"px");break;case"bottom":o=c(s,e[a].type),o>=0&&(s.style.bottom=n*o+"px");break;default:console.error("Can't handled danmaku type: "+e[a].type)}o>=0&&(s.classList.add("dplayer-danmaku-move"),u.appendChild(s))}(d);return this.container.appendChild(u),u}}},{key:"play",value:function(){this.paused=!1}},{key:"pause",value:function(){this.paused=!0}},{key:"_measure",value:function(e){if(!this.context){var t=getComputedStyle(this.container.getElementsByClassName("dplayer-danmaku-item")[0],null);this.context=document.createElement("canvas").getContext("2d"),this.context.font=t.getPropertyValue("font")}return this.context.measureText(e).width}},{key:"seek",value:function(){this.clear();for(var e=0;e=this.options.time()){this.danIndex=e;break}this.danIndex=this.dan.length}}},{key:"clear",value:function(){this.danTunnel={right:{},top:{},bottom:{}},this.danIndex=0,this.options.container.innerHTML="",this.events&&this.events.trigger("danmaku_clear")}},{key:"htmlEncode",value:function(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/")}},{key:"resize",value:function(){for(var e=this.container.offsetWidth,t=this.container.getElementsByClassName("dplayer-danmaku-item"),n=0;n0&&void 0!==arguments[0]?arguments[0]:"browser"){case"browser":return document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement;case"web":return this.player.container.classList.contains("dplayer-fulled")}}},{key:"request",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"browser",t="browser"===e?"web":"browser",n=this.isFullScreen(t);switch(n||(this.lastScrollPosition=l.default.getScrollPosition()),e){case"browser":this.player.container.requestFullscreen?this.player.container.requestFullscreen():this.player.container.mozRequestFullScreen?this.player.container.mozRequestFullScreen():this.player.container.webkitRequestFullscreen?this.player.container.webkitRequestFullscreen():this.player.video.webkitEnterFullscreen&&this.player.video.webkitEnterFullscreen();break;case"web":this.player.container.classList.add("dplayer-fulled"),document.body.classList.add("dplayer-web-fullscreen-fix"),this.player.events.trigger("webfullscreen")}n&&this.cancel(t)}},{key:"cancel",value:function(){switch(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"browser"){case"browser":document.cancelFullScreen?document.cancelFullScreen():document.mozCancelFullScreen?document.mozCancelFullScreen():document.webkitCancelFullScreen&&document.webkitCancelFullScreen();break;case"web":this.player.container.classList.remove("dplayer-fulled"),document.body.classList.remove("dplayer-web-fullscreen-fix"),this.player.events.trigger("webfullscreen_cancel")}}},{key:"toggle",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"browser";this.isFullScreen(e)?this.cancel(e):this.request(e)}}]),e}();e.exports=o},function(e,t,n){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var a=function(){function e(e,t){for(var n=0;nt&&!e.player.video.paused&&(e.player.container.classList.remove("dplayer-loading"),i=!1),t=n)},100)}},{key:"initprogressChecker",value:function(){var e=this;this.progressChecker=setInterval(function(){if(e.enableprogressChecker){e.player.bar.set("played",e.player.video.currentTime/e.player.video.duration,"width");var t=l.default.secondToTime(e.player.video.currentTime);e.player.template.ptime.innerHTML!==t&&(e.player.template.ptime.innerHTML=l.default.secondToTime(e.player.video.currentTime))}},100)}},{key:"enable",value:function(e){if(e)this["enable"+e+"Checker"]=!0;else for(var t=0;te.player.template.playedBarWrap.offsetWidth)return;var a=e.player.video.duration*(i/e.player.template.playedBarWrap.offsetWidth);e.thumbnails&&e.thumbnails.move(i),e.player.template.playedBarTime.style.left=i-20+"px",e.player.template.playedBarTime.innerText=o.default.secondToTime(a),e.player.template.playedBarTime.classList.remove("hidden")}}),this.player.template.playedBarWrap.addEventListener("mouseenter",function(){e.player.video.duration&&(e.thumbnails&&e.thumbnails.show(),e.player.template.playedBarTime.classList.remove("hidden"))}),this.player.template.playedBarWrap.addEventListener("mouseleave",function(){e.player.video.duration&&(e.thumbnails&&e.thumbnails.hide(),e.player.template.playedBarTime.classList.add("hidden"))})}},{key:"initFullButton",value:function(){var e=this;this.player.template.browserFullButton.addEventListener("click",function(){e.player.fullScreen.toggle("browser")}),this.player.template.webFullButton.addEventListener("click",function(){e.player.fullScreen.toggle("web")})}},{key:"initVolumeButton",value:function(){var e=this,t=function(t){var n=t||window.event,i=(n.clientX-o.default.getElementViewLeft(e.player.template.volumeBarWrap)-5.5)/35;e.player.volume(i)},n=function n(){document.removeEventListener("mouseup",n),document.removeEventListener("mousemove",t),e.player.template.volumeButton.classList.remove("dplayer-volume-active")};this.player.template.volumeBarWrapWrap.addEventListener("click",function(t){var n=t||window.event,i=(n.clientX-o.default.getElementViewLeft(e.player.template.volumeBarWrap)-5.5)/35;e.player.volume(i)}),this.player.template.volumeBarWrapWrap.addEventListener("mousedown",function(){document.addEventListener("mousemove",t),document.addEventListener("mouseup",n),e.player.template.volumeButton.classList.add("dplayer-volume-active")}),this.player.template.volumeIcon.addEventListener("click",function(){e.player.video.muted?(e.player.video.muted=!1,e.player.switchVolumeIcon(),e.player.bar.set("volume",e.player.volume(),"width")):(e.player.video.muted=!0,e.player.template.volumeIcon.innerHTML=e.player.icons.get("volume-off"),e.player.bar.set("volume",0,"width"))})}},{key:"initQualityButton",value:function(){var e=this;this.player.options.video.quality&&this.player.template.qualityList.addEventListener("click",function(t){t.target.classList.contains("dplayer-quality-item")&&e.player.switchQuality(t.target.dataset.index)})}},{key:"initScreenshotButton",value:function(){var e=this;this.player.options.screenshot&&this.player.template.camareButton.addEventListener("click",function(){var t=document.createElement("canvas");t.width=e.player.video.videoWidth,t.height=e.player.video.videoHeight,t.getContext("2d").drawImage(e.player.video,0,0,t.width,t.height);var n=t.toDataURL();e.player.template.camareButton.href=n,e.player.template.camareButton.download="DPlayer.png",e.player.events.trigger("screenshot",n)})}},{key:"initSubtitleButton",value:function(){var e=this;this.player.options.subtitle&&(this.player.events.on("subtitle_show",function(){e.player.template.subtitleButton.dataset.balloon=e.player.tran("Hide subtitle"),e.player.template.subtitleButtonInner.style.opacity="",e.player.user.set("subtitle",1)}),this.player.events.on("subtitle_hide",function(){e.player.template.subtitleButton.dataset.balloon=e.player.tran("Show subtitle"),e.player.template.subtitleButtonInner.style.opacity="0.4",e.player.user.set("subtitle",0)}),this.player.template.subtitleButton.addEventListener("click",function(){e.player.subtitle.toggle()}))}},{key:"setAutoHide",value:function(){var e=this;this.show(),clearTimeout(this.autoHideTimer),this.autoHideTimer=setTimeout(function(){e.player.video.played.length&&!e.disableAutoHide&&e.hide()},2e3)}},{key:"show",value:function(){this.player.container.classList.remove("dplayer-hide-controller")}},{key:"hide",value:function(){this.player.container.classList.add("dplayer-hide-controller"),this.player.setting.hide(),this.player.comment.hide()}},{key:"isShow",value:function(){return!this.player.container.classList.contains("dplayer-hide-controller")}},{key:"toggle",value:function(){this.isShow()?this.hide():this.show()}},{key:"destroy",value:function(){clearTimeout(this.autoHideTimer)}}]),e}();e.exports=u},function(e,t,n){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var a=function(){function e(e,t){for(var n=0;n=n.width?(this.player.template.menu.style.right=n.width-e+"px",this.player.template.menu.style.left="initial"):(this.player.template.menu.style.left=e+"px",this.player.template.menu.style.right="initial"),t+this.player.template.menu.offsetHeight>=n.height?(this.player.template.menu.style.bottom=n.height-t+"px",this.player.template.menu.style.top="initial"):(this.player.template.menu.style.top=t+"px",this.player.template.menu.style.bottom="initial"),this.player.template.mask.classList.add("dplayer-mask-show"),this.player.events.trigger("contextmenu_show")}},{key:"hide",value:function(){this.player.template.mask.classList.remove("dplayer-mask-show"),this.player.template.menu.classList.remove("dplayer-menu-show"),this.player.events.trigger("contextmenu_hide")}}]),e}();e.exports=s}])}); +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("DPlayer",[],t):"object"==typeof exports?exports.DPlayer=t():e.DPlayer=t()}("undefined"!=typeof self?self:this,function(){return function(e){function t(i){if(n[i])return n[i].exports;var a=n[i]={i:i,l:!1,exports:{}};return e[i].call(a.exports,a,a.exports,t),a.l=!0,a.exports}var n={};return t.m=e,t.c=n,t.d=function(e,n,i){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:i})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="/",t(t.s=1)}([function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={secondToTime:function(e){var t=function(e){return e<10?"0"+e:""+e},n=parseInt(e/60),i=parseInt(e-60*n);return t(n)+":"+t(i)},getElementViewLeft:function(e){var t=e.offsetLeft,n=e.offsetParent,i=document.body.scrollLeft+document.documentElement.scrollLeft;if(document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement)for(;null!==n&&n!==e;)t+=n.offsetLeft,n=n.offsetParent;else for(;null!==n;)t+=n.offsetLeft,n=n.offsetParent;return t-i},getScrollPosition:function(){return{left:window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft||0,top:window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0}},setScrollPosition:function(e){var t=e.left,n=void 0===t?0:t,i=e.top,a=void 0===i?0:i;this.isFirefox?(document.documentElement.scrollLeft=n,document.documentElement.scrollTop=a):window.scrollTo(n,a)},isMobile:/mobile/i.test(window.navigator.userAgent),isFirefox:/firefox/i.test(window.navigator.userAgent),isChrome:/chrome/i.test(window.navigator.userAgent),storage:{set:function(e,t){localStorage.setItem(e,t)},get:function(e){return localStorage.getItem(e)}},cumulativeOffset:function(e){var t=0,n=0;do{t+=e.offsetTop||0,n+=e.offsetLeft||0,e=e.offsetParent}while(e);return{top:t,left:n}}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),n(2);var i=n(3),a=function(e){return e&&e.__esModule?e:{default:e}}(i);console.log("\n %c DPlayer 1.18.0 3b675ea %c http://dplayer.js.org \n\n","color: #fadfa3; background: #030307; padding:5px 0;","background: #fadfa3; padding:5px 0;"),t.default=a.default},function(e,t){},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var s=function(){function e(e,t){for(var n=0;ne&&this.notice(this.tran("REW")+" "+(this.video.currentTime-e).toFixed(0)+" "+this.tran("s")),this.video.currentTime=e,this.danmaku&&this.danmaku.seek(),this.bar.set("played",e/this.video.duration,"width")}},{key:"play",value:function(){if(this.paused=!1,this.video.paused&&this.bezel.switch(this.icons.get("play")),this.template.playButton.innerHTML=this.icons.get("pause"),this.video.play(),this.time.enable(),this.container.classList.add("dplayer-playing"),this.danmaku&&this.danmaku.play(),this.options.mutex)for(var e=0;e=.95?this.template.volumeIcon.innerHTML=this.icons.get("volume-up"):this.volume()>0?this.template.volumeIcon.innerHTML=this.icons.get("volume-down"):this.template.volumeIcon.innerHTML=this.icons.get("volume-off")}},{key:"volume",value:function(e,t,n){if(e=parseFloat(e),!isNaN(e)){e=Math.max(e,0),e=Math.min(e,1),this.bar.set("volume",e,"width");var i=(100*e).toFixed(0)+"%";this.template.volumeBarWrapWrap.dataset.balloon=i,t||this.user.set("volume",e),n||this.notice(this.tran("Volume")+" "+(100*e).toFixed(0)+"%"),this.video.volume=e,this.video.muted&&(this.video.muted=!1),this.switchVolumeIcon()}return this.video.volume}},{key:"toggle",value:function(){this.video.paused?this.play():this.pause()}},{key:"on",value:function(e,t){this.events.on(e,t)}},{key:"switchVideo",value:function(e,t){this.pause(),this.video.poster=e.pic?e.pic:"",this.video.src=e.url,this.initMSE(this.video,e.type||"auto"),t&&(this.template.danmakuLoading.style.display="block",this.bar.set("played",0,"width"),this.bar.set("loaded",0,"width"),this.template.ptime.innerHTML="00:00",this.template.danmaku.innerHTML="",this.danmaku&&this.danmaku.reload({id:t.id,address:t.api,token:t.token,maximum:t.maximum,addition:t.addition,user:t.user}))}},{key:"initMSE",value:function(e,t){if(this.type=t,"auto"===this.type&&(/m3u8(#|\?|$)/i.exec(e.src)?this.type="hls":/.flv(#|\?|$)/i.exec(e.src)?this.type="flv":/.mpd(#|\?|$)/i.exec(e.src)?this.type="dash":this.type="normal"),"hls"===this.type&&Hls&&Hls.isSupported()){var n=new Hls;n.loadSource(e.src),n.attachMedia(e)}if("flv"===this.type&&flvjs&&flvjs.isSupported()){var i=flvjs.createPlayer({type:"flv",url:e.src});i.attachMediaElement(e),i.load()}"dash"===this.type&&dashjs&&dashjs.MediaPlayer().create().initialize(e,e.src,!1)}},{key:"initVideo",value:function(e,t){var n=this;this.initMSE(e,t),this.on("durationchange",function(){1!==e.duration&&(n.template.dtime.innerHTML=o.default.secondToTime(e.duration))}),this.on("progress",function(){var t=e.buffered.length?e.buffered.end(e.buffered.length-1)/e.duration:0;n.bar.set("loaded",t,"width")}),this.on("error",function(){n.tran&&n.notice&&n.notice(n.tran("This video fails to load"),-1)}),this.ended=!1,this.on("ended",function(){n.bar.set("played",1,"width"),n.setting.loop?(n.seek(0),e.play()):(n.ended=!0,n.pause()),n.danmaku&&(n.danmaku.danIndex=0)}),this.on("play",function(){n.paused&&n.play()}),this.on("pause",function(){n.paused||n.pause()});for(var i=0;i1&&void 0!==arguments[1]?arguments[1]:2e3,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:.8;this.template.notice.innerHTML=e,this.template.notice.style.opacity=i,this.noticeTime&&clearTimeout(this.noticeTime),this.events.trigger("notice_show",e),this.noticeTime=setTimeout(function(){t.template.notice.style.opacity=0,t.events.trigger("notice_hide")},n)}},{key:"resize",value:function(){this.danmaku&&this.danmaku.resize(),this.events.trigger("resize")}},{key:"speed",value:function(e){this.video.playbackRate=e}},{key:"destroy",value:function(){R.splice(R.indexOf(this),1),this.pause(),this.controller.destroy(),this.time.destroy(),this.video.src="",this.container.innerHTML="",this.events.trigger("destroy");for(var e in this)this.hasOwnProperty(e)&&"paused"!==e&&delete this[e]}}]),e}();t.default=N},function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},s=n(5),l=i(s),o=n(0),r=i(o);t.default=function(e){r.default.isMobile&&(e.autoplay=!1);var t={container:e.element||document.getElementsByClassName("dplayer")[0],live:!1,autoplay:!1,theme:"#b7daff",loop:!1,lang:(navigator.language||navigator.browserLanguage).toLowerCase(),screenshot:!1,hotkey:!0,preload:"auto",volume:.7,apiBackend:l.default,video:{},icons:{play:["0 0 16 32","M15.552 15.168q0.448 0.32 0.448 0.832 0 0.448-0.448 0.768l-13.696 8.512q-0.768 0.512-1.312 0.192t-0.544-1.28v-16.448q0-0.96 0.544-1.28t1.312 0.192z"],pause:["0 0 17 32","M14.080 4.8q2.88 0 2.88 2.048v18.24q0 2.112-2.88 2.112t-2.88-2.112v-18.24q0-2.048 2.88-2.048zM2.88 4.8q2.88 0 2.88 2.048v18.24q0 2.112-2.88 2.112t-2.88-2.112v-18.24q0-2.048 2.88-2.048z"],"volume-up":["0 0 21 32","M13.728 6.272v19.456q0 0.448-0.352 0.8t-0.8 0.32-0.8-0.32l-5.952-5.952h-4.672q-0.48 0-0.8-0.352t-0.352-0.8v-6.848q0-0.48 0.352-0.8t0.8-0.352h4.672l5.952-5.952q0.32-0.32 0.8-0.32t0.8 0.32 0.352 0.8zM20.576 16q0 1.344-0.768 2.528t-2.016 1.664q-0.16 0.096-0.448 0.096-0.448 0-0.8-0.32t-0.32-0.832q0-0.384 0.192-0.64t0.544-0.448 0.608-0.384 0.512-0.64 0.192-1.024-0.192-1.024-0.512-0.64-0.608-0.384-0.544-0.448-0.192-0.64q0-0.48 0.32-0.832t0.8-0.32q0.288 0 0.448 0.096 1.248 0.48 2.016 1.664t0.768 2.528zM25.152 16q0 2.72-1.536 5.056t-4 3.36q-0.256 0.096-0.448 0.096-0.48 0-0.832-0.352t-0.32-0.8q0-0.704 0.672-1.056 1.024-0.512 1.376-0.8 1.312-0.96 2.048-2.4t0.736-3.104-0.736-3.104-2.048-2.4q-0.352-0.288-1.376-0.8-0.672-0.352-0.672-1.056 0-0.448 0.32-0.8t0.8-0.352q0.224 0 0.48 0.096 2.496 1.056 4 3.36t1.536 5.056z"],"volume-down":["0 0 21 32","M13.728 6.272v19.456q0 0.448-0.352 0.8t-0.8 0.32-0.8-0.32l-5.952-5.952h-4.672q-0.48 0-0.8-0.352t-0.352-0.8v-6.848q0-0.48 0.352-0.8t0.8-0.352h4.672l5.952-5.952q0.32-0.32 0.8-0.32t0.8 0.32 0.352 0.8zM20.576 16q0 1.344-0.768 2.528t-2.016 1.664q-0.16 0.096-0.448 0.096-0.448 0-0.8-0.32t-0.32-0.832q0-0.384 0.192-0.64t0.544-0.448 0.608-0.384 0.512-0.64 0.192-1.024-0.192-1.024-0.512-0.64-0.608-0.384-0.544-0.448-0.192-0.64q0-0.48 0.32-0.832t0.8-0.32q0.288 0 0.448 0.096 1.248 0.48 2.016 1.664t0.768 2.528z"],"volume-off":["0 0 21 32","M13.728 6.272v19.456q0 0.448-0.352 0.8t-0.8 0.32-0.8-0.32l-5.952-5.952h-4.672q-0.48 0-0.8-0.352t-0.352-0.8v-6.848q0-0.48 0.352-0.8t0.8-0.352h4.672l5.952-5.952q0.32-0.32 0.8-0.32t0.8 0.32 0.352 0.8z"],loop:["0 0 32 32","M1.882 16.941c0 4.152 3.221 7.529 7.177 7.529v1.882c-4.996 0-9.060-4.222-9.060-9.412s4.064-9.412 9.060-9.412h7.96l-3.098-3.098 1.331-1.331 5.372 5.37-5.37 5.372-1.333-1.333 3.1-3.098h-7.962c-3.957 0-7.177 3.377-7.177 7.529zM22.94 7.529v1.882c3.957 0 7.177 3.377 7.177 7.529s-3.221 7.529-7.177 7.529h-7.962l3.098-3.098-1.331-1.331-5.37 5.37 5.372 5.372 1.331-1.331-3.1-3.1h7.96c4.998 0 9.062-4.222 9.062-9.412s-4.064-9.412-9.060-9.412z"],full:["0 0 32 33","M6.667 28h-5.333c-0.8 0-1.333-0.533-1.333-1.333v-5.333c0-0.8 0.533-1.333 1.333-1.333s1.333 0.533 1.333 1.333v4h4c0.8 0 1.333 0.533 1.333 1.333s-0.533 1.333-1.333 1.333zM30.667 28h-5.333c-0.8 0-1.333-0.533-1.333-1.333s0.533-1.333 1.333-1.333h4v-4c0-0.8 0.533-1.333 1.333-1.333s1.333 0.533 1.333 1.333v5.333c0 0.8-0.533 1.333-1.333 1.333zM30.667 12c-0.8 0-1.333-0.533-1.333-1.333v-4h-4c-0.8 0-1.333-0.533-1.333-1.333s0.533-1.333 1.333-1.333h5.333c0.8 0 1.333 0.533 1.333 1.333v5.333c0 0.8-0.533 1.333-1.333 1.333zM1.333 12c-0.8 0-1.333-0.533-1.333-1.333v-5.333c0-0.8 0.533-1.333 1.333-1.333h5.333c0.8 0 1.333 0.533 1.333 1.333s-0.533 1.333-1.333 1.333h-4v4c0 0.8-0.533 1.333-1.333 1.333z"],"full-in":["0 0 32 33","M24.965 24.38h-18.132c-1.366 0-2.478-1.113-2.478-2.478v-11.806c0-1.364 1.111-2.478 2.478-2.478h18.132c1.366 0 2.478 1.113 2.478 2.478v11.806c0 1.364-1.11 2.478-2.478 2.478zM6.833 10.097v11.806h18.134l-0.002-11.806h-18.132zM2.478 28.928h5.952c0.684 0 1.238-0.554 1.238-1.239 0-0.684-0.554-1.238-1.238-1.238h-5.952v-5.802c0-0.684-0.554-1.239-1.238-1.239s-1.239 0.556-1.239 1.239v5.802c0 1.365 1.111 2.478 2.478 2.478zM30.761 19.412c-0.684 0-1.238 0.554-1.238 1.238v5.801h-5.951c-0.686 0-1.239 0.554-1.239 1.238 0 0.686 0.554 1.239 1.239 1.239h5.951c1.366 0 2.478-1.111 2.478-2.478v-5.801c0-0.683-0.554-1.238-1.239-1.238zM0 5.55v5.802c0 0.683 0.554 1.238 1.238 1.238s1.238-0.555 1.238-1.238v-5.802h5.952c0.684 0 1.238-0.554 1.238-1.238s-0.554-1.238-1.238-1.238h-5.951c-1.366-0.001-2.478 1.111-2.478 2.476zM32 11.35v-5.801c0-1.365-1.11-2.478-2.478-2.478h-5.951c-0.686 0-1.239 0.554-1.239 1.238s0.554 1.238 1.239 1.238h5.951v5.801c0 0.683 0.554 1.237 1.238 1.237 0.686 0.002 1.239-0.553 1.239-1.236z"],setting:["0 0 32 28","M28.633 17.104c0.035 0.21 0.026 0.463-0.026 0.76s-0.14 0.598-0.262 0.904c-0.122 0.306-0.271 0.581-0.445 0.825s-0.367 0.419-0.576 0.524c-0.209 0.105-0.393 0.157-0.55 0.157s-0.332-0.035-0.524-0.105c-0.175-0.052-0.393-0.1-0.655-0.144s-0.528-0.052-0.799-0.026c-0.271 0.026-0.541 0.083-0.812 0.17s-0.502 0.236-0.694 0.445c-0.419 0.437-0.664 0.934-0.734 1.493s0.009 1.092 0.236 1.598c0.175 0.349 0.148 0.699-0.079 1.048-0.105 0.14-0.271 0.284-0.498 0.432s-0.476 0.284-0.747 0.406-0.555 0.218-0.851 0.288c-0.297 0.070-0.559 0.105-0.786 0.105-0.157 0-0.306-0.061-0.445-0.183s-0.236-0.253-0.288-0.393h-0.026c-0.192-0.541-0.52-1.009-0.982-1.402s-1-0.589-1.611-0.589c-0.594 0-1.131 0.197-1.611 0.589s-0.816 0.851-1.009 1.375c-0.087 0.21-0.218 0.362-0.393 0.458s-0.367 0.144-0.576 0.144c-0.244 0-0.52-0.044-0.825-0.131s-0.611-0.197-0.917-0.327c-0.306-0.131-0.581-0.284-0.825-0.458s-0.428-0.349-0.55-0.524c-0.087-0.122-0.135-0.266-0.144-0.432s0.057-0.397 0.197-0.694c0.192-0.402 0.266-0.86 0.223-1.375s-0.266-0.991-0.668-1.428c-0.244-0.262-0.541-0.432-0.891-0.511s-0.681-0.109-0.995-0.092c-0.367 0.017-0.742 0.087-1.127 0.21-0.244 0.070-0.489 0.052-0.734-0.052-0.192-0.070-0.371-0.231-0.537-0.485s-0.314-0.533-0.445-0.838c-0.131-0.306-0.231-0.62-0.301-0.943s-0.087-0.59-0.052-0.799c0.052-0.384 0.227-0.629 0.524-0.734 0.524-0.21 0.995-0.555 1.415-1.035s0.629-1.017 0.629-1.611c0-0.611-0.21-1.144-0.629-1.598s-0.891-0.786-1.415-0.996c-0.157-0.052-0.288-0.179-0.393-0.38s-0.157-0.406-0.157-0.616c0-0.227 0.035-0.48 0.105-0.76s0.162-0.55 0.275-0.812 0.244-0.502 0.393-0.72c0.148-0.218 0.31-0.38 0.485-0.485 0.14-0.087 0.275-0.122 0.406-0.105s0.275 0.052 0.432 0.105c0.524 0.21 1.070 0.275 1.637 0.197s1.070-0.327 1.506-0.747c0.21-0.209 0.362-0.467 0.458-0.773s0.157-0.607 0.183-0.904c0.026-0.297 0.026-0.568 0-0.812s-0.048-0.419-0.065-0.524c-0.035-0.105-0.066-0.227-0.092-0.367s-0.013-0.262 0.039-0.367c0.105-0.244 0.293-0.458 0.563-0.642s0.563-0.336 0.878-0.458c0.314-0.122 0.62-0.214 0.917-0.275s0.533-0.092 0.707-0.092c0.227 0 0.406 0.074 0.537 0.223s0.223 0.301 0.275 0.458c0.192 0.471 0.507 0.886 0.943 1.244s0.952 0.537 1.546 0.537c0.611 0 1.153-0.17 1.624-0.511s0.803-0.773 0.996-1.297c0.070-0.14 0.179-0.284 0.327-0.432s0.301-0.223 0.458-0.223c0.244 0 0.511 0.035 0.799 0.105s0.572 0.166 0.851 0.288c0.279 0.122 0.537 0.279 0.773 0.472s0.423 0.402 0.563 0.629c0.087 0.14 0.113 0.293 0.079 0.458s-0.070 0.284-0.105 0.354c-0.227 0.506-0.297 1.039-0.21 1.598s0.341 1.048 0.76 1.467c0.419 0.419 0.934 0.651 1.546 0.694s1.179-0.057 1.703-0.301c0.14-0.087 0.31-0.122 0.511-0.105s0.371 0.096 0.511 0.236c0.262 0.244 0.493 0.616 0.694 1.113s0.336 1 0.406 1.506c0.035 0.297-0.013 0.528-0.144 0.694s-0.266 0.275-0.406 0.327c-0.542 0.192-1.004 0.528-1.388 1.009s-0.576 1.026-0.576 1.637c0 0.594 0.162 1.113 0.485 1.559s0.747 0.764 1.27 0.956c0.122 0.070 0.227 0.14 0.314 0.21 0.192 0.157 0.323 0.358 0.393 0.602v0zM16.451 19.462c0.786 0 1.528-0.149 2.227-0.445s1.305-0.707 1.821-1.231c0.515-0.524 0.921-1.131 1.218-1.821s0.445-1.428 0.445-2.214c0-0.786-0.148-1.524-0.445-2.214s-0.703-1.292-1.218-1.808c-0.515-0.515-1.122-0.921-1.821-1.218s-1.441-0.445-2.227-0.445c-0.786 0-1.524 0.148-2.214 0.445s-1.292 0.703-1.808 1.218c-0.515 0.515-0.921 1.118-1.218 1.808s-0.445 1.428-0.445 2.214c0 0.786 0.149 1.524 0.445 2.214s0.703 1.297 1.218 1.821c0.515 0.524 1.118 0.934 1.808 1.231s1.428 0.445 2.214 0.445v0z"],right:["0 0 32 32","M22 16l-10.105-10.6-1.895 1.987 8.211 8.613-8.211 8.612 1.895 1.988 8.211-8.613z"],comment:["0 0 32 32","M27.128 0.38h-22.553c-2.336 0-4.229 1.825-4.229 4.076v16.273c0 2.251 1.893 4.076 4.229 4.076h4.229v-2.685h8.403l-8.784 8.072 1.566 1.44 7.429-6.827h9.71c2.335 0 4.229-1.825 4.229-4.076v-16.273c0-2.252-1.894-4.076-4.229-4.076zM28.538 19.403c0 1.5-1.262 2.717-2.819 2.717h-8.36l-0.076-0.070-0.076 0.070h-11.223c-1.557 0-2.819-1.217-2.819-2.717v-13.589c0-1.501 1.262-2.718 2.819-2.718h19.734c1.557 0 2.819-0.141 2.819 1.359v14.947zM9.206 10.557c-1.222 0-2.215 0.911-2.215 2.036s0.992 2.035 2.215 2.035c1.224 0 2.216-0.911 2.216-2.035s-0.992-2.036-2.216-2.036zM22.496 10.557c-1.224 0-2.215 0.911-2.215 2.036s0.991 2.035 2.215 2.035c1.224 0 2.215-0.911 2.215-2.035s-0.991-2.036-2.215-2.036zM15.852 10.557c-1.224 0-2.215 0.911-2.215 2.036s0.991 2.035 2.215 2.035c1.222 0 2.215-0.911 2.215-2.035s-0.992-2.036-2.215-2.036z"],"comment-off":["0 0 32 32","M27.090 0.131h-22.731c-2.354 0-4.262 1.839-4.262 4.109v16.401c0 2.269 1.908 4.109 4.262 4.109h4.262v-2.706h8.469l-8.853 8.135 1.579 1.451 7.487-6.88h9.787c2.353 0 4.262-1.84 4.262-4.109v-16.401c0-2.27-1.909-4.109-4.262-4.109v0zM28.511 19.304c0 1.512-1.272 2.738-2.841 2.738h-8.425l-0.076-0.070-0.076 0.070h-11.311c-1.569 0-2.841-1.226-2.841-2.738v-13.696c0-1.513 1.272-2.739 2.841-2.739h19.889c1.569 0 2.841-0.142 2.841 1.37v15.064z"],send:["0 0 32 32","M13.725 30l3.9-5.325-3.9-1.125v6.45zM0 17.5l11.050 3.35 13.6-11.55-10.55 12.425 11.8 3.65 6.1-23.375-32 15.5z"],pallette:["0 0 32 32","M19.357 2.88c1.749 0 3.366 0.316 4.851 0.946 1.485 0.632 2.768 1.474 3.845 2.533s1.922 2.279 2.532 3.661c0.611 1.383 0.915 2.829 0.915 4.334 0 1.425-0.304 2.847-0.915 4.271-0.611 1.425-1.587 2.767-2.928 4.028-0.855 0.813-1.811 1.607-2.869 2.38s-2.136 1.465-3.233 2.075c-1.099 0.61-2.198 1.098-3.296 1.465-1.098 0.366-2.115 0.549-3.051 0.549-1.343 0-2.441-0.438-3.296-1.311-0.854-0.876-1.281-2.41-1.281-4.608 0-0.366 0.020-0.773 0.060-1.221s0.062-0.895 0.062-1.343c0-0.773-0.183-1.353-0.55-1.738-0.366-0.387-0.793-0.58-1.281-0.58-0.652 0-1.21 0.295-1.678 0.886s-0.926 1.23-1.373 1.921c-0.447 0.693-0.905 1.334-1.372 1.923s-1.028 0.886-1.679 0.886c-0.529 0-1.048-0.427-1.556-1.282s-0.763-2.259-0.763-4.212c0-2.197 0.529-4.241 1.587-6.133s2.462-3.529 4.21-4.912c1.75-1.383 3.762-2.471 6.041-3.264 2.277-0.796 4.617-1.212 7.018-1.253zM7.334 15.817c0.569 0 1.047-0.204 1.434-0.611s0.579-0.875 0.579-1.404c0-0.569-0.193-1.047-0.579-1.434s-0.864-0.579-1.434-0.579c-0.529 0-0.987 0.193-1.373 0.579s-0.58 0.864-0.58 1.434c0 0.53 0.194 0.998 0.58 1.404 0.388 0.407 0.845 0.611 1.373 0.611zM12.216 11.79c0.691 0 1.292-0.254 1.8-0.763s0.762-1.107 0.762-1.8c0-0.732-0.255-1.343-0.762-1.831-0.509-0.489-1.109-0.732-1.8-0.732-0.732 0-1.342 0.244-1.831 0.732-0.488 0.488-0.732 1.098-0.732 1.831 0 0.693 0.244 1.292 0.732 1.8s1.099 0.763 1.831 0.763zM16.366 25.947c0.692 0 1.282-0.214 1.77-0.64s0.732-0.987 0.732-1.678-0.244-1.261-0.732-1.709c-0.489-0.448-1.078-0.671-1.77-0.671-0.65 0-1.21 0.223-1.678 0.671s-0.702 1.018-0.702 1.709c0 0.692 0.234 1.25 0.702 1.678s1.027 0.64 1.678 0.64zM19.113 9.592c0.651 0 1.129-0.203 1.433-0.611 0.305-0.406 0.459-0.874 0.459-1.404 0-0.488-0.154-0.947-0.459-1.373-0.304-0.427-0.782-0.641-1.433-0.641-0.529 0-1.008 0.193-1.434 0.58s-0.64 0.865-0.64 1.434c0 0.571 0.213 1.049 0.64 1.434 0.427 0.389 0.905 0.581 1.434 0.581zM24.848 12.826c0.57 0 1.067-0.213 1.495-0.64 0.427-0.427 0.64-0.947 0.64-1.556 0-0.57-0.214-1.068-0.64-1.495-0.428-0.427-0.927-0.64-1.495-0.64-0.611 0-1.129 0.213-1.555 0.64-0.428 0.427-0.642 0.926-0.642 1.495 0 0.611 0.213 1.129 0.642 1.556s0.947 0.64 1.555 0.64z"],camera:["0 0 32 32","M16 23c-3.309 0-6-2.691-6-6s2.691-6 6-6 6 2.691 6 6-2.691 6-6 6zM16 13c-2.206 0-4 1.794-4 4s1.794 4 4 4c2.206 0 4-1.794 4-4s-1.794-4-4-4zM27 28h-22c-1.654 0-3-1.346-3-3v-16c0-1.654 1.346-3 3-3h3c0.552 0 1 0.448 1 1s-0.448 1-1 1h-3c-0.551 0-1 0.449-1 1v16c0 0.552 0.449 1 1 1h22c0.552 0 1-0.448 1-1v-16c0-0.551-0.448-1-1-1h-11c-0.552 0-1-0.448-1-1s0.448-1 1-1h11c1.654 0 3 1.346 3 3v16c0 1.654-1.346 3-3 3zM24 10.5c0 0.828 0.672 1.5 1.5 1.5s1.5-0.672 1.5-1.5c0-0.828-0.672-1.5-1.5-1.5s-1.5 0.672-1.5 1.5zM15 4c0 0.552-0.448 1-1 1h-4c-0.552 0-1-0.448-1-1v0c0-0.552 0.448-1 1-1h4c0.552 0 1 0.448 1 1v0z"],subtitle:["0 0 32 32","M26.667 5.333h-21.333c-0 0-0.001 0-0.001 0-1.472 0-2.666 1.194-2.666 2.666 0 0 0 0.001 0 0.001v-0 16c0 0 0 0.001 0 0.001 0 1.472 1.194 2.666 2.666 2.666 0 0 0.001 0 0.001 0h21.333c0 0 0.001 0 0.001 0 1.472 0 2.666-1.194 2.666-2.666 0-0 0-0.001 0-0.001v0-16c0-0 0-0.001 0-0.001 0-1.472-1.194-2.666-2.666-2.666-0 0-0.001 0-0.001 0h0zM5.333 16h5.333v2.667h-5.333v-2.667zM18.667 24h-13.333v-2.667h13.333v2.667zM26.667 24h-5.333v-2.667h5.333v2.667zM26.667 18.667h-13.333v-2.667h13.333v2.667z"]},iconsColor:"#ffffff",contextmenu:[],mutex:!0};for(var n in t)t.hasOwnProperty(n)&&!e.hasOwnProperty(n)&&(e[n]=t[n]);return e.video&&!e.video.type&&(e.video.type="auto"),"object"===a(e.danmaku)&&e.danmaku&&!e.danmaku.user&&(e.danmaku.user="DIYgod"),e.subtitle&&(!e.subtitle.type&&(e.subtitle.type="webvtt"),!e.subtitle.fontSize&&(e.subtitle.fontSize="20px"),!e.subtitle.bottom&&(e.subtitle.bottom="40px"),!e.subtitle.color&&(e.subtitle.color="#fff")),e.video.quality&&(e.video.url=[e.video.quality[e.video.defaultQuality].url]),e.lang&&(e.lang=e.lang.toLowerCase()),e.icons&&(e.icons=Object.assign({},t.icons,e.icons)),e.contextmenu=e.contextmenu.concat([{text:"About author",link:"https://diygod.me"},{text:"About DPlayer",link:"https://github.com/MoePlayer/DPlayer"},{text:"DPlayer feedback",link:"https://github.com/DIYgod/DPlayer/issues"},{text:"DPlayer 1.18.0 3b675ea",link:"https://github.com/MoePlayer/DPlayer/releases"}]),e}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=function(e,t,n,i,a){var s=new XMLHttpRequest;s.onreadystatechange=function(){if(4===s.readyState){if(s.status>=200&&s.status<300||304===s.status){var e=JSON.parse(s.responseText);return 1!==e.code?i(s,e):n(s,e)}a(s)}},s.open(null!==t?"POST":"GET",e,!0),s.send(null!==t?JSON.stringify(t):null)};t.default={send:function(e,t,n){i(e,t,function(e,t){console.log("Post danmaku: ",t),n&&n()},function(e,t){alert(t.msg)},function(e){console.log("Request was unsuccessful: "+e.status)})},read:function(e,t){i(e,null,function(e,n){t(null,n.danmaku)},function(e,n){t({status:e.status,response:n})},function(e){t({status:e.status,response:null})})}}},function(e,t,n){"use strict";function i(e){var t=this;this.lang=e,this.tran=function(e){return a[t.lang]&&a[t.lang][e]?a[t.lang][e]:e}}Object.defineProperty(t,"__esModule",{value:!0});var a={"zh-cn":{"Danmaku is loading":"\u5f39\u5e55\u52a0\u8f7d\u4e2d",Top:"\u9876\u90e8",Bottom:"\u5e95\u90e8",Rolling:"\u6eda\u52a8","Input danmaku, hit Enter":"\u8f93\u5165\u5f39\u5e55\uff0c\u56de\u8f66\u53d1\u9001","About author":"\u5173\u4e8e\u4f5c\u8005","DPlayer feedback":"\u64ad\u653e\u5668\u610f\u89c1\u53cd\u9988","About DPlayer":"\u5173\u4e8e DPlayer \u64ad\u653e\u5668",Loop:"\u6d17\u8111\u5faa\u73af",Speed:"\u901f\u5ea6","Opacity for danmaku":"\u5f39\u5e55\u900f\u660e\u5ea6",Normal:"\u6b63\u5e38","Please input danmaku content!":"\u8981\u8f93\u5165\u5f39\u5e55\u5185\u5bb9\u554a\u5582\uff01","Set danmaku color":"\u8bbe\u7f6e\u5f39\u5e55\u989c\u8272","Set danmaku type":"\u8bbe\u7f6e\u5f39\u5e55\u7c7b\u578b","Show danmaku":"\u663e\u793a\u5f39\u5e55","This video fails to load":"\u89c6\u9891\u52a0\u8f7d\u5931\u8d25","Switching to":"\u6b63\u5728\u5207\u6362\u81f3","Switched to":"\u5df2\u7ecf\u5207\u6362\u81f3",quality:"\u753b\u8d28",FF:"\u5feb\u8fdb",REW:"\u5feb\u9000","Unlimited danmaku":"\u6d77\u91cf\u5f39\u5e55","Send danmaku":"\u53d1\u9001\u5f39\u5e55",Setting:"\u8bbe\u7f6e","Full screen":"\u5168\u5c4f","Web full screen":"\u9875\u9762\u5168\u5c4f",Send:"\u53d1\u9001",Screenshot:"\u622a\u56fe",s:"\u79d2","Show subtitle":"\u663e\u793a\u5b57\u5e55","Hide subtitle":"\u9690\u85cf\u5b57\u5e55",Volume:"\u97f3\u91cf",Live:"\u76f4\u64ad"},"zh-tw":{"Danmaku is loading":"\u5f48\u5e55\u52a0\u8f09\u4e2d",Top:"\u9802\u90e8",Bottom:"\u5e95\u90e8",Rolling:"\u6efe\u52d5","Input danmaku, hit Enter":"\u8f38\u5165\u5f48\u5e55\uff0cEnter \u767c\u9001","About author":"\u95dc\u65bc\u4f5c\u8005","DPlayer feedback":"\u64ad\u653e\u5668\u610f\u898b\u53cd\u994b","About DPlayer":"\u95dc\u65bc DPlayer \u64ad\u653e\u5668",Loop:"\u5faa\u74b0\u64ad\u653e",Speed:"\u901f\u5ea6","Opacity for danmaku":"\u5f48\u5e55\u900f\u660e\u5ea6",Normal:"\u6b63\u5e38","Please input danmaku content!":"\u8acb\u8f38\u5165\u5f48\u5e55\u5185\u5bb9\u554a\uff01","Set danmaku color":"\u8a2d\u7f6e\u5f48\u5e55\u984f\u8272","Set danmaku type":"\u8a2d\u7f6e\u5f48\u5e55\u985e\u578b","Show danmaku":"\u986f\u793a\u5f48\u5e55","This video fails to load":"\u8996\u983b\u52a0\u8f09\u5931\u6557","Switching to":"\u6b63\u5728\u5207\u63db\u81f3","Switched to":"\u5df2\u7d93\u5207\u63db\u81f3",quality:"\u756b\u8cea",FF:"\u5feb\u9032",REW:"\u5feb\u9000","Unlimited danmaku":"\u6d77\u91cf\u5f48\u5e55","Send danmaku":"\u767c\u9001\u5f48\u5e55",Setting:"\u8a2d\u7f6e","Full screen":"\u5168\u5c4f","Web full screen":"\u9801\u9762\u5168\u5c4f",Send:"\u767c\u9001",Screenshot:"\u622a\u5716",s:"\u79d2","Show subtitle":"\u986f\u793a\u5b57\u5e55","Hide subtitle":"\u96b1\u85cf\u5b57\u5e55",Volume:"\u97f3\u91cf",Live:"\u76f4\u64ad"}};t.default=i},function(e,t,n){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var a=function(){function e(e,t){for(var n=0;n
'+this.tplVideo(!0,e.video.pic,e.screenshot,e.preload,e.video.url,e.subtitle)+(e.logo?'':"")+'
'+(e.danmaku?''+n("Danmaku is loading")+"":"")+'
'+n("Set danmaku color")+'
'+n("Set danmaku type")+'
0:00 / 0:00'+(e.live?''+n("Live")+"":"")+'
'+(e.video.quality?'
'+this.tplQualityList(e.video.quality)+"
":"")+(e.screenshot?''+i.get("camera")+"":"")+'
"+(e.subtitle?'
":"")+'
'+n("Speed")+'
'+i.get("right")+'
'+n("Loop")+'
'+n("Show danmaku")+'
'+n("Unlimited danmaku")+'
'+n("Opacity for danmaku")+'
0.5
0.75
'+n("Normal")+'
1.25
1.5
2
'+this.tplContextmenuList(e.contextmenu,n)+'
'}},{key:"tplDanmakumargin",value:function(e){var t="";if(e)for(var n in e)t+=n+":"+e[n]+";";return t}},{key:"tplContextmenuList",value:function(e,t){for(var n='";return n+=""}},{key:"tplQualityList",value:function(e){for(var t='
',n=0;n'+e[n].name+"
";return t+=""}},{key:"tplVideo",value:function(e,t,n,i,a,s){var l=s&&"webvtt"===s.type;return'"}}]),e}();t.default=s},function(e,t,n){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var a=function(){function e(e,t){for(var n=0;n'}}]),e}();t.default=s},function(e,t,n){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},s=function(){function e(e,t){for(var n=0;nparseFloat(t.time);)n.push(t),t=this.dan[++this.danIndex];this.draw(n)}window.requestAnimationFrame(function(){e.frame()})}},{key:"opacity",value:function(e){if(void 0!==e){for(var t=this.container.getElementsByClassName("dplayer-danmaku-item"),n=0;n'+e[a].text+"":s.innerHTML=e[a].text,s.style.opacity=t._opacity,s.style.color=e[a].color,s.addEventListener("animationend",function(){t.container.removeChild(s)});var l=t._measure(e[a].text),o=void 0;switch(e[a].type){case"right":o=c(s,e[a].type,l),o>=0&&(s.style.width=l+1+"px",s.style.top=n*o+"px",s.style.transform="translateX(-"+i+"px)");break;case"top":o=c(s,e[a].type),o>=0&&(s.style.top=n*o+"px");break;case"bottom":o=c(s,e[a].type),o>=0&&(s.style.bottom=n*o+"px");break;default:console.error("Can't handled danmaku type: "+e[a].type)}o>=0&&(s.classList.add("dplayer-danmaku-move"),u.appendChild(s))}(d);return this.container.appendChild(u),u}}},{key:"play",value:function(){this.paused=!1}},{key:"pause",value:function(){this.paused=!0}},{key:"_measure",value:function(e){if(!this.context){var t=getComputedStyle(this.container.getElementsByClassName("dplayer-danmaku-item")[0],null);this.context=document.createElement("canvas").getContext("2d"),this.context.font=t.getPropertyValue("font")}return this.context.measureText(e).width}},{key:"seek",value:function(){this.clear();for(var e=0;e=this.options.time()){this.danIndex=e;break}this.danIndex=this.dan.length}}},{key:"clear",value:function(){this.danTunnel={right:{},top:{},bottom:{}},this.danIndex=0,this.options.container.innerHTML="",this.events&&this.events.trigger("danmaku_clear")}},{key:"htmlEncode",value:function(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/")}},{key:"resize",value:function(){for(var e=this.container.offsetWidth,t=this.container.getElementsByClassName("dplayer-danmaku-item"),n=0;n0&&void 0!==arguments[0]?arguments[0]:"browser"){case"browser":return document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement;case"web":return this.player.container.classList.contains("dplayer-fulled")}}},{key:"request",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"browser",t="browser"===e?"web":"browser",n=this.isFullScreen(t);switch(n||(this.lastScrollPosition=l.default.getScrollPosition()),e){case"browser":this.player.container.requestFullscreen?this.player.container.requestFullscreen():this.player.container.mozRequestFullScreen?this.player.container.mozRequestFullScreen():this.player.container.webkitRequestFullscreen?this.player.container.webkitRequestFullscreen():this.player.video.webkitEnterFullscreen&&this.player.video.webkitEnterFullscreen();break;case"web":this.player.container.classList.add("dplayer-fulled"),document.body.classList.add("dplayer-web-fullscreen-fix"),this.player.events.trigger("webfullscreen")}n&&this.cancel(t)}},{key:"cancel",value:function(){switch(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"browser"){case"browser":document.cancelFullScreen?document.cancelFullScreen():document.mozCancelFullScreen?document.mozCancelFullScreen():document.webkitCancelFullScreen&&document.webkitCancelFullScreen();break;case"web":this.player.container.classList.remove("dplayer-fulled"),document.body.classList.remove("dplayer-web-fullscreen-fix"),this.player.events.trigger("webfullscreen_cancel")}}},{key:"toggle",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"browser";this.isFullScreen(e)?this.cancel(e):this.request(e)}}]),e}();t.default=o},function(e,t,n){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var a=function(){function e(e,t){for(var n=0;nt&&!e.player.video.paused&&(e.player.container.classList.remove("dplayer-loading"),i=!1),t=n)},100)}},{key:"initprogressChecker",value:function(){var e=this;this.progressChecker=setInterval(function(){if(e.enableprogressChecker){e.player.bar.set("played",e.player.video.currentTime/e.player.video.duration,"width");var t=l.default.secondToTime(e.player.video.currentTime);e.player.template.ptime.innerHTML!==t&&(e.player.template.ptime.innerHTML=l.default.secondToTime(e.player.video.currentTime))}},100)}},{key:"enable",value:function(e){if(e)this["enable"+e+"Checker"]=!0;else for(var t=0;te.player.template.playedBarWrap.offsetWidth)return;var a=e.player.video.duration*(i/e.player.template.playedBarWrap.offsetWidth);e.thumbnails&&e.thumbnails.move(i),e.player.template.playedBarTime.style.left=i-20+"px",e.player.template.playedBarTime.innerText=o.default.secondToTime(a),e.player.template.playedBarTime.classList.remove("hidden")}}),this.player.template.playedBarWrap.addEventListener("mouseenter",function(){e.player.video.duration&&(e.thumbnails&&e.thumbnails.show(),e.player.template.playedBarTime.classList.remove("hidden"))}),this.player.template.playedBarWrap.addEventListener("mouseleave",function(){e.player.video.duration&&(e.thumbnails&&e.thumbnails.hide(),e.player.template.playedBarTime.classList.add("hidden"))})}},{key:"initFullButton",value:function(){var e=this;this.player.template.browserFullButton.addEventListener("click",function(){e.player.fullScreen.toggle("browser")}),this.player.template.webFullButton.addEventListener("click",function(){e.player.fullScreen.toggle("web")})}},{key:"initVolumeButton",value:function(){var e=this,t=function(t){var n=t||window.event,i=(n.clientX-o.default.getElementViewLeft(e.player.template.volumeBarWrap)-5.5)/35;e.player.volume(i)},n=function n(){document.removeEventListener("mouseup",n),document.removeEventListener("mousemove",t),e.player.template.volumeButton.classList.remove("dplayer-volume-active")};this.player.template.volumeBarWrapWrap.addEventListener("click",function(t){var n=t||window.event,i=(n.clientX-o.default.getElementViewLeft(e.player.template.volumeBarWrap)-5.5)/35;e.player.volume(i)}),this.player.template.volumeBarWrapWrap.addEventListener("mousedown",function(){document.addEventListener("mousemove",t),document.addEventListener("mouseup",n),e.player.template.volumeButton.classList.add("dplayer-volume-active")}),this.player.template.volumeIcon.addEventListener("click",function(){e.player.video.muted?(e.player.video.muted=!1,e.player.switchVolumeIcon(),e.player.bar.set("volume",e.player.volume(),"width")):(e.player.video.muted=!0,e.player.template.volumeIcon.innerHTML=e.player.icons.get("volume-off"),e.player.bar.set("volume",0,"width"))})}},{key:"initQualityButton",value:function(){var e=this;this.player.options.video.quality&&this.player.template.qualityList.addEventListener("click",function(t){t.target.classList.contains("dplayer-quality-item")&&e.player.switchQuality(t.target.dataset.index)})}},{key:"initScreenshotButton",value:function(){var e=this;this.player.options.screenshot&&this.player.template.camareButton.addEventListener("click",function(){var t=document.createElement("canvas");t.width=e.player.video.videoWidth,t.height=e.player.video.videoHeight,t.getContext("2d").drawImage(e.player.video,0,0,t.width,t.height);var n=t.toDataURL();e.player.template.camareButton.href=n,e.player.template.camareButton.download="DPlayer.png",e.player.events.trigger("screenshot",n)})}},{key:"initSubtitleButton",value:function(){var e=this;this.player.options.subtitle&&(this.player.events.on("subtitle_show",function(){e.player.template.subtitleButton.dataset.balloon=e.player.tran("Hide subtitle"),e.player.template.subtitleButtonInner.style.opacity="",e.player.user.set("subtitle",1)}),this.player.events.on("subtitle_hide",function(){e.player.template.subtitleButton.dataset.balloon=e.player.tran("Show subtitle"),e.player.template.subtitleButtonInner.style.opacity="0.4",e.player.user.set("subtitle",0)}),this.player.template.subtitleButton.addEventListener("click",function(){e.player.subtitle.toggle()}))}},{key:"setAutoHide",value:function(){var e=this;this.show(),clearTimeout(this.autoHideTimer),this.autoHideTimer=setTimeout(function(){e.player.video.played.length&&!e.disableAutoHide&&e.hide()},2e3)}},{key:"show",value:function(){this.player.container.classList.remove("dplayer-hide-controller")}},{key:"hide",value:function(){this.player.container.classList.add("dplayer-hide-controller"),this.player.setting.hide(),this.player.comment.hide()}},{key:"isShow",value:function(){return!this.player.container.classList.contains("dplayer-hide-controller")}},{key:"toggle",value:function(){this.isShow()?this.hide():this.show()}},{key:"destroy",value:function(){clearTimeout(this.autoHideTimer)}}]),e}();t.default=u},function(e,t,n){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var a=function(){function e(e,t){for(var n=0;n=n.width?(this.player.template.menu.style.right=n.width-e+"px",this.player.template.menu.style.left="initial"):(this.player.template.menu.style.left=e+"px",this.player.template.menu.style.right="initial"),t+this.player.template.menu.offsetHeight>=n.height?(this.player.template.menu.style.bottom=n.height-t+"px",this.player.template.menu.style.top="initial"):(this.player.template.menu.style.top=t+"px",this.player.template.menu.style.bottom="initial"),this.player.template.mask.classList.add("dplayer-mask-show"),this.player.events.trigger("contextmenu_show")}},{key:"hide",value:function(){this.player.template.mask.classList.remove("dplayer-mask-show"),this.player.template.menu.classList.remove("dplayer-menu-show"),this.player.events.trigger("contextmenu_hide")}}]),e}();t.default=s}]).default}); //# sourceMappingURL=DPlayer.min.js.map \ No newline at end of file diff --git a/dist/DPlayer.min.js.map b/dist/DPlayer.min.js.map index 3d9755743..f4fbedaed 100644 --- a/dist/DPlayer.min.js.map +++ b/dist/DPlayer.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///DPlayer.min.js","webpack:///webpack/bootstrap 30c514d4c2d6bde14452","webpack:///./src/utils.js","webpack:///./src/index.js","webpack:///./src/DPlayer.js","webpack:///./src/options.js","webpack:///./src/api.js","webpack:///./src/i18n.js","webpack:///./src/template.js","webpack:///./src/svg.js","webpack:///./src/danmaku.js","webpack:///./src/events.js","webpack:///./src/fullscreen.js","webpack:///./src/user.js","webpack:///./src/subtitle.js","webpack:///./src/bar.js","webpack:///./src/time.js","webpack:///./src/bezel.js","webpack:///./src/controller.js","webpack:///./src/thumbnails.js","webpack:///./src/setting.js","webpack:///./src/comment.js","webpack:///./src/hotkey.js","webpack:///./src/contextmenu.js"],"names":["root","factory","exports","module","define","amd","self","this","modules","__webpack_require__","moduleId","installedModules","i","l","call","m","c","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","secondToTime","second","add0","num","min","parseInt","sec","getElementViewLeft","element","actualLeft","offsetLeft","current","offsetParent","elementScrollLeft","document","body","scrollLeft","documentElement","fullscreenElement","mozFullScreenElement","webkitFullscreenElement","getScrollPosition","left","window","pageXOffset","top","pageYOffset","scrollTop","setScrollPosition","_ref","_ref$left","undefined","_ref$top","isFirefox","scrollTo","isMobile","test","navigator","userAgent","isChrome","storage","set","key","value","localStorage","setItem","getItem","cumulativeOffset","offsetTop","console","log","_interopRequireDefault","obj","default","_classCallCheck","instance","Constructor","TypeError","_createClass","defineProperties","target","props","length","descriptor","writable","protoProps","staticProps","_utils","_utils2","_options","_options2","_i18n","_i18n2","_template","_template2","_svg","_svg2","_danmaku","_danmaku2","_events","_events2","_fullscreen","_fullscreen2","_user","_user2","_subtitle","_subtitle2","_bar","_bar2","_time","_time2","_bezel","_bezel2","_controller","_controller2","_setting","_setting2","_comment","_comment2","_hotkey","_hotkey2","_contextmenu","_contextmenu2","index","instances","DPlayer","options","_this","video","quality","qualityIndex","defaultQuality","tran","lang","icons","events","user","container","classList","add","danmaku","live","arrow","offsetWidth","template","bar","bezel","fullScreen","controller","opacity","callback","setTimeout","danmakuLoading","style","display","autoplay","play","pause","error","msg","notice","apiBackend","borderColor","theme","height","time","currentTime","unlimited","api","id","address","token","maximum","addition","comment","setting","addEventListener","focus","paused","hotkey","contextmenu","initVideo","type","push","Math","max","duration","toFixed","seek","switch","playButton","innerHTML","enable","mutex","remove","ended","disable","volume","volumeIcon","percentage","nostorage","nonotice","parseFloat","isNaN","formatPercentage","volumeBarWrapWrap","dataset","balloon","muted","switchVolumeIcon","on","danmakuAPI","poster","pic","src","url","initMSE","ptime","reload","exec","Hls","isSupported","hls","loadSource","attachMedia","flvjs","flvPlayer","createPlayer","attachMediaElement","load","dashjs","MediaPlayer","create","initialize","_this2","dtime","buffered","end","loop","danIndex","videoEvents","trigger","subtitle","hide","_this3","switchingQuality","qualityButton","videoHTML","tplVideo","screenshot","videoEle","DOMParser","parseFromString","firstChild","videoWrap","insertBefore","getElementsByTagName","prevVideo","removeChild","text","_this4","arguments","noticeTime","clearTimeout","resize","splice","indexOf","destroy","_typeof","Symbol","iterator","constructor","defaultApiBackend","defaultOption","getElementsByClassName","language","browserLanguage","toLowerCase","preload","volume-up","volume-down","volume-off","full","full-in","right","comment-off","send","pallette","camera","iconsColor","defaultKey","fontSize","bottom","color","assign","concat","link","SendXMLHttpRequest","data","success","fail","xhr","XMLHttpRequest","onreadystatechange","readyState","status","response","JSON","parse","responseText","code","open","stringify","endpoint","danmakuData","alert","read","tranTxt","zh-cn","Danmaku is loading","Top","Bottom","Rolling","Input danmaku, hit Enter","About author","DPlayer feedback","About DPlayer","Loop","Speed","Opacity for danmaku","Normal","Please input danmaku content!","Set danmaku color","Set danmaku type","Show danmaku","This video fails to load","Switching to","Switched to","FF","REW","Unlimited danmaku","Send danmaku","Setting","Full screen","Web full screen","Send","Screenshot","Show subtitle","Hide subtitle","Volume","Live","zh-tw","Template","init","tpl","volumeBar","querySelector","volumeBarWrap","volumeButton","playedBar","loadedBar","playedBarWrap","playedBarTime","controllerMask","settingButton","settingBox","mask","loopToggle","showDanmaku","showDanmakuToggle","unlimitDanmaku","unlimitDanmakuToggle","speed","speedItem","querySelectorAll","danmakuOpacityBar","danmakuOpacityBarWrap","danmakuOpacityBarWrapWrap","danmakuOpacityBox","commentInput","commentButton","commentSettingBox","commentSettingButton","commentSettingFill","commentSendButton","commentSendFill","commentColorSettingBox","browserFullButton","webFullButton","menu","qualityList","camareButton","subtitleButton","subtitleButtonInner","barPreview","barWrap","logo","tplDanmakumargin","margin","tplQualityList","tplContextmenuList","result","enableSubtitle","SvgSource","iconColor","Danmaku","danTunnel","dan","showing","_opacity","_measure","apiurl","endpoints","slice","_readAllEndpoints","results","apply","sort","a","b","requestAnimationFrame","frame","newAPI","clear","readCount","err","player","author","htmlEncode","border","draw","item","items","itemHeight","danWidth","danHeight","offsetHeight","itemY","danItemRight","ele","eleWidth","width","eleRight","getBoundingClientRect","danSpeed","getTunnel","tmp","_ret","v","j","danRight","toString","docFragment","createDocumentFragment","createElement","itemWidth","tunnel","transform","appendChild","context","measureStyle","getComputedStyle","getContext","font","getPropertyValue","measureText","str","replace","boolean","Events","playerEvents","info","FullScreen","lastScrollPosition","fullscreenchange","isFullScreen","contains","anotherType","anotherTypeOn","requestFullscreen","mozRequestFullScreen","webkitRequestFullscreen","webkitEnterFullscreen","cancel","cancelFullScreen","mozCancelFullScreen","webkitCancelFullScreen","request","User","storageName","Subtitle","textTracks","track","oncuechange","cue","activeCues","getCueAsHTML","show","Bar","elements","played","loaded","direction","Time","webkitRequestAnimationFrame","mozRequestAnimationFrame","oRequestAnimationFrame","msRequestAnimationFrame","types","lastPlayPos","currentPlayPos","bufferingDetected","loadingChecker","setInterval","enableloadingChecker","progressChecker","enableprogressChecker","_type","_type2","clearInterval","Bezel","icon","_thumbnails","_thumbnails2","Controller","autoHideTimer","setAutoHide","initPlayButton","initThumbnails","initPlayedBar","initFullButton","initVolumeButton","initQualityButton","initScreenshotButton","initSubtitleButton","toggle","thumbnails","barWidth","videoHeight","videoWidth","thumbMove","e","clientX","clientWidth","thumbUp","removeEventListener","px","tx","move","innerText","_this5","_this6","volumeMove","event","volumeUp","_this7","switchQuality","_this8","canvas","drawImage","dataURL","toDataURL","href","download","_this9","_this10","disableAutoHide","isShow","Thumbnails","backgroundImage","position","backgroundPosition","ceil","SettingBox","checked","unlimit","playbackRate","danmakuMove","danmakuUp","Comment","toggleSetting","fill","hideSetting","keyCode","showSetting","blur","HotKey","tag","activeElement","tagName","toUpperCase","editable","getAttribute","preventDefault","ContextMenu","clientRect","clientY","x","y"],"mappings":"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","file":"DPlayer.min.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(\"DPlayer\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"DPlayer\"] = factory();\n\telse\n\t\troot[\"DPlayer\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition","(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(\"DPlayer\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"DPlayer\"] = factory();\n\telse\n\t\troot[\"DPlayer\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \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, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\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/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 1);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nmodule.exports = {\n secondToTime: function secondToTime(second) {\n var add0 = function add0(num) {\n return num < 10 ? '0' + num : '' + num;\n };\n var min = parseInt(second / 60);\n var sec = parseInt(second - min * 60);\n return add0(min) + ':' + add0(sec);\n },\n getElementViewLeft: function getElementViewLeft(element) {\n var actualLeft = element.offsetLeft;\n var current = element.offsetParent;\n var elementScrollLeft = document.body.scrollLeft + document.documentElement.scrollLeft;\n if (!document.fullscreenElement && !document.mozFullScreenElement && !document.webkitFullscreenElement) {\n while (current !== null) {\n actualLeft += current.offsetLeft;\n current = current.offsetParent;\n }\n } else {\n while (current !== null && current !== element) {\n actualLeft += current.offsetLeft;\n current = current.offsetParent;\n }\n }\n return actualLeft - elementScrollLeft;\n },\n getScrollPosition: function getScrollPosition() {\n return {\n left: window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft || 0,\n top: window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0\n };\n },\n setScrollPosition: function setScrollPosition(_ref) {\n var _ref$left = _ref.left, left = _ref$left === undefined ? 0 : _ref$left, _ref$top = _ref.top, top = _ref$top === undefined ? 0 : _ref$top;\n if (this.isFirefox) {\n document.documentElement.scrollLeft = left;\n document.documentElement.scrollTop = top;\n } else {\n window.scrollTo(left, top);\n }\n },\n isMobile: /mobile/i.test(window.navigator.userAgent),\n isFirefox: /firefox/i.test(window.navigator.userAgent),\n isChrome: /chrome/i.test(window.navigator.userAgent),\n storage: {\n set: function set(key, value) {\n localStorage.setItem(key, value);\n },\n get: function get(key) {\n return localStorage.getItem(key);\n }\n },\n cumulativeOffset: function cumulativeOffset(element) {\n var top = 0, left = 0;\n do {\n top += element.offsetTop || 0;\n left += element.offsetLeft || 0;\n element = element.offsetParent;\n } while (element);\n return {\n top: top,\n left: left\n };\n }\n};\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nconsole.log('\\n' + ' %c DPlayer ' + \"1.17.3\" + ' ' + \"e3cfb21\" + ' %c http://dplayer.js.org ' + '\\n' + '\\n', 'color: #fadfa3; background: #030307; padding:5px 0;', 'background: #fadfa3; padding:5px 0;');\nmodule.exports = __webpack_require__(2);\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n__webpack_require__(3);\nvar _utils = __webpack_require__(0);\nvar _utils2 = _interopRequireDefault(_utils);\nvar _options = __webpack_require__(4);\nvar _options2 = _interopRequireDefault(_options);\nvar _i18n = __webpack_require__(6);\nvar _i18n2 = _interopRequireDefault(_i18n);\nvar _template = __webpack_require__(7);\nvar _template2 = _interopRequireDefault(_template);\nvar _svg = __webpack_require__(8);\nvar _svg2 = _interopRequireDefault(_svg);\nvar _danmaku = __webpack_require__(9);\nvar _danmaku2 = _interopRequireDefault(_danmaku);\nvar _events = __webpack_require__(10);\nvar _events2 = _interopRequireDefault(_events);\nvar _fullscreen = __webpack_require__(11);\nvar _fullscreen2 = _interopRequireDefault(_fullscreen);\nvar _user = __webpack_require__(12);\nvar _user2 = _interopRequireDefault(_user);\nvar _subtitle = __webpack_require__(13);\nvar _subtitle2 = _interopRequireDefault(_subtitle);\nvar _bar = __webpack_require__(14);\nvar _bar2 = _interopRequireDefault(_bar);\nvar _time = __webpack_require__(15);\nvar _time2 = _interopRequireDefault(_time);\nvar _bezel = __webpack_require__(16);\nvar _bezel2 = _interopRequireDefault(_bezel);\nvar _controller = __webpack_require__(17);\nvar _controller2 = _interopRequireDefault(_controller);\nvar _setting = __webpack_require__(19);\nvar _setting2 = _interopRequireDefault(_setting);\nvar _comment = __webpack_require__(20);\nvar _comment2 = _interopRequireDefault(_comment);\nvar _hotkey = __webpack_require__(21);\nvar _hotkey2 = _interopRequireDefault(_hotkey);\nvar _contextmenu = __webpack_require__(22);\nvar _contextmenu2 = _interopRequireDefault(_contextmenu);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar index = 0;\nvar instances = [];\nvar DPlayer = function () {\n function DPlayer(options) {\n var _this = this;\n _classCallCheck(this, DPlayer);\n this.options = (0, _options2.default)(options);\n if (this.options.video.quality) {\n this.qualityIndex = this.options.video.defaultQuality;\n this.quality = this.options.video.quality[this.options.video.defaultQuality];\n }\n this.tran = new _i18n2.default(this.options.lang).tran;\n this.icons = new _svg2.default(this.options);\n this.events = new _events2.default();\n this.user = new _user2.default(this);\n this.container = this.options.container;\n this.container.classList.add('dplayer');\n if (!this.options.danmaku) {\n this.container.classList.add('dplayer-no-danmaku');\n }\n if (this.options.live) {\n this.container.classList.add('dplayer-live');\n }\n if (_utils.isMobile) {\n this.container.classList.add('dplayer-mobile');\n }\n this.arrow = this.container.offsetWidth <= 500;\n if (this.arrow) {\n this.container.classList.add('dplayer-arrow');\n }\n this.template = new _template2.default({\n container: this.container,\n options: this.options,\n index: index,\n tran: this.tran,\n icons: this.icons\n });\n this.video = this.template.video;\n this.bar = new _bar2.default(this.template);\n this.bezel = new _bezel2.default(this.template.bezel);\n this.fullScreen = new _fullscreen2.default(this);\n this.controller = new _controller2.default(this);\n if (this.options.danmaku) {\n this.danmaku = new _danmaku2.default({\n container: this.template.danmaku,\n opacity: this.user.get('opacity'),\n callback: function callback() {\n setTimeout(function () {\n _this.template.danmakuLoading.style.display = 'none';\n if (_this.options.autoplay && !_utils.isMobile) {\n _this.play();\n } else if (_utils.isMobile) {\n _this.pause();\n }\n }, 0);\n },\n error: function error(msg) {\n _this.notice(msg);\n },\n apiBackend: this.options.apiBackend,\n borderColor: this.options.theme,\n height: this.arrow ? 24 : 30,\n time: function time() {\n return _this.video.currentTime;\n },\n unlimited: this.user.get('unlimited'),\n api: {\n id: this.options.danmaku.id,\n address: this.options.danmaku.api,\n token: this.options.danmaku.token,\n maximum: this.options.danmaku.maximum,\n addition: this.options.danmaku.addition,\n user: this.options.danmaku.user\n },\n events: this.events\n });\n this.comment = new _comment2.default(this);\n }\n this.setting = new _setting2.default(this);\n document.addEventListener('click', function () {\n _this.focus = false;\n }, true);\n this.container.addEventListener('click', function () {\n _this.focus = true;\n }, true);\n this.paused = true;\n this.time = new _time2.default(this);\n if (!this.danmaku) {\n if (this.options.autoplay && !_utils.isMobile) {\n this.play();\n } else if (_utils.isMobile) {\n this.pause();\n }\n }\n this.hotkey = new _hotkey2.default(this);\n this.contextmenu = new _contextmenu2.default(this);\n this.initVideo(this.video, this.quality && this.quality.type || this.options.video.type);\n index++;\n instances.push(this);\n }\n _createClass(DPlayer, [\n {\n key: 'seek',\n value: function seek(time) {\n time = Math.max(time, 0);\n if (this.video.duration) {\n time = Math.min(time, this.video.duration);\n }\n if (this.video.currentTime < time) {\n this.notice(this.tran('FF') + ' ' + (time - this.video.currentTime).toFixed(0) + ' ' + this.tran('s'));\n } else if (this.video.currentTime > time) {\n this.notice(this.tran('REW') + ' ' + (this.video.currentTime - time).toFixed(0) + ' ' + this.tran('s'));\n }\n this.video.currentTime = time;\n if (this.danmaku) {\n this.danmaku.seek();\n }\n this.bar.set('played', time / this.video.duration, 'width');\n }\n },\n {\n key: 'play',\n value: function play() {\n this.paused = false;\n if (this.video.paused) {\n this.bezel.switch(this.icons.get('play'));\n }\n this.template.playButton.innerHTML = this.icons.get('pause');\n this.video.play();\n this.time.enable();\n this.container.classList.add('dplayer-playing');\n if (this.danmaku) {\n this.danmaku.play();\n }\n if (this.options.mutex) {\n for (var i = 0; i < instances.length; i++) {\n if (this !== instances[i]) {\n instances[i].pause();\n }\n }\n }\n }\n },\n {\n key: 'pause',\n value: function pause() {\n this.paused = true;\n this.container.classList.remove('dplayer-loading');\n if (!this.video.paused) {\n this.bezel.switch(this.icons.get('pause'));\n }\n this.ended = false;\n this.template.playButton.innerHTML = this.icons.get('play');\n this.video.pause();\n this.time.disable();\n this.container.classList.remove('dplayer-playing');\n if (this.danmaku) {\n this.danmaku.pause();\n }\n }\n },\n {\n key: 'switchVolumeIcon',\n value: function switchVolumeIcon() {\n if (this.volume() >= 0.95) {\n this.template.volumeIcon.innerHTML = this.icons.get('volume-up');\n } else if (this.volume() > 0) {\n this.template.volumeIcon.innerHTML = this.icons.get('volume-down');\n } else {\n this.template.volumeIcon.innerHTML = this.icons.get('volume-off');\n }\n }\n },\n {\n key: 'volume',\n value: function volume(percentage, nostorage, nonotice) {\n percentage = parseFloat(percentage);\n if (!isNaN(percentage)) {\n percentage = Math.max(percentage, 0);\n percentage = Math.min(percentage, 1);\n this.bar.set('volume', percentage, 'width');\n var formatPercentage = (percentage * 100).toFixed(0) + '%';\n this.template.volumeBarWrapWrap.dataset.balloon = formatPercentage;\n if (!nostorage) {\n this.user.set('volume', percentage);\n }\n if (!nonotice) {\n this.notice(this.tran('Volume') + ' ' + (percentage * 100).toFixed(0) + '%');\n }\n this.video.volume = percentage;\n if (this.video.muted) {\n this.video.muted = false;\n }\n this.switchVolumeIcon();\n }\n return this.video.volume;\n }\n },\n {\n key: 'toggle',\n value: function toggle() {\n if (this.video.paused) {\n this.play();\n } else {\n this.pause();\n }\n }\n },\n {\n key: 'on',\n value: function on(name, callback) {\n this.events.on(name, callback);\n }\n },\n {\n key: 'switchVideo',\n value: function switchVideo(video, danmakuAPI) {\n this.pause();\n this.video.poster = video.pic ? video.pic : '';\n this.video.src = video.url;\n this.initMSE(this.video, video.type || 'auto');\n if (danmakuAPI) {\n this.template.danmakuLoading.style.display = 'block';\n this.bar.set('played', 0, 'width');\n this.bar.set('loaded', 0, 'width');\n this.template.ptime.innerHTML = '00:00';\n this.template.danmaku.innerHTML = '';\n if (this.danmaku) {\n this.danmaku.reload({\n id: danmakuAPI.id,\n address: danmakuAPI.api,\n token: danmakuAPI.token,\n maximum: danmakuAPI.maximum,\n addition: danmakuAPI.addition,\n user: danmakuAPI.user\n });\n }\n }\n }\n },\n {\n key: 'initMSE',\n value: function initMSE(video, type) {\n this.type = type;\n if (this.type === 'auto') {\n if (/m3u8(#|\\?|$)/i.exec(video.src)) {\n this.type = 'hls';\n } else if (/.flv(#|\\?|$)/i.exec(video.src)) {\n this.type = 'flv';\n } else if (/.mpd(#|\\?|$)/i.exec(video.src)) {\n this.type = 'dash';\n } else {\n this.type = 'normal';\n }\n }\n if (this.type === 'hls' && Hls && Hls.isSupported()) {\n var hls = new Hls();\n hls.loadSource(video.src);\n hls.attachMedia(video);\n }\n if (this.type === 'flv' && flvjs && flvjs.isSupported()) {\n var flvPlayer = flvjs.createPlayer({\n type: 'flv',\n url: video.src\n });\n flvPlayer.attachMediaElement(video);\n flvPlayer.load();\n }\n if (this.type === 'dash' && dashjs) {\n dashjs.MediaPlayer().create().initialize(video, video.src, false);\n }\n }\n },\n {\n key: 'initVideo',\n value: function initVideo(video, type) {\n var _this2 = this;\n this.initMSE(video, type);\n this.on('durationchange', function () {\n if (video.duration !== 1) {\n _this2.template.dtime.innerHTML = _utils2.default.secondToTime(video.duration);\n }\n });\n this.on('progress', function () {\n var percentage = video.buffered.length ? video.buffered.end(video.buffered.length - 1) / video.duration : 0;\n _this2.bar.set('loaded', percentage, 'width');\n });\n this.on('error', function () {\n _this2.tran && _this2.notice && _this2.notice(_this2.tran('This video fails to load'), -1);\n });\n this.ended = false;\n this.on('ended', function () {\n _this2.bar.set('played', 1, 'width');\n if (!_this2.setting.loop) {\n _this2.ended = true;\n _this2.pause();\n } else {\n _this2.seek(0);\n video.play();\n }\n if (_this2.danmaku) {\n _this2.danmaku.danIndex = 0;\n }\n });\n this.on('play', function () {\n if (_this2.paused) {\n _this2.play();\n }\n });\n this.on('pause', function () {\n if (!_this2.paused) {\n _this2.pause();\n }\n });\n var _loop = function _loop(i) {\n video.addEventListener(_this2.events.videoEvents[i], function () {\n _this2.events.trigger(_this2.events.videoEvents[i]);\n });\n };\n for (var i = 0; i < this.events.videoEvents.length; i++) {\n _loop(i);\n }\n this.volume(this.user.get('volume'), true, true);\n if (this.options.subtitle) {\n this.subtitle = new _subtitle2.default(this.template.subtitle, this.video, this.options.subtitle, this.events);\n if (!this.user.get('subtitle')) {\n this.subtitle.hide();\n }\n }\n }\n },\n {\n key: 'switchQuality',\n value: function switchQuality(index) {\n var _this3 = this;\n if (this.qualityIndex === index || this.switchingQuality) {\n return;\n } else {\n this.qualityIndex = index;\n }\n this.switchingQuality = true;\n this.quality = this.options.video.quality[index];\n this.template.qualityButton.innerHTML = this.quality.name;\n var paused = this.video.paused;\n this.video.pause();\n var videoHTML = this.template.tplVideo(false, null, this.options.screenshot, 'auto', this.quality.url, this.options.subtitle);\n var videoEle = new DOMParser().parseFromString(videoHTML, 'text/html').body.firstChild;\n this.template.videoWrap.insertBefore(videoEle, this.template.videoWrap.getElementsByTagName('div')[0]);\n this.prevVideo = this.video;\n this.video = videoEle;\n this.initVideo(this.video, this.quality.type || this.options.video.type);\n this.seek(this.prevVideo.currentTime);\n this.notice(this.tran('Switching to') + ' ' + this.quality.name + ' ' + this.tran('quality'), -1);\n this.events.trigger('quality_start', this.quality);\n this.on('canplay', function () {\n if (_this3.prevVideo) {\n if (_this3.video.currentTime !== _this3.prevVideo.currentTime) {\n _this3.seek(_this3.prevVideo.currentTime);\n return;\n }\n _this3.template.videoWrap.removeChild(_this3.prevVideo);\n _this3.video.classList.add('dplayer-video-current');\n if (!paused) {\n _this3.video.play();\n }\n _this3.prevVideo = null;\n _this3.notice(_this3.tran('Switched to') + ' ' + _this3.quality.name + ' ' + _this3.tran('quality'));\n _this3.switchingQuality = false;\n _this3.events.trigger('quality_end');\n }\n });\n }\n },\n {\n key: 'notice',\n value: function notice(text) {\n var _this4 = this;\n var time = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2000;\n var opacity = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0.8;\n this.template.notice.innerHTML = text;\n this.template.notice.style.opacity = opacity;\n if (this.noticeTime) {\n clearTimeout(this.noticeTime);\n }\n this.events.trigger('notice_show', text);\n this.noticeTime = setTimeout(function () {\n _this4.template.notice.style.opacity = 0;\n _this4.events.trigger('notice_hide');\n }, time);\n }\n },\n {\n key: 'resize',\n value: function resize() {\n if (this.danmaku) {\n this.danmaku.resize();\n }\n this.events.trigger('resize');\n }\n },\n {\n key: 'destroy',\n value: function destroy() {\n instances.splice(instances.indexOf(this), 1);\n this.pause();\n this.controller.destroy();\n this.time.destroy();\n this.video.src = '';\n this.container.innerHTML = '';\n this.events.trigger('destroy');\n for (var key in this) {\n if (this.hasOwnProperty(key) && key !== 'paused') {\n delete this[key];\n }\n }\n }\n }\n ]);\n return DPlayer;\n}();\nmodule.exports = DPlayer;\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar _typeof = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === 'function' && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n};\nvar defaultApiBackend = __webpack_require__(5);\nmodule.exports = function (options) {\n var isMobile = /mobile/i.test(window.navigator.userAgent);\n if (isMobile) {\n options.autoplay = false;\n }\n var defaultOption = {\n container: options.element || document.getElementsByClassName('dplayer')[0],\n live: false,\n autoplay: false,\n theme: '#b7daff',\n loop: false,\n lang: (navigator.language || navigator.browserLanguage).toLowerCase(),\n screenshot: false,\n hotkey: true,\n preload: 'auto',\n volume: 0.7,\n apiBackend: defaultApiBackend,\n video: {},\n icons: {\n play: [\n '0 0 16 32',\n 'M15.552 15.168q0.448 0.32 0.448 0.832 0 0.448-0.448 0.768l-13.696 8.512q-0.768 0.512-1.312 0.192t-0.544-1.28v-16.448q0-0.96 0.544-1.28t1.312 0.192z'\n ],\n pause: [\n '0 0 17 32',\n 'M14.080 4.8q2.88 0 2.88 2.048v18.24q0 2.112-2.88 2.112t-2.88-2.112v-18.24q0-2.048 2.88-2.048zM2.88 4.8q2.88 0 2.88 2.048v18.24q0 2.112-2.88 2.112t-2.88-2.112v-18.24q0-2.048 2.88-2.048z'\n ],\n 'volume-up': [\n '0 0 21 32',\n 'M13.728 6.272v19.456q0 0.448-0.352 0.8t-0.8 0.32-0.8-0.32l-5.952-5.952h-4.672q-0.48 0-0.8-0.352t-0.352-0.8v-6.848q0-0.48 0.352-0.8t0.8-0.352h4.672l5.952-5.952q0.32-0.32 0.8-0.32t0.8 0.32 0.352 0.8zM20.576 16q0 1.344-0.768 2.528t-2.016 1.664q-0.16 0.096-0.448 0.096-0.448 0-0.8-0.32t-0.32-0.832q0-0.384 0.192-0.64t0.544-0.448 0.608-0.384 0.512-0.64 0.192-1.024-0.192-1.024-0.512-0.64-0.608-0.384-0.544-0.448-0.192-0.64q0-0.48 0.32-0.832t0.8-0.32q0.288 0 0.448 0.096 1.248 0.48 2.016 1.664t0.768 2.528zM25.152 16q0 2.72-1.536 5.056t-4 3.36q-0.256 0.096-0.448 0.096-0.48 0-0.832-0.352t-0.32-0.8q0-0.704 0.672-1.056 1.024-0.512 1.376-0.8 1.312-0.96 2.048-2.4t0.736-3.104-0.736-3.104-2.048-2.4q-0.352-0.288-1.376-0.8-0.672-0.352-0.672-1.056 0-0.448 0.32-0.8t0.8-0.352q0.224 0 0.48 0.096 2.496 1.056 4 3.36t1.536 5.056z'\n ],\n 'volume-down': [\n '0 0 21 32',\n 'M13.728 6.272v19.456q0 0.448-0.352 0.8t-0.8 0.32-0.8-0.32l-5.952-5.952h-4.672q-0.48 0-0.8-0.352t-0.352-0.8v-6.848q0-0.48 0.352-0.8t0.8-0.352h4.672l5.952-5.952q0.32-0.32 0.8-0.32t0.8 0.32 0.352 0.8zM20.576 16q0 1.344-0.768 2.528t-2.016 1.664q-0.16 0.096-0.448 0.096-0.448 0-0.8-0.32t-0.32-0.832q0-0.384 0.192-0.64t0.544-0.448 0.608-0.384 0.512-0.64 0.192-1.024-0.192-1.024-0.512-0.64-0.608-0.384-0.544-0.448-0.192-0.64q0-0.48 0.32-0.832t0.8-0.32q0.288 0 0.448 0.096 1.248 0.48 2.016 1.664t0.768 2.528z'\n ],\n 'volume-off': [\n '0 0 21 32',\n 'M13.728 6.272v19.456q0 0.448-0.352 0.8t-0.8 0.32-0.8-0.32l-5.952-5.952h-4.672q-0.48 0-0.8-0.352t-0.352-0.8v-6.848q0-0.48 0.352-0.8t0.8-0.352h4.672l5.952-5.952q0.32-0.32 0.8-0.32t0.8 0.32 0.352 0.8z'\n ],\n loop: [\n '0 0 32 32',\n 'M1.882 16.941c0 4.152 3.221 7.529 7.177 7.529v1.882c-4.996 0-9.060-4.222-9.060-9.412s4.064-9.412 9.060-9.412h7.96l-3.098-3.098 1.331-1.331 5.372 5.37-5.37 5.372-1.333-1.333 3.1-3.098h-7.962c-3.957 0-7.177 3.377-7.177 7.529zM22.94 7.529v1.882c3.957 0 7.177 3.377 7.177 7.529s-3.221 7.529-7.177 7.529h-7.962l3.098-3.098-1.331-1.331-5.37 5.37 5.372 5.372 1.331-1.331-3.1-3.1h7.96c4.998 0 9.062-4.222 9.062-9.412s-4.064-9.412-9.060-9.412z'\n ],\n full: [\n '0 0 32 33',\n 'M6.667 28h-5.333c-0.8 0-1.333-0.533-1.333-1.333v-5.333c0-0.8 0.533-1.333 1.333-1.333s1.333 0.533 1.333 1.333v4h4c0.8 0 1.333 0.533 1.333 1.333s-0.533 1.333-1.333 1.333zM30.667 28h-5.333c-0.8 0-1.333-0.533-1.333-1.333s0.533-1.333 1.333-1.333h4v-4c0-0.8 0.533-1.333 1.333-1.333s1.333 0.533 1.333 1.333v5.333c0 0.8-0.533 1.333-1.333 1.333zM30.667 12c-0.8 0-1.333-0.533-1.333-1.333v-4h-4c-0.8 0-1.333-0.533-1.333-1.333s0.533-1.333 1.333-1.333h5.333c0.8 0 1.333 0.533 1.333 1.333v5.333c0 0.8-0.533 1.333-1.333 1.333zM1.333 12c-0.8 0-1.333-0.533-1.333-1.333v-5.333c0-0.8 0.533-1.333 1.333-1.333h5.333c0.8 0 1.333 0.533 1.333 1.333s-0.533 1.333-1.333 1.333h-4v4c0 0.8-0.533 1.333-1.333 1.333z'\n ],\n 'full-in': [\n '0 0 32 33',\n 'M24.965 24.38h-18.132c-1.366 0-2.478-1.113-2.478-2.478v-11.806c0-1.364 1.111-2.478 2.478-2.478h18.132c1.366 0 2.478 1.113 2.478 2.478v11.806c0 1.364-1.11 2.478-2.478 2.478zM6.833 10.097v11.806h18.134l-0.002-11.806h-18.132zM2.478 28.928h5.952c0.684 0 1.238-0.554 1.238-1.239 0-0.684-0.554-1.238-1.238-1.238h-5.952v-5.802c0-0.684-0.554-1.239-1.238-1.239s-1.239 0.556-1.239 1.239v5.802c0 1.365 1.111 2.478 2.478 2.478zM30.761 19.412c-0.684 0-1.238 0.554-1.238 1.238v5.801h-5.951c-0.686 0-1.239 0.554-1.239 1.238 0 0.686 0.554 1.239 1.239 1.239h5.951c1.366 0 2.478-1.111 2.478-2.478v-5.801c0-0.683-0.554-1.238-1.239-1.238zM0 5.55v5.802c0 0.683 0.554 1.238 1.238 1.238s1.238-0.555 1.238-1.238v-5.802h5.952c0.684 0 1.238-0.554 1.238-1.238s-0.554-1.238-1.238-1.238h-5.951c-1.366-0.001-2.478 1.111-2.478 2.476zM32 11.35v-5.801c0-1.365-1.11-2.478-2.478-2.478h-5.951c-0.686 0-1.239 0.554-1.239 1.238s0.554 1.238 1.239 1.238h5.951v5.801c0 0.683 0.554 1.237 1.238 1.237 0.686 0.002 1.239-0.553 1.239-1.236z'\n ],\n setting: [\n '0 0 32 28',\n 'M28.633 17.104c0.035 0.21 0.026 0.463-0.026 0.76s-0.14 0.598-0.262 0.904c-0.122 0.306-0.271 0.581-0.445 0.825s-0.367 0.419-0.576 0.524c-0.209 0.105-0.393 0.157-0.55 0.157s-0.332-0.035-0.524-0.105c-0.175-0.052-0.393-0.1-0.655-0.144s-0.528-0.052-0.799-0.026c-0.271 0.026-0.541 0.083-0.812 0.17s-0.502 0.236-0.694 0.445c-0.419 0.437-0.664 0.934-0.734 1.493s0.009 1.092 0.236 1.598c0.175 0.349 0.148 0.699-0.079 1.048-0.105 0.14-0.271 0.284-0.498 0.432s-0.476 0.284-0.747 0.406-0.555 0.218-0.851 0.288c-0.297 0.070-0.559 0.105-0.786 0.105-0.157 0-0.306-0.061-0.445-0.183s-0.236-0.253-0.288-0.393h-0.026c-0.192-0.541-0.52-1.009-0.982-1.402s-1-0.589-1.611-0.589c-0.594 0-1.131 0.197-1.611 0.589s-0.816 0.851-1.009 1.375c-0.087 0.21-0.218 0.362-0.393 0.458s-0.367 0.144-0.576 0.144c-0.244 0-0.52-0.044-0.825-0.131s-0.611-0.197-0.917-0.327c-0.306-0.131-0.581-0.284-0.825-0.458s-0.428-0.349-0.55-0.524c-0.087-0.122-0.135-0.266-0.144-0.432s0.057-0.397 0.197-0.694c0.192-0.402 0.266-0.86 0.223-1.375s-0.266-0.991-0.668-1.428c-0.244-0.262-0.541-0.432-0.891-0.511s-0.681-0.109-0.995-0.092c-0.367 0.017-0.742 0.087-1.127 0.21-0.244 0.070-0.489 0.052-0.734-0.052-0.192-0.070-0.371-0.231-0.537-0.485s-0.314-0.533-0.445-0.838c-0.131-0.306-0.231-0.62-0.301-0.943s-0.087-0.59-0.052-0.799c0.052-0.384 0.227-0.629 0.524-0.734 0.524-0.21 0.995-0.555 1.415-1.035s0.629-1.017 0.629-1.611c0-0.611-0.21-1.144-0.629-1.598s-0.891-0.786-1.415-0.996c-0.157-0.052-0.288-0.179-0.393-0.38s-0.157-0.406-0.157-0.616c0-0.227 0.035-0.48 0.105-0.76s0.162-0.55 0.275-0.812 0.244-0.502 0.393-0.72c0.148-0.218 0.31-0.38 0.485-0.485 0.14-0.087 0.275-0.122 0.406-0.105s0.275 0.052 0.432 0.105c0.524 0.21 1.070 0.275 1.637 0.197s1.070-0.327 1.506-0.747c0.21-0.209 0.362-0.467 0.458-0.773s0.157-0.607 0.183-0.904c0.026-0.297 0.026-0.568 0-0.812s-0.048-0.419-0.065-0.524c-0.035-0.105-0.066-0.227-0.092-0.367s-0.013-0.262 0.039-0.367c0.105-0.244 0.293-0.458 0.563-0.642s0.563-0.336 0.878-0.458c0.314-0.122 0.62-0.214 0.917-0.275s0.533-0.092 0.707-0.092c0.227 0 0.406 0.074 0.537 0.223s0.223 0.301 0.275 0.458c0.192 0.471 0.507 0.886 0.943 1.244s0.952 0.537 1.546 0.537c0.611 0 1.153-0.17 1.624-0.511s0.803-0.773 0.996-1.297c0.070-0.14 0.179-0.284 0.327-0.432s0.301-0.223 0.458-0.223c0.244 0 0.511 0.035 0.799 0.105s0.572 0.166 0.851 0.288c0.279 0.122 0.537 0.279 0.773 0.472s0.423 0.402 0.563 0.629c0.087 0.14 0.113 0.293 0.079 0.458s-0.070 0.284-0.105 0.354c-0.227 0.506-0.297 1.039-0.21 1.598s0.341 1.048 0.76 1.467c0.419 0.419 0.934 0.651 1.546 0.694s1.179-0.057 1.703-0.301c0.14-0.087 0.31-0.122 0.511-0.105s0.371 0.096 0.511 0.236c0.262 0.244 0.493 0.616 0.694 1.113s0.336 1 0.406 1.506c0.035 0.297-0.013 0.528-0.144 0.694s-0.266 0.275-0.406 0.327c-0.542 0.192-1.004 0.528-1.388 1.009s-0.576 1.026-0.576 1.637c0 0.594 0.162 1.113 0.485 1.559s0.747 0.764 1.27 0.956c0.122 0.070 0.227 0.14 0.314 0.21 0.192 0.157 0.323 0.358 0.393 0.602v0zM16.451 19.462c0.786 0 1.528-0.149 2.227-0.445s1.305-0.707 1.821-1.231c0.515-0.524 0.921-1.131 1.218-1.821s0.445-1.428 0.445-2.214c0-0.786-0.148-1.524-0.445-2.214s-0.703-1.292-1.218-1.808c-0.515-0.515-1.122-0.921-1.821-1.218s-1.441-0.445-2.227-0.445c-0.786 0-1.524 0.148-2.214 0.445s-1.292 0.703-1.808 1.218c-0.515 0.515-0.921 1.118-1.218 1.808s-0.445 1.428-0.445 2.214c0 0.786 0.149 1.524 0.445 2.214s0.703 1.297 1.218 1.821c0.515 0.524 1.118 0.934 1.808 1.231s1.428 0.445 2.214 0.445v0z'\n ],\n right: [\n '0 0 32 32',\n 'M22 16l-10.105-10.6-1.895 1.987 8.211 8.613-8.211 8.612 1.895 1.988 8.211-8.613z'\n ],\n comment: [\n '0 0 32 32',\n 'M27.128 0.38h-22.553c-2.336 0-4.229 1.825-4.229 4.076v16.273c0 2.251 1.893 4.076 4.229 4.076h4.229v-2.685h8.403l-8.784 8.072 1.566 1.44 7.429-6.827h9.71c2.335 0 4.229-1.825 4.229-4.076v-16.273c0-2.252-1.894-4.076-4.229-4.076zM28.538 19.403c0 1.5-1.262 2.717-2.819 2.717h-8.36l-0.076-0.070-0.076 0.070h-11.223c-1.557 0-2.819-1.217-2.819-2.717v-13.589c0-1.501 1.262-2.718 2.819-2.718h19.734c1.557 0 2.819-0.141 2.819 1.359v14.947zM9.206 10.557c-1.222 0-2.215 0.911-2.215 2.036s0.992 2.035 2.215 2.035c1.224 0 2.216-0.911 2.216-2.035s-0.992-2.036-2.216-2.036zM22.496 10.557c-1.224 0-2.215 0.911-2.215 2.036s0.991 2.035 2.215 2.035c1.224 0 2.215-0.911 2.215-2.035s-0.991-2.036-2.215-2.036zM15.852 10.557c-1.224 0-2.215 0.911-2.215 2.036s0.991 2.035 2.215 2.035c1.222 0 2.215-0.911 2.215-2.035s-0.992-2.036-2.215-2.036z'\n ],\n 'comment-off': [\n '0 0 32 32',\n 'M27.090 0.131h-22.731c-2.354 0-4.262 1.839-4.262 4.109v16.401c0 2.269 1.908 4.109 4.262 4.109h4.262v-2.706h8.469l-8.853 8.135 1.579 1.451 7.487-6.88h9.787c2.353 0 4.262-1.84 4.262-4.109v-16.401c0-2.27-1.909-4.109-4.262-4.109v0zM28.511 19.304c0 1.512-1.272 2.738-2.841 2.738h-8.425l-0.076-0.070-0.076 0.070h-11.311c-1.569 0-2.841-1.226-2.841-2.738v-13.696c0-1.513 1.272-2.739 2.841-2.739h19.889c1.569 0 2.841-0.142 2.841 1.37v15.064z'\n ],\n send: [\n '0 0 32 32',\n 'M13.725 30l3.9-5.325-3.9-1.125v6.45zM0 17.5l11.050 3.35 13.6-11.55-10.55 12.425 11.8 3.65 6.1-23.375-32 15.5z'\n ],\n pallette: [\n '0 0 32 32',\n 'M19.357 2.88c1.749 0 3.366 0.316 4.851 0.946 1.485 0.632 2.768 1.474 3.845 2.533s1.922 2.279 2.532 3.661c0.611 1.383 0.915 2.829 0.915 4.334 0 1.425-0.304 2.847-0.915 4.271-0.611 1.425-1.587 2.767-2.928 4.028-0.855 0.813-1.811 1.607-2.869 2.38s-2.136 1.465-3.233 2.075c-1.099 0.61-2.198 1.098-3.296 1.465-1.098 0.366-2.115 0.549-3.051 0.549-1.343 0-2.441-0.438-3.296-1.311-0.854-0.876-1.281-2.41-1.281-4.608 0-0.366 0.020-0.773 0.060-1.221s0.062-0.895 0.062-1.343c0-0.773-0.183-1.353-0.55-1.738-0.366-0.387-0.793-0.58-1.281-0.58-0.652 0-1.21 0.295-1.678 0.886s-0.926 1.23-1.373 1.921c-0.447 0.693-0.905 1.334-1.372 1.923s-1.028 0.886-1.679 0.886c-0.529 0-1.048-0.427-1.556-1.282s-0.763-2.259-0.763-4.212c0-2.197 0.529-4.241 1.587-6.133s2.462-3.529 4.21-4.912c1.75-1.383 3.762-2.471 6.041-3.264 2.277-0.796 4.617-1.212 7.018-1.253zM7.334 15.817c0.569 0 1.047-0.204 1.434-0.611s0.579-0.875 0.579-1.404c0-0.569-0.193-1.047-0.579-1.434s-0.864-0.579-1.434-0.579c-0.529 0-0.987 0.193-1.373 0.579s-0.58 0.864-0.58 1.434c0 0.53 0.194 0.998 0.58 1.404 0.388 0.407 0.845 0.611 1.373 0.611zM12.216 11.79c0.691 0 1.292-0.254 1.8-0.763s0.762-1.107 0.762-1.8c0-0.732-0.255-1.343-0.762-1.831-0.509-0.489-1.109-0.732-1.8-0.732-0.732 0-1.342 0.244-1.831 0.732-0.488 0.488-0.732 1.098-0.732 1.831 0 0.693 0.244 1.292 0.732 1.8s1.099 0.763 1.831 0.763zM16.366 25.947c0.692 0 1.282-0.214 1.77-0.64s0.732-0.987 0.732-1.678-0.244-1.261-0.732-1.709c-0.489-0.448-1.078-0.671-1.77-0.671-0.65 0-1.21 0.223-1.678 0.671s-0.702 1.018-0.702 1.709c0 0.692 0.234 1.25 0.702 1.678s1.027 0.64 1.678 0.64zM19.113 9.592c0.651 0 1.129-0.203 1.433-0.611 0.305-0.406 0.459-0.874 0.459-1.404 0-0.488-0.154-0.947-0.459-1.373-0.304-0.427-0.782-0.641-1.433-0.641-0.529 0-1.008 0.193-1.434 0.58s-0.64 0.865-0.64 1.434c0 0.571 0.213 1.049 0.64 1.434 0.427 0.389 0.905 0.581 1.434 0.581zM24.848 12.826c0.57 0 1.067-0.213 1.495-0.64 0.427-0.427 0.64-0.947 0.64-1.556 0-0.57-0.214-1.068-0.64-1.495-0.428-0.427-0.927-0.64-1.495-0.64-0.611 0-1.129 0.213-1.555 0.64-0.428 0.427-0.642 0.926-0.642 1.495 0 0.611 0.213 1.129 0.642 1.556s0.947 0.64 1.555 0.64z'\n ],\n camera: [\n '0 0 32 32',\n 'M16 23c-3.309 0-6-2.691-6-6s2.691-6 6-6 6 2.691 6 6-2.691 6-6 6zM16 13c-2.206 0-4 1.794-4 4s1.794 4 4 4c2.206 0 4-1.794 4-4s-1.794-4-4-4zM27 28h-22c-1.654 0-3-1.346-3-3v-16c0-1.654 1.346-3 3-3h3c0.552 0 1 0.448 1 1s-0.448 1-1 1h-3c-0.551 0-1 0.449-1 1v16c0 0.552 0.449 1 1 1h22c0.552 0 1-0.448 1-1v-16c0-0.551-0.448-1-1-1h-11c-0.552 0-1-0.448-1-1s0.448-1 1-1h11c1.654 0 3 1.346 3 3v16c0 1.654-1.346 3-3 3zM24 10.5c0 0.828 0.672 1.5 1.5 1.5s1.5-0.672 1.5-1.5c0-0.828-0.672-1.5-1.5-1.5s-1.5 0.672-1.5 1.5zM15 4c0 0.552-0.448 1-1 1h-4c-0.552 0-1-0.448-1-1v0c0-0.552 0.448-1 1-1h4c0.552 0 1 0.448 1 1v0z'\n ],\n subtitle: [\n '0 0 32 32',\n 'M26.667 5.333h-21.333c-0 0-0.001 0-0.001 0-1.472 0-2.666 1.194-2.666 2.666 0 0 0 0.001 0 0.001v-0 16c0 0 0 0.001 0 0.001 0 1.472 1.194 2.666 2.666 2.666 0 0 0.001 0 0.001 0h21.333c0 0 0.001 0 0.001 0 1.472 0 2.666-1.194 2.666-2.666 0-0 0-0.001 0-0.001v0-16c0-0 0-0.001 0-0.001 0-1.472-1.194-2.666-2.666-2.666-0 0-0.001 0-0.001 0h0zM5.333 16h5.333v2.667h-5.333v-2.667zM18.667 24h-13.333v-2.667h13.333v2.667zM26.667 24h-5.333v-2.667h5.333v2.667zM26.667 18.667h-13.333v-2.667h13.333v2.667z'\n ]\n },\n iconsColor: '#ffffff',\n contextmenu: [],\n mutex: true\n };\n for (var defaultKey in defaultOption) {\n if (defaultOption.hasOwnProperty(defaultKey) && !options.hasOwnProperty(defaultKey)) {\n options[defaultKey] = defaultOption[defaultKey];\n }\n }\n if (options.video) {\n !options.video.type && (options.video.type = 'auto');\n }\n if (_typeof(options.danmaku) === 'object' && options.danmaku) {\n !options.danmaku.user && (options.danmaku.user = 'DIYgod');\n }\n if (options.subtitle) {\n !options.subtitle.type && (options.subtitle.type = 'webvtt');\n !options.subtitle.fontSize && (options.subtitle.fontSize = '20px');\n !options.subtitle.bottom && (options.subtitle.bottom = '40px');\n !options.subtitle.color && (options.subtitle.color = '#fff');\n }\n if (options.video.quality) {\n options.video.url = [options.video.quality[options.video.defaultQuality].url];\n }\n if (options.lang) {\n options.lang = options.lang.toLowerCase();\n }\n if (options.icons) {\n options.icons = Object.assign({}, defaultOption.icons, options.icons);\n }\n options.contextmenu = options.contextmenu.concat([\n {\n text: 'About author',\n link: 'https://diygod.me'\n },\n {\n text: 'About DPlayer',\n link: 'https://github.com/MoePlayer/DPlayer'\n },\n {\n text: 'DPlayer feedback',\n link: 'https://github.com/DIYgod/DPlayer/issues'\n },\n {\n text: 'DPlayer ' + \"1.17.3\" + ' ' + \"e3cfb21\",\n link: 'https://github.com/MoePlayer/DPlayer/releases'\n }\n ]);\n return options;\n};\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar SendXMLHttpRequest = function SendXMLHttpRequest(url, data, success, error, fail) {\n var xhr = new XMLHttpRequest();\n xhr.onreadystatechange = function () {\n if (xhr.readyState === 4) {\n if (xhr.status >= 200 && xhr.status < 300 || xhr.status === 304) {\n var response = JSON.parse(xhr.responseText);\n if (response.code !== 1) {\n return error(xhr, response);\n }\n return success(xhr, response);\n }\n fail(xhr);\n }\n };\n xhr.open(data !== null ? 'POST' : 'GET', url, true);\n xhr.send(data !== null ? JSON.stringify(data) : null);\n};\nmodule.exports = {\n send: function send(endpoint, danmakuData, callback) {\n SendXMLHttpRequest(endpoint, danmakuData, function (xhr, response) {\n console.log('Post danmaku: ', response);\n if (callback) {\n callback();\n }\n }, function (xhr, response) {\n alert(response.msg);\n }, function (xhr) {\n console.log('Request was unsuccessful: ' + xhr.status);\n });\n },\n read: function read(endpoint, callback) {\n SendXMLHttpRequest(endpoint, null, function (xhr, response) {\n callback(null, response.danmaku);\n }, function (xhr, response) {\n callback({\n status: xhr.status,\n response: response\n });\n }, function (xhr) {\n callback({\n status: xhr.status,\n response: null\n });\n });\n }\n};\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nmodule.exports = function (lang) {\n var _this = this;\n this.lang = lang;\n this.tran = function (text) {\n if (tranTxt[_this.lang] && tranTxt[_this.lang][text]) {\n return tranTxt[_this.lang][text];\n } else {\n return text;\n }\n };\n};\nvar tranTxt = {\n 'zh-cn': {\n 'Danmaku is loading': '弹幕加载中',\n 'Top': '顶部',\n 'Bottom': '底部',\n 'Rolling': '滚动',\n 'Input danmaku, hit Enter': '输入弹幕\\uFF0C回车发送',\n 'About author': '关于作者',\n 'DPlayer feedback': '播放器意见反馈',\n 'About DPlayer': '关于 DPlayer 播放器',\n 'Loop': '洗脑循环',\n 'Speed': '速度',\n 'Opacity for danmaku': '弹幕透明度',\n 'Normal': '正常',\n 'Please input danmaku content!': '要输入弹幕内容啊喂\\uFF01',\n 'Set danmaku color': '设置弹幕颜色',\n 'Set danmaku type': '设置弹幕类型',\n 'Show danmaku': '显示弹幕',\n 'This video fails to load': '视频加载失败',\n 'Switching to': '正在切换至',\n 'Switched to': '已经切换至',\n 'quality': '画质',\n 'FF': '快进',\n 'REW': '快退',\n 'Unlimited danmaku': '海量弹幕',\n 'Send danmaku': '发送弹幕',\n 'Setting': '设置',\n 'Full screen': '全屏',\n 'Web full screen': '页面全屏',\n 'Send': '发送',\n 'Screenshot': '截图',\n 's': '秒',\n 'Show subtitle': '显示字幕',\n 'Hide subtitle': '隐藏字幕',\n 'Volume': '音量',\n 'Live': '直播'\n },\n 'zh-tw': {\n 'Danmaku is loading': '彈幕加載中',\n 'Top': '頂部',\n 'Bottom': '底部',\n 'Rolling': '滾動',\n 'Input danmaku, hit Enter': '輸入彈幕\\uFF0CEnter 發送',\n 'About author': '關於作者',\n 'DPlayer feedback': '播放器意見反饋',\n 'About DPlayer': '關於 DPlayer 播放器',\n 'Loop': '循環播放',\n 'Speed': '速度',\n 'Opacity for danmaku': '彈幕透明度',\n 'Normal': '正常',\n 'Please input danmaku content!': '請輸入彈幕内容啊\\uFF01',\n 'Set danmaku color': '設置彈幕顏色',\n 'Set danmaku type': '設置彈幕類型',\n 'Show danmaku': '顯示彈幕',\n 'This video fails to load': '視頻加載失敗',\n 'Switching to': '正在切換至',\n 'Switched to': '已經切換至',\n 'quality': '畫質',\n 'FF': '快進',\n 'REW': '快退',\n 'Unlimited danmaku': '海量彈幕',\n 'Send danmaku': '發送彈幕',\n 'Setting': '設置',\n 'Full screen': '全屏',\n 'Web full screen': '頁面全屏',\n 'Send': '發送',\n 'Screenshot': '截圖',\n 's': '秒',\n 'Show subtitle': '顯示字幕',\n 'Hide subtitle': '隱藏字幕',\n 'Volume': '音量',\n 'Live': '直播'\n }\n};\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar Template = function () {\n function Template(options) {\n _classCallCheck(this, Template);\n this.container = options.container;\n this.options = options.options;\n this.index = options.index;\n this.tran = options.tran;\n this.icons = options.icons;\n this.init();\n }\n _createClass(Template, [\n {\n key: 'init',\n value: function init() {\n this.container.innerHTML = this.tpl(this.options, this.index, this.tran, this.icons);\n this.volumeBar = this.container.querySelector('.dplayer-volume-bar-inner');\n this.volumeBarWrap = this.container.querySelector('.dplayer-volume-bar');\n this.volumeBarWrapWrap = this.container.querySelector('.dplayer-volume-bar-wrap');\n this.volumeButton = this.container.querySelector('.dplayer-volume');\n this.volumeIcon = this.container.querySelector('.dplayer-volume-icon .dplayer-icon-content');\n this.playedBar = this.container.querySelector('.dplayer-played');\n this.loadedBar = this.container.querySelector('.dplayer-loaded');\n this.playedBarWrap = this.container.querySelector('.dplayer-bar-wrap');\n this.playedBarTime = this.container.querySelector('.dplayer-bar-time');\n this.danmaku = this.container.querySelector('.dplayer-danmaku');\n this.danmakuLoading = this.container.querySelector('.dplayer-danloading');\n this.video = this.container.querySelector('.dplayer-video-current');\n this.bezel = this.container.querySelector('.dplayer-bezel-icon');\n this.playButton = this.container.querySelector('.dplayer-play-icon');\n this.videoWrap = this.container.querySelector('.dplayer-video-wrap');\n this.controllerMask = this.container.querySelector('.dplayer-controller-mask');\n this.ptime = this.container.querySelector('.dplayer-ptime');\n this.settingButton = this.container.querySelector('.dplayer-setting-icon');\n this.settingBox = this.container.querySelector('.dplayer-setting-box');\n this.mask = this.container.querySelector('.dplayer-mask');\n this.loop = this.container.querySelector('.dplayer-setting-loop');\n this.loopToggle = this.container.querySelector('.dplayer-setting-loop .dplayer-toggle-setting-input');\n this.showDanmaku = this.container.querySelector('.dplayer-setting-showdan');\n this.showDanmakuToggle = this.container.querySelector('.dplayer-showdan-setting-input');\n this.unlimitDanmaku = this.container.querySelector('.dplayer-setting-danunlimit');\n this.unlimitDanmakuToggle = this.container.querySelector('.dplayer-danunlimit-setting-input');\n this.speed = this.container.querySelector('.dplayer-setting-speed');\n this.speedItem = this.container.querySelectorAll('.dplayer-setting-speed-item');\n this.danmakuOpacityBar = this.container.querySelector('.dplayer-danmaku-bar-inner');\n this.danmakuOpacityBarWrap = this.container.querySelector('.dplayer-danmaku-bar');\n this.danmakuOpacityBarWrapWrap = this.container.querySelector('.dplayer-danmaku-bar-wrap');\n this.danmakuOpacityBox = this.container.querySelector('.dplayer-setting-danmaku');\n this.dtime = this.container.querySelector('.dplayer-dtime');\n this.controller = this.container.querySelector('.dplayer-controller');\n this.commentInput = this.container.querySelector('.dplayer-comment-input');\n this.commentButton = this.container.querySelector('.dplayer-comment-icon');\n this.commentSettingBox = this.container.querySelector('.dplayer-comment-setting-box');\n this.commentSettingButton = this.container.querySelector('.dplayer-comment-setting-icon');\n this.commentSettingFill = this.container.querySelector('.dplayer-comment-setting-icon .dplayer-fill');\n this.commentSendButton = this.container.querySelector('.dplayer-send-icon');\n this.commentSendFill = this.container.querySelector('.dplayer-send-icon .dplayer-fill');\n this.commentColorSettingBox = this.container.querySelector('.dplayer-comment-setting-color');\n this.browserFullButton = this.container.querySelector('.dplayer-full-icon');\n this.webFullButton = this.container.querySelector('.dplayer-full-in-icon');\n this.menu = this.container.querySelector('.dplayer-menu');\n this.qualityList = this.container.querySelector('.dplayer-quality-list');\n this.camareButton = this.container.querySelector('.dplayer-camera-icon');\n this.subtitleButton = this.container.querySelector('.dplayer-subtitle-icon');\n this.subtitleButtonInner = this.container.querySelector('.dplayer-subtitle-icon .dplayer-icon-content');\n this.subtitle = this.container.querySelector('.dplayer-subtitle');\n this.qualityButton = this.container.querySelector('.dplayer-quality-icon');\n this.barPreview = this.container.querySelector('.dplayer-bar-preview');\n this.barWrap = this.container.querySelector('.dplayer-bar-wrap');\n this.notice = this.container.querySelector('.dplayer-notice');\n }\n },\n {\n key: 'tpl',\n value: function tpl(options, index, tran, icons) {\n return '
' + this.tplVideo(true, options.video.pic, options.screenshot, options.preload, options.video.url, options.subtitle) + '' + (options.logo ? '
' : '') + '
' + (options.danmaku ? '' + tran('Danmaku is loading') + '' : '') + '
' + tran('Set danmaku color') + '
' + tran('Set danmaku type') + '
0:00 / 0:00' + (options.live ? '' + tran('Live') + '' : '') + '
' + (options.video.quality ? '
' + this.tplQualityList(options.video.quality) + '
' : '') + '' + (options.screenshot ? '' + icons.get('camera') + '' : '') + '
' + (options.subtitle ? '
' : '') + '
' + tran('Speed') + '
' + icons.get('right') + '
' + tran('Loop') + '
' + tran('Show danmaku') + '
' + tran('Unlimited danmaku') + '
' + tran('Opacity for danmaku') + '
0.5
0.75
' + tran('Normal') + '
1.25
1.5
2
00:00
' + this.tplContextmenuList(options.contextmenu, tran) + '
';\n }\n },\n {\n key: 'tplDanmakumargin',\n value: function tplDanmakumargin(margin) {\n var result = '';\n if (margin) {\n for (var key in margin) {\n result += key + ':' + margin[key] + ';';\n }\n }\n return result;\n }\n },\n {\n key: 'tplContextmenuList',\n value: function tplContextmenuList(contextmenu, tran) {\n var result = '
';\n for (var i = 0; i < contextmenu.length; i++) {\n result += '';\n }\n result += '
';\n return result;\n }\n },\n {\n key: 'tplQualityList',\n value: function tplQualityList(quality) {\n var result = '
';\n for (var i = 0; i < quality.length; i++) {\n result += '
' + quality[i].name + '
';\n }\n result += '
';\n return result;\n }\n },\n {\n key: 'tplVideo',\n value: function tplVideo(current, pic, screenshot, preload, url, subtitle) {\n var enableSubtitle = subtitle && subtitle.type === 'webvtt';\n return '';\n }\n }\n ]);\n return Template;\n}();\nmodule.exports = Template;\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar SvgSource = function () {\n function SvgSource(options) {\n _classCallCheck(this, SvgSource);\n this.icons = options.icons;\n this.iconColor = options.iconsColor;\n }\n _createClass(SvgSource, [{\n key: 'get',\n value: function get(type) {\n return '';\n }\n }]);\n return SvgSource;\n}();\nmodule.exports = SvgSource;\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar _typeof = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === 'function' && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n};\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar Danmaku = function () {\n function Danmaku(options) {\n _classCallCheck(this, Danmaku);\n this.options = options;\n this.container = this.options.container;\n this.danTunnel = {\n right: {},\n top: {},\n bottom: {}\n };\n this.danIndex = 0;\n this.dan = [];\n this.showing = true;\n this._opacity = this.options.opacity;\n this.events = this.options.events;\n this.unlimited = this.options.unlimited;\n this._measure('');\n this.load();\n }\n _createClass(Danmaku, [\n {\n key: 'load',\n value: function load() {\n var _this = this;\n var apiurl = void 0;\n if (this.options.api.maximum) {\n apiurl = this.options.api.address + '?id=' + this.options.api.id + '&max=' + this.options.api.maximum;\n } else {\n apiurl = this.options.api.address + '?id=' + this.options.api.id;\n }\n var endpoints = (this.options.api.addition || []).slice(0);\n endpoints.push(apiurl);\n this.events && this.events.trigger('danmaku_load_start', endpoints);\n this._readAllEndpoints(endpoints, function (results) {\n _this.dan = [].concat.apply([], results).sort(function (a, b) {\n return a.time - b.time;\n });\n window.requestAnimationFrame(function () {\n _this.frame();\n });\n _this.options.callback();\n _this.events && _this.events.trigger('danmaku_load_end');\n });\n }\n },\n {\n key: 'reload',\n value: function reload(newAPI) {\n this.options.api = newAPI;\n this.dan = [];\n this.clear();\n this.load();\n }\n },\n {\n key: '_readAllEndpoints',\n value: function _readAllEndpoints(endpoints, callback) {\n var _this2 = this;\n var results = [];\n var readCount = 0;\n var cbk = function cbk(i) {\n return function (err, data) {\n ++readCount;\n if (err) {\n if (err.response) {\n _this2.options.error(err.response.msg);\n } else {\n _this2.options.error('Request was unsuccessful: ' + err.status);\n }\n results[i] = [];\n } else {\n results[i] = data;\n }\n if (readCount === endpoints.length) {\n return callback(results);\n }\n };\n };\n for (var i = 0; i < endpoints.length; ++i) {\n this.options.apiBackend.read(endpoints[i], cbk(i));\n }\n }\n },\n {\n key: 'send',\n value: function send(dan, callback) {\n var danmakuData = {\n token: this.options.api.token,\n player: this.options.api.id,\n author: this.options.api.user,\n time: this.options.time(),\n text: dan.text,\n color: dan.color,\n type: dan.type\n };\n this.options.apiBackend.send(this.options.api.address, danmakuData, callback);\n this.dan.splice(this.danIndex, 0, danmakuData);\n this.danIndex++;\n var danmaku = {\n text: this.htmlEncode(danmakuData.text),\n color: danmakuData.color,\n type: danmakuData.type,\n border: '2px solid ' + this.options.borderColor\n };\n this.draw(danmaku);\n this.events && this.events.trigger('danmaku_send', danmakuData);\n }\n },\n {\n key: 'frame',\n value: function frame() {\n var _this3 = this;\n if (this.dan.length && !this.paused && this.showing) {\n var item = this.dan[this.danIndex];\n var dan = [];\n while (item && this.options.time() > parseFloat(item.time)) {\n dan.push(item);\n item = this.dan[++this.danIndex];\n }\n this.draw(dan);\n }\n window.requestAnimationFrame(function () {\n _this3.frame();\n });\n }\n },\n {\n key: 'opacity',\n value: function opacity(percentage) {\n if (percentage !== undefined) {\n var items = this.container.getElementsByClassName('dplayer-danmaku-item');\n for (var i = 0; i < items.length; i++) {\n items[i].style.opacity = percentage;\n }\n this._opacity = percentage;\n this.events && this.events.trigger('danmaku_opacity', this._opacity);\n }\n return this._opacity;\n }\n },\n {\n key: 'draw',\n value: function draw(dan) {\n var _this4 = this;\n if (this.showing) {\n var itemHeight = this.options.height;\n var danWidth = this.container.offsetWidth;\n var danHeight = this.container.offsetHeight;\n var itemY = parseInt(danHeight / itemHeight);\n var danItemRight = function danItemRight(ele) {\n var eleWidth = ele.offsetWidth || parseInt(ele.style.width);\n var eleRight = ele.getBoundingClientRect().right || _this4.container.getBoundingClientRect().right + eleWidth;\n return _this4.container.getBoundingClientRect().right - eleRight;\n };\n var danSpeed = function danSpeed(width) {\n return (danWidth + width) / 5;\n };\n var getTunnel = function getTunnel(ele, type, width) {\n var tmp = danWidth / danSpeed(width);\n var _loop = function _loop(i) {\n var item = _this4.danTunnel[type][i + ''];\n if (item && item.length) {\n if (type !== 'right') {\n return 'continue';\n }\n for (var j = 0; j < item.length; j++) {\n var danRight = danItemRight(item[j]) - 10;\n if (danRight <= danWidth - tmp * danSpeed(parseInt(item[j].style.width)) || danRight <= 0) {\n break;\n }\n if (j === item.length - 1) {\n _this4.danTunnel[type][i + ''].push(ele);\n ele.addEventListener('animationend', function () {\n _this4.danTunnel[type][i + ''].splice(0, 1);\n });\n return { v: i % itemY };\n }\n }\n } else {\n _this4.danTunnel[type][i + ''] = [ele];\n ele.addEventListener('animationend', function () {\n _this4.danTunnel[type][i + ''].splice(0, 1);\n });\n return { v: i % itemY };\n }\n };\n for (var i = 0; _this4.unlimited || i < itemY; i++) {\n var _ret = _loop(i);\n switch (_ret) {\n case 'continue':\n continue;\n default:\n if ((typeof _ret === 'undefined' ? 'undefined' : _typeof(_ret)) === 'object')\n return _ret.v;\n }\n }\n return -1;\n };\n if (Object.prototype.toString.call(dan) !== '[object Array]') {\n dan = [dan];\n }\n var docFragment = document.createDocumentFragment();\n var _loop2 = function _loop2(i) {\n if (!dan[i].type) {\n dan[i].type = 'right';\n }\n if (!dan[i].color) {\n dan[i].color = '#fff';\n }\n var item = document.createElement('div');\n item.classList.add('dplayer-danmaku-item');\n item.classList.add('dplayer-danmaku-' + dan[i].type);\n if (dan[i].border) {\n item.innerHTML = '' + dan[i].text + '';\n } else {\n item.innerHTML = dan[i].text;\n }\n item.style.opacity = _this4._opacity;\n item.style.color = dan[i].color;\n item.addEventListener('animationend', function () {\n _this4.container.removeChild(item);\n });\n var itemWidth = _this4._measure(dan[i].text);\n var tunnel = void 0;\n switch (dan[i].type) {\n case 'right':\n tunnel = getTunnel(item, dan[i].type, itemWidth);\n if (tunnel >= 0) {\n item.style.width = itemWidth + 1 + 'px';\n item.style.top = itemHeight * tunnel + 'px';\n item.style.transform = 'translateX(-' + danWidth + 'px)';\n }\n break;\n case 'top':\n tunnel = getTunnel(item, dan[i].type);\n if (tunnel >= 0) {\n item.style.top = itemHeight * tunnel + 'px';\n }\n break;\n case 'bottom':\n tunnel = getTunnel(item, dan[i].type);\n if (tunnel >= 0) {\n item.style.bottom = itemHeight * tunnel + 'px';\n }\n break;\n default:\n console.error('Can\\'t handled danmaku type: ' + dan[i].type);\n }\n if (tunnel >= 0) {\n item.classList.add('dplayer-danmaku-move');\n docFragment.appendChild(item);\n }\n };\n for (var i = 0; i < dan.length; i++) {\n _loop2(i);\n }\n this.container.appendChild(docFragment);\n return docFragment;\n }\n }\n },\n {\n key: 'play',\n value: function play() {\n this.paused = false;\n }\n },\n {\n key: 'pause',\n value: function pause() {\n this.paused = true;\n }\n },\n {\n key: '_measure',\n value: function _measure(text) {\n if (!this.context) {\n var measureStyle = getComputedStyle(this.container.getElementsByClassName('dplayer-danmaku-item')[0], null);\n this.context = document.createElement('canvas').getContext('2d');\n this.context.font = measureStyle.getPropertyValue('font');\n }\n return this.context.measureText(text).width;\n }\n },\n {\n key: 'seek',\n value: function seek() {\n this.clear();\n for (var i = 0; i < this.dan.length; i++) {\n if (this.dan[i].time >= this.options.time()) {\n this.danIndex = i;\n break;\n }\n this.danIndex = this.dan.length;\n }\n }\n },\n {\n key: 'clear',\n value: function clear() {\n this.danTunnel = {\n right: {},\n top: {},\n bottom: {}\n };\n this.danIndex = 0;\n this.options.container.innerHTML = '';\n this.events && this.events.trigger('danmaku_clear');\n }\n },\n {\n key: 'htmlEncode',\n value: function htmlEncode(str) {\n return str.replace(/&/g, '&').replace(//g, '>').replace(/\"/g, '"').replace(/'/g, ''').replace(/\\//g, '/');\n }\n },\n {\n key: 'resize',\n value: function resize() {\n var danWidth = this.container.offsetWidth;\n var items = this.container.getElementsByClassName('dplayer-danmaku-item');\n for (var i = 0; i < items.length; i++) {\n items[i].style.transform = 'translateX(-' + danWidth + 'px)';\n }\n }\n },\n {\n key: 'hide',\n value: function hide() {\n this.showing = false;\n this.pause();\n this.clear();\n this.events && this.events.trigger('danmaku_hide');\n }\n },\n {\n key: 'show',\n value: function show() {\n this.seek();\n this.showing = true;\n this.play();\n this.events && this.events.trigger('danmaku_show');\n }\n },\n {\n key: 'unlimit',\n value: function unlimit(boolean) {\n this.unlimited = boolean;\n }\n }\n ]);\n return Danmaku;\n}();\nmodule.exports = Danmaku;\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar Events = function () {\n function Events() {\n _classCallCheck(this, Events);\n this.events = {};\n this.videoEvents = [\n 'abort',\n 'canplay',\n 'canplaythrough',\n 'durationchange',\n 'emptied',\n 'ended',\n 'error',\n 'loadeddata',\n 'loadedmetadata',\n 'loadstart',\n 'mozaudioavailable',\n 'pause',\n 'play',\n 'playing',\n 'progress',\n 'ratechange',\n 'seeked',\n 'seeking',\n 'stalled',\n 'suspend',\n 'timeupdate',\n 'volumechange',\n 'waiting'\n ];\n this.playerEvents = [\n 'screenshot',\n 'thumbnails_show',\n 'thumbnails_hide',\n 'danmaku_show',\n 'danmaku_hide',\n 'danmaku_clear',\n 'danmaku_loaded',\n 'danmaku_send',\n 'danmaku_opacity',\n 'contextmenu_show',\n 'contextmenu_hide',\n 'notice_show',\n 'notice_hide',\n 'quality_start',\n 'quality_end',\n 'destroy',\n 'resize',\n 'fullscreen',\n 'fullscreen_cancel',\n 'webfullscreen',\n 'webfullscreen_cancel',\n 'subtitle_show',\n 'subtitle_hide',\n 'subtitle_change'\n ];\n }\n _createClass(Events, [\n {\n key: 'on',\n value: function on(name, callback) {\n if (this.type(name) && typeof callback === 'function') {\n if (!this.events[name]) {\n this.events[name] = [];\n }\n this.events[name].push(callback);\n }\n }\n },\n {\n key: 'trigger',\n value: function trigger(name, info) {\n if (this.events[name] && this.events[name].length) {\n for (var i = 0; i < this.events[name].length; i++) {\n this.events[name][i](info);\n }\n }\n }\n },\n {\n key: 'type',\n value: function type(name) {\n if (this.playerEvents.indexOf(name) !== -1) {\n return 'player';\n } else if (this.videoEvents.indexOf(name) !== -1) {\n return 'video';\n }\n console.error('Unknown event name: ' + name);\n return null;\n }\n }\n ]);\n return Events;\n}();\nmodule.exports = Events;\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nvar _utils = __webpack_require__(0);\nvar _utils2 = _interopRequireDefault(_utils);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar FullScreen = function () {\n function FullScreen(player) {\n var _this = this;\n _classCallCheck(this, FullScreen);\n this.player = player;\n this.player.events.on('webfullscreen', function () {\n _this.player.resize();\n });\n this.player.events.on('webfullscreen_cancel', function () {\n _this.player.resize();\n _utils2.default.setScrollPosition(_this.lastScrollPosition);\n });\n var fullscreenchange = function fullscreenchange() {\n _this.player.resize();\n if (_this.isFullScreen('browser')) {\n _this.player.events.trigger('fullscreen');\n } else {\n _utils2.default.setScrollPosition(_this.lastScrollPosition);\n _this.player.events.trigger('fullscreen_cancel');\n }\n };\n this.player.container.addEventListener('fullscreenchange', fullscreenchange);\n this.player.container.addEventListener('mozfullscreenchange', fullscreenchange);\n this.player.container.addEventListener('webkitfullscreenchange', fullscreenchange);\n }\n _createClass(FullScreen, [\n {\n key: 'isFullScreen',\n value: function isFullScreen() {\n var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'browser';\n switch (type) {\n case 'browser':\n return document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement;\n case 'web':\n return this.player.container.classList.contains('dplayer-fulled');\n }\n }\n },\n {\n key: 'request',\n value: function request() {\n var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'browser';\n var anotherType = type === 'browser' ? 'web' : 'browser';\n var anotherTypeOn = this.isFullScreen(anotherType);\n if (!anotherTypeOn) {\n this.lastScrollPosition = _utils2.default.getScrollPosition();\n }\n switch (type) {\n case 'browser':\n if (this.player.container.requestFullscreen) {\n this.player.container.requestFullscreen();\n } else if (this.player.container.mozRequestFullScreen) {\n this.player.container.mozRequestFullScreen();\n } else if (this.player.container.webkitRequestFullscreen) {\n this.player.container.webkitRequestFullscreen();\n } else if (this.player.video.webkitEnterFullscreen) {\n this.player.video.webkitEnterFullscreen();\n }\n break;\n case 'web':\n this.player.container.classList.add('dplayer-fulled');\n document.body.classList.add('dplayer-web-fullscreen-fix');\n this.player.events.trigger('webfullscreen');\n break;\n }\n if (anotherTypeOn) {\n this.cancel(anotherType);\n }\n }\n },\n {\n key: 'cancel',\n value: function cancel() {\n var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'browser';\n switch (type) {\n case 'browser':\n if (document.cancelFullScreen) {\n document.cancelFullScreen();\n } else if (document.mozCancelFullScreen) {\n document.mozCancelFullScreen();\n } else if (document.webkitCancelFullScreen) {\n document.webkitCancelFullScreen();\n }\n break;\n case 'web':\n this.player.container.classList.remove('dplayer-fulled');\n document.body.classList.remove('dplayer-web-fullscreen-fix');\n this.player.events.trigger('webfullscreen_cancel');\n break;\n }\n }\n },\n {\n key: 'toggle',\n value: function toggle() {\n var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'browser';\n if (this.isFullScreen(type)) {\n this.cancel(type);\n } else {\n this.request(type);\n }\n }\n }\n ]);\n return FullScreen;\n}();\nmodule.exports = FullScreen;\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nvar _utils = __webpack_require__(0);\nvar _utils2 = _interopRequireDefault(_utils);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar User = function () {\n function User(player) {\n _classCallCheck(this, User);\n this.storageName = {\n opacity: 'dplayer-danmaku-opacity',\n volume: 'dplayer-volume',\n unlimited: 'dplayer-danmaku-unlimited',\n danmaku: 'dplayer-danmaku-show',\n subtitle: 'dplayer-subtitle-show'\n };\n this.default = {\n opacity: 0.7,\n volume: player.options.volume || 0.7,\n unlimited: (player.options.danmaku && player.options.danmaku.unlimited ? 1 : 0) || 0,\n danmaku: 1,\n subtitle: 1\n };\n this.data = {};\n this.init();\n }\n _createClass(User, [\n {\n key: 'init',\n value: function init() {\n for (var item in this.storageName) {\n var name = this.storageName[item];\n this.data[item] = parseFloat(_utils2.default.storage.get(name) || this.default[item]);\n }\n }\n },\n {\n key: 'get',\n value: function get(key) {\n return this.data[key];\n }\n },\n {\n key: 'set',\n value: function set(key, value) {\n this.data[key] = value;\n _utils2.default.storage.set(this.storageName[key], value);\n }\n }\n ]);\n return User;\n}();\nmodule.exports = User;\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar Subtitle = function () {\n function Subtitle(container, video, options, events) {\n _classCallCheck(this, Subtitle);\n this.container = container;\n this.video = video;\n this.options = options;\n this.events = events;\n this.init();\n }\n _createClass(Subtitle, [\n {\n key: 'init',\n value: function init() {\n var _this = this;\n this.container.style.fontSize = this.options.fontSize;\n this.container.style.bottom = this.options.bottom;\n this.container.style.color = this.options.color;\n if (this.video.textTracks && this.video.textTracks[0]) {\n var track = this.video.textTracks[0];\n track.oncuechange = function () {\n var cue = track.activeCues[0];\n if (cue) {\n _this.container.innerHTML = '';\n var p = document.createElement('p');\n p.appendChild(cue.getCueAsHTML());\n _this.container.appendChild(p);\n } else {\n _this.container.innerHTML = '';\n }\n _this.events.trigger('subtitle_change');\n };\n }\n }\n },\n {\n key: 'show',\n value: function show() {\n this.container.classList.remove('dplayer-subtitle-hide');\n this.events.trigger('subtitle_show');\n }\n },\n {\n key: 'hide',\n value: function hide() {\n this.container.classList.add('dplayer-subtitle-hide');\n this.events.trigger('subtitle_hide');\n }\n },\n {\n key: 'toggle',\n value: function toggle() {\n if (this.container.classList.contains('dplayer-subtitle-hide')) {\n this.show();\n } else {\n this.hide();\n }\n }\n }\n ]);\n return Subtitle;\n}();\nmodule.exports = Subtitle;\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar Bar = function () {\n function Bar(template) {\n _classCallCheck(this, Bar);\n this.elements = {};\n this.elements.volume = template.volumeBar;\n this.elements.played = template.playedBar;\n this.elements.loaded = template.loadedBar;\n this.elements.danmaku = template.danmakuOpacityBar;\n }\n _createClass(Bar, [\n {\n key: 'set',\n value: function set(type, percentage, direction) {\n percentage = Math.max(percentage, 0);\n percentage = Math.min(percentage, 1);\n this.elements[type].style[direction] = percentage * 100 + '%';\n }\n },\n {\n key: 'get',\n value: function get(type) {\n return parseFloat(this.elements[type].style.width) / 100;\n }\n }\n ]);\n return Bar;\n}();\nmodule.exports = Bar;\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nvar _utils = __webpack_require__(0);\nvar _utils2 = _interopRequireDefault(_utils);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar Time = function () {\n function Time(player) {\n _classCallCheck(this, Time);\n this.player = player;\n window.requestAnimationFrame = function () {\n return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame || function (callback) {\n window.setTimeout(callback, 1000 / 60);\n };\n }();\n this.types = [\n 'loading',\n 'progress'\n ];\n this.init();\n }\n _createClass(Time, [\n {\n key: 'init',\n value: function init() {\n for (var i = 0; i < this.types.length; i++) {\n var type = this.types[i];\n this['init' + type + 'Checker']();\n }\n }\n },\n {\n key: 'initloadingChecker',\n value: function initloadingChecker() {\n var _this = this;\n var lastPlayPos = 0;\n var currentPlayPos = 0;\n var bufferingDetected = false;\n this.loadingChecker = setInterval(function () {\n if (_this.enableloadingChecker) {\n currentPlayPos = _this.player.video.currentTime;\n if (!bufferingDetected && currentPlayPos === lastPlayPos && !_this.player.video.paused) {\n _this.player.container.classList.add('dplayer-loading');\n bufferingDetected = true;\n }\n if (bufferingDetected && currentPlayPos > lastPlayPos && !_this.player.video.paused) {\n _this.player.container.classList.remove('dplayer-loading');\n bufferingDetected = false;\n }\n lastPlayPos = currentPlayPos;\n }\n }, 100);\n }\n },\n {\n key: 'initprogressChecker',\n value: function initprogressChecker() {\n var _this2 = this;\n this.progressChecker = setInterval(function () {\n if (_this2.enableprogressChecker) {\n _this2.player.bar.set('played', _this2.player.video.currentTime / _this2.player.video.duration, 'width');\n var currentTime = _utils2.default.secondToTime(_this2.player.video.currentTime);\n if (_this2.player.template.ptime.innerHTML !== currentTime) {\n _this2.player.template.ptime.innerHTML = _utils2.default.secondToTime(_this2.player.video.currentTime);\n }\n }\n }, 100);\n }\n },\n {\n key: 'enable',\n value: function enable(type) {\n if (type) {\n this['enable' + type + 'Checker'] = true;\n } else {\n for (var i = 0; i < this.types.length; i++) {\n var _type = this.types[i];\n this['enable' + _type + 'Checker'] = true;\n }\n }\n }\n },\n {\n key: 'disable',\n value: function disable(type) {\n if (type) {\n this['enable' + type + 'Checker'] = false;\n } else {\n for (var i = 0; i < this.types.length; i++) {\n var _type2 = this.types[i];\n this['enable' + _type2 + 'Checker'] = false;\n }\n }\n }\n },\n {\n key: 'destroy',\n value: function destroy(type) {\n if (type) {\n clearInterval(this[type + 'Checker']);\n } else {\n for (var i = 0; i < this.types.length; i++) {\n clearInterval(this[this.types[i] + 'Checker']);\n }\n }\n }\n }\n ]);\n return Time;\n}();\nmodule.exports = Time;\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar Bezel = function () {\n function Bezel(container) {\n var _this = this;\n _classCallCheck(this, Bezel);\n this.container = container;\n this.container.addEventListener('animationend', function () {\n _this.container.classList.remove('dplayer-bezel-transition');\n });\n }\n _createClass(Bezel, [{\n key: 'switch',\n value: function _switch(icon) {\n this.container.innerHTML = icon;\n this.container.classList.add('dplayer-bezel-transition');\n }\n }]);\n return Bezel;\n}();\nmodule.exports = Bezel;\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nvar _utils = __webpack_require__(0);\nvar _utils2 = _interopRequireDefault(_utils);\nvar _thumbnails = __webpack_require__(18);\nvar _thumbnails2 = _interopRequireDefault(_thumbnails);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar Controller = function () {\n function Controller(player) {\n var _this = this;\n _classCallCheck(this, Controller);\n this.player = player;\n this.autoHideTimer = 0;\n if (!_utils.isMobile) {\n this.player.container.addEventListener('mousemove', function () {\n _this.setAutoHide();\n });\n this.player.container.addEventListener('click', function () {\n _this.setAutoHide();\n });\n }\n this.initPlayButton();\n this.initThumbnails();\n this.initPlayedBar();\n this.initFullButton();\n this.initVolumeButton();\n this.initQualityButton();\n this.initScreenshotButton();\n this.initSubtitleButton();\n }\n _createClass(Controller, [\n {\n key: 'initPlayButton',\n value: function initPlayButton() {\n var _this2 = this;\n this.player.template.playButton.addEventListener('click', function () {\n _this2.player.toggle();\n });\n if (!_utils.isMobile) {\n this.player.template.videoWrap.addEventListener('click', function () {\n _this2.player.toggle();\n });\n this.player.template.controllerMask.addEventListener('click', function () {\n _this2.player.toggle();\n });\n } else {\n this.player.template.videoWrap.addEventListener('click', function () {\n _this2.toggle();\n });\n this.player.template.controllerMask.addEventListener('click', function () {\n _this2.toggle();\n });\n }\n }\n },\n {\n key: 'initThumbnails',\n value: function initThumbnails() {\n var _this3 = this;\n if (this.player.options.video.thumbnails) {\n this.thumbnails = new _thumbnails2.default({\n container: this.player.template.barPreview,\n barWidth: this.player.template.barWrap.offsetWidth,\n url: this.player.options.video.thumbnails,\n events: this.player.events\n });\n this.player.on('loadedmetadata', function () {\n _this3.thumbnails.resize(160, _this3.player.video.videoHeight / _this3.player.video.videoWidth * 160);\n });\n }\n }\n },\n {\n key: 'initPlayedBar',\n value: function initPlayedBar() {\n var _this4 = this;\n var thumbMove = function thumbMove(e) {\n var percentage = (e.clientX - _utils2.default.getElementViewLeft(_this4.player.template.playedBarWrap)) / _this4.player.template.playedBarWrap.clientWidth;\n percentage = Math.max(percentage, 0);\n percentage = Math.min(percentage, 1);\n _this4.player.bar.set('played', percentage, 'width');\n _this4.player.template.ptime.innerHTML = _utils2.default.secondToTime(percentage * _this4.player.video.duration);\n };\n var thumbUp = function thumbUp(e) {\n document.removeEventListener('mouseup', thumbUp);\n document.removeEventListener('mousemove', thumbMove);\n var percentage = (e.clientX - _utils2.default.getElementViewLeft(_this4.player.template.playedBarWrap)) / _this4.player.template.playedBarWrap.clientWidth;\n percentage = Math.max(percentage, 0);\n percentage = Math.min(percentage, 1);\n _this4.player.bar.set('played', percentage, 'width');\n _this4.player.seek(_this4.player.bar.get('played') * _this4.player.video.duration);\n _this4.player.time.enable('progress');\n };\n this.player.template.playedBarWrap.addEventListener('mousedown', function () {\n _this4.player.time.disable('progress');\n document.addEventListener('mousemove', thumbMove);\n document.addEventListener('mouseup', thumbUp);\n });\n this.player.template.playedBarWrap.addEventListener('mousemove', function (e) {\n if (_this4.player.video.duration) {\n var px = _utils2.default.cumulativeOffset(_this4.player.template.playedBarWrap).left;\n var tx = e.clientX - px;\n if (tx < 0 || tx > _this4.player.template.playedBarWrap.offsetWidth) {\n return;\n }\n var time = _this4.player.video.duration * (tx / _this4.player.template.playedBarWrap.offsetWidth);\n _this4.thumbnails && _this4.thumbnails.move(tx);\n _this4.player.template.playedBarTime.style.left = tx - 20 + 'px';\n _this4.player.template.playedBarTime.innerText = _utils2.default.secondToTime(time);\n _this4.player.template.playedBarTime.classList.remove('hidden');\n }\n });\n this.player.template.playedBarWrap.addEventListener('mouseenter', function () {\n if (_this4.player.video.duration) {\n _this4.thumbnails && _this4.thumbnails.show();\n _this4.player.template.playedBarTime.classList.remove('hidden');\n }\n });\n this.player.template.playedBarWrap.addEventListener('mouseleave', function () {\n if (_this4.player.video.duration) {\n _this4.thumbnails && _this4.thumbnails.hide();\n _this4.player.template.playedBarTime.classList.add('hidden');\n }\n });\n }\n },\n {\n key: 'initFullButton',\n value: function initFullButton() {\n var _this5 = this;\n this.player.template.browserFullButton.addEventListener('click', function () {\n _this5.player.fullScreen.toggle('browser');\n });\n this.player.template.webFullButton.addEventListener('click', function () {\n _this5.player.fullScreen.toggle('web');\n });\n }\n },\n {\n key: 'initVolumeButton',\n value: function initVolumeButton() {\n var _this6 = this;\n var vWidth = 35;\n var volumeMove = function volumeMove(event) {\n var e = event || window.event;\n var percentage = (e.clientX - _utils2.default.getElementViewLeft(_this6.player.template.volumeBarWrap) - 5.5) / vWidth;\n _this6.player.volume(percentage);\n };\n var volumeUp = function volumeUp() {\n document.removeEventListener('mouseup', volumeUp);\n document.removeEventListener('mousemove', volumeMove);\n _this6.player.template.volumeButton.classList.remove('dplayer-volume-active');\n };\n this.player.template.volumeBarWrapWrap.addEventListener('click', function (event) {\n var e = event || window.event;\n var percentage = (e.clientX - _utils2.default.getElementViewLeft(_this6.player.template.volumeBarWrap) - 5.5) / vWidth;\n _this6.player.volume(percentage);\n });\n this.player.template.volumeBarWrapWrap.addEventListener('mousedown', function () {\n document.addEventListener('mousemove', volumeMove);\n document.addEventListener('mouseup', volumeUp);\n _this6.player.template.volumeButton.classList.add('dplayer-volume-active');\n });\n this.player.template.volumeIcon.addEventListener('click', function () {\n if (_this6.player.video.muted) {\n _this6.player.video.muted = false;\n _this6.player.switchVolumeIcon();\n _this6.player.bar.set('volume', _this6.player.volume(), 'width');\n } else {\n _this6.player.video.muted = true;\n _this6.player.template.volumeIcon.innerHTML = _this6.player.icons.get('volume-off');\n _this6.player.bar.set('volume', 0, 'width');\n }\n });\n }\n },\n {\n key: 'initQualityButton',\n value: function initQualityButton() {\n var _this7 = this;\n if (this.player.options.video.quality) {\n this.player.template.qualityList.addEventListener('click', function (e) {\n if (e.target.classList.contains('dplayer-quality-item')) {\n _this7.player.switchQuality(e.target.dataset.index);\n }\n });\n }\n }\n },\n {\n key: 'initScreenshotButton',\n value: function initScreenshotButton() {\n var _this8 = this;\n if (this.player.options.screenshot) {\n this.player.template.camareButton.addEventListener('click', function () {\n var canvas = document.createElement('canvas');\n canvas.width = _this8.player.video.videoWidth;\n canvas.height = _this8.player.video.videoHeight;\n canvas.getContext('2d').drawImage(_this8.player.video, 0, 0, canvas.width, canvas.height);\n var dataURL = canvas.toDataURL();\n _this8.player.template.camareButton.href = dataURL;\n _this8.player.template.camareButton.download = 'DPlayer.png';\n _this8.player.events.trigger('screenshot', dataURL);\n });\n }\n }\n },\n {\n key: 'initSubtitleButton',\n value: function initSubtitleButton() {\n var _this9 = this;\n if (this.player.options.subtitle) {\n this.player.events.on('subtitle_show', function () {\n _this9.player.template.subtitleButton.dataset.balloon = _this9.player.tran('Hide subtitle');\n _this9.player.template.subtitleButtonInner.style.opacity = '';\n _this9.player.user.set('subtitle', 1);\n });\n this.player.events.on('subtitle_hide', function () {\n _this9.player.template.subtitleButton.dataset.balloon = _this9.player.tran('Show subtitle');\n _this9.player.template.subtitleButtonInner.style.opacity = '0.4';\n _this9.player.user.set('subtitle', 0);\n });\n this.player.template.subtitleButton.addEventListener('click', function () {\n _this9.player.subtitle.toggle();\n });\n }\n }\n },\n {\n key: 'setAutoHide',\n value: function setAutoHide() {\n var _this10 = this;\n this.show();\n clearTimeout(this.autoHideTimer);\n this.autoHideTimer = setTimeout(function () {\n if (_this10.player.video.played.length && !_this10.disableAutoHide) {\n _this10.hide();\n }\n }, 2000);\n }\n },\n {\n key: 'show',\n value: function show() {\n this.player.container.classList.remove('dplayer-hide-controller');\n }\n },\n {\n key: 'hide',\n value: function hide() {\n this.player.container.classList.add('dplayer-hide-controller');\n this.player.setting.hide();\n this.player.comment.hide();\n }\n },\n {\n key: 'isShow',\n value: function isShow() {\n return !this.player.container.classList.contains('dplayer-hide-controller');\n }\n },\n {\n key: 'toggle',\n value: function toggle() {\n if (this.isShow()) {\n this.hide();\n } else {\n this.show();\n }\n }\n },\n {\n key: 'destroy',\n value: function destroy() {\n clearTimeout(this.autoHideTimer);\n }\n }\n ]);\n return Controller;\n}();\nmodule.exports = Controller;\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar Thumbnails = function () {\n function Thumbnails(options) {\n _classCallCheck(this, Thumbnails);\n this.container = options.container;\n this.barWidth = options.barWidth;\n this.container.style.backgroundImage = 'url(\\'' + options.url + '\\')';\n this.events = options.events;\n }\n _createClass(Thumbnails, [\n {\n key: 'resize',\n value: function resize(width, height) {\n this.container.style.width = width + 'px';\n this.container.style.height = height + 'px';\n this.container.style.top = -height + 2 + 'px';\n }\n },\n {\n key: 'show',\n value: function show() {\n this.container.style.display = 'block';\n this.events && this.events.trigger('thumbnails_show');\n }\n },\n {\n key: 'move',\n value: function move(position) {\n this.container.style.backgroundPosition = '-' + (Math.ceil(position / this.barWidth * 100) - 1) * 160 + 'px 0';\n this.container.style.left = position - this.container.offsetWidth / 2 + 'px';\n }\n },\n {\n key: 'hide',\n value: function hide() {\n this.container.style.display = 'none';\n this.events && this.events.trigger('thumbnails_hide');\n }\n }\n ]);\n return Thumbnails;\n}();\nmodule.exports = Thumbnails;\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nvar _utils = __webpack_require__(0);\nvar _utils2 = _interopRequireDefault(_utils);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar SettingBox = function () {\n function SettingBox(player) {\n var _this = this;\n _classCallCheck(this, SettingBox);\n this.player = player;\n this.player.template.mask.addEventListener('click', function () {\n _this.hide();\n });\n this.player.template.settingButton.addEventListener('click', function () {\n _this.show();\n });\n this.loop = this.player.options.loop;\n this.player.template.loopToggle.checked = this.loop;\n this.player.template.loop.addEventListener('click', function () {\n _this.player.template.loopToggle.checked = !_this.player.template.loopToggle.checked;\n if (_this.player.template.loopToggle.checked) {\n _this.loop = true;\n } else {\n _this.loop = false;\n }\n _this.hide();\n });\n this.showDanmaku = this.player.user.get('danmaku');\n if (!this.showDanmaku) {\n this.player.danmaku && this.player.danmaku.hide();\n }\n this.player.template.showDanmakuToggle.checked = this.showDanmaku;\n this.player.template.showDanmaku.addEventListener('click', function () {\n _this.player.template.showDanmakuToggle.checked = !_this.player.template.showDanmakuToggle.checked;\n if (_this.player.template.showDanmakuToggle.checked) {\n _this.showDanmaku = true;\n _this.player.danmaku.show();\n } else {\n _this.showDanmaku = false;\n _this.player.danmaku.hide();\n }\n _this.player.user.set('danmaku', _this.showDanmaku ? 1 : 0);\n _this.hide();\n });\n this.unlimitDanmaku = this.player.user.get('unlimited');\n this.player.template.unlimitDanmakuToggle.checked = this.unlimitDanmaku;\n this.player.template.unlimitDanmaku.addEventListener('click', function () {\n _this.player.template.unlimitDanmakuToggle.checked = !_this.player.template.unlimitDanmakuToggle.checked;\n if (_this.player.template.unlimitDanmakuToggle.checked) {\n _this.unlimitDanmaku = true;\n _this.player.danmaku.unlimit(true);\n } else {\n _this.unlimitDanmaku = false;\n _this.player.danmaku.unlimit(false);\n }\n _this.player.user.set('unlimited', _this.unlimitDanmaku ? 1 : 0);\n _this.hide();\n });\n this.player.template.speed.addEventListener('click', function () {\n _this.player.template.settingBox.classList.add('dplayer-setting-box-narrow');\n _this.player.template.settingBox.classList.add('dplayer-setting-box-speed');\n });\n var _loop = function _loop(i) {\n _this.player.template.speedItem[i].addEventListener('click', function () {\n _this.player.video.playbackRate = _this.player.template.speedItem[i].dataset.speed;\n _this.hide();\n });\n };\n for (var i = 0; i < this.player.template.speedItem.length; i++) {\n _loop(i);\n }\n if (this.player.danmaku) {\n var dWidth = 130;\n this.player.on('danmaku_opacity', function (percentage) {\n _this.player.bar.set('danmaku', percentage, 'width');\n _this.player.user.set('opacity', percentage);\n });\n this.player.danmaku.opacity(this.player.user.get('opacity'));\n var danmakuMove = function danmakuMove(event) {\n var e = event || window.event;\n var percentage = (e.clientX - _utils2.default.getElementViewLeft(_this.player.template.danmakuOpacityBarWrap)) / dWidth;\n percentage = Math.max(percentage, 0);\n percentage = Math.min(percentage, 1);\n _this.player.danmaku.opacity(percentage);\n };\n var danmakuUp = function danmakuUp() {\n document.removeEventListener('mouseup', danmakuUp);\n document.removeEventListener('mousemove', danmakuMove);\n _this.player.template.danmakuOpacityBox.classList.remove('dplayer-setting-danmaku-active');\n };\n this.player.template.danmakuOpacityBarWrapWrap.addEventListener('click', function (event) {\n var e = event || window.event;\n var percentage = (e.clientX - _utils2.default.getElementViewLeft(_this.player.template.danmakuOpacityBarWrap)) / dWidth;\n percentage = Math.max(percentage, 0);\n percentage = Math.min(percentage, 1);\n _this.player.danmaku.opacity(percentage);\n });\n this.player.template.danmakuOpacityBarWrapWrap.addEventListener('mousedown', function () {\n document.addEventListener('mousemove', danmakuMove);\n document.addEventListener('mouseup', danmakuUp);\n _this.player.template.danmakuOpacityBox.classList.add('dplayer-setting-danmaku-active');\n });\n }\n }\n _createClass(SettingBox, [\n {\n key: 'hide',\n value: function hide() {\n var _this2 = this;\n this.player.template.settingBox.classList.remove('dplayer-setting-box-open');\n this.player.template.mask.classList.remove('dplayer-mask-show');\n setTimeout(function () {\n _this2.player.template.settingBox.classList.remove('dplayer-setting-box-narrow');\n _this2.player.template.settingBox.classList.remove('dplayer-setting-box-speed');\n }, 300);\n this.player.controller.disableAutoHide = false;\n }\n },\n {\n key: 'show',\n value: function show() {\n this.player.template.settingBox.classList.add('dplayer-setting-box-open');\n this.player.template.mask.classList.add('dplayer-mask-show');\n this.player.controller.disableAutoHide = true;\n }\n }\n ]);\n return SettingBox;\n}();\nmodule.exports = SettingBox;\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar Comment = function () {\n function Comment(player) {\n var _this = this;\n _classCallCheck(this, Comment);\n this.player = player;\n this.player.template.mask.addEventListener('click', function () {\n _this.hide();\n });\n this.player.template.commentButton.addEventListener('click', function () {\n _this.show();\n });\n this.player.template.commentSettingButton.addEventListener('click', function () {\n _this.toggleSetting();\n });\n this.player.template.commentColorSettingBox.addEventListener('click', function () {\n var sele = _this.player.template.commentColorSettingBox.querySelector('input:checked+span');\n if (sele) {\n var color = _this.player.template.commentColorSettingBox.querySelector('input:checked').value;\n _this.player.template.commentSettingFill.style.fill = color;\n _this.player.template.commentInput.style.color = color;\n _this.player.template.commentSendFill.style.fill = color;\n }\n });\n this.player.template.commentInput.addEventListener('click', function () {\n _this.hideSetting();\n });\n this.player.template.commentInput.addEventListener('keydown', function (e) {\n var event = e || window.event;\n if (event.keyCode === 13) {\n _this.send();\n }\n });\n this.player.template.commentSendButton.addEventListener('click', function () {\n _this.send();\n });\n }\n _createClass(Comment, [\n {\n key: 'show',\n value: function show() {\n this.player.controller.disableAutoHide = true;\n this.player.template.controller.classList.add('dplayer-controller-comment');\n this.player.template.mask.classList.add('dplayer-mask-show');\n this.player.container.classList.add('dplayer-show-controller');\n this.player.template.commentInput.focus();\n }\n },\n {\n key: 'hide',\n value: function hide() {\n this.player.template.controller.classList.remove('dplayer-controller-comment');\n this.player.template.mask.classList.remove('dplayer-mask-show');\n this.player.container.classList.remove('dplayer-show-controller');\n this.player.controller.disableAutoHide = false;\n this.hideSetting();\n }\n },\n {\n key: 'showSetting',\n value: function showSetting() {\n this.player.template.commentSettingBox.classList.add('dplayer-comment-setting-open');\n }\n },\n {\n key: 'hideSetting',\n value: function hideSetting() {\n this.player.template.commentSettingBox.classList.remove('dplayer-comment-setting-open');\n }\n },\n {\n key: 'toggleSetting',\n value: function toggleSetting() {\n if (this.player.template.commentSettingBox.classList.contains('dplayer-comment-setting-open')) {\n this.hideSetting();\n } else {\n this.showSetting();\n }\n }\n },\n {\n key: 'send',\n value: function send() {\n var _this2 = this;\n this.player.template.commentInput.blur();\n if (!this.player.template.commentInput.value.replace(/^\\s+|\\s+$/g, '')) {\n this.player.notice(this.player.tran('Please input danmaku content!'));\n return;\n }\n this.player.danmaku.send({\n text: this.player.template.commentInput.value,\n color: this.player.container.querySelector('.dplayer-comment-setting-color input:checked').value,\n type: this.player.container.querySelector('.dplayer-comment-setting-type input:checked').value\n }, function () {\n _this2.player.template.commentInput.value = '';\n _this2.hide();\n });\n }\n }\n ]);\n return Comment;\n}();\nmodule.exports = Comment;\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar HotKey = function HotKey(player) {\n _classCallCheck(this, HotKey);\n if (player.options.hotkey) {\n document.addEventListener('keydown', function (e) {\n if (player.focus) {\n var tag = document.activeElement.tagName.toUpperCase();\n var editable = document.activeElement.getAttribute('contenteditable');\n if (tag !== 'INPUT' && tag !== 'TEXTAREA' && editable !== '' && editable !== 'true') {\n var event = e || window.event;\n var percentage = void 0;\n switch (event.keyCode) {\n case 32:\n event.preventDefault();\n player.toggle();\n break;\n case 37:\n event.preventDefault();\n player.seek(player.video.currentTime - 5);\n player.controller.setAutoHide();\n break;\n case 39:\n event.preventDefault();\n player.seek(player.video.currentTime + 5);\n player.controller.setAutoHide();\n break;\n case 38:\n event.preventDefault();\n percentage = player.volume() + 0.1;\n player.volume(percentage);\n break;\n case 40:\n event.preventDefault();\n percentage = player.volume() - 0.1;\n player.volume(percentage);\n break;\n }\n }\n }\n });\n }\n document.addEventListener('keydown', function (e) {\n var event = e || window.event;\n switch (event.keyCode) {\n case 27:\n if (player.fullScreen.isFullScreen('web')) {\n player.fullScreen.cancel('web');\n }\n break;\n }\n });\n};\nmodule.exports = HotKey;\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar ContextMenu = function () {\n function ContextMenu(player) {\n var _this = this;\n _classCallCheck(this, ContextMenu);\n this.player = player;\n this.player.container.addEventListener('contextmenu', function (e) {\n var event = e || window.event;\n event.preventDefault();\n var clientRect = _this.player.container.getBoundingClientRect();\n _this.show(event.clientX - clientRect.left, event.clientY - clientRect.top);\n _this.player.template.mask.addEventListener('click', function () {\n _this.hide();\n });\n });\n }\n _createClass(ContextMenu, [\n {\n key: 'show',\n value: function show(x, y) {\n this.player.template.menu.classList.add('dplayer-menu-show');\n var clientRect = this.player.container.getBoundingClientRect();\n if (x + this.player.template.menu.offsetWidth >= clientRect.width) {\n this.player.template.menu.style.right = clientRect.width - x + 'px';\n this.player.template.menu.style.left = 'initial';\n } else {\n this.player.template.menu.style.left = x + 'px';\n this.player.template.menu.style.right = 'initial';\n }\n if (y + this.player.template.menu.offsetHeight >= clientRect.height) {\n this.player.template.menu.style.bottom = clientRect.height - y + 'px';\n this.player.template.menu.style.top = 'initial';\n } else {\n this.player.template.menu.style.top = y + 'px';\n this.player.template.menu.style.bottom = 'initial';\n }\n this.player.template.mask.classList.add('dplayer-mask-show');\n this.player.events.trigger('contextmenu_show');\n }\n },\n {\n key: 'hide',\n value: function hide() {\n this.player.template.mask.classList.remove('dplayer-mask-show');\n this.player.template.menu.classList.remove('dplayer-menu-show');\n this.player.events.trigger('contextmenu_hide');\n }\n }\n ]);\n return ContextMenu;\n}();\nmodule.exports = ContextMenu;\n\n/***/ })\n/******/ ]);\n});\n\n\n// WEBPACK FOOTER //\n// DPlayer.min.js"," \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, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\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 \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 1);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 30c514d4c2d6bde14452","'use strict';\nmodule.exports = {\n secondToTime: function secondToTime(second) {\n var add0 = function add0(num) {\n return num < 10 ? '0' + num : '' + num;\n };\n var min = parseInt(second / 60);\n var sec = parseInt(second - min * 60);\n return add0(min) + ':' + add0(sec);\n },\n getElementViewLeft: function getElementViewLeft(element) {\n var actualLeft = element.offsetLeft;\n var current = element.offsetParent;\n var elementScrollLeft = document.body.scrollLeft + document.documentElement.scrollLeft;\n if (!document.fullscreenElement && !document.mozFullScreenElement && !document.webkitFullscreenElement) {\n while (current !== null) {\n actualLeft += current.offsetLeft;\n current = current.offsetParent;\n }\n } else {\n while (current !== null && current !== element) {\n actualLeft += current.offsetLeft;\n current = current.offsetParent;\n }\n }\n return actualLeft - elementScrollLeft;\n },\n getScrollPosition: function getScrollPosition() {\n return {\n left: window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft || 0,\n top: window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0\n };\n },\n setScrollPosition: function setScrollPosition(_ref) {\n var _ref$left = _ref.left, left = _ref$left === undefined ? 0 : _ref$left, _ref$top = _ref.top, top = _ref$top === undefined ? 0 : _ref$top;\n if (this.isFirefox) {\n document.documentElement.scrollLeft = left;\n document.documentElement.scrollTop = top;\n } else {\n window.scrollTo(left, top);\n }\n },\n isMobile: /mobile/i.test(window.navigator.userAgent),\n isFirefox: /firefox/i.test(window.navigator.userAgent),\n isChrome: /chrome/i.test(window.navigator.userAgent),\n storage: {\n set: function set(key, value) {\n localStorage.setItem(key, value);\n },\n get: function get(key) {\n return localStorage.getItem(key);\n }\n },\n cumulativeOffset: function cumulativeOffset(element) {\n var top = 0, left = 0;\n do {\n top += element.offsetTop || 0;\n left += element.offsetLeft || 0;\n element = element.offsetParent;\n } while (element);\n return {\n top: top,\n left: left\n };\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/utils.js\n// module id = 0\n// module chunks = 0","'use strict';\nconsole.log('\\n' + ' %c DPlayer ' + DPLAYER_VERSION + ' ' + GIT_HASH + ' %c http://dplayer.js.org ' + '\\n' + '\\n', 'color: #fadfa3; background: #030307; padding:5px 0;', 'background: #fadfa3; padding:5px 0;');\nmodule.exports = require('./DPlayer');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/index.js\n// module id = 1\n// module chunks = 0","'use strict';\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nrequire('./DPlayer.scss');\nvar _utils = require('./utils');\nvar _utils2 = _interopRequireDefault(_utils);\nvar _options = require('./options');\nvar _options2 = _interopRequireDefault(_options);\nvar _i18n = require('./i18n');\nvar _i18n2 = _interopRequireDefault(_i18n);\nvar _template = require('./template');\nvar _template2 = _interopRequireDefault(_template);\nvar _svg = require('./svg');\nvar _svg2 = _interopRequireDefault(_svg);\nvar _danmaku = require('./danmaku');\nvar _danmaku2 = _interopRequireDefault(_danmaku);\nvar _events = require('./events');\nvar _events2 = _interopRequireDefault(_events);\nvar _fullscreen = require('./fullscreen');\nvar _fullscreen2 = _interopRequireDefault(_fullscreen);\nvar _user = require('./user');\nvar _user2 = _interopRequireDefault(_user);\nvar _subtitle = require('./subtitle');\nvar _subtitle2 = _interopRequireDefault(_subtitle);\nvar _bar = require('./bar');\nvar _bar2 = _interopRequireDefault(_bar);\nvar _time = require('./time');\nvar _time2 = _interopRequireDefault(_time);\nvar _bezel = require('./bezel');\nvar _bezel2 = _interopRequireDefault(_bezel);\nvar _controller = require('./controller');\nvar _controller2 = _interopRequireDefault(_controller);\nvar _setting = require('./setting');\nvar _setting2 = _interopRequireDefault(_setting);\nvar _comment = require('./comment');\nvar _comment2 = _interopRequireDefault(_comment);\nvar _hotkey = require('./hotkey');\nvar _hotkey2 = _interopRequireDefault(_hotkey);\nvar _contextmenu = require('./contextmenu');\nvar _contextmenu2 = _interopRequireDefault(_contextmenu);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar index = 0;\nvar instances = [];\nvar DPlayer = function () {\n function DPlayer(options) {\n var _this = this;\n _classCallCheck(this, DPlayer);\n this.options = (0, _options2.default)(options);\n if (this.options.video.quality) {\n this.qualityIndex = this.options.video.defaultQuality;\n this.quality = this.options.video.quality[this.options.video.defaultQuality];\n }\n this.tran = new _i18n2.default(this.options.lang).tran;\n this.icons = new _svg2.default(this.options);\n this.events = new _events2.default();\n this.user = new _user2.default(this);\n this.container = this.options.container;\n this.container.classList.add('dplayer');\n if (!this.options.danmaku) {\n this.container.classList.add('dplayer-no-danmaku');\n }\n if (this.options.live) {\n this.container.classList.add('dplayer-live');\n }\n if (_utils.isMobile) {\n this.container.classList.add('dplayer-mobile');\n }\n this.arrow = this.container.offsetWidth <= 500;\n if (this.arrow) {\n this.container.classList.add('dplayer-arrow');\n }\n this.template = new _template2.default({\n container: this.container,\n options: this.options,\n index: index,\n tran: this.tran,\n icons: this.icons\n });\n this.video = this.template.video;\n this.bar = new _bar2.default(this.template);\n this.bezel = new _bezel2.default(this.template.bezel);\n this.fullScreen = new _fullscreen2.default(this);\n this.controller = new _controller2.default(this);\n if (this.options.danmaku) {\n this.danmaku = new _danmaku2.default({\n container: this.template.danmaku,\n opacity: this.user.get('opacity'),\n callback: function callback() {\n setTimeout(function () {\n _this.template.danmakuLoading.style.display = 'none';\n if (_this.options.autoplay && !_utils.isMobile) {\n _this.play();\n } else if (_utils.isMobile) {\n _this.pause();\n }\n }, 0);\n },\n error: function error(msg) {\n _this.notice(msg);\n },\n apiBackend: this.options.apiBackend,\n borderColor: this.options.theme,\n height: this.arrow ? 24 : 30,\n time: function time() {\n return _this.video.currentTime;\n },\n unlimited: this.user.get('unlimited'),\n api: {\n id: this.options.danmaku.id,\n address: this.options.danmaku.api,\n token: this.options.danmaku.token,\n maximum: this.options.danmaku.maximum,\n addition: this.options.danmaku.addition,\n user: this.options.danmaku.user\n },\n events: this.events\n });\n this.comment = new _comment2.default(this);\n }\n this.setting = new _setting2.default(this);\n document.addEventListener('click', function () {\n _this.focus = false;\n }, true);\n this.container.addEventListener('click', function () {\n _this.focus = true;\n }, true);\n this.paused = true;\n this.time = new _time2.default(this);\n if (!this.danmaku) {\n if (this.options.autoplay && !_utils.isMobile) {\n this.play();\n } else if (_utils.isMobile) {\n this.pause();\n }\n }\n this.hotkey = new _hotkey2.default(this);\n this.contextmenu = new _contextmenu2.default(this);\n this.initVideo(this.video, this.quality && this.quality.type || this.options.video.type);\n index++;\n instances.push(this);\n }\n _createClass(DPlayer, [\n {\n key: 'seek',\n value: function seek(time) {\n time = Math.max(time, 0);\n if (this.video.duration) {\n time = Math.min(time, this.video.duration);\n }\n if (this.video.currentTime < time) {\n this.notice(this.tran('FF') + ' ' + (time - this.video.currentTime).toFixed(0) + ' ' + this.tran('s'));\n } else if (this.video.currentTime > time) {\n this.notice(this.tran('REW') + ' ' + (this.video.currentTime - time).toFixed(0) + ' ' + this.tran('s'));\n }\n this.video.currentTime = time;\n if (this.danmaku) {\n this.danmaku.seek();\n }\n this.bar.set('played', time / this.video.duration, 'width');\n }\n },\n {\n key: 'play',\n value: function play() {\n this.paused = false;\n if (this.video.paused) {\n this.bezel.switch(this.icons.get('play'));\n }\n this.template.playButton.innerHTML = this.icons.get('pause');\n this.video.play();\n this.time.enable();\n this.container.classList.add('dplayer-playing');\n if (this.danmaku) {\n this.danmaku.play();\n }\n if (this.options.mutex) {\n for (var i = 0; i < instances.length; i++) {\n if (this !== instances[i]) {\n instances[i].pause();\n }\n }\n }\n }\n },\n {\n key: 'pause',\n value: function pause() {\n this.paused = true;\n this.container.classList.remove('dplayer-loading');\n if (!this.video.paused) {\n this.bezel.switch(this.icons.get('pause'));\n }\n this.ended = false;\n this.template.playButton.innerHTML = this.icons.get('play');\n this.video.pause();\n this.time.disable();\n this.container.classList.remove('dplayer-playing');\n if (this.danmaku) {\n this.danmaku.pause();\n }\n }\n },\n {\n key: 'switchVolumeIcon',\n value: function switchVolumeIcon() {\n if (this.volume() >= 0.95) {\n this.template.volumeIcon.innerHTML = this.icons.get('volume-up');\n } else if (this.volume() > 0) {\n this.template.volumeIcon.innerHTML = this.icons.get('volume-down');\n } else {\n this.template.volumeIcon.innerHTML = this.icons.get('volume-off');\n }\n }\n },\n {\n key: 'volume',\n value: function volume(percentage, nostorage, nonotice) {\n percentage = parseFloat(percentage);\n if (!isNaN(percentage)) {\n percentage = Math.max(percentage, 0);\n percentage = Math.min(percentage, 1);\n this.bar.set('volume', percentage, 'width');\n var formatPercentage = (percentage * 100).toFixed(0) + '%';\n this.template.volumeBarWrapWrap.dataset.balloon = formatPercentage;\n if (!nostorage) {\n this.user.set('volume', percentage);\n }\n if (!nonotice) {\n this.notice(this.tran('Volume') + ' ' + (percentage * 100).toFixed(0) + '%');\n }\n this.video.volume = percentage;\n if (this.video.muted) {\n this.video.muted = false;\n }\n this.switchVolumeIcon();\n }\n return this.video.volume;\n }\n },\n {\n key: 'toggle',\n value: function toggle() {\n if (this.video.paused) {\n this.play();\n } else {\n this.pause();\n }\n }\n },\n {\n key: 'on',\n value: function on(name, callback) {\n this.events.on(name, callback);\n }\n },\n {\n key: 'switchVideo',\n value: function switchVideo(video, danmakuAPI) {\n this.pause();\n this.video.poster = video.pic ? video.pic : '';\n this.video.src = video.url;\n this.initMSE(this.video, video.type || 'auto');\n if (danmakuAPI) {\n this.template.danmakuLoading.style.display = 'block';\n this.bar.set('played', 0, 'width');\n this.bar.set('loaded', 0, 'width');\n this.template.ptime.innerHTML = '00:00';\n this.template.danmaku.innerHTML = '';\n if (this.danmaku) {\n this.danmaku.reload({\n id: danmakuAPI.id,\n address: danmakuAPI.api,\n token: danmakuAPI.token,\n maximum: danmakuAPI.maximum,\n addition: danmakuAPI.addition,\n user: danmakuAPI.user\n });\n }\n }\n }\n },\n {\n key: 'initMSE',\n value: function initMSE(video, type) {\n this.type = type;\n if (this.type === 'auto') {\n if (/m3u8(#|\\?|$)/i.exec(video.src)) {\n this.type = 'hls';\n } else if (/.flv(#|\\?|$)/i.exec(video.src)) {\n this.type = 'flv';\n } else if (/.mpd(#|\\?|$)/i.exec(video.src)) {\n this.type = 'dash';\n } else {\n this.type = 'normal';\n }\n }\n if (this.type === 'hls' && Hls && Hls.isSupported()) {\n var hls = new Hls();\n hls.loadSource(video.src);\n hls.attachMedia(video);\n }\n if (this.type === 'flv' && flvjs && flvjs.isSupported()) {\n var flvPlayer = flvjs.createPlayer({\n type: 'flv',\n url: video.src\n });\n flvPlayer.attachMediaElement(video);\n flvPlayer.load();\n }\n if (this.type === 'dash' && dashjs) {\n dashjs.MediaPlayer().create().initialize(video, video.src, false);\n }\n }\n },\n {\n key: 'initVideo',\n value: function initVideo(video, type) {\n var _this2 = this;\n this.initMSE(video, type);\n this.on('durationchange', function () {\n if (video.duration !== 1) {\n _this2.template.dtime.innerHTML = _utils2.default.secondToTime(video.duration);\n }\n });\n this.on('progress', function () {\n var percentage = video.buffered.length ? video.buffered.end(video.buffered.length - 1) / video.duration : 0;\n _this2.bar.set('loaded', percentage, 'width');\n });\n this.on('error', function () {\n _this2.tran && _this2.notice && _this2.notice(_this2.tran('This video fails to load'), -1);\n });\n this.ended = false;\n this.on('ended', function () {\n _this2.bar.set('played', 1, 'width');\n if (!_this2.setting.loop) {\n _this2.ended = true;\n _this2.pause();\n } else {\n _this2.seek(0);\n video.play();\n }\n if (_this2.danmaku) {\n _this2.danmaku.danIndex = 0;\n }\n });\n this.on('play', function () {\n if (_this2.paused) {\n _this2.play();\n }\n });\n this.on('pause', function () {\n if (!_this2.paused) {\n _this2.pause();\n }\n });\n var _loop = function _loop(i) {\n video.addEventListener(_this2.events.videoEvents[i], function () {\n _this2.events.trigger(_this2.events.videoEvents[i]);\n });\n };\n for (var i = 0; i < this.events.videoEvents.length; i++) {\n _loop(i);\n }\n this.volume(this.user.get('volume'), true, true);\n if (this.options.subtitle) {\n this.subtitle = new _subtitle2.default(this.template.subtitle, this.video, this.options.subtitle, this.events);\n if (!this.user.get('subtitle')) {\n this.subtitle.hide();\n }\n }\n }\n },\n {\n key: 'switchQuality',\n value: function switchQuality(index) {\n var _this3 = this;\n if (this.qualityIndex === index || this.switchingQuality) {\n return;\n } else {\n this.qualityIndex = index;\n }\n this.switchingQuality = true;\n this.quality = this.options.video.quality[index];\n this.template.qualityButton.innerHTML = this.quality.name;\n var paused = this.video.paused;\n this.video.pause();\n var videoHTML = this.template.tplVideo(false, null, this.options.screenshot, 'auto', this.quality.url, this.options.subtitle);\n var videoEle = new DOMParser().parseFromString(videoHTML, 'text/html').body.firstChild;\n this.template.videoWrap.insertBefore(videoEle, this.template.videoWrap.getElementsByTagName('div')[0]);\n this.prevVideo = this.video;\n this.video = videoEle;\n this.initVideo(this.video, this.quality.type || this.options.video.type);\n this.seek(this.prevVideo.currentTime);\n this.notice(this.tran('Switching to') + ' ' + this.quality.name + ' ' + this.tran('quality'), -1);\n this.events.trigger('quality_start', this.quality);\n this.on('canplay', function () {\n if (_this3.prevVideo) {\n if (_this3.video.currentTime !== _this3.prevVideo.currentTime) {\n _this3.seek(_this3.prevVideo.currentTime);\n return;\n }\n _this3.template.videoWrap.removeChild(_this3.prevVideo);\n _this3.video.classList.add('dplayer-video-current');\n if (!paused) {\n _this3.video.play();\n }\n _this3.prevVideo = null;\n _this3.notice(_this3.tran('Switched to') + ' ' + _this3.quality.name + ' ' + _this3.tran('quality'));\n _this3.switchingQuality = false;\n _this3.events.trigger('quality_end');\n }\n });\n }\n },\n {\n key: 'notice',\n value: function notice(text) {\n var _this4 = this;\n var time = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2000;\n var opacity = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0.8;\n this.template.notice.innerHTML = text;\n this.template.notice.style.opacity = opacity;\n if (this.noticeTime) {\n clearTimeout(this.noticeTime);\n }\n this.events.trigger('notice_show', text);\n this.noticeTime = setTimeout(function () {\n _this4.template.notice.style.opacity = 0;\n _this4.events.trigger('notice_hide');\n }, time);\n }\n },\n {\n key: 'resize',\n value: function resize() {\n if (this.danmaku) {\n this.danmaku.resize();\n }\n this.events.trigger('resize');\n }\n },\n {\n key: 'destroy',\n value: function destroy() {\n instances.splice(instances.indexOf(this), 1);\n this.pause();\n this.controller.destroy();\n this.time.destroy();\n this.video.src = '';\n this.container.innerHTML = '';\n this.events.trigger('destroy');\n for (var key in this) {\n if (this.hasOwnProperty(key) && key !== 'paused') {\n delete this[key];\n }\n }\n }\n }\n ]);\n return DPlayer;\n}();\nmodule.exports = DPlayer;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/DPlayer.js\n// module id = 2\n// module chunks = 0","'use strict';\nvar _typeof = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === 'function' && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n};\nvar defaultApiBackend = require('./api.js');\nmodule.exports = function (options) {\n var isMobile = /mobile/i.test(window.navigator.userAgent);\n if (isMobile) {\n options.autoplay = false;\n }\n var defaultOption = {\n container: options.element || document.getElementsByClassName('dplayer')[0],\n live: false,\n autoplay: false,\n theme: '#b7daff',\n loop: false,\n lang: (navigator.language || navigator.browserLanguage).toLowerCase(),\n screenshot: false,\n hotkey: true,\n preload: 'auto',\n volume: 0.7,\n apiBackend: defaultApiBackend,\n video: {},\n icons: {\n play: [\n '0 0 16 32',\n 'M15.552 15.168q0.448 0.32 0.448 0.832 0 0.448-0.448 0.768l-13.696 8.512q-0.768 0.512-1.312 0.192t-0.544-1.28v-16.448q0-0.96 0.544-1.28t1.312 0.192z'\n ],\n pause: [\n '0 0 17 32',\n 'M14.080 4.8q2.88 0 2.88 2.048v18.24q0 2.112-2.88 2.112t-2.88-2.112v-18.24q0-2.048 2.88-2.048zM2.88 4.8q2.88 0 2.88 2.048v18.24q0 2.112-2.88 2.112t-2.88-2.112v-18.24q0-2.048 2.88-2.048z'\n ],\n 'volume-up': [\n '0 0 21 32',\n 'M13.728 6.272v19.456q0 0.448-0.352 0.8t-0.8 0.32-0.8-0.32l-5.952-5.952h-4.672q-0.48 0-0.8-0.352t-0.352-0.8v-6.848q0-0.48 0.352-0.8t0.8-0.352h4.672l5.952-5.952q0.32-0.32 0.8-0.32t0.8 0.32 0.352 0.8zM20.576 16q0 1.344-0.768 2.528t-2.016 1.664q-0.16 0.096-0.448 0.096-0.448 0-0.8-0.32t-0.32-0.832q0-0.384 0.192-0.64t0.544-0.448 0.608-0.384 0.512-0.64 0.192-1.024-0.192-1.024-0.512-0.64-0.608-0.384-0.544-0.448-0.192-0.64q0-0.48 0.32-0.832t0.8-0.32q0.288 0 0.448 0.096 1.248 0.48 2.016 1.664t0.768 2.528zM25.152 16q0 2.72-1.536 5.056t-4 3.36q-0.256 0.096-0.448 0.096-0.48 0-0.832-0.352t-0.32-0.8q0-0.704 0.672-1.056 1.024-0.512 1.376-0.8 1.312-0.96 2.048-2.4t0.736-3.104-0.736-3.104-2.048-2.4q-0.352-0.288-1.376-0.8-0.672-0.352-0.672-1.056 0-0.448 0.32-0.8t0.8-0.352q0.224 0 0.48 0.096 2.496 1.056 4 3.36t1.536 5.056z'\n ],\n 'volume-down': [\n '0 0 21 32',\n 'M13.728 6.272v19.456q0 0.448-0.352 0.8t-0.8 0.32-0.8-0.32l-5.952-5.952h-4.672q-0.48 0-0.8-0.352t-0.352-0.8v-6.848q0-0.48 0.352-0.8t0.8-0.352h4.672l5.952-5.952q0.32-0.32 0.8-0.32t0.8 0.32 0.352 0.8zM20.576 16q0 1.344-0.768 2.528t-2.016 1.664q-0.16 0.096-0.448 0.096-0.448 0-0.8-0.32t-0.32-0.832q0-0.384 0.192-0.64t0.544-0.448 0.608-0.384 0.512-0.64 0.192-1.024-0.192-1.024-0.512-0.64-0.608-0.384-0.544-0.448-0.192-0.64q0-0.48 0.32-0.832t0.8-0.32q0.288 0 0.448 0.096 1.248 0.48 2.016 1.664t0.768 2.528z'\n ],\n 'volume-off': [\n '0 0 21 32',\n 'M13.728 6.272v19.456q0 0.448-0.352 0.8t-0.8 0.32-0.8-0.32l-5.952-5.952h-4.672q-0.48 0-0.8-0.352t-0.352-0.8v-6.848q0-0.48 0.352-0.8t0.8-0.352h4.672l5.952-5.952q0.32-0.32 0.8-0.32t0.8 0.32 0.352 0.8z'\n ],\n loop: [\n '0 0 32 32',\n 'M1.882 16.941c0 4.152 3.221 7.529 7.177 7.529v1.882c-4.996 0-9.060-4.222-9.060-9.412s4.064-9.412 9.060-9.412h7.96l-3.098-3.098 1.331-1.331 5.372 5.37-5.37 5.372-1.333-1.333 3.1-3.098h-7.962c-3.957 0-7.177 3.377-7.177 7.529zM22.94 7.529v1.882c3.957 0 7.177 3.377 7.177 7.529s-3.221 7.529-7.177 7.529h-7.962l3.098-3.098-1.331-1.331-5.37 5.37 5.372 5.372 1.331-1.331-3.1-3.1h7.96c4.998 0 9.062-4.222 9.062-9.412s-4.064-9.412-9.060-9.412z'\n ],\n full: [\n '0 0 32 33',\n 'M6.667 28h-5.333c-0.8 0-1.333-0.533-1.333-1.333v-5.333c0-0.8 0.533-1.333 1.333-1.333s1.333 0.533 1.333 1.333v4h4c0.8 0 1.333 0.533 1.333 1.333s-0.533 1.333-1.333 1.333zM30.667 28h-5.333c-0.8 0-1.333-0.533-1.333-1.333s0.533-1.333 1.333-1.333h4v-4c0-0.8 0.533-1.333 1.333-1.333s1.333 0.533 1.333 1.333v5.333c0 0.8-0.533 1.333-1.333 1.333zM30.667 12c-0.8 0-1.333-0.533-1.333-1.333v-4h-4c-0.8 0-1.333-0.533-1.333-1.333s0.533-1.333 1.333-1.333h5.333c0.8 0 1.333 0.533 1.333 1.333v5.333c0 0.8-0.533 1.333-1.333 1.333zM1.333 12c-0.8 0-1.333-0.533-1.333-1.333v-5.333c0-0.8 0.533-1.333 1.333-1.333h5.333c0.8 0 1.333 0.533 1.333 1.333s-0.533 1.333-1.333 1.333h-4v4c0 0.8-0.533 1.333-1.333 1.333z'\n ],\n 'full-in': [\n '0 0 32 33',\n 'M24.965 24.38h-18.132c-1.366 0-2.478-1.113-2.478-2.478v-11.806c0-1.364 1.111-2.478 2.478-2.478h18.132c1.366 0 2.478 1.113 2.478 2.478v11.806c0 1.364-1.11 2.478-2.478 2.478zM6.833 10.097v11.806h18.134l-0.002-11.806h-18.132zM2.478 28.928h5.952c0.684 0 1.238-0.554 1.238-1.239 0-0.684-0.554-1.238-1.238-1.238h-5.952v-5.802c0-0.684-0.554-1.239-1.238-1.239s-1.239 0.556-1.239 1.239v5.802c0 1.365 1.111 2.478 2.478 2.478zM30.761 19.412c-0.684 0-1.238 0.554-1.238 1.238v5.801h-5.951c-0.686 0-1.239 0.554-1.239 1.238 0 0.686 0.554 1.239 1.239 1.239h5.951c1.366 0 2.478-1.111 2.478-2.478v-5.801c0-0.683-0.554-1.238-1.239-1.238zM0 5.55v5.802c0 0.683 0.554 1.238 1.238 1.238s1.238-0.555 1.238-1.238v-5.802h5.952c0.684 0 1.238-0.554 1.238-1.238s-0.554-1.238-1.238-1.238h-5.951c-1.366-0.001-2.478 1.111-2.478 2.476zM32 11.35v-5.801c0-1.365-1.11-2.478-2.478-2.478h-5.951c-0.686 0-1.239 0.554-1.239 1.238s0.554 1.238 1.239 1.238h5.951v5.801c0 0.683 0.554 1.237 1.238 1.237 0.686 0.002 1.239-0.553 1.239-1.236z'\n ],\n setting: [\n '0 0 32 28',\n 'M28.633 17.104c0.035 0.21 0.026 0.463-0.026 0.76s-0.14 0.598-0.262 0.904c-0.122 0.306-0.271 0.581-0.445 0.825s-0.367 0.419-0.576 0.524c-0.209 0.105-0.393 0.157-0.55 0.157s-0.332-0.035-0.524-0.105c-0.175-0.052-0.393-0.1-0.655-0.144s-0.528-0.052-0.799-0.026c-0.271 0.026-0.541 0.083-0.812 0.17s-0.502 0.236-0.694 0.445c-0.419 0.437-0.664 0.934-0.734 1.493s0.009 1.092 0.236 1.598c0.175 0.349 0.148 0.699-0.079 1.048-0.105 0.14-0.271 0.284-0.498 0.432s-0.476 0.284-0.747 0.406-0.555 0.218-0.851 0.288c-0.297 0.070-0.559 0.105-0.786 0.105-0.157 0-0.306-0.061-0.445-0.183s-0.236-0.253-0.288-0.393h-0.026c-0.192-0.541-0.52-1.009-0.982-1.402s-1-0.589-1.611-0.589c-0.594 0-1.131 0.197-1.611 0.589s-0.816 0.851-1.009 1.375c-0.087 0.21-0.218 0.362-0.393 0.458s-0.367 0.144-0.576 0.144c-0.244 0-0.52-0.044-0.825-0.131s-0.611-0.197-0.917-0.327c-0.306-0.131-0.581-0.284-0.825-0.458s-0.428-0.349-0.55-0.524c-0.087-0.122-0.135-0.266-0.144-0.432s0.057-0.397 0.197-0.694c0.192-0.402 0.266-0.86 0.223-1.375s-0.266-0.991-0.668-1.428c-0.244-0.262-0.541-0.432-0.891-0.511s-0.681-0.109-0.995-0.092c-0.367 0.017-0.742 0.087-1.127 0.21-0.244 0.070-0.489 0.052-0.734-0.052-0.192-0.070-0.371-0.231-0.537-0.485s-0.314-0.533-0.445-0.838c-0.131-0.306-0.231-0.62-0.301-0.943s-0.087-0.59-0.052-0.799c0.052-0.384 0.227-0.629 0.524-0.734 0.524-0.21 0.995-0.555 1.415-1.035s0.629-1.017 0.629-1.611c0-0.611-0.21-1.144-0.629-1.598s-0.891-0.786-1.415-0.996c-0.157-0.052-0.288-0.179-0.393-0.38s-0.157-0.406-0.157-0.616c0-0.227 0.035-0.48 0.105-0.76s0.162-0.55 0.275-0.812 0.244-0.502 0.393-0.72c0.148-0.218 0.31-0.38 0.485-0.485 0.14-0.087 0.275-0.122 0.406-0.105s0.275 0.052 0.432 0.105c0.524 0.21 1.070 0.275 1.637 0.197s1.070-0.327 1.506-0.747c0.21-0.209 0.362-0.467 0.458-0.773s0.157-0.607 0.183-0.904c0.026-0.297 0.026-0.568 0-0.812s-0.048-0.419-0.065-0.524c-0.035-0.105-0.066-0.227-0.092-0.367s-0.013-0.262 0.039-0.367c0.105-0.244 0.293-0.458 0.563-0.642s0.563-0.336 0.878-0.458c0.314-0.122 0.62-0.214 0.917-0.275s0.533-0.092 0.707-0.092c0.227 0 0.406 0.074 0.537 0.223s0.223 0.301 0.275 0.458c0.192 0.471 0.507 0.886 0.943 1.244s0.952 0.537 1.546 0.537c0.611 0 1.153-0.17 1.624-0.511s0.803-0.773 0.996-1.297c0.070-0.14 0.179-0.284 0.327-0.432s0.301-0.223 0.458-0.223c0.244 0 0.511 0.035 0.799 0.105s0.572 0.166 0.851 0.288c0.279 0.122 0.537 0.279 0.773 0.472s0.423 0.402 0.563 0.629c0.087 0.14 0.113 0.293 0.079 0.458s-0.070 0.284-0.105 0.354c-0.227 0.506-0.297 1.039-0.21 1.598s0.341 1.048 0.76 1.467c0.419 0.419 0.934 0.651 1.546 0.694s1.179-0.057 1.703-0.301c0.14-0.087 0.31-0.122 0.511-0.105s0.371 0.096 0.511 0.236c0.262 0.244 0.493 0.616 0.694 1.113s0.336 1 0.406 1.506c0.035 0.297-0.013 0.528-0.144 0.694s-0.266 0.275-0.406 0.327c-0.542 0.192-1.004 0.528-1.388 1.009s-0.576 1.026-0.576 1.637c0 0.594 0.162 1.113 0.485 1.559s0.747 0.764 1.27 0.956c0.122 0.070 0.227 0.14 0.314 0.21 0.192 0.157 0.323 0.358 0.393 0.602v0zM16.451 19.462c0.786 0 1.528-0.149 2.227-0.445s1.305-0.707 1.821-1.231c0.515-0.524 0.921-1.131 1.218-1.821s0.445-1.428 0.445-2.214c0-0.786-0.148-1.524-0.445-2.214s-0.703-1.292-1.218-1.808c-0.515-0.515-1.122-0.921-1.821-1.218s-1.441-0.445-2.227-0.445c-0.786 0-1.524 0.148-2.214 0.445s-1.292 0.703-1.808 1.218c-0.515 0.515-0.921 1.118-1.218 1.808s-0.445 1.428-0.445 2.214c0 0.786 0.149 1.524 0.445 2.214s0.703 1.297 1.218 1.821c0.515 0.524 1.118 0.934 1.808 1.231s1.428 0.445 2.214 0.445v0z'\n ],\n right: [\n '0 0 32 32',\n 'M22 16l-10.105-10.6-1.895 1.987 8.211 8.613-8.211 8.612 1.895 1.988 8.211-8.613z'\n ],\n comment: [\n '0 0 32 32',\n 'M27.128 0.38h-22.553c-2.336 0-4.229 1.825-4.229 4.076v16.273c0 2.251 1.893 4.076 4.229 4.076h4.229v-2.685h8.403l-8.784 8.072 1.566 1.44 7.429-6.827h9.71c2.335 0 4.229-1.825 4.229-4.076v-16.273c0-2.252-1.894-4.076-4.229-4.076zM28.538 19.403c0 1.5-1.262 2.717-2.819 2.717h-8.36l-0.076-0.070-0.076 0.070h-11.223c-1.557 0-2.819-1.217-2.819-2.717v-13.589c0-1.501 1.262-2.718 2.819-2.718h19.734c1.557 0 2.819-0.141 2.819 1.359v14.947zM9.206 10.557c-1.222 0-2.215 0.911-2.215 2.036s0.992 2.035 2.215 2.035c1.224 0 2.216-0.911 2.216-2.035s-0.992-2.036-2.216-2.036zM22.496 10.557c-1.224 0-2.215 0.911-2.215 2.036s0.991 2.035 2.215 2.035c1.224 0 2.215-0.911 2.215-2.035s-0.991-2.036-2.215-2.036zM15.852 10.557c-1.224 0-2.215 0.911-2.215 2.036s0.991 2.035 2.215 2.035c1.222 0 2.215-0.911 2.215-2.035s-0.992-2.036-2.215-2.036z'\n ],\n 'comment-off': [\n '0 0 32 32',\n 'M27.090 0.131h-22.731c-2.354 0-4.262 1.839-4.262 4.109v16.401c0 2.269 1.908 4.109 4.262 4.109h4.262v-2.706h8.469l-8.853 8.135 1.579 1.451 7.487-6.88h9.787c2.353 0 4.262-1.84 4.262-4.109v-16.401c0-2.27-1.909-4.109-4.262-4.109v0zM28.511 19.304c0 1.512-1.272 2.738-2.841 2.738h-8.425l-0.076-0.070-0.076 0.070h-11.311c-1.569 0-2.841-1.226-2.841-2.738v-13.696c0-1.513 1.272-2.739 2.841-2.739h19.889c1.569 0 2.841-0.142 2.841 1.37v15.064z'\n ],\n send: [\n '0 0 32 32',\n 'M13.725 30l3.9-5.325-3.9-1.125v6.45zM0 17.5l11.050 3.35 13.6-11.55-10.55 12.425 11.8 3.65 6.1-23.375-32 15.5z'\n ],\n pallette: [\n '0 0 32 32',\n 'M19.357 2.88c1.749 0 3.366 0.316 4.851 0.946 1.485 0.632 2.768 1.474 3.845 2.533s1.922 2.279 2.532 3.661c0.611 1.383 0.915 2.829 0.915 4.334 0 1.425-0.304 2.847-0.915 4.271-0.611 1.425-1.587 2.767-2.928 4.028-0.855 0.813-1.811 1.607-2.869 2.38s-2.136 1.465-3.233 2.075c-1.099 0.61-2.198 1.098-3.296 1.465-1.098 0.366-2.115 0.549-3.051 0.549-1.343 0-2.441-0.438-3.296-1.311-0.854-0.876-1.281-2.41-1.281-4.608 0-0.366 0.020-0.773 0.060-1.221s0.062-0.895 0.062-1.343c0-0.773-0.183-1.353-0.55-1.738-0.366-0.387-0.793-0.58-1.281-0.58-0.652 0-1.21 0.295-1.678 0.886s-0.926 1.23-1.373 1.921c-0.447 0.693-0.905 1.334-1.372 1.923s-1.028 0.886-1.679 0.886c-0.529 0-1.048-0.427-1.556-1.282s-0.763-2.259-0.763-4.212c0-2.197 0.529-4.241 1.587-6.133s2.462-3.529 4.21-4.912c1.75-1.383 3.762-2.471 6.041-3.264 2.277-0.796 4.617-1.212 7.018-1.253zM7.334 15.817c0.569 0 1.047-0.204 1.434-0.611s0.579-0.875 0.579-1.404c0-0.569-0.193-1.047-0.579-1.434s-0.864-0.579-1.434-0.579c-0.529 0-0.987 0.193-1.373 0.579s-0.58 0.864-0.58 1.434c0 0.53 0.194 0.998 0.58 1.404 0.388 0.407 0.845 0.611 1.373 0.611zM12.216 11.79c0.691 0 1.292-0.254 1.8-0.763s0.762-1.107 0.762-1.8c0-0.732-0.255-1.343-0.762-1.831-0.509-0.489-1.109-0.732-1.8-0.732-0.732 0-1.342 0.244-1.831 0.732-0.488 0.488-0.732 1.098-0.732 1.831 0 0.693 0.244 1.292 0.732 1.8s1.099 0.763 1.831 0.763zM16.366 25.947c0.692 0 1.282-0.214 1.77-0.64s0.732-0.987 0.732-1.678-0.244-1.261-0.732-1.709c-0.489-0.448-1.078-0.671-1.77-0.671-0.65 0-1.21 0.223-1.678 0.671s-0.702 1.018-0.702 1.709c0 0.692 0.234 1.25 0.702 1.678s1.027 0.64 1.678 0.64zM19.113 9.592c0.651 0 1.129-0.203 1.433-0.611 0.305-0.406 0.459-0.874 0.459-1.404 0-0.488-0.154-0.947-0.459-1.373-0.304-0.427-0.782-0.641-1.433-0.641-0.529 0-1.008 0.193-1.434 0.58s-0.64 0.865-0.64 1.434c0 0.571 0.213 1.049 0.64 1.434 0.427 0.389 0.905 0.581 1.434 0.581zM24.848 12.826c0.57 0 1.067-0.213 1.495-0.64 0.427-0.427 0.64-0.947 0.64-1.556 0-0.57-0.214-1.068-0.64-1.495-0.428-0.427-0.927-0.64-1.495-0.64-0.611 0-1.129 0.213-1.555 0.64-0.428 0.427-0.642 0.926-0.642 1.495 0 0.611 0.213 1.129 0.642 1.556s0.947 0.64 1.555 0.64z'\n ],\n camera: [\n '0 0 32 32',\n 'M16 23c-3.309 0-6-2.691-6-6s2.691-6 6-6 6 2.691 6 6-2.691 6-6 6zM16 13c-2.206 0-4 1.794-4 4s1.794 4 4 4c2.206 0 4-1.794 4-4s-1.794-4-4-4zM27 28h-22c-1.654 0-3-1.346-3-3v-16c0-1.654 1.346-3 3-3h3c0.552 0 1 0.448 1 1s-0.448 1-1 1h-3c-0.551 0-1 0.449-1 1v16c0 0.552 0.449 1 1 1h22c0.552 0 1-0.448 1-1v-16c0-0.551-0.448-1-1-1h-11c-0.552 0-1-0.448-1-1s0.448-1 1-1h11c1.654 0 3 1.346 3 3v16c0 1.654-1.346 3-3 3zM24 10.5c0 0.828 0.672 1.5 1.5 1.5s1.5-0.672 1.5-1.5c0-0.828-0.672-1.5-1.5-1.5s-1.5 0.672-1.5 1.5zM15 4c0 0.552-0.448 1-1 1h-4c-0.552 0-1-0.448-1-1v0c0-0.552 0.448-1 1-1h4c0.552 0 1 0.448 1 1v0z'\n ],\n subtitle: [\n '0 0 32 32',\n 'M26.667 5.333h-21.333c-0 0-0.001 0-0.001 0-1.472 0-2.666 1.194-2.666 2.666 0 0 0 0.001 0 0.001v-0 16c0 0 0 0.001 0 0.001 0 1.472 1.194 2.666 2.666 2.666 0 0 0.001 0 0.001 0h21.333c0 0 0.001 0 0.001 0 1.472 0 2.666-1.194 2.666-2.666 0-0 0-0.001 0-0.001v0-16c0-0 0-0.001 0-0.001 0-1.472-1.194-2.666-2.666-2.666-0 0-0.001 0-0.001 0h0zM5.333 16h5.333v2.667h-5.333v-2.667zM18.667 24h-13.333v-2.667h13.333v2.667zM26.667 24h-5.333v-2.667h5.333v2.667zM26.667 18.667h-13.333v-2.667h13.333v2.667z'\n ]\n },\n iconsColor: '#ffffff',\n contextmenu: [],\n mutex: true\n };\n for (var defaultKey in defaultOption) {\n if (defaultOption.hasOwnProperty(defaultKey) && !options.hasOwnProperty(defaultKey)) {\n options[defaultKey] = defaultOption[defaultKey];\n }\n }\n if (options.video) {\n !options.video.type && (options.video.type = 'auto');\n }\n if (_typeof(options.danmaku) === 'object' && options.danmaku) {\n !options.danmaku.user && (options.danmaku.user = 'DIYgod');\n }\n if (options.subtitle) {\n !options.subtitle.type && (options.subtitle.type = 'webvtt');\n !options.subtitle.fontSize && (options.subtitle.fontSize = '20px');\n !options.subtitle.bottom && (options.subtitle.bottom = '40px');\n !options.subtitle.color && (options.subtitle.color = '#fff');\n }\n if (options.video.quality) {\n options.video.url = [options.video.quality[options.video.defaultQuality].url];\n }\n if (options.lang) {\n options.lang = options.lang.toLowerCase();\n }\n if (options.icons) {\n options.icons = Object.assign({}, defaultOption.icons, options.icons);\n }\n options.contextmenu = options.contextmenu.concat([\n {\n text: 'About author',\n link: 'https://diygod.me'\n },\n {\n text: 'About DPlayer',\n link: 'https://github.com/MoePlayer/DPlayer'\n },\n {\n text: 'DPlayer feedback',\n link: 'https://github.com/DIYgod/DPlayer/issues'\n },\n {\n text: 'DPlayer ' + DPLAYER_VERSION + ' ' + GIT_HASH,\n link: 'https://github.com/MoePlayer/DPlayer/releases'\n }\n ]);\n return options;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/options.js\n// module id = 4\n// module chunks = 0","'use strict';\nvar SendXMLHttpRequest = function SendXMLHttpRequest(url, data, success, error, fail) {\n var xhr = new XMLHttpRequest();\n xhr.onreadystatechange = function () {\n if (xhr.readyState === 4) {\n if (xhr.status >= 200 && xhr.status < 300 || xhr.status === 304) {\n var response = JSON.parse(xhr.responseText);\n if (response.code !== 1) {\n return error(xhr, response);\n }\n return success(xhr, response);\n }\n fail(xhr);\n }\n };\n xhr.open(data !== null ? 'POST' : 'GET', url, true);\n xhr.send(data !== null ? JSON.stringify(data) : null);\n};\nmodule.exports = {\n send: function send(endpoint, danmakuData, callback) {\n SendXMLHttpRequest(endpoint, danmakuData, function (xhr, response) {\n console.log('Post danmaku: ', response);\n if (callback) {\n callback();\n }\n }, function (xhr, response) {\n alert(response.msg);\n }, function (xhr) {\n console.log('Request was unsuccessful: ' + xhr.status);\n });\n },\n read: function read(endpoint, callback) {\n SendXMLHttpRequest(endpoint, null, function (xhr, response) {\n callback(null, response.danmaku);\n }, function (xhr, response) {\n callback({\n status: xhr.status,\n response: response\n });\n }, function (xhr) {\n callback({\n status: xhr.status,\n response: null\n });\n });\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/api.js\n// module id = 5\n// module chunks = 0","'use strict';\nmodule.exports = function (lang) {\n var _this = this;\n this.lang = lang;\n this.tran = function (text) {\n if (tranTxt[_this.lang] && tranTxt[_this.lang][text]) {\n return tranTxt[_this.lang][text];\n } else {\n return text;\n }\n };\n};\nvar tranTxt = {\n 'zh-cn': {\n 'Danmaku is loading': '弹幕加载中',\n 'Top': '顶部',\n 'Bottom': '底部',\n 'Rolling': '滚动',\n 'Input danmaku, hit Enter': '输入弹幕\\uFF0C回车发送',\n 'About author': '关于作者',\n 'DPlayer feedback': '播放器意见反馈',\n 'About DPlayer': '关于 DPlayer 播放器',\n 'Loop': '洗脑循环',\n 'Speed': '速度',\n 'Opacity for danmaku': '弹幕透明度',\n 'Normal': '正常',\n 'Please input danmaku content!': '要输入弹幕内容啊喂\\uFF01',\n 'Set danmaku color': '设置弹幕颜色',\n 'Set danmaku type': '设置弹幕类型',\n 'Show danmaku': '显示弹幕',\n 'This video fails to load': '视频加载失败',\n 'Switching to': '正在切换至',\n 'Switched to': '已经切换至',\n 'quality': '画质',\n 'FF': '快进',\n 'REW': '快退',\n 'Unlimited danmaku': '海量弹幕',\n 'Send danmaku': '发送弹幕',\n 'Setting': '设置',\n 'Full screen': '全屏',\n 'Web full screen': '页面全屏',\n 'Send': '发送',\n 'Screenshot': '截图',\n 's': '秒',\n 'Show subtitle': '显示字幕',\n 'Hide subtitle': '隐藏字幕',\n 'Volume': '音量',\n 'Live': '直播'\n },\n 'zh-tw': {\n 'Danmaku is loading': '彈幕加載中',\n 'Top': '頂部',\n 'Bottom': '底部',\n 'Rolling': '滾動',\n 'Input danmaku, hit Enter': '輸入彈幕\\uFF0CEnter 發送',\n 'About author': '關於作者',\n 'DPlayer feedback': '播放器意見反饋',\n 'About DPlayer': '關於 DPlayer 播放器',\n 'Loop': '循環播放',\n 'Speed': '速度',\n 'Opacity for danmaku': '彈幕透明度',\n 'Normal': '正常',\n 'Please input danmaku content!': '請輸入彈幕内容啊\\uFF01',\n 'Set danmaku color': '設置彈幕顏色',\n 'Set danmaku type': '設置彈幕類型',\n 'Show danmaku': '顯示彈幕',\n 'This video fails to load': '視頻加載失敗',\n 'Switching to': '正在切換至',\n 'Switched to': '已經切換至',\n 'quality': '畫質',\n 'FF': '快進',\n 'REW': '快退',\n 'Unlimited danmaku': '海量彈幕',\n 'Send danmaku': '發送彈幕',\n 'Setting': '設置',\n 'Full screen': '全屏',\n 'Web full screen': '頁面全屏',\n 'Send': '發送',\n 'Screenshot': '截圖',\n 's': '秒',\n 'Show subtitle': '顯示字幕',\n 'Hide subtitle': '隱藏字幕',\n 'Volume': '音量',\n 'Live': '直播'\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/i18n.js\n// module id = 6\n// module chunks = 0","'use strict';\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar Template = function () {\n function Template(options) {\n _classCallCheck(this, Template);\n this.container = options.container;\n this.options = options.options;\n this.index = options.index;\n this.tran = options.tran;\n this.icons = options.icons;\n this.init();\n }\n _createClass(Template, [\n {\n key: 'init',\n value: function init() {\n this.container.innerHTML = this.tpl(this.options, this.index, this.tran, this.icons);\n this.volumeBar = this.container.querySelector('.dplayer-volume-bar-inner');\n this.volumeBarWrap = this.container.querySelector('.dplayer-volume-bar');\n this.volumeBarWrapWrap = this.container.querySelector('.dplayer-volume-bar-wrap');\n this.volumeButton = this.container.querySelector('.dplayer-volume');\n this.volumeIcon = this.container.querySelector('.dplayer-volume-icon .dplayer-icon-content');\n this.playedBar = this.container.querySelector('.dplayer-played');\n this.loadedBar = this.container.querySelector('.dplayer-loaded');\n this.playedBarWrap = this.container.querySelector('.dplayer-bar-wrap');\n this.playedBarTime = this.container.querySelector('.dplayer-bar-time');\n this.danmaku = this.container.querySelector('.dplayer-danmaku');\n this.danmakuLoading = this.container.querySelector('.dplayer-danloading');\n this.video = this.container.querySelector('.dplayer-video-current');\n this.bezel = this.container.querySelector('.dplayer-bezel-icon');\n this.playButton = this.container.querySelector('.dplayer-play-icon');\n this.videoWrap = this.container.querySelector('.dplayer-video-wrap');\n this.controllerMask = this.container.querySelector('.dplayer-controller-mask');\n this.ptime = this.container.querySelector('.dplayer-ptime');\n this.settingButton = this.container.querySelector('.dplayer-setting-icon');\n this.settingBox = this.container.querySelector('.dplayer-setting-box');\n this.mask = this.container.querySelector('.dplayer-mask');\n this.loop = this.container.querySelector('.dplayer-setting-loop');\n this.loopToggle = this.container.querySelector('.dplayer-setting-loop .dplayer-toggle-setting-input');\n this.showDanmaku = this.container.querySelector('.dplayer-setting-showdan');\n this.showDanmakuToggle = this.container.querySelector('.dplayer-showdan-setting-input');\n this.unlimitDanmaku = this.container.querySelector('.dplayer-setting-danunlimit');\n this.unlimitDanmakuToggle = this.container.querySelector('.dplayer-danunlimit-setting-input');\n this.speed = this.container.querySelector('.dplayer-setting-speed');\n this.speedItem = this.container.querySelectorAll('.dplayer-setting-speed-item');\n this.danmakuOpacityBar = this.container.querySelector('.dplayer-danmaku-bar-inner');\n this.danmakuOpacityBarWrap = this.container.querySelector('.dplayer-danmaku-bar');\n this.danmakuOpacityBarWrapWrap = this.container.querySelector('.dplayer-danmaku-bar-wrap');\n this.danmakuOpacityBox = this.container.querySelector('.dplayer-setting-danmaku');\n this.dtime = this.container.querySelector('.dplayer-dtime');\n this.controller = this.container.querySelector('.dplayer-controller');\n this.commentInput = this.container.querySelector('.dplayer-comment-input');\n this.commentButton = this.container.querySelector('.dplayer-comment-icon');\n this.commentSettingBox = this.container.querySelector('.dplayer-comment-setting-box');\n this.commentSettingButton = this.container.querySelector('.dplayer-comment-setting-icon');\n this.commentSettingFill = this.container.querySelector('.dplayer-comment-setting-icon .dplayer-fill');\n this.commentSendButton = this.container.querySelector('.dplayer-send-icon');\n this.commentSendFill = this.container.querySelector('.dplayer-send-icon .dplayer-fill');\n this.commentColorSettingBox = this.container.querySelector('.dplayer-comment-setting-color');\n this.browserFullButton = this.container.querySelector('.dplayer-full-icon');\n this.webFullButton = this.container.querySelector('.dplayer-full-in-icon');\n this.menu = this.container.querySelector('.dplayer-menu');\n this.qualityList = this.container.querySelector('.dplayer-quality-list');\n this.camareButton = this.container.querySelector('.dplayer-camera-icon');\n this.subtitleButton = this.container.querySelector('.dplayer-subtitle-icon');\n this.subtitleButtonInner = this.container.querySelector('.dplayer-subtitle-icon .dplayer-icon-content');\n this.subtitle = this.container.querySelector('.dplayer-subtitle');\n this.qualityButton = this.container.querySelector('.dplayer-quality-icon');\n this.barPreview = this.container.querySelector('.dplayer-bar-preview');\n this.barWrap = this.container.querySelector('.dplayer-bar-wrap');\n this.notice = this.container.querySelector('.dplayer-notice');\n }\n },\n {\n key: 'tpl',\n value: function tpl(options, index, tran, icons) {\n return '
' + this.tplVideo(true, options.video.pic, options.screenshot, options.preload, options.video.url, options.subtitle) + '' + (options.logo ? '
' : '') + '
' + (options.danmaku ? '' + tran('Danmaku is loading') + '' : '') + '
' + tran('Set danmaku color') + '
' + tran('Set danmaku type') + '
0:00 / 0:00' + (options.live ? '' + tran('Live') + '' : '') + '
' + (options.video.quality ? '
' + this.tplQualityList(options.video.quality) + '
' : '') + '' + (options.screenshot ? '' + icons.get('camera') + '' : '') + '
' + (options.subtitle ? '
' : '') + '
' + tran('Speed') + '
' + icons.get('right') + '
' + tran('Loop') + '
' + tran('Show danmaku') + '
' + tran('Unlimited danmaku') + '
' + tran('Opacity for danmaku') + '
0.5
0.75
' + tran('Normal') + '
1.25
1.5
2
00:00
' + this.tplContextmenuList(options.contextmenu, tran) + '
';\n }\n },\n {\n key: 'tplDanmakumargin',\n value: function tplDanmakumargin(margin) {\n var result = '';\n if (margin) {\n for (var key in margin) {\n result += key + ':' + margin[key] + ';';\n }\n }\n return result;\n }\n },\n {\n key: 'tplContextmenuList',\n value: function tplContextmenuList(contextmenu, tran) {\n var result = '
';\n for (var i = 0; i < contextmenu.length; i++) {\n result += '';\n }\n result += '
';\n return result;\n }\n },\n {\n key: 'tplQualityList',\n value: function tplQualityList(quality) {\n var result = '
';\n for (var i = 0; i < quality.length; i++) {\n result += '
' + quality[i].name + '
';\n }\n result += '
';\n return result;\n }\n },\n {\n key: 'tplVideo',\n value: function tplVideo(current, pic, screenshot, preload, url, subtitle) {\n var enableSubtitle = subtitle && subtitle.type === 'webvtt';\n return '';\n }\n }\n ]);\n return Template;\n}();\nmodule.exports = Template;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/template.js\n// module id = 7\n// module chunks = 0","'use strict';\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar SvgSource = function () {\n function SvgSource(options) {\n _classCallCheck(this, SvgSource);\n this.icons = options.icons;\n this.iconColor = options.iconsColor;\n }\n _createClass(SvgSource, [{\n key: 'get',\n value: function get(type) {\n return '';\n }\n }]);\n return SvgSource;\n}();\nmodule.exports = SvgSource;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/svg.js\n// module id = 8\n// module chunks = 0","'use strict';\nvar _typeof = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === 'function' && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n};\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar Danmaku = function () {\n function Danmaku(options) {\n _classCallCheck(this, Danmaku);\n this.options = options;\n this.container = this.options.container;\n this.danTunnel = {\n right: {},\n top: {},\n bottom: {}\n };\n this.danIndex = 0;\n this.dan = [];\n this.showing = true;\n this._opacity = this.options.opacity;\n this.events = this.options.events;\n this.unlimited = this.options.unlimited;\n this._measure('');\n this.load();\n }\n _createClass(Danmaku, [\n {\n key: 'load',\n value: function load() {\n var _this = this;\n var apiurl = void 0;\n if (this.options.api.maximum) {\n apiurl = this.options.api.address + '?id=' + this.options.api.id + '&max=' + this.options.api.maximum;\n } else {\n apiurl = this.options.api.address + '?id=' + this.options.api.id;\n }\n var endpoints = (this.options.api.addition || []).slice(0);\n endpoints.push(apiurl);\n this.events && this.events.trigger('danmaku_load_start', endpoints);\n this._readAllEndpoints(endpoints, function (results) {\n _this.dan = [].concat.apply([], results).sort(function (a, b) {\n return a.time - b.time;\n });\n window.requestAnimationFrame(function () {\n _this.frame();\n });\n _this.options.callback();\n _this.events && _this.events.trigger('danmaku_load_end');\n });\n }\n },\n {\n key: 'reload',\n value: function reload(newAPI) {\n this.options.api = newAPI;\n this.dan = [];\n this.clear();\n this.load();\n }\n },\n {\n key: '_readAllEndpoints',\n value: function _readAllEndpoints(endpoints, callback) {\n var _this2 = this;\n var results = [];\n var readCount = 0;\n var cbk = function cbk(i) {\n return function (err, data) {\n ++readCount;\n if (err) {\n if (err.response) {\n _this2.options.error(err.response.msg);\n } else {\n _this2.options.error('Request was unsuccessful: ' + err.status);\n }\n results[i] = [];\n } else {\n results[i] = data;\n }\n if (readCount === endpoints.length) {\n return callback(results);\n }\n };\n };\n for (var i = 0; i < endpoints.length; ++i) {\n this.options.apiBackend.read(endpoints[i], cbk(i));\n }\n }\n },\n {\n key: 'send',\n value: function send(dan, callback) {\n var danmakuData = {\n token: this.options.api.token,\n player: this.options.api.id,\n author: this.options.api.user,\n time: this.options.time(),\n text: dan.text,\n color: dan.color,\n type: dan.type\n };\n this.options.apiBackend.send(this.options.api.address, danmakuData, callback);\n this.dan.splice(this.danIndex, 0, danmakuData);\n this.danIndex++;\n var danmaku = {\n text: this.htmlEncode(danmakuData.text),\n color: danmakuData.color,\n type: danmakuData.type,\n border: '2px solid ' + this.options.borderColor\n };\n this.draw(danmaku);\n this.events && this.events.trigger('danmaku_send', danmakuData);\n }\n },\n {\n key: 'frame',\n value: function frame() {\n var _this3 = this;\n if (this.dan.length && !this.paused && this.showing) {\n var item = this.dan[this.danIndex];\n var dan = [];\n while (item && this.options.time() > parseFloat(item.time)) {\n dan.push(item);\n item = this.dan[++this.danIndex];\n }\n this.draw(dan);\n }\n window.requestAnimationFrame(function () {\n _this3.frame();\n });\n }\n },\n {\n key: 'opacity',\n value: function opacity(percentage) {\n if (percentage !== undefined) {\n var items = this.container.getElementsByClassName('dplayer-danmaku-item');\n for (var i = 0; i < items.length; i++) {\n items[i].style.opacity = percentage;\n }\n this._opacity = percentage;\n this.events && this.events.trigger('danmaku_opacity', this._opacity);\n }\n return this._opacity;\n }\n },\n {\n key: 'draw',\n value: function draw(dan) {\n var _this4 = this;\n if (this.showing) {\n var itemHeight = this.options.height;\n var danWidth = this.container.offsetWidth;\n var danHeight = this.container.offsetHeight;\n var itemY = parseInt(danHeight / itemHeight);\n var danItemRight = function danItemRight(ele) {\n var eleWidth = ele.offsetWidth || parseInt(ele.style.width);\n var eleRight = ele.getBoundingClientRect().right || _this4.container.getBoundingClientRect().right + eleWidth;\n return _this4.container.getBoundingClientRect().right - eleRight;\n };\n var danSpeed = function danSpeed(width) {\n return (danWidth + width) / 5;\n };\n var getTunnel = function getTunnel(ele, type, width) {\n var tmp = danWidth / danSpeed(width);\n var _loop = function _loop(i) {\n var item = _this4.danTunnel[type][i + ''];\n if (item && item.length) {\n if (type !== 'right') {\n return 'continue';\n }\n for (var j = 0; j < item.length; j++) {\n var danRight = danItemRight(item[j]) - 10;\n if (danRight <= danWidth - tmp * danSpeed(parseInt(item[j].style.width)) || danRight <= 0) {\n break;\n }\n if (j === item.length - 1) {\n _this4.danTunnel[type][i + ''].push(ele);\n ele.addEventListener('animationend', function () {\n _this4.danTunnel[type][i + ''].splice(0, 1);\n });\n return { v: i % itemY };\n }\n }\n } else {\n _this4.danTunnel[type][i + ''] = [ele];\n ele.addEventListener('animationend', function () {\n _this4.danTunnel[type][i + ''].splice(0, 1);\n });\n return { v: i % itemY };\n }\n };\n for (var i = 0; _this4.unlimited || i < itemY; i++) {\n var _ret = _loop(i);\n switch (_ret) {\n case 'continue':\n continue;\n default:\n if ((typeof _ret === 'undefined' ? 'undefined' : _typeof(_ret)) === 'object')\n return _ret.v;\n }\n }\n return -1;\n };\n if (Object.prototype.toString.call(dan) !== '[object Array]') {\n dan = [dan];\n }\n var docFragment = document.createDocumentFragment();\n var _loop2 = function _loop2(i) {\n if (!dan[i].type) {\n dan[i].type = 'right';\n }\n if (!dan[i].color) {\n dan[i].color = '#fff';\n }\n var item = document.createElement('div');\n item.classList.add('dplayer-danmaku-item');\n item.classList.add('dplayer-danmaku-' + dan[i].type);\n if (dan[i].border) {\n item.innerHTML = '' + dan[i].text + '';\n } else {\n item.innerHTML = dan[i].text;\n }\n item.style.opacity = _this4._opacity;\n item.style.color = dan[i].color;\n item.addEventListener('animationend', function () {\n _this4.container.removeChild(item);\n });\n var itemWidth = _this4._measure(dan[i].text);\n var tunnel = void 0;\n switch (dan[i].type) {\n case 'right':\n tunnel = getTunnel(item, dan[i].type, itemWidth);\n if (tunnel >= 0) {\n item.style.width = itemWidth + 1 + 'px';\n item.style.top = itemHeight * tunnel + 'px';\n item.style.transform = 'translateX(-' + danWidth + 'px)';\n }\n break;\n case 'top':\n tunnel = getTunnel(item, dan[i].type);\n if (tunnel >= 0) {\n item.style.top = itemHeight * tunnel + 'px';\n }\n break;\n case 'bottom':\n tunnel = getTunnel(item, dan[i].type);\n if (tunnel >= 0) {\n item.style.bottom = itemHeight * tunnel + 'px';\n }\n break;\n default:\n console.error('Can\\'t handled danmaku type: ' + dan[i].type);\n }\n if (tunnel >= 0) {\n item.classList.add('dplayer-danmaku-move');\n docFragment.appendChild(item);\n }\n };\n for (var i = 0; i < dan.length; i++) {\n _loop2(i);\n }\n this.container.appendChild(docFragment);\n return docFragment;\n }\n }\n },\n {\n key: 'play',\n value: function play() {\n this.paused = false;\n }\n },\n {\n key: 'pause',\n value: function pause() {\n this.paused = true;\n }\n },\n {\n key: '_measure',\n value: function _measure(text) {\n if (!this.context) {\n var measureStyle = getComputedStyle(this.container.getElementsByClassName('dplayer-danmaku-item')[0], null);\n this.context = document.createElement('canvas').getContext('2d');\n this.context.font = measureStyle.getPropertyValue('font');\n }\n return this.context.measureText(text).width;\n }\n },\n {\n key: 'seek',\n value: function seek() {\n this.clear();\n for (var i = 0; i < this.dan.length; i++) {\n if (this.dan[i].time >= this.options.time()) {\n this.danIndex = i;\n break;\n }\n this.danIndex = this.dan.length;\n }\n }\n },\n {\n key: 'clear',\n value: function clear() {\n this.danTunnel = {\n right: {},\n top: {},\n bottom: {}\n };\n this.danIndex = 0;\n this.options.container.innerHTML = '';\n this.events && this.events.trigger('danmaku_clear');\n }\n },\n {\n key: 'htmlEncode',\n value: function htmlEncode(str) {\n return str.replace(/&/g, '&').replace(//g, '>').replace(/\"/g, '"').replace(/'/g, ''').replace(/\\//g, '/');\n }\n },\n {\n key: 'resize',\n value: function resize() {\n var danWidth = this.container.offsetWidth;\n var items = this.container.getElementsByClassName('dplayer-danmaku-item');\n for (var i = 0; i < items.length; i++) {\n items[i].style.transform = 'translateX(-' + danWidth + 'px)';\n }\n }\n },\n {\n key: 'hide',\n value: function hide() {\n this.showing = false;\n this.pause();\n this.clear();\n this.events && this.events.trigger('danmaku_hide');\n }\n },\n {\n key: 'show',\n value: function show() {\n this.seek();\n this.showing = true;\n this.play();\n this.events && this.events.trigger('danmaku_show');\n }\n },\n {\n key: 'unlimit',\n value: function unlimit(boolean) {\n this.unlimited = boolean;\n }\n }\n ]);\n return Danmaku;\n}();\nmodule.exports = Danmaku;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/danmaku.js\n// module id = 9\n// module chunks = 0","'use strict';\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar Events = function () {\n function Events() {\n _classCallCheck(this, Events);\n this.events = {};\n this.videoEvents = [\n 'abort',\n 'canplay',\n 'canplaythrough',\n 'durationchange',\n 'emptied',\n 'ended',\n 'error',\n 'loadeddata',\n 'loadedmetadata',\n 'loadstart',\n 'mozaudioavailable',\n 'pause',\n 'play',\n 'playing',\n 'progress',\n 'ratechange',\n 'seeked',\n 'seeking',\n 'stalled',\n 'suspend',\n 'timeupdate',\n 'volumechange',\n 'waiting'\n ];\n this.playerEvents = [\n 'screenshot',\n 'thumbnails_show',\n 'thumbnails_hide',\n 'danmaku_show',\n 'danmaku_hide',\n 'danmaku_clear',\n 'danmaku_loaded',\n 'danmaku_send',\n 'danmaku_opacity',\n 'contextmenu_show',\n 'contextmenu_hide',\n 'notice_show',\n 'notice_hide',\n 'quality_start',\n 'quality_end',\n 'destroy',\n 'resize',\n 'fullscreen',\n 'fullscreen_cancel',\n 'webfullscreen',\n 'webfullscreen_cancel',\n 'subtitle_show',\n 'subtitle_hide',\n 'subtitle_change'\n ];\n }\n _createClass(Events, [\n {\n key: 'on',\n value: function on(name, callback) {\n if (this.type(name) && typeof callback === 'function') {\n if (!this.events[name]) {\n this.events[name] = [];\n }\n this.events[name].push(callback);\n }\n }\n },\n {\n key: 'trigger',\n value: function trigger(name, info) {\n if (this.events[name] && this.events[name].length) {\n for (var i = 0; i < this.events[name].length; i++) {\n this.events[name][i](info);\n }\n }\n }\n },\n {\n key: 'type',\n value: function type(name) {\n if (this.playerEvents.indexOf(name) !== -1) {\n return 'player';\n } else if (this.videoEvents.indexOf(name) !== -1) {\n return 'video';\n }\n console.error('Unknown event name: ' + name);\n return null;\n }\n }\n ]);\n return Events;\n}();\nmodule.exports = Events;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/events.js\n// module id = 10\n// module chunks = 0","'use strict';\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nvar _utils = require('./utils');\nvar _utils2 = _interopRequireDefault(_utils);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar FullScreen = function () {\n function FullScreen(player) {\n var _this = this;\n _classCallCheck(this, FullScreen);\n this.player = player;\n this.player.events.on('webfullscreen', function () {\n _this.player.resize();\n });\n this.player.events.on('webfullscreen_cancel', function () {\n _this.player.resize();\n _utils2.default.setScrollPosition(_this.lastScrollPosition);\n });\n var fullscreenchange = function fullscreenchange() {\n _this.player.resize();\n if (_this.isFullScreen('browser')) {\n _this.player.events.trigger('fullscreen');\n } else {\n _utils2.default.setScrollPosition(_this.lastScrollPosition);\n _this.player.events.trigger('fullscreen_cancel');\n }\n };\n this.player.container.addEventListener('fullscreenchange', fullscreenchange);\n this.player.container.addEventListener('mozfullscreenchange', fullscreenchange);\n this.player.container.addEventListener('webkitfullscreenchange', fullscreenchange);\n }\n _createClass(FullScreen, [\n {\n key: 'isFullScreen',\n value: function isFullScreen() {\n var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'browser';\n switch (type) {\n case 'browser':\n return document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement;\n case 'web':\n return this.player.container.classList.contains('dplayer-fulled');\n }\n }\n },\n {\n key: 'request',\n value: function request() {\n var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'browser';\n var anotherType = type === 'browser' ? 'web' : 'browser';\n var anotherTypeOn = this.isFullScreen(anotherType);\n if (!anotherTypeOn) {\n this.lastScrollPosition = _utils2.default.getScrollPosition();\n }\n switch (type) {\n case 'browser':\n if (this.player.container.requestFullscreen) {\n this.player.container.requestFullscreen();\n } else if (this.player.container.mozRequestFullScreen) {\n this.player.container.mozRequestFullScreen();\n } else if (this.player.container.webkitRequestFullscreen) {\n this.player.container.webkitRequestFullscreen();\n } else if (this.player.video.webkitEnterFullscreen) {\n this.player.video.webkitEnterFullscreen();\n }\n break;\n case 'web':\n this.player.container.classList.add('dplayer-fulled');\n document.body.classList.add('dplayer-web-fullscreen-fix');\n this.player.events.trigger('webfullscreen');\n break;\n }\n if (anotherTypeOn) {\n this.cancel(anotherType);\n }\n }\n },\n {\n key: 'cancel',\n value: function cancel() {\n var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'browser';\n switch (type) {\n case 'browser':\n if (document.cancelFullScreen) {\n document.cancelFullScreen();\n } else if (document.mozCancelFullScreen) {\n document.mozCancelFullScreen();\n } else if (document.webkitCancelFullScreen) {\n document.webkitCancelFullScreen();\n }\n break;\n case 'web':\n this.player.container.classList.remove('dplayer-fulled');\n document.body.classList.remove('dplayer-web-fullscreen-fix');\n this.player.events.trigger('webfullscreen_cancel');\n break;\n }\n }\n },\n {\n key: 'toggle',\n value: function toggle() {\n var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'browser';\n if (this.isFullScreen(type)) {\n this.cancel(type);\n } else {\n this.request(type);\n }\n }\n }\n ]);\n return FullScreen;\n}();\nmodule.exports = FullScreen;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/fullscreen.js\n// module id = 11\n// module chunks = 0","'use strict';\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nvar _utils = require('./utils');\nvar _utils2 = _interopRequireDefault(_utils);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar User = function () {\n function User(player) {\n _classCallCheck(this, User);\n this.storageName = {\n opacity: 'dplayer-danmaku-opacity',\n volume: 'dplayer-volume',\n unlimited: 'dplayer-danmaku-unlimited',\n danmaku: 'dplayer-danmaku-show',\n subtitle: 'dplayer-subtitle-show'\n };\n this.default = {\n opacity: 0.7,\n volume: player.options.volume || 0.7,\n unlimited: (player.options.danmaku && player.options.danmaku.unlimited ? 1 : 0) || 0,\n danmaku: 1,\n subtitle: 1\n };\n this.data = {};\n this.init();\n }\n _createClass(User, [\n {\n key: 'init',\n value: function init() {\n for (var item in this.storageName) {\n var name = this.storageName[item];\n this.data[item] = parseFloat(_utils2.default.storage.get(name) || this.default[item]);\n }\n }\n },\n {\n key: 'get',\n value: function get(key) {\n return this.data[key];\n }\n },\n {\n key: 'set',\n value: function set(key, value) {\n this.data[key] = value;\n _utils2.default.storage.set(this.storageName[key], value);\n }\n }\n ]);\n return User;\n}();\nmodule.exports = User;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/user.js\n// module id = 12\n// module chunks = 0","'use strict';\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar Subtitle = function () {\n function Subtitle(container, video, options, events) {\n _classCallCheck(this, Subtitle);\n this.container = container;\n this.video = video;\n this.options = options;\n this.events = events;\n this.init();\n }\n _createClass(Subtitle, [\n {\n key: 'init',\n value: function init() {\n var _this = this;\n this.container.style.fontSize = this.options.fontSize;\n this.container.style.bottom = this.options.bottom;\n this.container.style.color = this.options.color;\n if (this.video.textTracks && this.video.textTracks[0]) {\n var track = this.video.textTracks[0];\n track.oncuechange = function () {\n var cue = track.activeCues[0];\n if (cue) {\n _this.container.innerHTML = '';\n var p = document.createElement('p');\n p.appendChild(cue.getCueAsHTML());\n _this.container.appendChild(p);\n } else {\n _this.container.innerHTML = '';\n }\n _this.events.trigger('subtitle_change');\n };\n }\n }\n },\n {\n key: 'show',\n value: function show() {\n this.container.classList.remove('dplayer-subtitle-hide');\n this.events.trigger('subtitle_show');\n }\n },\n {\n key: 'hide',\n value: function hide() {\n this.container.classList.add('dplayer-subtitle-hide');\n this.events.trigger('subtitle_hide');\n }\n },\n {\n key: 'toggle',\n value: function toggle() {\n if (this.container.classList.contains('dplayer-subtitle-hide')) {\n this.show();\n } else {\n this.hide();\n }\n }\n }\n ]);\n return Subtitle;\n}();\nmodule.exports = Subtitle;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/subtitle.js\n// module id = 13\n// module chunks = 0","'use strict';\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar Bar = function () {\n function Bar(template) {\n _classCallCheck(this, Bar);\n this.elements = {};\n this.elements.volume = template.volumeBar;\n this.elements.played = template.playedBar;\n this.elements.loaded = template.loadedBar;\n this.elements.danmaku = template.danmakuOpacityBar;\n }\n _createClass(Bar, [\n {\n key: 'set',\n value: function set(type, percentage, direction) {\n percentage = Math.max(percentage, 0);\n percentage = Math.min(percentage, 1);\n this.elements[type].style[direction] = percentage * 100 + '%';\n }\n },\n {\n key: 'get',\n value: function get(type) {\n return parseFloat(this.elements[type].style.width) / 100;\n }\n }\n ]);\n return Bar;\n}();\nmodule.exports = Bar;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/bar.js\n// module id = 14\n// module chunks = 0","'use strict';\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nvar _utils = require('./utils');\nvar _utils2 = _interopRequireDefault(_utils);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar Time = function () {\n function Time(player) {\n _classCallCheck(this, Time);\n this.player = player;\n window.requestAnimationFrame = function () {\n return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame || function (callback) {\n window.setTimeout(callback, 1000 / 60);\n };\n }();\n this.types = [\n 'loading',\n 'progress'\n ];\n this.init();\n }\n _createClass(Time, [\n {\n key: 'init',\n value: function init() {\n for (var i = 0; i < this.types.length; i++) {\n var type = this.types[i];\n this['init' + type + 'Checker']();\n }\n }\n },\n {\n key: 'initloadingChecker',\n value: function initloadingChecker() {\n var _this = this;\n var lastPlayPos = 0;\n var currentPlayPos = 0;\n var bufferingDetected = false;\n this.loadingChecker = setInterval(function () {\n if (_this.enableloadingChecker) {\n currentPlayPos = _this.player.video.currentTime;\n if (!bufferingDetected && currentPlayPos === lastPlayPos && !_this.player.video.paused) {\n _this.player.container.classList.add('dplayer-loading');\n bufferingDetected = true;\n }\n if (bufferingDetected && currentPlayPos > lastPlayPos && !_this.player.video.paused) {\n _this.player.container.classList.remove('dplayer-loading');\n bufferingDetected = false;\n }\n lastPlayPos = currentPlayPos;\n }\n }, 100);\n }\n },\n {\n key: 'initprogressChecker',\n value: function initprogressChecker() {\n var _this2 = this;\n this.progressChecker = setInterval(function () {\n if (_this2.enableprogressChecker) {\n _this2.player.bar.set('played', _this2.player.video.currentTime / _this2.player.video.duration, 'width');\n var currentTime = _utils2.default.secondToTime(_this2.player.video.currentTime);\n if (_this2.player.template.ptime.innerHTML !== currentTime) {\n _this2.player.template.ptime.innerHTML = _utils2.default.secondToTime(_this2.player.video.currentTime);\n }\n }\n }, 100);\n }\n },\n {\n key: 'enable',\n value: function enable(type) {\n if (type) {\n this['enable' + type + 'Checker'] = true;\n } else {\n for (var i = 0; i < this.types.length; i++) {\n var _type = this.types[i];\n this['enable' + _type + 'Checker'] = true;\n }\n }\n }\n },\n {\n key: 'disable',\n value: function disable(type) {\n if (type) {\n this['enable' + type + 'Checker'] = false;\n } else {\n for (var i = 0; i < this.types.length; i++) {\n var _type2 = this.types[i];\n this['enable' + _type2 + 'Checker'] = false;\n }\n }\n }\n },\n {\n key: 'destroy',\n value: function destroy(type) {\n if (type) {\n clearInterval(this[type + 'Checker']);\n } else {\n for (var i = 0; i < this.types.length; i++) {\n clearInterval(this[this.types[i] + 'Checker']);\n }\n }\n }\n }\n ]);\n return Time;\n}();\nmodule.exports = Time;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/time.js\n// module id = 15\n// module chunks = 0","'use strict';\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar Bezel = function () {\n function Bezel(container) {\n var _this = this;\n _classCallCheck(this, Bezel);\n this.container = container;\n this.container.addEventListener('animationend', function () {\n _this.container.classList.remove('dplayer-bezel-transition');\n });\n }\n _createClass(Bezel, [{\n key: 'switch',\n value: function _switch(icon) {\n this.container.innerHTML = icon;\n this.container.classList.add('dplayer-bezel-transition');\n }\n }]);\n return Bezel;\n}();\nmodule.exports = Bezel;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/bezel.js\n// module id = 16\n// module chunks = 0","'use strict';\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nvar _utils = require('./utils');\nvar _utils2 = _interopRequireDefault(_utils);\nvar _thumbnails = require('./thumbnails');\nvar _thumbnails2 = _interopRequireDefault(_thumbnails);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar Controller = function () {\n function Controller(player) {\n var _this = this;\n _classCallCheck(this, Controller);\n this.player = player;\n this.autoHideTimer = 0;\n if (!_utils.isMobile) {\n this.player.container.addEventListener('mousemove', function () {\n _this.setAutoHide();\n });\n this.player.container.addEventListener('click', function () {\n _this.setAutoHide();\n });\n }\n this.initPlayButton();\n this.initThumbnails();\n this.initPlayedBar();\n this.initFullButton();\n this.initVolumeButton();\n this.initQualityButton();\n this.initScreenshotButton();\n this.initSubtitleButton();\n }\n _createClass(Controller, [\n {\n key: 'initPlayButton',\n value: function initPlayButton() {\n var _this2 = this;\n this.player.template.playButton.addEventListener('click', function () {\n _this2.player.toggle();\n });\n if (!_utils.isMobile) {\n this.player.template.videoWrap.addEventListener('click', function () {\n _this2.player.toggle();\n });\n this.player.template.controllerMask.addEventListener('click', function () {\n _this2.player.toggle();\n });\n } else {\n this.player.template.videoWrap.addEventListener('click', function () {\n _this2.toggle();\n });\n this.player.template.controllerMask.addEventListener('click', function () {\n _this2.toggle();\n });\n }\n }\n },\n {\n key: 'initThumbnails',\n value: function initThumbnails() {\n var _this3 = this;\n if (this.player.options.video.thumbnails) {\n this.thumbnails = new _thumbnails2.default({\n container: this.player.template.barPreview,\n barWidth: this.player.template.barWrap.offsetWidth,\n url: this.player.options.video.thumbnails,\n events: this.player.events\n });\n this.player.on('loadedmetadata', function () {\n _this3.thumbnails.resize(160, _this3.player.video.videoHeight / _this3.player.video.videoWidth * 160);\n });\n }\n }\n },\n {\n key: 'initPlayedBar',\n value: function initPlayedBar() {\n var _this4 = this;\n var thumbMove = function thumbMove(e) {\n var percentage = (e.clientX - _utils2.default.getElementViewLeft(_this4.player.template.playedBarWrap)) / _this4.player.template.playedBarWrap.clientWidth;\n percentage = Math.max(percentage, 0);\n percentage = Math.min(percentage, 1);\n _this4.player.bar.set('played', percentage, 'width');\n _this4.player.template.ptime.innerHTML = _utils2.default.secondToTime(percentage * _this4.player.video.duration);\n };\n var thumbUp = function thumbUp(e) {\n document.removeEventListener('mouseup', thumbUp);\n document.removeEventListener('mousemove', thumbMove);\n var percentage = (e.clientX - _utils2.default.getElementViewLeft(_this4.player.template.playedBarWrap)) / _this4.player.template.playedBarWrap.clientWidth;\n percentage = Math.max(percentage, 0);\n percentage = Math.min(percentage, 1);\n _this4.player.bar.set('played', percentage, 'width');\n _this4.player.seek(_this4.player.bar.get('played') * _this4.player.video.duration);\n _this4.player.time.enable('progress');\n };\n this.player.template.playedBarWrap.addEventListener('mousedown', function () {\n _this4.player.time.disable('progress');\n document.addEventListener('mousemove', thumbMove);\n document.addEventListener('mouseup', thumbUp);\n });\n this.player.template.playedBarWrap.addEventListener('mousemove', function (e) {\n if (_this4.player.video.duration) {\n var px = _utils2.default.cumulativeOffset(_this4.player.template.playedBarWrap).left;\n var tx = e.clientX - px;\n if (tx < 0 || tx > _this4.player.template.playedBarWrap.offsetWidth) {\n return;\n }\n var time = _this4.player.video.duration * (tx / _this4.player.template.playedBarWrap.offsetWidth);\n _this4.thumbnails && _this4.thumbnails.move(tx);\n _this4.player.template.playedBarTime.style.left = tx - 20 + 'px';\n _this4.player.template.playedBarTime.innerText = _utils2.default.secondToTime(time);\n _this4.player.template.playedBarTime.classList.remove('hidden');\n }\n });\n this.player.template.playedBarWrap.addEventListener('mouseenter', function () {\n if (_this4.player.video.duration) {\n _this4.thumbnails && _this4.thumbnails.show();\n _this4.player.template.playedBarTime.classList.remove('hidden');\n }\n });\n this.player.template.playedBarWrap.addEventListener('mouseleave', function () {\n if (_this4.player.video.duration) {\n _this4.thumbnails && _this4.thumbnails.hide();\n _this4.player.template.playedBarTime.classList.add('hidden');\n }\n });\n }\n },\n {\n key: 'initFullButton',\n value: function initFullButton() {\n var _this5 = this;\n this.player.template.browserFullButton.addEventListener('click', function () {\n _this5.player.fullScreen.toggle('browser');\n });\n this.player.template.webFullButton.addEventListener('click', function () {\n _this5.player.fullScreen.toggle('web');\n });\n }\n },\n {\n key: 'initVolumeButton',\n value: function initVolumeButton() {\n var _this6 = this;\n var vWidth = 35;\n var volumeMove = function volumeMove(event) {\n var e = event || window.event;\n var percentage = (e.clientX - _utils2.default.getElementViewLeft(_this6.player.template.volumeBarWrap) - 5.5) / vWidth;\n _this6.player.volume(percentage);\n };\n var volumeUp = function volumeUp() {\n document.removeEventListener('mouseup', volumeUp);\n document.removeEventListener('mousemove', volumeMove);\n _this6.player.template.volumeButton.classList.remove('dplayer-volume-active');\n };\n this.player.template.volumeBarWrapWrap.addEventListener('click', function (event) {\n var e = event || window.event;\n var percentage = (e.clientX - _utils2.default.getElementViewLeft(_this6.player.template.volumeBarWrap) - 5.5) / vWidth;\n _this6.player.volume(percentage);\n });\n this.player.template.volumeBarWrapWrap.addEventListener('mousedown', function () {\n document.addEventListener('mousemove', volumeMove);\n document.addEventListener('mouseup', volumeUp);\n _this6.player.template.volumeButton.classList.add('dplayer-volume-active');\n });\n this.player.template.volumeIcon.addEventListener('click', function () {\n if (_this6.player.video.muted) {\n _this6.player.video.muted = false;\n _this6.player.switchVolumeIcon();\n _this6.player.bar.set('volume', _this6.player.volume(), 'width');\n } else {\n _this6.player.video.muted = true;\n _this6.player.template.volumeIcon.innerHTML = _this6.player.icons.get('volume-off');\n _this6.player.bar.set('volume', 0, 'width');\n }\n });\n }\n },\n {\n key: 'initQualityButton',\n value: function initQualityButton() {\n var _this7 = this;\n if (this.player.options.video.quality) {\n this.player.template.qualityList.addEventListener('click', function (e) {\n if (e.target.classList.contains('dplayer-quality-item')) {\n _this7.player.switchQuality(e.target.dataset.index);\n }\n });\n }\n }\n },\n {\n key: 'initScreenshotButton',\n value: function initScreenshotButton() {\n var _this8 = this;\n if (this.player.options.screenshot) {\n this.player.template.camareButton.addEventListener('click', function () {\n var canvas = document.createElement('canvas');\n canvas.width = _this8.player.video.videoWidth;\n canvas.height = _this8.player.video.videoHeight;\n canvas.getContext('2d').drawImage(_this8.player.video, 0, 0, canvas.width, canvas.height);\n var dataURL = canvas.toDataURL();\n _this8.player.template.camareButton.href = dataURL;\n _this8.player.template.camareButton.download = 'DPlayer.png';\n _this8.player.events.trigger('screenshot', dataURL);\n });\n }\n }\n },\n {\n key: 'initSubtitleButton',\n value: function initSubtitleButton() {\n var _this9 = this;\n if (this.player.options.subtitle) {\n this.player.events.on('subtitle_show', function () {\n _this9.player.template.subtitleButton.dataset.balloon = _this9.player.tran('Hide subtitle');\n _this9.player.template.subtitleButtonInner.style.opacity = '';\n _this9.player.user.set('subtitle', 1);\n });\n this.player.events.on('subtitle_hide', function () {\n _this9.player.template.subtitleButton.dataset.balloon = _this9.player.tran('Show subtitle');\n _this9.player.template.subtitleButtonInner.style.opacity = '0.4';\n _this9.player.user.set('subtitle', 0);\n });\n this.player.template.subtitleButton.addEventListener('click', function () {\n _this9.player.subtitle.toggle();\n });\n }\n }\n },\n {\n key: 'setAutoHide',\n value: function setAutoHide() {\n var _this10 = this;\n this.show();\n clearTimeout(this.autoHideTimer);\n this.autoHideTimer = setTimeout(function () {\n if (_this10.player.video.played.length && !_this10.disableAutoHide) {\n _this10.hide();\n }\n }, 2000);\n }\n },\n {\n key: 'show',\n value: function show() {\n this.player.container.classList.remove('dplayer-hide-controller');\n }\n },\n {\n key: 'hide',\n value: function hide() {\n this.player.container.classList.add('dplayer-hide-controller');\n this.player.setting.hide();\n this.player.comment.hide();\n }\n },\n {\n key: 'isShow',\n value: function isShow() {\n return !this.player.container.classList.contains('dplayer-hide-controller');\n }\n },\n {\n key: 'toggle',\n value: function toggle() {\n if (this.isShow()) {\n this.hide();\n } else {\n this.show();\n }\n }\n },\n {\n key: 'destroy',\n value: function destroy() {\n clearTimeout(this.autoHideTimer);\n }\n }\n ]);\n return Controller;\n}();\nmodule.exports = Controller;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/controller.js\n// module id = 17\n// module chunks = 0","'use strict';\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar Thumbnails = function () {\n function Thumbnails(options) {\n _classCallCheck(this, Thumbnails);\n this.container = options.container;\n this.barWidth = options.barWidth;\n this.container.style.backgroundImage = 'url(\\'' + options.url + '\\')';\n this.events = options.events;\n }\n _createClass(Thumbnails, [\n {\n key: 'resize',\n value: function resize(width, height) {\n this.container.style.width = width + 'px';\n this.container.style.height = height + 'px';\n this.container.style.top = -height + 2 + 'px';\n }\n },\n {\n key: 'show',\n value: function show() {\n this.container.style.display = 'block';\n this.events && this.events.trigger('thumbnails_show');\n }\n },\n {\n key: 'move',\n value: function move(position) {\n this.container.style.backgroundPosition = '-' + (Math.ceil(position / this.barWidth * 100) - 1) * 160 + 'px 0';\n this.container.style.left = position - this.container.offsetWidth / 2 + 'px';\n }\n },\n {\n key: 'hide',\n value: function hide() {\n this.container.style.display = 'none';\n this.events && this.events.trigger('thumbnails_hide');\n }\n }\n ]);\n return Thumbnails;\n}();\nmodule.exports = Thumbnails;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/thumbnails.js\n// module id = 18\n// module chunks = 0","'use strict';\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nvar _utils = require('./utils');\nvar _utils2 = _interopRequireDefault(_utils);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar SettingBox = function () {\n function SettingBox(player) {\n var _this = this;\n _classCallCheck(this, SettingBox);\n this.player = player;\n this.player.template.mask.addEventListener('click', function () {\n _this.hide();\n });\n this.player.template.settingButton.addEventListener('click', function () {\n _this.show();\n });\n this.loop = this.player.options.loop;\n this.player.template.loopToggle.checked = this.loop;\n this.player.template.loop.addEventListener('click', function () {\n _this.player.template.loopToggle.checked = !_this.player.template.loopToggle.checked;\n if (_this.player.template.loopToggle.checked) {\n _this.loop = true;\n } else {\n _this.loop = false;\n }\n _this.hide();\n });\n this.showDanmaku = this.player.user.get('danmaku');\n if (!this.showDanmaku) {\n this.player.danmaku && this.player.danmaku.hide();\n }\n this.player.template.showDanmakuToggle.checked = this.showDanmaku;\n this.player.template.showDanmaku.addEventListener('click', function () {\n _this.player.template.showDanmakuToggle.checked = !_this.player.template.showDanmakuToggle.checked;\n if (_this.player.template.showDanmakuToggle.checked) {\n _this.showDanmaku = true;\n _this.player.danmaku.show();\n } else {\n _this.showDanmaku = false;\n _this.player.danmaku.hide();\n }\n _this.player.user.set('danmaku', _this.showDanmaku ? 1 : 0);\n _this.hide();\n });\n this.unlimitDanmaku = this.player.user.get('unlimited');\n this.player.template.unlimitDanmakuToggle.checked = this.unlimitDanmaku;\n this.player.template.unlimitDanmaku.addEventListener('click', function () {\n _this.player.template.unlimitDanmakuToggle.checked = !_this.player.template.unlimitDanmakuToggle.checked;\n if (_this.player.template.unlimitDanmakuToggle.checked) {\n _this.unlimitDanmaku = true;\n _this.player.danmaku.unlimit(true);\n } else {\n _this.unlimitDanmaku = false;\n _this.player.danmaku.unlimit(false);\n }\n _this.player.user.set('unlimited', _this.unlimitDanmaku ? 1 : 0);\n _this.hide();\n });\n this.player.template.speed.addEventListener('click', function () {\n _this.player.template.settingBox.classList.add('dplayer-setting-box-narrow');\n _this.player.template.settingBox.classList.add('dplayer-setting-box-speed');\n });\n var _loop = function _loop(i) {\n _this.player.template.speedItem[i].addEventListener('click', function () {\n _this.player.video.playbackRate = _this.player.template.speedItem[i].dataset.speed;\n _this.hide();\n });\n };\n for (var i = 0; i < this.player.template.speedItem.length; i++) {\n _loop(i);\n }\n if (this.player.danmaku) {\n var dWidth = 130;\n this.player.on('danmaku_opacity', function (percentage) {\n _this.player.bar.set('danmaku', percentage, 'width');\n _this.player.user.set('opacity', percentage);\n });\n this.player.danmaku.opacity(this.player.user.get('opacity'));\n var danmakuMove = function danmakuMove(event) {\n var e = event || window.event;\n var percentage = (e.clientX - _utils2.default.getElementViewLeft(_this.player.template.danmakuOpacityBarWrap)) / dWidth;\n percentage = Math.max(percentage, 0);\n percentage = Math.min(percentage, 1);\n _this.player.danmaku.opacity(percentage);\n };\n var danmakuUp = function danmakuUp() {\n document.removeEventListener('mouseup', danmakuUp);\n document.removeEventListener('mousemove', danmakuMove);\n _this.player.template.danmakuOpacityBox.classList.remove('dplayer-setting-danmaku-active');\n };\n this.player.template.danmakuOpacityBarWrapWrap.addEventListener('click', function (event) {\n var e = event || window.event;\n var percentage = (e.clientX - _utils2.default.getElementViewLeft(_this.player.template.danmakuOpacityBarWrap)) / dWidth;\n percentage = Math.max(percentage, 0);\n percentage = Math.min(percentage, 1);\n _this.player.danmaku.opacity(percentage);\n });\n this.player.template.danmakuOpacityBarWrapWrap.addEventListener('mousedown', function () {\n document.addEventListener('mousemove', danmakuMove);\n document.addEventListener('mouseup', danmakuUp);\n _this.player.template.danmakuOpacityBox.classList.add('dplayer-setting-danmaku-active');\n });\n }\n }\n _createClass(SettingBox, [\n {\n key: 'hide',\n value: function hide() {\n var _this2 = this;\n this.player.template.settingBox.classList.remove('dplayer-setting-box-open');\n this.player.template.mask.classList.remove('dplayer-mask-show');\n setTimeout(function () {\n _this2.player.template.settingBox.classList.remove('dplayer-setting-box-narrow');\n _this2.player.template.settingBox.classList.remove('dplayer-setting-box-speed');\n }, 300);\n this.player.controller.disableAutoHide = false;\n }\n },\n {\n key: 'show',\n value: function show() {\n this.player.template.settingBox.classList.add('dplayer-setting-box-open');\n this.player.template.mask.classList.add('dplayer-mask-show');\n this.player.controller.disableAutoHide = true;\n }\n }\n ]);\n return SettingBox;\n}();\nmodule.exports = SettingBox;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/setting.js\n// module id = 19\n// module chunks = 0","'use strict';\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar Comment = function () {\n function Comment(player) {\n var _this = this;\n _classCallCheck(this, Comment);\n this.player = player;\n this.player.template.mask.addEventListener('click', function () {\n _this.hide();\n });\n this.player.template.commentButton.addEventListener('click', function () {\n _this.show();\n });\n this.player.template.commentSettingButton.addEventListener('click', function () {\n _this.toggleSetting();\n });\n this.player.template.commentColorSettingBox.addEventListener('click', function () {\n var sele = _this.player.template.commentColorSettingBox.querySelector('input:checked+span');\n if (sele) {\n var color = _this.player.template.commentColorSettingBox.querySelector('input:checked').value;\n _this.player.template.commentSettingFill.style.fill = color;\n _this.player.template.commentInput.style.color = color;\n _this.player.template.commentSendFill.style.fill = color;\n }\n });\n this.player.template.commentInput.addEventListener('click', function () {\n _this.hideSetting();\n });\n this.player.template.commentInput.addEventListener('keydown', function (e) {\n var event = e || window.event;\n if (event.keyCode === 13) {\n _this.send();\n }\n });\n this.player.template.commentSendButton.addEventListener('click', function () {\n _this.send();\n });\n }\n _createClass(Comment, [\n {\n key: 'show',\n value: function show() {\n this.player.controller.disableAutoHide = true;\n this.player.template.controller.classList.add('dplayer-controller-comment');\n this.player.template.mask.classList.add('dplayer-mask-show');\n this.player.container.classList.add('dplayer-show-controller');\n this.player.template.commentInput.focus();\n }\n },\n {\n key: 'hide',\n value: function hide() {\n this.player.template.controller.classList.remove('dplayer-controller-comment');\n this.player.template.mask.classList.remove('dplayer-mask-show');\n this.player.container.classList.remove('dplayer-show-controller');\n this.player.controller.disableAutoHide = false;\n this.hideSetting();\n }\n },\n {\n key: 'showSetting',\n value: function showSetting() {\n this.player.template.commentSettingBox.classList.add('dplayer-comment-setting-open');\n }\n },\n {\n key: 'hideSetting',\n value: function hideSetting() {\n this.player.template.commentSettingBox.classList.remove('dplayer-comment-setting-open');\n }\n },\n {\n key: 'toggleSetting',\n value: function toggleSetting() {\n if (this.player.template.commentSettingBox.classList.contains('dplayer-comment-setting-open')) {\n this.hideSetting();\n } else {\n this.showSetting();\n }\n }\n },\n {\n key: 'send',\n value: function send() {\n var _this2 = this;\n this.player.template.commentInput.blur();\n if (!this.player.template.commentInput.value.replace(/^\\s+|\\s+$/g, '')) {\n this.player.notice(this.player.tran('Please input danmaku content!'));\n return;\n }\n this.player.danmaku.send({\n text: this.player.template.commentInput.value,\n color: this.player.container.querySelector('.dplayer-comment-setting-color input:checked').value,\n type: this.player.container.querySelector('.dplayer-comment-setting-type input:checked').value\n }, function () {\n _this2.player.template.commentInput.value = '';\n _this2.hide();\n });\n }\n }\n ]);\n return Comment;\n}();\nmodule.exports = Comment;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/comment.js\n// module id = 20\n// module chunks = 0","'use strict';\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar HotKey = function HotKey(player) {\n _classCallCheck(this, HotKey);\n if (player.options.hotkey) {\n document.addEventListener('keydown', function (e) {\n if (player.focus) {\n var tag = document.activeElement.tagName.toUpperCase();\n var editable = document.activeElement.getAttribute('contenteditable');\n if (tag !== 'INPUT' && tag !== 'TEXTAREA' && editable !== '' && editable !== 'true') {\n var event = e || window.event;\n var percentage = void 0;\n switch (event.keyCode) {\n case 32:\n event.preventDefault();\n player.toggle();\n break;\n case 37:\n event.preventDefault();\n player.seek(player.video.currentTime - 5);\n player.controller.setAutoHide();\n break;\n case 39:\n event.preventDefault();\n player.seek(player.video.currentTime + 5);\n player.controller.setAutoHide();\n break;\n case 38:\n event.preventDefault();\n percentage = player.volume() + 0.1;\n player.volume(percentage);\n break;\n case 40:\n event.preventDefault();\n percentage = player.volume() - 0.1;\n player.volume(percentage);\n break;\n }\n }\n }\n });\n }\n document.addEventListener('keydown', function (e) {\n var event = e || window.event;\n switch (event.keyCode) {\n case 27:\n if (player.fullScreen.isFullScreen('web')) {\n player.fullScreen.cancel('web');\n }\n break;\n }\n });\n};\nmodule.exports = HotKey;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/hotkey.js\n// module id = 21\n// module chunks = 0","'use strict';\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar ContextMenu = function () {\n function ContextMenu(player) {\n var _this = this;\n _classCallCheck(this, ContextMenu);\n this.player = player;\n this.player.container.addEventListener('contextmenu', function (e) {\n var event = e || window.event;\n event.preventDefault();\n var clientRect = _this.player.container.getBoundingClientRect();\n _this.show(event.clientX - clientRect.left, event.clientY - clientRect.top);\n _this.player.template.mask.addEventListener('click', function () {\n _this.hide();\n });\n });\n }\n _createClass(ContextMenu, [\n {\n key: 'show',\n value: function show(x, y) {\n this.player.template.menu.classList.add('dplayer-menu-show');\n var clientRect = this.player.container.getBoundingClientRect();\n if (x + this.player.template.menu.offsetWidth >= clientRect.width) {\n this.player.template.menu.style.right = clientRect.width - x + 'px';\n this.player.template.menu.style.left = 'initial';\n } else {\n this.player.template.menu.style.left = x + 'px';\n this.player.template.menu.style.right = 'initial';\n }\n if (y + this.player.template.menu.offsetHeight >= clientRect.height) {\n this.player.template.menu.style.bottom = clientRect.height - y + 'px';\n this.player.template.menu.style.top = 'initial';\n } else {\n this.player.template.menu.style.top = y + 'px';\n this.player.template.menu.style.bottom = 'initial';\n }\n this.player.template.mask.classList.add('dplayer-mask-show');\n this.player.events.trigger('contextmenu_show');\n }\n },\n {\n key: 'hide',\n value: function hide() {\n this.player.template.mask.classList.remove('dplayer-mask-show');\n this.player.template.menu.classList.remove('dplayer-menu-show');\n this.player.events.trigger('contextmenu_hide');\n }\n }\n ]);\n return ContextMenu;\n}();\nmodule.exports = ContextMenu;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/contextmenu.js\n// module id = 22\n// module chunks = 0"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///DPlayer.min.js","webpack:///webpack/bootstrap cdb57032692328f97d26","webpack:///./src/js/utils.js","webpack:///./src/js/index.js","webpack:///./src/js/player.js","webpack:///./src/js/options.js","webpack:///./src/js/api.js","webpack:///./src/js/i18n.js","webpack:///./src/js/template.js","webpack:///./src/js/svg.js","webpack:///./src/js/danmaku.js","webpack:///./src/js/events.js","webpack:///./src/js/fullscreen.js","webpack:///./src/js/user.js","webpack:///./src/js/subtitle.js","webpack:///./src/js/bar.js","webpack:///./src/js/time.js","webpack:///./src/js/bezel.js","webpack:///./src/js/controller.js","webpack:///./src/js/thumbnails.js","webpack:///./src/js/setting.js","webpack:///./src/js/comment.js","webpack:///./src/js/hotkey.js","webpack:///./src/js/contextmenu.js"],"names":["root","factory","exports","module","define","amd","self","this","modules","__webpack_require__","moduleId","installedModules","i","l","call","m","c","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","value","default","secondToTime","second","add0","num","min","parseInt","sec","getElementViewLeft","element","actualLeft","offsetLeft","current","offsetParent","elementScrollLeft","document","body","scrollLeft","documentElement","fullscreenElement","mozFullScreenElement","webkitFullscreenElement","getScrollPosition","left","window","pageXOffset","top","pageYOffset","scrollTop","setScrollPosition","_ref","_ref$left","undefined","_ref$top","isFirefox","scrollTo","isMobile","test","navigator","userAgent","isChrome","storage","set","key","localStorage","setItem","getItem","cumulativeOffset","offsetTop","_player","_player2","obj","console","log","_interopRequireDefault","_classCallCheck","instance","Constructor","TypeError","_createClass","defineProperties","target","props","length","descriptor","writable","protoProps","staticProps","_utils","_utils2","_options","_options2","_i18n","_i18n2","_template","_template2","_svg","_svg2","_danmaku","_danmaku2","_events","_events2","_fullscreen","_fullscreen2","_user","_user2","_subtitle","_subtitle2","_bar","_bar2","_time","_time2","_bezel","_bezel2","_controller","_controller2","_setting","_setting2","_comment","_comment2","_hotkey","_hotkey2","_contextmenu","_contextmenu2","index","instances","DPlayer","options","_this","video","quality","qualityIndex","defaultQuality","tran","lang","icons","events","user","container","classList","add","danmaku","live","arrow","offsetWidth","template","bar","bezel","fullScreen","controller","opacity","callback","setTimeout","danmakuLoading","style","display","autoplay","play","pause","error","msg","notice","apiBackend","borderColor","theme","height","time","currentTime","unlimited","api","id","address","token","maximum","addition","comment","setting","addEventListener","focus","paused","hotkey","contextmenu","initVideo","type","push","Math","max","duration","toFixed","seek","switch","playButton","innerHTML","enable","mutex","remove","ended","disable","volume","volumeIcon","percentage","nostorage","nonotice","parseFloat","isNaN","formatPercentage","volumeBarWrapWrap","dataset","balloon","muted","switchVolumeIcon","on","danmakuAPI","poster","pic","src","url","initMSE","ptime","reload","exec","Hls","isSupported","hls","loadSource","attachMedia","flvjs","flvPlayer","createPlayer","attachMediaElement","load","dashjs","MediaPlayer","create","initialize","_this2","dtime","buffered","end","loop","danIndex","videoEvents","trigger","subtitle","hide","_this3","switchingQuality","qualityButton","videoHTML","tplVideo","screenshot","videoEle","DOMParser","parseFromString","firstChild","videoWrap","insertBefore","getElementsByTagName","prevVideo","removeChild","text","_this4","arguments","noticeTime","clearTimeout","resize","rate","playbackRate","splice","indexOf","destroy","_typeof","Symbol","iterator","constructor","_api","_api2","defaultOption","getElementsByClassName","language","browserLanguage","toLowerCase","preload","volume-up","volume-down","volume-off","full","full-in","right","comment-off","send","pallette","camera","iconsColor","defaultKey","fontSize","bottom","color","assign","concat","link","SendXMLHttpRequest","data","success","fail","xhr","XMLHttpRequest","onreadystatechange","readyState","status","response","JSON","parse","responseText","code","open","stringify","endpoint","danmakuData","alert","read","i18n","tranTxt","zh-cn","Danmaku is loading","Top","Bottom","Rolling","Input danmaku, hit Enter","About author","DPlayer feedback","About DPlayer","Loop","Speed","Opacity for danmaku","Normal","Please input danmaku content!","Set danmaku color","Set danmaku type","Show danmaku","This video fails to load","Switching to","Switched to","FF","REW","Unlimited danmaku","Send danmaku","Setting","Full screen","Web full screen","Send","Screenshot","Show subtitle","Hide subtitle","Volume","Live","zh-tw","Template","init","tpl","volumeBar","querySelector","volumeBarWrap","volumeButton","playedBar","loadedBar","playedBarWrap","playedBarTime","controllerMask","settingButton","settingBox","mask","loopToggle","showDanmaku","showDanmakuToggle","unlimitDanmaku","unlimitDanmakuToggle","speed","speedItem","querySelectorAll","danmakuOpacityBar","danmakuOpacityBarWrap","danmakuOpacityBarWrapWrap","danmakuOpacityBox","commentInput","commentButton","commentSettingBox","commentSettingButton","commentSettingFill","commentSendButton","commentSendFill","commentColorSettingBox","browserFullButton","webFullButton","menu","qualityList","camareButton","subtitleButton","subtitleButtonInner","barPreview","barWrap","logo","tplDanmakumargin","margin","tplQualityList","tplContextmenuList","result","enableSubtitle","SvgSource","iconColor","Danmaku","danTunnel","dan","showing","_opacity","_measure","apiurl","endpoints","slice","_readAllEndpoints","results","apply","sort","a","b","requestAnimationFrame","frame","newAPI","clear","readCount","err","player","author","htmlEncode","border","draw","item","items","itemHeight","danWidth","danHeight","offsetHeight","itemY","danItemRight","ele","eleWidth","width","eleRight","getBoundingClientRect","danSpeed","getTunnel","tmp","_ret","v","j","danRight","toString","docFragment","createDocumentFragment","createElement","itemWidth","tunnel","transform","appendChild","context","measureStyle","getComputedStyle","getContext","font","getPropertyValue","measureText","str","replace","boolean","Events","playerEvents","info","FullScreen","lastScrollPosition","fullscreenchange","isFullScreen","contains","anotherType","anotherTypeOn","requestFullscreen","mozRequestFullScreen","webkitRequestFullscreen","webkitEnterFullscreen","cancel","cancelFullScreen","mozCancelFullScreen","webkitCancelFullScreen","request","User","storageName","Subtitle","textTracks","track","oncuechange","cue","activeCues","getCueAsHTML","show","Bar","elements","played","loaded","direction","Time","webkitRequestAnimationFrame","mozRequestAnimationFrame","oRequestAnimationFrame","msRequestAnimationFrame","types","lastPlayPos","currentPlayPos","bufferingDetected","loadingChecker","setInterval","enableloadingChecker","progressChecker","enableprogressChecker","_type","_type2","clearInterval","Bezel","icon","_thumbnails","_thumbnails2","Controller","autoHideTimer","setAutoHide","initPlayButton","initThumbnails","initPlayedBar","initFullButton","initVolumeButton","initQualityButton","initScreenshotButton","initSubtitleButton","toggle","thumbnails","barWidth","videoHeight","videoWidth","thumbMove","e","clientX","clientWidth","thumbUp","removeEventListener","px","tx","move","innerText","_this5","_this6","volumeMove","event","volumeUp","_this7","switchQuality","_this8","canvas","drawImage","dataURL","toDataURL","href","download","_this9","_this10","disableAutoHide","isShow","Thumbnails","backgroundImage","position","backgroundPosition","ceil","checked","unlimit","danmakuMove","danmakuUp","Comment","toggleSetting","fill","hideSetting","keyCode","showSetting","blur","HotKey","tag","activeElement","tagName","toUpperCase","editable","getAttribute","preventDefault","ContextMenu","clientRect","clientY","x","y"],"mappings":"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","file":"DPlayer.min.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(\"DPlayer\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"DPlayer\"] = factory();\n\telse\n\t\troot[\"DPlayer\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition","(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(\"DPlayer\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"DPlayer\"] = factory();\n\telse\n\t\troot[\"DPlayer\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \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, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\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/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 1);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, '__esModule', { value: true });\nexports.default = {\n secondToTime: function secondToTime(second) {\n var add0 = function add0(num) {\n return num < 10 ? '0' + num : '' + num;\n };\n var min = parseInt(second / 60);\n var sec = parseInt(second - min * 60);\n return add0(min) + ':' + add0(sec);\n },\n getElementViewLeft: function getElementViewLeft(element) {\n var actualLeft = element.offsetLeft;\n var current = element.offsetParent;\n var elementScrollLeft = document.body.scrollLeft + document.documentElement.scrollLeft;\n if (!document.fullscreenElement && !document.mozFullScreenElement && !document.webkitFullscreenElement) {\n while (current !== null) {\n actualLeft += current.offsetLeft;\n current = current.offsetParent;\n }\n } else {\n while (current !== null && current !== element) {\n actualLeft += current.offsetLeft;\n current = current.offsetParent;\n }\n }\n return actualLeft - elementScrollLeft;\n },\n getScrollPosition: function getScrollPosition() {\n return {\n left: window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft || 0,\n top: window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0\n };\n },\n setScrollPosition: function setScrollPosition(_ref) {\n var _ref$left = _ref.left, left = _ref$left === undefined ? 0 : _ref$left, _ref$top = _ref.top, top = _ref$top === undefined ? 0 : _ref$top;\n if (this.isFirefox) {\n document.documentElement.scrollLeft = left;\n document.documentElement.scrollTop = top;\n } else {\n window.scrollTo(left, top);\n }\n },\n isMobile: /mobile/i.test(window.navigator.userAgent),\n isFirefox: /firefox/i.test(window.navigator.userAgent),\n isChrome: /chrome/i.test(window.navigator.userAgent),\n storage: {\n set: function set(key, value) {\n localStorage.setItem(key, value);\n },\n get: function get(key) {\n return localStorage.getItem(key);\n }\n },\n cumulativeOffset: function cumulativeOffset(element) {\n var top = 0, left = 0;\n do {\n top += element.offsetTop || 0;\n left += element.offsetLeft || 0;\n element = element.offsetParent;\n } while (element);\n return {\n top: top,\n left: left\n };\n }\n};\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, '__esModule', { value: true });\n__webpack_require__(2);\nvar _player = __webpack_require__(3);\nvar _player2 = _interopRequireDefault(_player);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nconsole.log('\\n' + ' %c DPlayer ' + \"1.18.0\" + ' ' + \"3b675ea\" + ' %c http://dplayer.js.org ' + '\\n' + '\\n', 'color: #fadfa3; background: #030307; padding:5px 0;', 'background: #fadfa3; padding:5px 0;');\nexports.default = _player2.default;\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nvar _utils = __webpack_require__(0);\nvar _utils2 = _interopRequireDefault(_utils);\nvar _options = __webpack_require__(4);\nvar _options2 = _interopRequireDefault(_options);\nvar _i18n = __webpack_require__(6);\nvar _i18n2 = _interopRequireDefault(_i18n);\nvar _template = __webpack_require__(7);\nvar _template2 = _interopRequireDefault(_template);\nvar _svg = __webpack_require__(8);\nvar _svg2 = _interopRequireDefault(_svg);\nvar _danmaku = __webpack_require__(9);\nvar _danmaku2 = _interopRequireDefault(_danmaku);\nvar _events = __webpack_require__(10);\nvar _events2 = _interopRequireDefault(_events);\nvar _fullscreen = __webpack_require__(11);\nvar _fullscreen2 = _interopRequireDefault(_fullscreen);\nvar _user = __webpack_require__(12);\nvar _user2 = _interopRequireDefault(_user);\nvar _subtitle = __webpack_require__(13);\nvar _subtitle2 = _interopRequireDefault(_subtitle);\nvar _bar = __webpack_require__(14);\nvar _bar2 = _interopRequireDefault(_bar);\nvar _time = __webpack_require__(15);\nvar _time2 = _interopRequireDefault(_time);\nvar _bezel = __webpack_require__(16);\nvar _bezel2 = _interopRequireDefault(_bezel);\nvar _controller = __webpack_require__(17);\nvar _controller2 = _interopRequireDefault(_controller);\nvar _setting = __webpack_require__(19);\nvar _setting2 = _interopRequireDefault(_setting);\nvar _comment = __webpack_require__(20);\nvar _comment2 = _interopRequireDefault(_comment);\nvar _hotkey = __webpack_require__(21);\nvar _hotkey2 = _interopRequireDefault(_hotkey);\nvar _contextmenu = __webpack_require__(22);\nvar _contextmenu2 = _interopRequireDefault(_contextmenu);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar index = 0;\nvar instances = [];\nvar DPlayer = function () {\n function DPlayer(options) {\n var _this = this;\n _classCallCheck(this, DPlayer);\n this.options = (0, _options2.default)(options);\n if (this.options.video.quality) {\n this.qualityIndex = this.options.video.defaultQuality;\n this.quality = this.options.video.quality[this.options.video.defaultQuality];\n }\n this.tran = new _i18n2.default(this.options.lang).tran;\n this.icons = new _svg2.default(this.options);\n this.events = new _events2.default();\n this.user = new _user2.default(this);\n this.container = this.options.container;\n this.container.classList.add('dplayer');\n if (!this.options.danmaku) {\n this.container.classList.add('dplayer-no-danmaku');\n }\n if (this.options.live) {\n this.container.classList.add('dplayer-live');\n }\n if (_utils2.default.isMobile) {\n this.container.classList.add('dplayer-mobile');\n }\n this.arrow = this.container.offsetWidth <= 500;\n if (this.arrow) {\n this.container.classList.add('dplayer-arrow');\n }\n this.template = new _template2.default({\n container: this.container,\n options: this.options,\n index: index,\n tran: this.tran,\n icons: this.icons\n });\n this.video = this.template.video;\n this.bar = new _bar2.default(this.template);\n this.bezel = new _bezel2.default(this.template.bezel);\n this.fullScreen = new _fullscreen2.default(this);\n this.controller = new _controller2.default(this);\n if (this.options.danmaku) {\n this.danmaku = new _danmaku2.default({\n container: this.template.danmaku,\n opacity: this.user.get('opacity'),\n callback: function callback() {\n setTimeout(function () {\n _this.template.danmakuLoading.style.display = 'none';\n if (_this.options.autoplay && !_utils2.default.isMobile) {\n _this.play();\n } else if (_utils2.default.isMobile) {\n _this.pause();\n }\n }, 0);\n },\n error: function error(msg) {\n _this.notice(msg);\n },\n apiBackend: this.options.apiBackend,\n borderColor: this.options.theme,\n height: this.arrow ? 24 : 30,\n time: function time() {\n return _this.video.currentTime;\n },\n unlimited: this.user.get('unlimited'),\n api: {\n id: this.options.danmaku.id,\n address: this.options.danmaku.api,\n token: this.options.danmaku.token,\n maximum: this.options.danmaku.maximum,\n addition: this.options.danmaku.addition,\n user: this.options.danmaku.user\n },\n events: this.events\n });\n this.comment = new _comment2.default(this);\n }\n this.setting = new _setting2.default(this);\n document.addEventListener('click', function () {\n _this.focus = false;\n }, true);\n this.container.addEventListener('click', function () {\n _this.focus = true;\n }, true);\n this.paused = true;\n this.time = new _time2.default(this);\n if (!this.danmaku) {\n if (this.options.autoplay && !_utils2.default.isMobile) {\n this.play();\n } else if (_utils2.default.isMobile) {\n this.pause();\n }\n }\n this.hotkey = new _hotkey2.default(this);\n this.contextmenu = new _contextmenu2.default(this);\n this.initVideo(this.video, this.quality && this.quality.type || this.options.video.type);\n index++;\n instances.push(this);\n }\n _createClass(DPlayer, [\n {\n key: 'seek',\n value: function seek(time) {\n time = Math.max(time, 0);\n if (this.video.duration) {\n time = Math.min(time, this.video.duration);\n }\n if (this.video.currentTime < time) {\n this.notice(this.tran('FF') + ' ' + (time - this.video.currentTime).toFixed(0) + ' ' + this.tran('s'));\n } else if (this.video.currentTime > time) {\n this.notice(this.tran('REW') + ' ' + (this.video.currentTime - time).toFixed(0) + ' ' + this.tran('s'));\n }\n this.video.currentTime = time;\n if (this.danmaku) {\n this.danmaku.seek();\n }\n this.bar.set('played', time / this.video.duration, 'width');\n }\n },\n {\n key: 'play',\n value: function play() {\n this.paused = false;\n if (this.video.paused) {\n this.bezel.switch(this.icons.get('play'));\n }\n this.template.playButton.innerHTML = this.icons.get('pause');\n this.video.play();\n this.time.enable();\n this.container.classList.add('dplayer-playing');\n if (this.danmaku) {\n this.danmaku.play();\n }\n if (this.options.mutex) {\n for (var i = 0; i < instances.length; i++) {\n if (this !== instances[i]) {\n instances[i].pause();\n }\n }\n }\n }\n },\n {\n key: 'pause',\n value: function pause() {\n this.paused = true;\n this.container.classList.remove('dplayer-loading');\n if (!this.video.paused) {\n this.bezel.switch(this.icons.get('pause'));\n }\n this.ended = false;\n this.template.playButton.innerHTML = this.icons.get('play');\n this.video.pause();\n this.time.disable();\n this.container.classList.remove('dplayer-playing');\n if (this.danmaku) {\n this.danmaku.pause();\n }\n }\n },\n {\n key: 'switchVolumeIcon',\n value: function switchVolumeIcon() {\n if (this.volume() >= 0.95) {\n this.template.volumeIcon.innerHTML = this.icons.get('volume-up');\n } else if (this.volume() > 0) {\n this.template.volumeIcon.innerHTML = this.icons.get('volume-down');\n } else {\n this.template.volumeIcon.innerHTML = this.icons.get('volume-off');\n }\n }\n },\n {\n key: 'volume',\n value: function volume(percentage, nostorage, nonotice) {\n percentage = parseFloat(percentage);\n if (!isNaN(percentage)) {\n percentage = Math.max(percentage, 0);\n percentage = Math.min(percentage, 1);\n this.bar.set('volume', percentage, 'width');\n var formatPercentage = (percentage * 100).toFixed(0) + '%';\n this.template.volumeBarWrapWrap.dataset.balloon = formatPercentage;\n if (!nostorage) {\n this.user.set('volume', percentage);\n }\n if (!nonotice) {\n this.notice(this.tran('Volume') + ' ' + (percentage * 100).toFixed(0) + '%');\n }\n this.video.volume = percentage;\n if (this.video.muted) {\n this.video.muted = false;\n }\n this.switchVolumeIcon();\n }\n return this.video.volume;\n }\n },\n {\n key: 'toggle',\n value: function toggle() {\n if (this.video.paused) {\n this.play();\n } else {\n this.pause();\n }\n }\n },\n {\n key: 'on',\n value: function on(name, callback) {\n this.events.on(name, callback);\n }\n },\n {\n key: 'switchVideo',\n value: function switchVideo(video, danmakuAPI) {\n this.pause();\n this.video.poster = video.pic ? video.pic : '';\n this.video.src = video.url;\n this.initMSE(this.video, video.type || 'auto');\n if (danmakuAPI) {\n this.template.danmakuLoading.style.display = 'block';\n this.bar.set('played', 0, 'width');\n this.bar.set('loaded', 0, 'width');\n this.template.ptime.innerHTML = '00:00';\n this.template.danmaku.innerHTML = '';\n if (this.danmaku) {\n this.danmaku.reload({\n id: danmakuAPI.id,\n address: danmakuAPI.api,\n token: danmakuAPI.token,\n maximum: danmakuAPI.maximum,\n addition: danmakuAPI.addition,\n user: danmakuAPI.user\n });\n }\n }\n }\n },\n {\n key: 'initMSE',\n value: function initMSE(video, type) {\n this.type = type;\n if (this.type === 'auto') {\n if (/m3u8(#|\\?|$)/i.exec(video.src)) {\n this.type = 'hls';\n } else if (/.flv(#|\\?|$)/i.exec(video.src)) {\n this.type = 'flv';\n } else if (/.mpd(#|\\?|$)/i.exec(video.src)) {\n this.type = 'dash';\n } else {\n this.type = 'normal';\n }\n }\n if (this.type === 'hls' && Hls && Hls.isSupported()) {\n var hls = new Hls();\n hls.loadSource(video.src);\n hls.attachMedia(video);\n }\n if (this.type === 'flv' && flvjs && flvjs.isSupported()) {\n var flvPlayer = flvjs.createPlayer({\n type: 'flv',\n url: video.src\n });\n flvPlayer.attachMediaElement(video);\n flvPlayer.load();\n }\n if (this.type === 'dash' && dashjs) {\n dashjs.MediaPlayer().create().initialize(video, video.src, false);\n }\n }\n },\n {\n key: 'initVideo',\n value: function initVideo(video, type) {\n var _this2 = this;\n this.initMSE(video, type);\n this.on('durationchange', function () {\n if (video.duration !== 1) {\n _this2.template.dtime.innerHTML = _utils2.default.secondToTime(video.duration);\n }\n });\n this.on('progress', function () {\n var percentage = video.buffered.length ? video.buffered.end(video.buffered.length - 1) / video.duration : 0;\n _this2.bar.set('loaded', percentage, 'width');\n });\n this.on('error', function () {\n _this2.tran && _this2.notice && _this2.notice(_this2.tran('This video fails to load'), -1);\n });\n this.ended = false;\n this.on('ended', function () {\n _this2.bar.set('played', 1, 'width');\n if (!_this2.setting.loop) {\n _this2.ended = true;\n _this2.pause();\n } else {\n _this2.seek(0);\n video.play();\n }\n if (_this2.danmaku) {\n _this2.danmaku.danIndex = 0;\n }\n });\n this.on('play', function () {\n if (_this2.paused) {\n _this2.play();\n }\n });\n this.on('pause', function () {\n if (!_this2.paused) {\n _this2.pause();\n }\n });\n var _loop = function _loop(i) {\n video.addEventListener(_this2.events.videoEvents[i], function () {\n _this2.events.trigger(_this2.events.videoEvents[i]);\n });\n };\n for (var i = 0; i < this.events.videoEvents.length; i++) {\n _loop(i);\n }\n this.volume(this.user.get('volume'), true, true);\n if (this.options.subtitle) {\n this.subtitle = new _subtitle2.default(this.template.subtitle, this.video, this.options.subtitle, this.events);\n if (!this.user.get('subtitle')) {\n this.subtitle.hide();\n }\n }\n }\n },\n {\n key: 'switchQuality',\n value: function switchQuality(index) {\n var _this3 = this;\n if (this.qualityIndex === index || this.switchingQuality) {\n return;\n } else {\n this.qualityIndex = index;\n }\n this.switchingQuality = true;\n this.quality = this.options.video.quality[index];\n this.template.qualityButton.innerHTML = this.quality.name;\n var paused = this.video.paused;\n this.video.pause();\n var videoHTML = this.template.tplVideo(false, null, this.options.screenshot, 'auto', this.quality.url, this.options.subtitle);\n var videoEle = new DOMParser().parseFromString(videoHTML, 'text/html').body.firstChild;\n this.template.videoWrap.insertBefore(videoEle, this.template.videoWrap.getElementsByTagName('div')[0]);\n this.prevVideo = this.video;\n this.video = videoEle;\n this.initVideo(this.video, this.quality.type || this.options.video.type);\n this.seek(this.prevVideo.currentTime);\n this.notice(this.tran('Switching to') + ' ' + this.quality.name + ' ' + this.tran('quality'), -1);\n this.events.trigger('quality_start', this.quality);\n this.on('canplay', function () {\n if (_this3.prevVideo) {\n if (_this3.video.currentTime !== _this3.prevVideo.currentTime) {\n _this3.seek(_this3.prevVideo.currentTime);\n return;\n }\n _this3.template.videoWrap.removeChild(_this3.prevVideo);\n _this3.video.classList.add('dplayer-video-current');\n if (!paused) {\n _this3.video.play();\n }\n _this3.prevVideo = null;\n _this3.notice(_this3.tran('Switched to') + ' ' + _this3.quality.name + ' ' + _this3.tran('quality'));\n _this3.switchingQuality = false;\n _this3.events.trigger('quality_end');\n }\n });\n }\n },\n {\n key: 'notice',\n value: function notice(text) {\n var _this4 = this;\n var time = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2000;\n var opacity = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0.8;\n this.template.notice.innerHTML = text;\n this.template.notice.style.opacity = opacity;\n if (this.noticeTime) {\n clearTimeout(this.noticeTime);\n }\n this.events.trigger('notice_show', text);\n this.noticeTime = setTimeout(function () {\n _this4.template.notice.style.opacity = 0;\n _this4.events.trigger('notice_hide');\n }, time);\n }\n },\n {\n key: 'resize',\n value: function resize() {\n if (this.danmaku) {\n this.danmaku.resize();\n }\n this.events.trigger('resize');\n }\n },\n {\n key: 'speed',\n value: function speed(rate) {\n this.video.playbackRate = rate;\n }\n },\n {\n key: 'destroy',\n value: function destroy() {\n instances.splice(instances.indexOf(this), 1);\n this.pause();\n this.controller.destroy();\n this.time.destroy();\n this.video.src = '';\n this.container.innerHTML = '';\n this.events.trigger('destroy');\n for (var key in this) {\n if (this.hasOwnProperty(key) && key !== 'paused') {\n delete this[key];\n }\n }\n }\n }\n ]);\n return DPlayer;\n}();\nexports.default = DPlayer;\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _typeof = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === 'function' && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n};\nvar _api = __webpack_require__(5);\nvar _api2 = _interopRequireDefault(_api);\nvar _utils = __webpack_require__(0);\nvar _utils2 = _interopRequireDefault(_utils);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nexports.default = function (options) {\n if (_utils2.default.isMobile) {\n options.autoplay = false;\n }\n var defaultOption = {\n container: options.element || document.getElementsByClassName('dplayer')[0],\n live: false,\n autoplay: false,\n theme: '#b7daff',\n loop: false,\n lang: (navigator.language || navigator.browserLanguage).toLowerCase(),\n screenshot: false,\n hotkey: true,\n preload: 'auto',\n volume: 0.7,\n apiBackend: _api2.default,\n video: {},\n icons: {\n play: [\n '0 0 16 32',\n 'M15.552 15.168q0.448 0.32 0.448 0.832 0 0.448-0.448 0.768l-13.696 8.512q-0.768 0.512-1.312 0.192t-0.544-1.28v-16.448q0-0.96 0.544-1.28t1.312 0.192z'\n ],\n pause: [\n '0 0 17 32',\n 'M14.080 4.8q2.88 0 2.88 2.048v18.24q0 2.112-2.88 2.112t-2.88-2.112v-18.24q0-2.048 2.88-2.048zM2.88 4.8q2.88 0 2.88 2.048v18.24q0 2.112-2.88 2.112t-2.88-2.112v-18.24q0-2.048 2.88-2.048z'\n ],\n 'volume-up': [\n '0 0 21 32',\n 'M13.728 6.272v19.456q0 0.448-0.352 0.8t-0.8 0.32-0.8-0.32l-5.952-5.952h-4.672q-0.48 0-0.8-0.352t-0.352-0.8v-6.848q0-0.48 0.352-0.8t0.8-0.352h4.672l5.952-5.952q0.32-0.32 0.8-0.32t0.8 0.32 0.352 0.8zM20.576 16q0 1.344-0.768 2.528t-2.016 1.664q-0.16 0.096-0.448 0.096-0.448 0-0.8-0.32t-0.32-0.832q0-0.384 0.192-0.64t0.544-0.448 0.608-0.384 0.512-0.64 0.192-1.024-0.192-1.024-0.512-0.64-0.608-0.384-0.544-0.448-0.192-0.64q0-0.48 0.32-0.832t0.8-0.32q0.288 0 0.448 0.096 1.248 0.48 2.016 1.664t0.768 2.528zM25.152 16q0 2.72-1.536 5.056t-4 3.36q-0.256 0.096-0.448 0.096-0.48 0-0.832-0.352t-0.32-0.8q0-0.704 0.672-1.056 1.024-0.512 1.376-0.8 1.312-0.96 2.048-2.4t0.736-3.104-0.736-3.104-2.048-2.4q-0.352-0.288-1.376-0.8-0.672-0.352-0.672-1.056 0-0.448 0.32-0.8t0.8-0.352q0.224 0 0.48 0.096 2.496 1.056 4 3.36t1.536 5.056z'\n ],\n 'volume-down': [\n '0 0 21 32',\n 'M13.728 6.272v19.456q0 0.448-0.352 0.8t-0.8 0.32-0.8-0.32l-5.952-5.952h-4.672q-0.48 0-0.8-0.352t-0.352-0.8v-6.848q0-0.48 0.352-0.8t0.8-0.352h4.672l5.952-5.952q0.32-0.32 0.8-0.32t0.8 0.32 0.352 0.8zM20.576 16q0 1.344-0.768 2.528t-2.016 1.664q-0.16 0.096-0.448 0.096-0.448 0-0.8-0.32t-0.32-0.832q0-0.384 0.192-0.64t0.544-0.448 0.608-0.384 0.512-0.64 0.192-1.024-0.192-1.024-0.512-0.64-0.608-0.384-0.544-0.448-0.192-0.64q0-0.48 0.32-0.832t0.8-0.32q0.288 0 0.448 0.096 1.248 0.48 2.016 1.664t0.768 2.528z'\n ],\n 'volume-off': [\n '0 0 21 32',\n 'M13.728 6.272v19.456q0 0.448-0.352 0.8t-0.8 0.32-0.8-0.32l-5.952-5.952h-4.672q-0.48 0-0.8-0.352t-0.352-0.8v-6.848q0-0.48 0.352-0.8t0.8-0.352h4.672l5.952-5.952q0.32-0.32 0.8-0.32t0.8 0.32 0.352 0.8z'\n ],\n loop: [\n '0 0 32 32',\n 'M1.882 16.941c0 4.152 3.221 7.529 7.177 7.529v1.882c-4.996 0-9.060-4.222-9.060-9.412s4.064-9.412 9.060-9.412h7.96l-3.098-3.098 1.331-1.331 5.372 5.37-5.37 5.372-1.333-1.333 3.1-3.098h-7.962c-3.957 0-7.177 3.377-7.177 7.529zM22.94 7.529v1.882c3.957 0 7.177 3.377 7.177 7.529s-3.221 7.529-7.177 7.529h-7.962l3.098-3.098-1.331-1.331-5.37 5.37 5.372 5.372 1.331-1.331-3.1-3.1h7.96c4.998 0 9.062-4.222 9.062-9.412s-4.064-9.412-9.060-9.412z'\n ],\n full: [\n '0 0 32 33',\n 'M6.667 28h-5.333c-0.8 0-1.333-0.533-1.333-1.333v-5.333c0-0.8 0.533-1.333 1.333-1.333s1.333 0.533 1.333 1.333v4h4c0.8 0 1.333 0.533 1.333 1.333s-0.533 1.333-1.333 1.333zM30.667 28h-5.333c-0.8 0-1.333-0.533-1.333-1.333s0.533-1.333 1.333-1.333h4v-4c0-0.8 0.533-1.333 1.333-1.333s1.333 0.533 1.333 1.333v5.333c0 0.8-0.533 1.333-1.333 1.333zM30.667 12c-0.8 0-1.333-0.533-1.333-1.333v-4h-4c-0.8 0-1.333-0.533-1.333-1.333s0.533-1.333 1.333-1.333h5.333c0.8 0 1.333 0.533 1.333 1.333v5.333c0 0.8-0.533 1.333-1.333 1.333zM1.333 12c-0.8 0-1.333-0.533-1.333-1.333v-5.333c0-0.8 0.533-1.333 1.333-1.333h5.333c0.8 0 1.333 0.533 1.333 1.333s-0.533 1.333-1.333 1.333h-4v4c0 0.8-0.533 1.333-1.333 1.333z'\n ],\n 'full-in': [\n '0 0 32 33',\n 'M24.965 24.38h-18.132c-1.366 0-2.478-1.113-2.478-2.478v-11.806c0-1.364 1.111-2.478 2.478-2.478h18.132c1.366 0 2.478 1.113 2.478 2.478v11.806c0 1.364-1.11 2.478-2.478 2.478zM6.833 10.097v11.806h18.134l-0.002-11.806h-18.132zM2.478 28.928h5.952c0.684 0 1.238-0.554 1.238-1.239 0-0.684-0.554-1.238-1.238-1.238h-5.952v-5.802c0-0.684-0.554-1.239-1.238-1.239s-1.239 0.556-1.239 1.239v5.802c0 1.365 1.111 2.478 2.478 2.478zM30.761 19.412c-0.684 0-1.238 0.554-1.238 1.238v5.801h-5.951c-0.686 0-1.239 0.554-1.239 1.238 0 0.686 0.554 1.239 1.239 1.239h5.951c1.366 0 2.478-1.111 2.478-2.478v-5.801c0-0.683-0.554-1.238-1.239-1.238zM0 5.55v5.802c0 0.683 0.554 1.238 1.238 1.238s1.238-0.555 1.238-1.238v-5.802h5.952c0.684 0 1.238-0.554 1.238-1.238s-0.554-1.238-1.238-1.238h-5.951c-1.366-0.001-2.478 1.111-2.478 2.476zM32 11.35v-5.801c0-1.365-1.11-2.478-2.478-2.478h-5.951c-0.686 0-1.239 0.554-1.239 1.238s0.554 1.238 1.239 1.238h5.951v5.801c0 0.683 0.554 1.237 1.238 1.237 0.686 0.002 1.239-0.553 1.239-1.236z'\n ],\n setting: [\n '0 0 32 28',\n 'M28.633 17.104c0.035 0.21 0.026 0.463-0.026 0.76s-0.14 0.598-0.262 0.904c-0.122 0.306-0.271 0.581-0.445 0.825s-0.367 0.419-0.576 0.524c-0.209 0.105-0.393 0.157-0.55 0.157s-0.332-0.035-0.524-0.105c-0.175-0.052-0.393-0.1-0.655-0.144s-0.528-0.052-0.799-0.026c-0.271 0.026-0.541 0.083-0.812 0.17s-0.502 0.236-0.694 0.445c-0.419 0.437-0.664 0.934-0.734 1.493s0.009 1.092 0.236 1.598c0.175 0.349 0.148 0.699-0.079 1.048-0.105 0.14-0.271 0.284-0.498 0.432s-0.476 0.284-0.747 0.406-0.555 0.218-0.851 0.288c-0.297 0.070-0.559 0.105-0.786 0.105-0.157 0-0.306-0.061-0.445-0.183s-0.236-0.253-0.288-0.393h-0.026c-0.192-0.541-0.52-1.009-0.982-1.402s-1-0.589-1.611-0.589c-0.594 0-1.131 0.197-1.611 0.589s-0.816 0.851-1.009 1.375c-0.087 0.21-0.218 0.362-0.393 0.458s-0.367 0.144-0.576 0.144c-0.244 0-0.52-0.044-0.825-0.131s-0.611-0.197-0.917-0.327c-0.306-0.131-0.581-0.284-0.825-0.458s-0.428-0.349-0.55-0.524c-0.087-0.122-0.135-0.266-0.144-0.432s0.057-0.397 0.197-0.694c0.192-0.402 0.266-0.86 0.223-1.375s-0.266-0.991-0.668-1.428c-0.244-0.262-0.541-0.432-0.891-0.511s-0.681-0.109-0.995-0.092c-0.367 0.017-0.742 0.087-1.127 0.21-0.244 0.070-0.489 0.052-0.734-0.052-0.192-0.070-0.371-0.231-0.537-0.485s-0.314-0.533-0.445-0.838c-0.131-0.306-0.231-0.62-0.301-0.943s-0.087-0.59-0.052-0.799c0.052-0.384 0.227-0.629 0.524-0.734 0.524-0.21 0.995-0.555 1.415-1.035s0.629-1.017 0.629-1.611c0-0.611-0.21-1.144-0.629-1.598s-0.891-0.786-1.415-0.996c-0.157-0.052-0.288-0.179-0.393-0.38s-0.157-0.406-0.157-0.616c0-0.227 0.035-0.48 0.105-0.76s0.162-0.55 0.275-0.812 0.244-0.502 0.393-0.72c0.148-0.218 0.31-0.38 0.485-0.485 0.14-0.087 0.275-0.122 0.406-0.105s0.275 0.052 0.432 0.105c0.524 0.21 1.070 0.275 1.637 0.197s1.070-0.327 1.506-0.747c0.21-0.209 0.362-0.467 0.458-0.773s0.157-0.607 0.183-0.904c0.026-0.297 0.026-0.568 0-0.812s-0.048-0.419-0.065-0.524c-0.035-0.105-0.066-0.227-0.092-0.367s-0.013-0.262 0.039-0.367c0.105-0.244 0.293-0.458 0.563-0.642s0.563-0.336 0.878-0.458c0.314-0.122 0.62-0.214 0.917-0.275s0.533-0.092 0.707-0.092c0.227 0 0.406 0.074 0.537 0.223s0.223 0.301 0.275 0.458c0.192 0.471 0.507 0.886 0.943 1.244s0.952 0.537 1.546 0.537c0.611 0 1.153-0.17 1.624-0.511s0.803-0.773 0.996-1.297c0.070-0.14 0.179-0.284 0.327-0.432s0.301-0.223 0.458-0.223c0.244 0 0.511 0.035 0.799 0.105s0.572 0.166 0.851 0.288c0.279 0.122 0.537 0.279 0.773 0.472s0.423 0.402 0.563 0.629c0.087 0.14 0.113 0.293 0.079 0.458s-0.070 0.284-0.105 0.354c-0.227 0.506-0.297 1.039-0.21 1.598s0.341 1.048 0.76 1.467c0.419 0.419 0.934 0.651 1.546 0.694s1.179-0.057 1.703-0.301c0.14-0.087 0.31-0.122 0.511-0.105s0.371 0.096 0.511 0.236c0.262 0.244 0.493 0.616 0.694 1.113s0.336 1 0.406 1.506c0.035 0.297-0.013 0.528-0.144 0.694s-0.266 0.275-0.406 0.327c-0.542 0.192-1.004 0.528-1.388 1.009s-0.576 1.026-0.576 1.637c0 0.594 0.162 1.113 0.485 1.559s0.747 0.764 1.27 0.956c0.122 0.070 0.227 0.14 0.314 0.21 0.192 0.157 0.323 0.358 0.393 0.602v0zM16.451 19.462c0.786 0 1.528-0.149 2.227-0.445s1.305-0.707 1.821-1.231c0.515-0.524 0.921-1.131 1.218-1.821s0.445-1.428 0.445-2.214c0-0.786-0.148-1.524-0.445-2.214s-0.703-1.292-1.218-1.808c-0.515-0.515-1.122-0.921-1.821-1.218s-1.441-0.445-2.227-0.445c-0.786 0-1.524 0.148-2.214 0.445s-1.292 0.703-1.808 1.218c-0.515 0.515-0.921 1.118-1.218 1.808s-0.445 1.428-0.445 2.214c0 0.786 0.149 1.524 0.445 2.214s0.703 1.297 1.218 1.821c0.515 0.524 1.118 0.934 1.808 1.231s1.428 0.445 2.214 0.445v0z'\n ],\n right: [\n '0 0 32 32',\n 'M22 16l-10.105-10.6-1.895 1.987 8.211 8.613-8.211 8.612 1.895 1.988 8.211-8.613z'\n ],\n comment: [\n '0 0 32 32',\n 'M27.128 0.38h-22.553c-2.336 0-4.229 1.825-4.229 4.076v16.273c0 2.251 1.893 4.076 4.229 4.076h4.229v-2.685h8.403l-8.784 8.072 1.566 1.44 7.429-6.827h9.71c2.335 0 4.229-1.825 4.229-4.076v-16.273c0-2.252-1.894-4.076-4.229-4.076zM28.538 19.403c0 1.5-1.262 2.717-2.819 2.717h-8.36l-0.076-0.070-0.076 0.070h-11.223c-1.557 0-2.819-1.217-2.819-2.717v-13.589c0-1.501 1.262-2.718 2.819-2.718h19.734c1.557 0 2.819-0.141 2.819 1.359v14.947zM9.206 10.557c-1.222 0-2.215 0.911-2.215 2.036s0.992 2.035 2.215 2.035c1.224 0 2.216-0.911 2.216-2.035s-0.992-2.036-2.216-2.036zM22.496 10.557c-1.224 0-2.215 0.911-2.215 2.036s0.991 2.035 2.215 2.035c1.224 0 2.215-0.911 2.215-2.035s-0.991-2.036-2.215-2.036zM15.852 10.557c-1.224 0-2.215 0.911-2.215 2.036s0.991 2.035 2.215 2.035c1.222 0 2.215-0.911 2.215-2.035s-0.992-2.036-2.215-2.036z'\n ],\n 'comment-off': [\n '0 0 32 32',\n 'M27.090 0.131h-22.731c-2.354 0-4.262 1.839-4.262 4.109v16.401c0 2.269 1.908 4.109 4.262 4.109h4.262v-2.706h8.469l-8.853 8.135 1.579 1.451 7.487-6.88h9.787c2.353 0 4.262-1.84 4.262-4.109v-16.401c0-2.27-1.909-4.109-4.262-4.109v0zM28.511 19.304c0 1.512-1.272 2.738-2.841 2.738h-8.425l-0.076-0.070-0.076 0.070h-11.311c-1.569 0-2.841-1.226-2.841-2.738v-13.696c0-1.513 1.272-2.739 2.841-2.739h19.889c1.569 0 2.841-0.142 2.841 1.37v15.064z'\n ],\n send: [\n '0 0 32 32',\n 'M13.725 30l3.9-5.325-3.9-1.125v6.45zM0 17.5l11.050 3.35 13.6-11.55-10.55 12.425 11.8 3.65 6.1-23.375-32 15.5z'\n ],\n pallette: [\n '0 0 32 32',\n 'M19.357 2.88c1.749 0 3.366 0.316 4.851 0.946 1.485 0.632 2.768 1.474 3.845 2.533s1.922 2.279 2.532 3.661c0.611 1.383 0.915 2.829 0.915 4.334 0 1.425-0.304 2.847-0.915 4.271-0.611 1.425-1.587 2.767-2.928 4.028-0.855 0.813-1.811 1.607-2.869 2.38s-2.136 1.465-3.233 2.075c-1.099 0.61-2.198 1.098-3.296 1.465-1.098 0.366-2.115 0.549-3.051 0.549-1.343 0-2.441-0.438-3.296-1.311-0.854-0.876-1.281-2.41-1.281-4.608 0-0.366 0.020-0.773 0.060-1.221s0.062-0.895 0.062-1.343c0-0.773-0.183-1.353-0.55-1.738-0.366-0.387-0.793-0.58-1.281-0.58-0.652 0-1.21 0.295-1.678 0.886s-0.926 1.23-1.373 1.921c-0.447 0.693-0.905 1.334-1.372 1.923s-1.028 0.886-1.679 0.886c-0.529 0-1.048-0.427-1.556-1.282s-0.763-2.259-0.763-4.212c0-2.197 0.529-4.241 1.587-6.133s2.462-3.529 4.21-4.912c1.75-1.383 3.762-2.471 6.041-3.264 2.277-0.796 4.617-1.212 7.018-1.253zM7.334 15.817c0.569 0 1.047-0.204 1.434-0.611s0.579-0.875 0.579-1.404c0-0.569-0.193-1.047-0.579-1.434s-0.864-0.579-1.434-0.579c-0.529 0-0.987 0.193-1.373 0.579s-0.58 0.864-0.58 1.434c0 0.53 0.194 0.998 0.58 1.404 0.388 0.407 0.845 0.611 1.373 0.611zM12.216 11.79c0.691 0 1.292-0.254 1.8-0.763s0.762-1.107 0.762-1.8c0-0.732-0.255-1.343-0.762-1.831-0.509-0.489-1.109-0.732-1.8-0.732-0.732 0-1.342 0.244-1.831 0.732-0.488 0.488-0.732 1.098-0.732 1.831 0 0.693 0.244 1.292 0.732 1.8s1.099 0.763 1.831 0.763zM16.366 25.947c0.692 0 1.282-0.214 1.77-0.64s0.732-0.987 0.732-1.678-0.244-1.261-0.732-1.709c-0.489-0.448-1.078-0.671-1.77-0.671-0.65 0-1.21 0.223-1.678 0.671s-0.702 1.018-0.702 1.709c0 0.692 0.234 1.25 0.702 1.678s1.027 0.64 1.678 0.64zM19.113 9.592c0.651 0 1.129-0.203 1.433-0.611 0.305-0.406 0.459-0.874 0.459-1.404 0-0.488-0.154-0.947-0.459-1.373-0.304-0.427-0.782-0.641-1.433-0.641-0.529 0-1.008 0.193-1.434 0.58s-0.64 0.865-0.64 1.434c0 0.571 0.213 1.049 0.64 1.434 0.427 0.389 0.905 0.581 1.434 0.581zM24.848 12.826c0.57 0 1.067-0.213 1.495-0.64 0.427-0.427 0.64-0.947 0.64-1.556 0-0.57-0.214-1.068-0.64-1.495-0.428-0.427-0.927-0.64-1.495-0.64-0.611 0-1.129 0.213-1.555 0.64-0.428 0.427-0.642 0.926-0.642 1.495 0 0.611 0.213 1.129 0.642 1.556s0.947 0.64 1.555 0.64z'\n ],\n camera: [\n '0 0 32 32',\n 'M16 23c-3.309 0-6-2.691-6-6s2.691-6 6-6 6 2.691 6 6-2.691 6-6 6zM16 13c-2.206 0-4 1.794-4 4s1.794 4 4 4c2.206 0 4-1.794 4-4s-1.794-4-4-4zM27 28h-22c-1.654 0-3-1.346-3-3v-16c0-1.654 1.346-3 3-3h3c0.552 0 1 0.448 1 1s-0.448 1-1 1h-3c-0.551 0-1 0.449-1 1v16c0 0.552 0.449 1 1 1h22c0.552 0 1-0.448 1-1v-16c0-0.551-0.448-1-1-1h-11c-0.552 0-1-0.448-1-1s0.448-1 1-1h11c1.654 0 3 1.346 3 3v16c0 1.654-1.346 3-3 3zM24 10.5c0 0.828 0.672 1.5 1.5 1.5s1.5-0.672 1.5-1.5c0-0.828-0.672-1.5-1.5-1.5s-1.5 0.672-1.5 1.5zM15 4c0 0.552-0.448 1-1 1h-4c-0.552 0-1-0.448-1-1v0c0-0.552 0.448-1 1-1h4c0.552 0 1 0.448 1 1v0z'\n ],\n subtitle: [\n '0 0 32 32',\n 'M26.667 5.333h-21.333c-0 0-0.001 0-0.001 0-1.472 0-2.666 1.194-2.666 2.666 0 0 0 0.001 0 0.001v-0 16c0 0 0 0.001 0 0.001 0 1.472 1.194 2.666 2.666 2.666 0 0 0.001 0 0.001 0h21.333c0 0 0.001 0 0.001 0 1.472 0 2.666-1.194 2.666-2.666 0-0 0-0.001 0-0.001v0-16c0-0 0-0.001 0-0.001 0-1.472-1.194-2.666-2.666-2.666-0 0-0.001 0-0.001 0h0zM5.333 16h5.333v2.667h-5.333v-2.667zM18.667 24h-13.333v-2.667h13.333v2.667zM26.667 24h-5.333v-2.667h5.333v2.667zM26.667 18.667h-13.333v-2.667h13.333v2.667z'\n ]\n },\n iconsColor: '#ffffff',\n contextmenu: [],\n mutex: true\n };\n for (var defaultKey in defaultOption) {\n if (defaultOption.hasOwnProperty(defaultKey) && !options.hasOwnProperty(defaultKey)) {\n options[defaultKey] = defaultOption[defaultKey];\n }\n }\n if (options.video) {\n !options.video.type && (options.video.type = 'auto');\n }\n if (_typeof(options.danmaku) === 'object' && options.danmaku) {\n !options.danmaku.user && (options.danmaku.user = 'DIYgod');\n }\n if (options.subtitle) {\n !options.subtitle.type && (options.subtitle.type = 'webvtt');\n !options.subtitle.fontSize && (options.subtitle.fontSize = '20px');\n !options.subtitle.bottom && (options.subtitle.bottom = '40px');\n !options.subtitle.color && (options.subtitle.color = '#fff');\n }\n if (options.video.quality) {\n options.video.url = [options.video.quality[options.video.defaultQuality].url];\n }\n if (options.lang) {\n options.lang = options.lang.toLowerCase();\n }\n if (options.icons) {\n options.icons = Object.assign({}, defaultOption.icons, options.icons);\n }\n options.contextmenu = options.contextmenu.concat([\n {\n text: 'About author',\n link: 'https://diygod.me'\n },\n {\n text: 'About DPlayer',\n link: 'https://github.com/MoePlayer/DPlayer'\n },\n {\n text: 'DPlayer feedback',\n link: 'https://github.com/DIYgod/DPlayer/issues'\n },\n {\n text: 'DPlayer ' + \"1.18.0\" + ' ' + \"3b675ea\",\n link: 'https://github.com/MoePlayer/DPlayer/releases'\n }\n ]);\n return options;\n};\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, '__esModule', { value: true });\nvar SendXMLHttpRequest = function SendXMLHttpRequest(url, data, success, error, fail) {\n var xhr = new XMLHttpRequest();\n xhr.onreadystatechange = function () {\n if (xhr.readyState === 4) {\n if (xhr.status >= 200 && xhr.status < 300 || xhr.status === 304) {\n var response = JSON.parse(xhr.responseText);\n if (response.code !== 1) {\n return error(xhr, response);\n }\n return success(xhr, response);\n }\n fail(xhr);\n }\n };\n xhr.open(data !== null ? 'POST' : 'GET', url, true);\n xhr.send(data !== null ? JSON.stringify(data) : null);\n};\nexports.default = {\n send: function send(endpoint, danmakuData, callback) {\n SendXMLHttpRequest(endpoint, danmakuData, function (xhr, response) {\n console.log('Post danmaku: ', response);\n if (callback) {\n callback();\n }\n }, function (xhr, response) {\n alert(response.msg);\n }, function (xhr) {\n console.log('Request was unsuccessful: ' + xhr.status);\n });\n },\n read: function read(endpoint, callback) {\n SendXMLHttpRequest(endpoint, null, function (xhr, response) {\n callback(null, response.danmaku);\n }, function (xhr, response) {\n callback({\n status: xhr.status,\n response: response\n });\n }, function (xhr) {\n callback({\n status: xhr.status,\n response: null\n });\n });\n }\n};\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, '__esModule', { value: true });\nfunction i18n(lang) {\n var _this = this;\n this.lang = lang;\n this.tran = function (text) {\n if (tranTxt[_this.lang] && tranTxt[_this.lang][text]) {\n return tranTxt[_this.lang][text];\n } else {\n return text;\n }\n };\n}\nvar tranTxt = {\n 'zh-cn': {\n 'Danmaku is loading': '弹幕加载中',\n 'Top': '顶部',\n 'Bottom': '底部',\n 'Rolling': '滚动',\n 'Input danmaku, hit Enter': '输入弹幕\\uFF0C回车发送',\n 'About author': '关于作者',\n 'DPlayer feedback': '播放器意见反馈',\n 'About DPlayer': '关于 DPlayer 播放器',\n 'Loop': '洗脑循环',\n 'Speed': '速度',\n 'Opacity for danmaku': '弹幕透明度',\n 'Normal': '正常',\n 'Please input danmaku content!': '要输入弹幕内容啊喂\\uFF01',\n 'Set danmaku color': '设置弹幕颜色',\n 'Set danmaku type': '设置弹幕类型',\n 'Show danmaku': '显示弹幕',\n 'This video fails to load': '视频加载失败',\n 'Switching to': '正在切换至',\n 'Switched to': '已经切换至',\n 'quality': '画质',\n 'FF': '快进',\n 'REW': '快退',\n 'Unlimited danmaku': '海量弹幕',\n 'Send danmaku': '发送弹幕',\n 'Setting': '设置',\n 'Full screen': '全屏',\n 'Web full screen': '页面全屏',\n 'Send': '发送',\n 'Screenshot': '截图',\n 's': '秒',\n 'Show subtitle': '显示字幕',\n 'Hide subtitle': '隐藏字幕',\n 'Volume': '音量',\n 'Live': '直播'\n },\n 'zh-tw': {\n 'Danmaku is loading': '彈幕加載中',\n 'Top': '頂部',\n 'Bottom': '底部',\n 'Rolling': '滾動',\n 'Input danmaku, hit Enter': '輸入彈幕\\uFF0CEnter 發送',\n 'About author': '關於作者',\n 'DPlayer feedback': '播放器意見反饋',\n 'About DPlayer': '關於 DPlayer 播放器',\n 'Loop': '循環播放',\n 'Speed': '速度',\n 'Opacity for danmaku': '彈幕透明度',\n 'Normal': '正常',\n 'Please input danmaku content!': '請輸入彈幕内容啊\\uFF01',\n 'Set danmaku color': '設置彈幕顏色',\n 'Set danmaku type': '設置彈幕類型',\n 'Show danmaku': '顯示彈幕',\n 'This video fails to load': '視頻加載失敗',\n 'Switching to': '正在切換至',\n 'Switched to': '已經切換至',\n 'quality': '畫質',\n 'FF': '快進',\n 'REW': '快退',\n 'Unlimited danmaku': '海量彈幕',\n 'Send danmaku': '發送彈幕',\n 'Setting': '設置',\n 'Full screen': '全屏',\n 'Web full screen': '頁面全屏',\n 'Send': '發送',\n 'Screenshot': '截圖',\n 's': '秒',\n 'Show subtitle': '顯示字幕',\n 'Hide subtitle': '隱藏字幕',\n 'Volume': '音量',\n 'Live': '直播'\n }\n};\nexports.default = i18n;\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar Template = function () {\n function Template(options) {\n _classCallCheck(this, Template);\n this.container = options.container;\n this.options = options.options;\n this.index = options.index;\n this.tran = options.tran;\n this.icons = options.icons;\n this.init();\n }\n _createClass(Template, [\n {\n key: 'init',\n value: function init() {\n this.container.innerHTML = this.tpl(this.options, this.index, this.tran, this.icons);\n this.volumeBar = this.container.querySelector('.dplayer-volume-bar-inner');\n this.volumeBarWrap = this.container.querySelector('.dplayer-volume-bar');\n this.volumeBarWrapWrap = this.container.querySelector('.dplayer-volume-bar-wrap');\n this.volumeButton = this.container.querySelector('.dplayer-volume');\n this.volumeIcon = this.container.querySelector('.dplayer-volume-icon .dplayer-icon-content');\n this.playedBar = this.container.querySelector('.dplayer-played');\n this.loadedBar = this.container.querySelector('.dplayer-loaded');\n this.playedBarWrap = this.container.querySelector('.dplayer-bar-wrap');\n this.playedBarTime = this.container.querySelector('.dplayer-bar-time');\n this.danmaku = this.container.querySelector('.dplayer-danmaku');\n this.danmakuLoading = this.container.querySelector('.dplayer-danloading');\n this.video = this.container.querySelector('.dplayer-video-current');\n this.bezel = this.container.querySelector('.dplayer-bezel-icon');\n this.playButton = this.container.querySelector('.dplayer-play-icon');\n this.videoWrap = this.container.querySelector('.dplayer-video-wrap');\n this.controllerMask = this.container.querySelector('.dplayer-controller-mask');\n this.ptime = this.container.querySelector('.dplayer-ptime');\n this.settingButton = this.container.querySelector('.dplayer-setting-icon');\n this.settingBox = this.container.querySelector('.dplayer-setting-box');\n this.mask = this.container.querySelector('.dplayer-mask');\n this.loop = this.container.querySelector('.dplayer-setting-loop');\n this.loopToggle = this.container.querySelector('.dplayer-setting-loop .dplayer-toggle-setting-input');\n this.showDanmaku = this.container.querySelector('.dplayer-setting-showdan');\n this.showDanmakuToggle = this.container.querySelector('.dplayer-showdan-setting-input');\n this.unlimitDanmaku = this.container.querySelector('.dplayer-setting-danunlimit');\n this.unlimitDanmakuToggle = this.container.querySelector('.dplayer-danunlimit-setting-input');\n this.speed = this.container.querySelector('.dplayer-setting-speed');\n this.speedItem = this.container.querySelectorAll('.dplayer-setting-speed-item');\n this.danmakuOpacityBar = this.container.querySelector('.dplayer-danmaku-bar-inner');\n this.danmakuOpacityBarWrap = this.container.querySelector('.dplayer-danmaku-bar');\n this.danmakuOpacityBarWrapWrap = this.container.querySelector('.dplayer-danmaku-bar-wrap');\n this.danmakuOpacityBox = this.container.querySelector('.dplayer-setting-danmaku');\n this.dtime = this.container.querySelector('.dplayer-dtime');\n this.controller = this.container.querySelector('.dplayer-controller');\n this.commentInput = this.container.querySelector('.dplayer-comment-input');\n this.commentButton = this.container.querySelector('.dplayer-comment-icon');\n this.commentSettingBox = this.container.querySelector('.dplayer-comment-setting-box');\n this.commentSettingButton = this.container.querySelector('.dplayer-comment-setting-icon');\n this.commentSettingFill = this.container.querySelector('.dplayer-comment-setting-icon .dplayer-fill');\n this.commentSendButton = this.container.querySelector('.dplayer-send-icon');\n this.commentSendFill = this.container.querySelector('.dplayer-send-icon .dplayer-fill');\n this.commentColorSettingBox = this.container.querySelector('.dplayer-comment-setting-color');\n this.browserFullButton = this.container.querySelector('.dplayer-full-icon');\n this.webFullButton = this.container.querySelector('.dplayer-full-in-icon');\n this.menu = this.container.querySelector('.dplayer-menu');\n this.qualityList = this.container.querySelector('.dplayer-quality-list');\n this.camareButton = this.container.querySelector('.dplayer-camera-icon');\n this.subtitleButton = this.container.querySelector('.dplayer-subtitle-icon');\n this.subtitleButtonInner = this.container.querySelector('.dplayer-subtitle-icon .dplayer-icon-content');\n this.subtitle = this.container.querySelector('.dplayer-subtitle');\n this.qualityButton = this.container.querySelector('.dplayer-quality-icon');\n this.barPreview = this.container.querySelector('.dplayer-bar-preview');\n this.barWrap = this.container.querySelector('.dplayer-bar-wrap');\n this.notice = this.container.querySelector('.dplayer-notice');\n }\n },\n {\n key: 'tpl',\n value: function tpl(options, index, tran, icons) {\n return '
' + this.tplVideo(true, options.video.pic, options.screenshot, options.preload, options.video.url, options.subtitle) + '' + (options.logo ? '
' : '') + '
' + (options.danmaku ? '' + tran('Danmaku is loading') + '' : '') + '
' + tran('Set danmaku color') + '
' + tran('Set danmaku type') + '
0:00 / 0:00' + (options.live ? '' + tran('Live') + '' : '') + '
' + (options.video.quality ? '
' + this.tplQualityList(options.video.quality) + '
' : '') + '' + (options.screenshot ? '' + icons.get('camera') + '' : '') + '
' + (options.subtitle ? '
' : '') + '
' + tran('Speed') + '
' + icons.get('right') + '
' + tran('Loop') + '
' + tran('Show danmaku') + '
' + tran('Unlimited danmaku') + '
' + tran('Opacity for danmaku') + '
0.5
0.75
' + tran('Normal') + '
1.25
1.5
2
00:00
' + this.tplContextmenuList(options.contextmenu, tran) + '
';\n }\n },\n {\n key: 'tplDanmakumargin',\n value: function tplDanmakumargin(margin) {\n var result = '';\n if (margin) {\n for (var key in margin) {\n result += key + ':' + margin[key] + ';';\n }\n }\n return result;\n }\n },\n {\n key: 'tplContextmenuList',\n value: function tplContextmenuList(contextmenu, tran) {\n var result = '
';\n for (var i = 0; i < contextmenu.length; i++) {\n result += '';\n }\n result += '
';\n return result;\n }\n },\n {\n key: 'tplQualityList',\n value: function tplQualityList(quality) {\n var result = '
';\n for (var i = 0; i < quality.length; i++) {\n result += '
' + quality[i].name + '
';\n }\n result += '
';\n return result;\n }\n },\n {\n key: 'tplVideo',\n value: function tplVideo(current, pic, screenshot, preload, url, subtitle) {\n var enableSubtitle = subtitle && subtitle.type === 'webvtt';\n return '';\n }\n }\n ]);\n return Template;\n}();\nexports.default = Template;\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar SvgSource = function () {\n function SvgSource(options) {\n _classCallCheck(this, SvgSource);\n this.icons = options.icons;\n this.iconColor = options.iconsColor;\n }\n _createClass(SvgSource, [{\n key: 'get',\n value: function get(type) {\n return '';\n }\n }]);\n return SvgSource;\n}();\nexports.default = SvgSource;\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _typeof = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === 'function' && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n};\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar Danmaku = function () {\n function Danmaku(options) {\n _classCallCheck(this, Danmaku);\n this.options = options;\n this.container = this.options.container;\n this.danTunnel = {\n right: {},\n top: {},\n bottom: {}\n };\n this.danIndex = 0;\n this.dan = [];\n this.showing = true;\n this._opacity = this.options.opacity;\n this.events = this.options.events;\n this.unlimited = this.options.unlimited;\n this._measure('');\n this.load();\n }\n _createClass(Danmaku, [\n {\n key: 'load',\n value: function load() {\n var _this = this;\n var apiurl = void 0;\n if (this.options.api.maximum) {\n apiurl = this.options.api.address + '?id=' + this.options.api.id + '&max=' + this.options.api.maximum;\n } else {\n apiurl = this.options.api.address + '?id=' + this.options.api.id;\n }\n var endpoints = (this.options.api.addition || []).slice(0);\n endpoints.push(apiurl);\n this.events && this.events.trigger('danmaku_load_start', endpoints);\n this._readAllEndpoints(endpoints, function (results) {\n _this.dan = [].concat.apply([], results).sort(function (a, b) {\n return a.time - b.time;\n });\n window.requestAnimationFrame(function () {\n _this.frame();\n });\n _this.options.callback();\n _this.events && _this.events.trigger('danmaku_load_end');\n });\n }\n },\n {\n key: 'reload',\n value: function reload(newAPI) {\n this.options.api = newAPI;\n this.dan = [];\n this.clear();\n this.load();\n }\n },\n {\n key: '_readAllEndpoints',\n value: function _readAllEndpoints(endpoints, callback) {\n var _this2 = this;\n var results = [];\n var readCount = 0;\n var cbk = function cbk(i) {\n return function (err, data) {\n ++readCount;\n if (err) {\n if (err.response) {\n _this2.options.error(err.response.msg);\n } else {\n _this2.options.error('Request was unsuccessful: ' + err.status);\n }\n results[i] = [];\n } else {\n results[i] = data;\n }\n if (readCount === endpoints.length) {\n return callback(results);\n }\n };\n };\n for (var i = 0; i < endpoints.length; ++i) {\n this.options.apiBackend.read(endpoints[i], cbk(i));\n }\n }\n },\n {\n key: 'send',\n value: function send(dan, callback) {\n var danmakuData = {\n token: this.options.api.token,\n player: this.options.api.id,\n author: this.options.api.user,\n time: this.options.time(),\n text: dan.text,\n color: dan.color,\n type: dan.type\n };\n this.options.apiBackend.send(this.options.api.address, danmakuData, callback);\n this.dan.splice(this.danIndex, 0, danmakuData);\n this.danIndex++;\n var danmaku = {\n text: this.htmlEncode(danmakuData.text),\n color: danmakuData.color,\n type: danmakuData.type,\n border: '2px solid ' + this.options.borderColor\n };\n this.draw(danmaku);\n this.events && this.events.trigger('danmaku_send', danmakuData);\n }\n },\n {\n key: 'frame',\n value: function frame() {\n var _this3 = this;\n if (this.dan.length && !this.paused && this.showing) {\n var item = this.dan[this.danIndex];\n var dan = [];\n while (item && this.options.time() > parseFloat(item.time)) {\n dan.push(item);\n item = this.dan[++this.danIndex];\n }\n this.draw(dan);\n }\n window.requestAnimationFrame(function () {\n _this3.frame();\n });\n }\n },\n {\n key: 'opacity',\n value: function opacity(percentage) {\n if (percentage !== undefined) {\n var items = this.container.getElementsByClassName('dplayer-danmaku-item');\n for (var i = 0; i < items.length; i++) {\n items[i].style.opacity = percentage;\n }\n this._opacity = percentage;\n this.events && this.events.trigger('danmaku_opacity', this._opacity);\n }\n return this._opacity;\n }\n },\n {\n key: 'draw',\n value: function draw(dan) {\n var _this4 = this;\n if (this.showing) {\n var itemHeight = this.options.height;\n var danWidth = this.container.offsetWidth;\n var danHeight = this.container.offsetHeight;\n var itemY = parseInt(danHeight / itemHeight);\n var danItemRight = function danItemRight(ele) {\n var eleWidth = ele.offsetWidth || parseInt(ele.style.width);\n var eleRight = ele.getBoundingClientRect().right || _this4.container.getBoundingClientRect().right + eleWidth;\n return _this4.container.getBoundingClientRect().right - eleRight;\n };\n var danSpeed = function danSpeed(width) {\n return (danWidth + width) / 5;\n };\n var getTunnel = function getTunnel(ele, type, width) {\n var tmp = danWidth / danSpeed(width);\n var _loop = function _loop(i) {\n var item = _this4.danTunnel[type][i + ''];\n if (item && item.length) {\n if (type !== 'right') {\n return 'continue';\n }\n for (var j = 0; j < item.length; j++) {\n var danRight = danItemRight(item[j]) - 10;\n if (danRight <= danWidth - tmp * danSpeed(parseInt(item[j].style.width)) || danRight <= 0) {\n break;\n }\n if (j === item.length - 1) {\n _this4.danTunnel[type][i + ''].push(ele);\n ele.addEventListener('animationend', function () {\n _this4.danTunnel[type][i + ''].splice(0, 1);\n });\n return { v: i % itemY };\n }\n }\n } else {\n _this4.danTunnel[type][i + ''] = [ele];\n ele.addEventListener('animationend', function () {\n _this4.danTunnel[type][i + ''].splice(0, 1);\n });\n return { v: i % itemY };\n }\n };\n for (var i = 0; _this4.unlimited || i < itemY; i++) {\n var _ret = _loop(i);\n switch (_ret) {\n case 'continue':\n continue;\n default:\n if ((typeof _ret === 'undefined' ? 'undefined' : _typeof(_ret)) === 'object')\n return _ret.v;\n }\n }\n return -1;\n };\n if (Object.prototype.toString.call(dan) !== '[object Array]') {\n dan = [dan];\n }\n var docFragment = document.createDocumentFragment();\n var _loop2 = function _loop2(i) {\n if (!dan[i].type) {\n dan[i].type = 'right';\n }\n if (!dan[i].color) {\n dan[i].color = '#fff';\n }\n var item = document.createElement('div');\n item.classList.add('dplayer-danmaku-item');\n item.classList.add('dplayer-danmaku-' + dan[i].type);\n if (dan[i].border) {\n item.innerHTML = '' + dan[i].text + '';\n } else {\n item.innerHTML = dan[i].text;\n }\n item.style.opacity = _this4._opacity;\n item.style.color = dan[i].color;\n item.addEventListener('animationend', function () {\n _this4.container.removeChild(item);\n });\n var itemWidth = _this4._measure(dan[i].text);\n var tunnel = void 0;\n switch (dan[i].type) {\n case 'right':\n tunnel = getTunnel(item, dan[i].type, itemWidth);\n if (tunnel >= 0) {\n item.style.width = itemWidth + 1 + 'px';\n item.style.top = itemHeight * tunnel + 'px';\n item.style.transform = 'translateX(-' + danWidth + 'px)';\n }\n break;\n case 'top':\n tunnel = getTunnel(item, dan[i].type);\n if (tunnel >= 0) {\n item.style.top = itemHeight * tunnel + 'px';\n }\n break;\n case 'bottom':\n tunnel = getTunnel(item, dan[i].type);\n if (tunnel >= 0) {\n item.style.bottom = itemHeight * tunnel + 'px';\n }\n break;\n default:\n console.error('Can\\'t handled danmaku type: ' + dan[i].type);\n }\n if (tunnel >= 0) {\n item.classList.add('dplayer-danmaku-move');\n docFragment.appendChild(item);\n }\n };\n for (var i = 0; i < dan.length; i++) {\n _loop2(i);\n }\n this.container.appendChild(docFragment);\n return docFragment;\n }\n }\n },\n {\n key: 'play',\n value: function play() {\n this.paused = false;\n }\n },\n {\n key: 'pause',\n value: function pause() {\n this.paused = true;\n }\n },\n {\n key: '_measure',\n value: function _measure(text) {\n if (!this.context) {\n var measureStyle = getComputedStyle(this.container.getElementsByClassName('dplayer-danmaku-item')[0], null);\n this.context = document.createElement('canvas').getContext('2d');\n this.context.font = measureStyle.getPropertyValue('font');\n }\n return this.context.measureText(text).width;\n }\n },\n {\n key: 'seek',\n value: function seek() {\n this.clear();\n for (var i = 0; i < this.dan.length; i++) {\n if (this.dan[i].time >= this.options.time()) {\n this.danIndex = i;\n break;\n }\n this.danIndex = this.dan.length;\n }\n }\n },\n {\n key: 'clear',\n value: function clear() {\n this.danTunnel = {\n right: {},\n top: {},\n bottom: {}\n };\n this.danIndex = 0;\n this.options.container.innerHTML = '';\n this.events && this.events.trigger('danmaku_clear');\n }\n },\n {\n key: 'htmlEncode',\n value: function htmlEncode(str) {\n return str.replace(/&/g, '&').replace(//g, '>').replace(/\"/g, '"').replace(/'/g, ''').replace(/\\//g, '/');\n }\n },\n {\n key: 'resize',\n value: function resize() {\n var danWidth = this.container.offsetWidth;\n var items = this.container.getElementsByClassName('dplayer-danmaku-item');\n for (var i = 0; i < items.length; i++) {\n items[i].style.transform = 'translateX(-' + danWidth + 'px)';\n }\n }\n },\n {\n key: 'hide',\n value: function hide() {\n this.showing = false;\n this.pause();\n this.clear();\n this.events && this.events.trigger('danmaku_hide');\n }\n },\n {\n key: 'show',\n value: function show() {\n this.seek();\n this.showing = true;\n this.play();\n this.events && this.events.trigger('danmaku_show');\n }\n },\n {\n key: 'unlimit',\n value: function unlimit(boolean) {\n this.unlimited = boolean;\n }\n }\n ]);\n return Danmaku;\n}();\nexports.default = Danmaku;\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar Events = function () {\n function Events() {\n _classCallCheck(this, Events);\n this.events = {};\n this.videoEvents = [\n 'abort',\n 'canplay',\n 'canplaythrough',\n 'durationchange',\n 'emptied',\n 'ended',\n 'error',\n 'loadeddata',\n 'loadedmetadata',\n 'loadstart',\n 'mozaudioavailable',\n 'pause',\n 'play',\n 'playing',\n 'progress',\n 'ratechange',\n 'seeked',\n 'seeking',\n 'stalled',\n 'suspend',\n 'timeupdate',\n 'volumechange',\n 'waiting'\n ];\n this.playerEvents = [\n 'screenshot',\n 'thumbnails_show',\n 'thumbnails_hide',\n 'danmaku_show',\n 'danmaku_hide',\n 'danmaku_clear',\n 'danmaku_loaded',\n 'danmaku_send',\n 'danmaku_opacity',\n 'contextmenu_show',\n 'contextmenu_hide',\n 'notice_show',\n 'notice_hide',\n 'quality_start',\n 'quality_end',\n 'destroy',\n 'resize',\n 'fullscreen',\n 'fullscreen_cancel',\n 'webfullscreen',\n 'webfullscreen_cancel',\n 'subtitle_show',\n 'subtitle_hide',\n 'subtitle_change'\n ];\n }\n _createClass(Events, [\n {\n key: 'on',\n value: function on(name, callback) {\n if (this.type(name) && typeof callback === 'function') {\n if (!this.events[name]) {\n this.events[name] = [];\n }\n this.events[name].push(callback);\n }\n }\n },\n {\n key: 'trigger',\n value: function trigger(name, info) {\n if (this.events[name] && this.events[name].length) {\n for (var i = 0; i < this.events[name].length; i++) {\n this.events[name][i](info);\n }\n }\n }\n },\n {\n key: 'type',\n value: function type(name) {\n if (this.playerEvents.indexOf(name) !== -1) {\n return 'player';\n } else if (this.videoEvents.indexOf(name) !== -1) {\n return 'video';\n }\n console.error('Unknown event name: ' + name);\n return null;\n }\n }\n ]);\n return Events;\n}();\nexports.default = Events;\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nvar _utils = __webpack_require__(0);\nvar _utils2 = _interopRequireDefault(_utils);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar FullScreen = function () {\n function FullScreen(player) {\n var _this = this;\n _classCallCheck(this, FullScreen);\n this.player = player;\n this.player.events.on('webfullscreen', function () {\n _this.player.resize();\n });\n this.player.events.on('webfullscreen_cancel', function () {\n _this.player.resize();\n _utils2.default.setScrollPosition(_this.lastScrollPosition);\n });\n var fullscreenchange = function fullscreenchange() {\n _this.player.resize();\n if (_this.isFullScreen('browser')) {\n _this.player.events.trigger('fullscreen');\n } else {\n _utils2.default.setScrollPosition(_this.lastScrollPosition);\n _this.player.events.trigger('fullscreen_cancel');\n }\n };\n this.player.container.addEventListener('fullscreenchange', fullscreenchange);\n this.player.container.addEventListener('mozfullscreenchange', fullscreenchange);\n this.player.container.addEventListener('webkitfullscreenchange', fullscreenchange);\n }\n _createClass(FullScreen, [\n {\n key: 'isFullScreen',\n value: function isFullScreen() {\n var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'browser';\n switch (type) {\n case 'browser':\n return document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement;\n case 'web':\n return this.player.container.classList.contains('dplayer-fulled');\n }\n }\n },\n {\n key: 'request',\n value: function request() {\n var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'browser';\n var anotherType = type === 'browser' ? 'web' : 'browser';\n var anotherTypeOn = this.isFullScreen(anotherType);\n if (!anotherTypeOn) {\n this.lastScrollPosition = _utils2.default.getScrollPosition();\n }\n switch (type) {\n case 'browser':\n if (this.player.container.requestFullscreen) {\n this.player.container.requestFullscreen();\n } else if (this.player.container.mozRequestFullScreen) {\n this.player.container.mozRequestFullScreen();\n } else if (this.player.container.webkitRequestFullscreen) {\n this.player.container.webkitRequestFullscreen();\n } else if (this.player.video.webkitEnterFullscreen) {\n this.player.video.webkitEnterFullscreen();\n }\n break;\n case 'web':\n this.player.container.classList.add('dplayer-fulled');\n document.body.classList.add('dplayer-web-fullscreen-fix');\n this.player.events.trigger('webfullscreen');\n break;\n }\n if (anotherTypeOn) {\n this.cancel(anotherType);\n }\n }\n },\n {\n key: 'cancel',\n value: function cancel() {\n var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'browser';\n switch (type) {\n case 'browser':\n if (document.cancelFullScreen) {\n document.cancelFullScreen();\n } else if (document.mozCancelFullScreen) {\n document.mozCancelFullScreen();\n } else if (document.webkitCancelFullScreen) {\n document.webkitCancelFullScreen();\n }\n break;\n case 'web':\n this.player.container.classList.remove('dplayer-fulled');\n document.body.classList.remove('dplayer-web-fullscreen-fix');\n this.player.events.trigger('webfullscreen_cancel');\n break;\n }\n }\n },\n {\n key: 'toggle',\n value: function toggle() {\n var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'browser';\n if (this.isFullScreen(type)) {\n this.cancel(type);\n } else {\n this.request(type);\n }\n }\n }\n ]);\n return FullScreen;\n}();\nexports.default = FullScreen;\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nvar _utils = __webpack_require__(0);\nvar _utils2 = _interopRequireDefault(_utils);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar User = function () {\n function User(player) {\n _classCallCheck(this, User);\n this.storageName = {\n opacity: 'dplayer-danmaku-opacity',\n volume: 'dplayer-volume',\n unlimited: 'dplayer-danmaku-unlimited',\n danmaku: 'dplayer-danmaku-show',\n subtitle: 'dplayer-subtitle-show'\n };\n this.default = {\n opacity: 0.7,\n volume: player.options.volume || 0.7,\n unlimited: (player.options.danmaku && player.options.danmaku.unlimited ? 1 : 0) || 0,\n danmaku: 1,\n subtitle: 1\n };\n this.data = {};\n this.init();\n }\n _createClass(User, [\n {\n key: 'init',\n value: function init() {\n for (var item in this.storageName) {\n var name = this.storageName[item];\n this.data[item] = parseFloat(_utils2.default.storage.get(name) || this.default[item]);\n }\n }\n },\n {\n key: 'get',\n value: function get(key) {\n return this.data[key];\n }\n },\n {\n key: 'set',\n value: function set(key, value) {\n this.data[key] = value;\n _utils2.default.storage.set(this.storageName[key], value);\n }\n }\n ]);\n return User;\n}();\nexports.default = User;\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar Subtitle = function () {\n function Subtitle(container, video, options, events) {\n _classCallCheck(this, Subtitle);\n this.container = container;\n this.video = video;\n this.options = options;\n this.events = events;\n this.init();\n }\n _createClass(Subtitle, [\n {\n key: 'init',\n value: function init() {\n var _this = this;\n this.container.style.fontSize = this.options.fontSize;\n this.container.style.bottom = this.options.bottom;\n this.container.style.color = this.options.color;\n if (this.video.textTracks && this.video.textTracks[0]) {\n var track = this.video.textTracks[0];\n track.oncuechange = function () {\n var cue = track.activeCues[0];\n if (cue) {\n _this.container.innerHTML = '';\n var p = document.createElement('p');\n p.appendChild(cue.getCueAsHTML());\n _this.container.appendChild(p);\n } else {\n _this.container.innerHTML = '';\n }\n _this.events.trigger('subtitle_change');\n };\n }\n }\n },\n {\n key: 'show',\n value: function show() {\n this.container.classList.remove('dplayer-subtitle-hide');\n this.events.trigger('subtitle_show');\n }\n },\n {\n key: 'hide',\n value: function hide() {\n this.container.classList.add('dplayer-subtitle-hide');\n this.events.trigger('subtitle_hide');\n }\n },\n {\n key: 'toggle',\n value: function toggle() {\n if (this.container.classList.contains('dplayer-subtitle-hide')) {\n this.show();\n } else {\n this.hide();\n }\n }\n }\n ]);\n return Subtitle;\n}();\nexports.default = Subtitle;\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar Bar = function () {\n function Bar(template) {\n _classCallCheck(this, Bar);\n this.elements = {};\n this.elements.volume = template.volumeBar;\n this.elements.played = template.playedBar;\n this.elements.loaded = template.loadedBar;\n this.elements.danmaku = template.danmakuOpacityBar;\n }\n _createClass(Bar, [\n {\n key: 'set',\n value: function set(type, percentage, direction) {\n percentage = Math.max(percentage, 0);\n percentage = Math.min(percentage, 1);\n this.elements[type].style[direction] = percentage * 100 + '%';\n }\n },\n {\n key: 'get',\n value: function get(type) {\n return parseFloat(this.elements[type].style.width) / 100;\n }\n }\n ]);\n return Bar;\n}();\nexports.default = Bar;\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nvar _utils = __webpack_require__(0);\nvar _utils2 = _interopRequireDefault(_utils);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar Time = function () {\n function Time(player) {\n _classCallCheck(this, Time);\n this.player = player;\n window.requestAnimationFrame = function () {\n return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame || function (callback) {\n window.setTimeout(callback, 1000 / 60);\n };\n }();\n this.types = [\n 'loading',\n 'progress'\n ];\n this.init();\n }\n _createClass(Time, [\n {\n key: 'init',\n value: function init() {\n for (var i = 0; i < this.types.length; i++) {\n var type = this.types[i];\n this['init' + type + 'Checker']();\n }\n }\n },\n {\n key: 'initloadingChecker',\n value: function initloadingChecker() {\n var _this = this;\n var lastPlayPos = 0;\n var currentPlayPos = 0;\n var bufferingDetected = false;\n this.loadingChecker = setInterval(function () {\n if (_this.enableloadingChecker) {\n currentPlayPos = _this.player.video.currentTime;\n if (!bufferingDetected && currentPlayPos === lastPlayPos && !_this.player.video.paused) {\n _this.player.container.classList.add('dplayer-loading');\n bufferingDetected = true;\n }\n if (bufferingDetected && currentPlayPos > lastPlayPos && !_this.player.video.paused) {\n _this.player.container.classList.remove('dplayer-loading');\n bufferingDetected = false;\n }\n lastPlayPos = currentPlayPos;\n }\n }, 100);\n }\n },\n {\n key: 'initprogressChecker',\n value: function initprogressChecker() {\n var _this2 = this;\n this.progressChecker = setInterval(function () {\n if (_this2.enableprogressChecker) {\n _this2.player.bar.set('played', _this2.player.video.currentTime / _this2.player.video.duration, 'width');\n var currentTime = _utils2.default.secondToTime(_this2.player.video.currentTime);\n if (_this2.player.template.ptime.innerHTML !== currentTime) {\n _this2.player.template.ptime.innerHTML = _utils2.default.secondToTime(_this2.player.video.currentTime);\n }\n }\n }, 100);\n }\n },\n {\n key: 'enable',\n value: function enable(type) {\n if (type) {\n this['enable' + type + 'Checker'] = true;\n } else {\n for (var i = 0; i < this.types.length; i++) {\n var _type = this.types[i];\n this['enable' + _type + 'Checker'] = true;\n }\n }\n }\n },\n {\n key: 'disable',\n value: function disable(type) {\n if (type) {\n this['enable' + type + 'Checker'] = false;\n } else {\n for (var i = 0; i < this.types.length; i++) {\n var _type2 = this.types[i];\n this['enable' + _type2 + 'Checker'] = false;\n }\n }\n }\n },\n {\n key: 'destroy',\n value: function destroy(type) {\n if (type) {\n clearInterval(this[type + 'Checker']);\n } else {\n for (var i = 0; i < this.types.length; i++) {\n clearInterval(this[this.types[i] + 'Checker']);\n }\n }\n }\n }\n ]);\n return Time;\n}();\nexports.default = Time;\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar Bezel = function () {\n function Bezel(container) {\n var _this = this;\n _classCallCheck(this, Bezel);\n this.container = container;\n this.container.addEventListener('animationend', function () {\n _this.container.classList.remove('dplayer-bezel-transition');\n });\n }\n _createClass(Bezel, [{\n key: 'switch',\n value: function _switch(icon) {\n this.container.innerHTML = icon;\n this.container.classList.add('dplayer-bezel-transition');\n }\n }]);\n return Bezel;\n}();\nexports.default = Bezel;\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nvar _utils = __webpack_require__(0);\nvar _utils2 = _interopRequireDefault(_utils);\nvar _thumbnails = __webpack_require__(18);\nvar _thumbnails2 = _interopRequireDefault(_thumbnails);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar Controller = function () {\n function Controller(player) {\n var _this = this;\n _classCallCheck(this, Controller);\n this.player = player;\n this.autoHideTimer = 0;\n if (!_utils2.default.isMobile) {\n this.player.container.addEventListener('mousemove', function () {\n _this.setAutoHide();\n });\n this.player.container.addEventListener('click', function () {\n _this.setAutoHide();\n });\n }\n this.initPlayButton();\n this.initThumbnails();\n this.initPlayedBar();\n this.initFullButton();\n this.initVolumeButton();\n this.initQualityButton();\n this.initScreenshotButton();\n this.initSubtitleButton();\n }\n _createClass(Controller, [\n {\n key: 'initPlayButton',\n value: function initPlayButton() {\n var _this2 = this;\n this.player.template.playButton.addEventListener('click', function () {\n _this2.player.toggle();\n });\n if (!_utils2.default.isMobile) {\n this.player.template.videoWrap.addEventListener('click', function () {\n _this2.player.toggle();\n });\n this.player.template.controllerMask.addEventListener('click', function () {\n _this2.player.toggle();\n });\n } else {\n this.player.template.videoWrap.addEventListener('click', function () {\n _this2.toggle();\n });\n this.player.template.controllerMask.addEventListener('click', function () {\n _this2.toggle();\n });\n }\n }\n },\n {\n key: 'initThumbnails',\n value: function initThumbnails() {\n var _this3 = this;\n if (this.player.options.video.thumbnails) {\n this.thumbnails = new _thumbnails2.default({\n container: this.player.template.barPreview,\n barWidth: this.player.template.barWrap.offsetWidth,\n url: this.player.options.video.thumbnails,\n events: this.player.events\n });\n this.player.on('loadedmetadata', function () {\n _this3.thumbnails.resize(160, _this3.player.video.videoHeight / _this3.player.video.videoWidth * 160);\n });\n }\n }\n },\n {\n key: 'initPlayedBar',\n value: function initPlayedBar() {\n var _this4 = this;\n var thumbMove = function thumbMove(e) {\n var percentage = (e.clientX - _utils2.default.getElementViewLeft(_this4.player.template.playedBarWrap)) / _this4.player.template.playedBarWrap.clientWidth;\n percentage = Math.max(percentage, 0);\n percentage = Math.min(percentage, 1);\n _this4.player.bar.set('played', percentage, 'width');\n _this4.player.template.ptime.innerHTML = _utils2.default.secondToTime(percentage * _this4.player.video.duration);\n };\n var thumbUp = function thumbUp(e) {\n document.removeEventListener('mouseup', thumbUp);\n document.removeEventListener('mousemove', thumbMove);\n var percentage = (e.clientX - _utils2.default.getElementViewLeft(_this4.player.template.playedBarWrap)) / _this4.player.template.playedBarWrap.clientWidth;\n percentage = Math.max(percentage, 0);\n percentage = Math.min(percentage, 1);\n _this4.player.bar.set('played', percentage, 'width');\n _this4.player.seek(_this4.player.bar.get('played') * _this4.player.video.duration);\n _this4.player.time.enable('progress');\n };\n this.player.template.playedBarWrap.addEventListener('mousedown', function () {\n _this4.player.time.disable('progress');\n document.addEventListener('mousemove', thumbMove);\n document.addEventListener('mouseup', thumbUp);\n });\n this.player.template.playedBarWrap.addEventListener('mousemove', function (e) {\n if (_this4.player.video.duration) {\n var px = _utils2.default.cumulativeOffset(_this4.player.template.playedBarWrap).left;\n var tx = e.clientX - px;\n if (tx < 0 || tx > _this4.player.template.playedBarWrap.offsetWidth) {\n return;\n }\n var time = _this4.player.video.duration * (tx / _this4.player.template.playedBarWrap.offsetWidth);\n _this4.thumbnails && _this4.thumbnails.move(tx);\n _this4.player.template.playedBarTime.style.left = tx - 20 + 'px';\n _this4.player.template.playedBarTime.innerText = _utils2.default.secondToTime(time);\n _this4.player.template.playedBarTime.classList.remove('hidden');\n }\n });\n this.player.template.playedBarWrap.addEventListener('mouseenter', function () {\n if (_this4.player.video.duration) {\n _this4.thumbnails && _this4.thumbnails.show();\n _this4.player.template.playedBarTime.classList.remove('hidden');\n }\n });\n this.player.template.playedBarWrap.addEventListener('mouseleave', function () {\n if (_this4.player.video.duration) {\n _this4.thumbnails && _this4.thumbnails.hide();\n _this4.player.template.playedBarTime.classList.add('hidden');\n }\n });\n }\n },\n {\n key: 'initFullButton',\n value: function initFullButton() {\n var _this5 = this;\n this.player.template.browserFullButton.addEventListener('click', function () {\n _this5.player.fullScreen.toggle('browser');\n });\n this.player.template.webFullButton.addEventListener('click', function () {\n _this5.player.fullScreen.toggle('web');\n });\n }\n },\n {\n key: 'initVolumeButton',\n value: function initVolumeButton() {\n var _this6 = this;\n var vWidth = 35;\n var volumeMove = function volumeMove(event) {\n var e = event || window.event;\n var percentage = (e.clientX - _utils2.default.getElementViewLeft(_this6.player.template.volumeBarWrap) - 5.5) / vWidth;\n _this6.player.volume(percentage);\n };\n var volumeUp = function volumeUp() {\n document.removeEventListener('mouseup', volumeUp);\n document.removeEventListener('mousemove', volumeMove);\n _this6.player.template.volumeButton.classList.remove('dplayer-volume-active');\n };\n this.player.template.volumeBarWrapWrap.addEventListener('click', function (event) {\n var e = event || window.event;\n var percentage = (e.clientX - _utils2.default.getElementViewLeft(_this6.player.template.volumeBarWrap) - 5.5) / vWidth;\n _this6.player.volume(percentage);\n });\n this.player.template.volumeBarWrapWrap.addEventListener('mousedown', function () {\n document.addEventListener('mousemove', volumeMove);\n document.addEventListener('mouseup', volumeUp);\n _this6.player.template.volumeButton.classList.add('dplayer-volume-active');\n });\n this.player.template.volumeIcon.addEventListener('click', function () {\n if (_this6.player.video.muted) {\n _this6.player.video.muted = false;\n _this6.player.switchVolumeIcon();\n _this6.player.bar.set('volume', _this6.player.volume(), 'width');\n } else {\n _this6.player.video.muted = true;\n _this6.player.template.volumeIcon.innerHTML = _this6.player.icons.get('volume-off');\n _this6.player.bar.set('volume', 0, 'width');\n }\n });\n }\n },\n {\n key: 'initQualityButton',\n value: function initQualityButton() {\n var _this7 = this;\n if (this.player.options.video.quality) {\n this.player.template.qualityList.addEventListener('click', function (e) {\n if (e.target.classList.contains('dplayer-quality-item')) {\n _this7.player.switchQuality(e.target.dataset.index);\n }\n });\n }\n }\n },\n {\n key: 'initScreenshotButton',\n value: function initScreenshotButton() {\n var _this8 = this;\n if (this.player.options.screenshot) {\n this.player.template.camareButton.addEventListener('click', function () {\n var canvas = document.createElement('canvas');\n canvas.width = _this8.player.video.videoWidth;\n canvas.height = _this8.player.video.videoHeight;\n canvas.getContext('2d').drawImage(_this8.player.video, 0, 0, canvas.width, canvas.height);\n var dataURL = canvas.toDataURL();\n _this8.player.template.camareButton.href = dataURL;\n _this8.player.template.camareButton.download = 'DPlayer.png';\n _this8.player.events.trigger('screenshot', dataURL);\n });\n }\n }\n },\n {\n key: 'initSubtitleButton',\n value: function initSubtitleButton() {\n var _this9 = this;\n if (this.player.options.subtitle) {\n this.player.events.on('subtitle_show', function () {\n _this9.player.template.subtitleButton.dataset.balloon = _this9.player.tran('Hide subtitle');\n _this9.player.template.subtitleButtonInner.style.opacity = '';\n _this9.player.user.set('subtitle', 1);\n });\n this.player.events.on('subtitle_hide', function () {\n _this9.player.template.subtitleButton.dataset.balloon = _this9.player.tran('Show subtitle');\n _this9.player.template.subtitleButtonInner.style.opacity = '0.4';\n _this9.player.user.set('subtitle', 0);\n });\n this.player.template.subtitleButton.addEventListener('click', function () {\n _this9.player.subtitle.toggle();\n });\n }\n }\n },\n {\n key: 'setAutoHide',\n value: function setAutoHide() {\n var _this10 = this;\n this.show();\n clearTimeout(this.autoHideTimer);\n this.autoHideTimer = setTimeout(function () {\n if (_this10.player.video.played.length && !_this10.disableAutoHide) {\n _this10.hide();\n }\n }, 2000);\n }\n },\n {\n key: 'show',\n value: function show() {\n this.player.container.classList.remove('dplayer-hide-controller');\n }\n },\n {\n key: 'hide',\n value: function hide() {\n this.player.container.classList.add('dplayer-hide-controller');\n this.player.setting.hide();\n this.player.comment.hide();\n }\n },\n {\n key: 'isShow',\n value: function isShow() {\n return !this.player.container.classList.contains('dplayer-hide-controller');\n }\n },\n {\n key: 'toggle',\n value: function toggle() {\n if (this.isShow()) {\n this.hide();\n } else {\n this.show();\n }\n }\n },\n {\n key: 'destroy',\n value: function destroy() {\n clearTimeout(this.autoHideTimer);\n }\n }\n ]);\n return Controller;\n}();\nexports.default = Controller;\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar Thumbnails = function () {\n function Thumbnails(options) {\n _classCallCheck(this, Thumbnails);\n this.container = options.container;\n this.barWidth = options.barWidth;\n this.container.style.backgroundImage = 'url(\\'' + options.url + '\\')';\n this.events = options.events;\n }\n _createClass(Thumbnails, [\n {\n key: 'resize',\n value: function resize(width, height) {\n this.container.style.width = width + 'px';\n this.container.style.height = height + 'px';\n this.container.style.top = -height + 2 + 'px';\n }\n },\n {\n key: 'show',\n value: function show() {\n this.container.style.display = 'block';\n this.events && this.events.trigger('thumbnails_show');\n }\n },\n {\n key: 'move',\n value: function move(position) {\n this.container.style.backgroundPosition = '-' + (Math.ceil(position / this.barWidth * 100) - 1) * 160 + 'px 0';\n this.container.style.left = position - this.container.offsetWidth / 2 + 'px';\n }\n },\n {\n key: 'hide',\n value: function hide() {\n this.container.style.display = 'none';\n this.events && this.events.trigger('thumbnails_hide');\n }\n }\n ]);\n return Thumbnails;\n}();\nexports.default = Thumbnails;\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nvar _utils = __webpack_require__(0);\nvar _utils2 = _interopRequireDefault(_utils);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar Setting = function () {\n function Setting(player) {\n var _this = this;\n _classCallCheck(this, Setting);\n this.player = player;\n this.player.template.mask.addEventListener('click', function () {\n _this.hide();\n });\n this.player.template.settingButton.addEventListener('click', function () {\n _this.show();\n });\n this.loop = this.player.options.loop;\n this.player.template.loopToggle.checked = this.loop;\n this.player.template.loop.addEventListener('click', function () {\n _this.player.template.loopToggle.checked = !_this.player.template.loopToggle.checked;\n if (_this.player.template.loopToggle.checked) {\n _this.loop = true;\n } else {\n _this.loop = false;\n }\n _this.hide();\n });\n this.showDanmaku = this.player.user.get('danmaku');\n if (!this.showDanmaku) {\n this.player.danmaku && this.player.danmaku.hide();\n }\n this.player.template.showDanmakuToggle.checked = this.showDanmaku;\n this.player.template.showDanmaku.addEventListener('click', function () {\n _this.player.template.showDanmakuToggle.checked = !_this.player.template.showDanmakuToggle.checked;\n if (_this.player.template.showDanmakuToggle.checked) {\n _this.showDanmaku = true;\n _this.player.danmaku.show();\n } else {\n _this.showDanmaku = false;\n _this.player.danmaku.hide();\n }\n _this.player.user.set('danmaku', _this.showDanmaku ? 1 : 0);\n _this.hide();\n });\n this.unlimitDanmaku = this.player.user.get('unlimited');\n this.player.template.unlimitDanmakuToggle.checked = this.unlimitDanmaku;\n this.player.template.unlimitDanmaku.addEventListener('click', function () {\n _this.player.template.unlimitDanmakuToggle.checked = !_this.player.template.unlimitDanmakuToggle.checked;\n if (_this.player.template.unlimitDanmakuToggle.checked) {\n _this.unlimitDanmaku = true;\n _this.player.danmaku.unlimit(true);\n } else {\n _this.unlimitDanmaku = false;\n _this.player.danmaku.unlimit(false);\n }\n _this.player.user.set('unlimited', _this.unlimitDanmaku ? 1 : 0);\n _this.hide();\n });\n this.player.template.speed.addEventListener('click', function () {\n _this.player.template.settingBox.classList.add('dplayer-setting-box-narrow');\n _this.player.template.settingBox.classList.add('dplayer-setting-box-speed');\n });\n var _loop = function _loop(i) {\n _this.player.template.speedItem[i].addEventListener('click', function () {\n _this.player.speed(_this.player.template.speedItem[i].dataset.speed);\n _this.hide();\n });\n };\n for (var i = 0; i < this.player.template.speedItem.length; i++) {\n _loop(i);\n }\n if (this.player.danmaku) {\n var dWidth = 130;\n this.player.on('danmaku_opacity', function (percentage) {\n _this.player.bar.set('danmaku', percentage, 'width');\n _this.player.user.set('opacity', percentage);\n });\n this.player.danmaku.opacity(this.player.user.get('opacity'));\n var danmakuMove = function danmakuMove(event) {\n var e = event || window.event;\n var percentage = (e.clientX - _utils2.default.getElementViewLeft(_this.player.template.danmakuOpacityBarWrap)) / dWidth;\n percentage = Math.max(percentage, 0);\n percentage = Math.min(percentage, 1);\n _this.player.danmaku.opacity(percentage);\n };\n var danmakuUp = function danmakuUp() {\n document.removeEventListener('mouseup', danmakuUp);\n document.removeEventListener('mousemove', danmakuMove);\n _this.player.template.danmakuOpacityBox.classList.remove('dplayer-setting-danmaku-active');\n };\n this.player.template.danmakuOpacityBarWrapWrap.addEventListener('click', function (event) {\n var e = event || window.event;\n var percentage = (e.clientX - _utils2.default.getElementViewLeft(_this.player.template.danmakuOpacityBarWrap)) / dWidth;\n percentage = Math.max(percentage, 0);\n percentage = Math.min(percentage, 1);\n _this.player.danmaku.opacity(percentage);\n });\n this.player.template.danmakuOpacityBarWrapWrap.addEventListener('mousedown', function () {\n document.addEventListener('mousemove', danmakuMove);\n document.addEventListener('mouseup', danmakuUp);\n _this.player.template.danmakuOpacityBox.classList.add('dplayer-setting-danmaku-active');\n });\n }\n }\n _createClass(Setting, [\n {\n key: 'hide',\n value: function hide() {\n var _this2 = this;\n this.player.template.settingBox.classList.remove('dplayer-setting-box-open');\n this.player.template.mask.classList.remove('dplayer-mask-show');\n setTimeout(function () {\n _this2.player.template.settingBox.classList.remove('dplayer-setting-box-narrow');\n _this2.player.template.settingBox.classList.remove('dplayer-setting-box-speed');\n }, 300);\n this.player.controller.disableAutoHide = false;\n }\n },\n {\n key: 'show',\n value: function show() {\n this.player.template.settingBox.classList.add('dplayer-setting-box-open');\n this.player.template.mask.classList.add('dplayer-mask-show');\n this.player.controller.disableAutoHide = true;\n }\n }\n ]);\n return Setting;\n}();\nexports.default = Setting;\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar Comment = function () {\n function Comment(player) {\n var _this = this;\n _classCallCheck(this, Comment);\n this.player = player;\n this.player.template.mask.addEventListener('click', function () {\n _this.hide();\n });\n this.player.template.commentButton.addEventListener('click', function () {\n _this.show();\n });\n this.player.template.commentSettingButton.addEventListener('click', function () {\n _this.toggleSetting();\n });\n this.player.template.commentColorSettingBox.addEventListener('click', function () {\n var sele = _this.player.template.commentColorSettingBox.querySelector('input:checked+span');\n if (sele) {\n var color = _this.player.template.commentColorSettingBox.querySelector('input:checked').value;\n _this.player.template.commentSettingFill.style.fill = color;\n _this.player.template.commentInput.style.color = color;\n _this.player.template.commentSendFill.style.fill = color;\n }\n });\n this.player.template.commentInput.addEventListener('click', function () {\n _this.hideSetting();\n });\n this.player.template.commentInput.addEventListener('keydown', function (e) {\n var event = e || window.event;\n if (event.keyCode === 13) {\n _this.send();\n }\n });\n this.player.template.commentSendButton.addEventListener('click', function () {\n _this.send();\n });\n }\n _createClass(Comment, [\n {\n key: 'show',\n value: function show() {\n this.player.controller.disableAutoHide = true;\n this.player.template.controller.classList.add('dplayer-controller-comment');\n this.player.template.mask.classList.add('dplayer-mask-show');\n this.player.container.classList.add('dplayer-show-controller');\n this.player.template.commentInput.focus();\n }\n },\n {\n key: 'hide',\n value: function hide() {\n this.player.template.controller.classList.remove('dplayer-controller-comment');\n this.player.template.mask.classList.remove('dplayer-mask-show');\n this.player.container.classList.remove('dplayer-show-controller');\n this.player.controller.disableAutoHide = false;\n this.hideSetting();\n }\n },\n {\n key: 'showSetting',\n value: function showSetting() {\n this.player.template.commentSettingBox.classList.add('dplayer-comment-setting-open');\n }\n },\n {\n key: 'hideSetting',\n value: function hideSetting() {\n this.player.template.commentSettingBox.classList.remove('dplayer-comment-setting-open');\n }\n },\n {\n key: 'toggleSetting',\n value: function toggleSetting() {\n if (this.player.template.commentSettingBox.classList.contains('dplayer-comment-setting-open')) {\n this.hideSetting();\n } else {\n this.showSetting();\n }\n }\n },\n {\n key: 'send',\n value: function send() {\n var _this2 = this;\n this.player.template.commentInput.blur();\n if (!this.player.template.commentInput.value.replace(/^\\s+|\\s+$/g, '')) {\n this.player.notice(this.player.tran('Please input danmaku content!'));\n return;\n }\n this.player.danmaku.send({\n text: this.player.template.commentInput.value,\n color: this.player.container.querySelector('.dplayer-comment-setting-color input:checked').value,\n type: this.player.container.querySelector('.dplayer-comment-setting-type input:checked').value\n }, function () {\n _this2.player.template.commentInput.value = '';\n _this2.hide();\n });\n }\n }\n ]);\n return Comment;\n}();\nexports.default = Comment;\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, '__esModule', { value: true });\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar HotKey = function HotKey(player) {\n _classCallCheck(this, HotKey);\n if (player.options.hotkey) {\n document.addEventListener('keydown', function (e) {\n if (player.focus) {\n var tag = document.activeElement.tagName.toUpperCase();\n var editable = document.activeElement.getAttribute('contenteditable');\n if (tag !== 'INPUT' && tag !== 'TEXTAREA' && editable !== '' && editable !== 'true') {\n var event = e || window.event;\n var percentage = void 0;\n switch (event.keyCode) {\n case 32:\n event.preventDefault();\n player.toggle();\n break;\n case 37:\n event.preventDefault();\n player.seek(player.video.currentTime - 5);\n player.controller.setAutoHide();\n break;\n case 39:\n event.preventDefault();\n player.seek(player.video.currentTime + 5);\n player.controller.setAutoHide();\n break;\n case 38:\n event.preventDefault();\n percentage = player.volume() + 0.1;\n player.volume(percentage);\n break;\n case 40:\n event.preventDefault();\n percentage = player.volume() - 0.1;\n player.volume(percentage);\n break;\n }\n }\n }\n });\n }\n document.addEventListener('keydown', function (e) {\n var event = e || window.event;\n switch (event.keyCode) {\n case 27:\n if (player.fullScreen.isFullScreen('web')) {\n player.fullScreen.cancel('web');\n }\n break;\n }\n });\n};\nexports.default = HotKey;\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar ContextMenu = function () {\n function ContextMenu(player) {\n var _this = this;\n _classCallCheck(this, ContextMenu);\n this.player = player;\n this.player.container.addEventListener('contextmenu', function (e) {\n var event = e || window.event;\n event.preventDefault();\n var clientRect = _this.player.container.getBoundingClientRect();\n _this.show(event.clientX - clientRect.left, event.clientY - clientRect.top);\n _this.player.template.mask.addEventListener('click', function () {\n _this.hide();\n });\n });\n }\n _createClass(ContextMenu, [\n {\n key: 'show',\n value: function show(x, y) {\n this.player.template.menu.classList.add('dplayer-menu-show');\n var clientRect = this.player.container.getBoundingClientRect();\n if (x + this.player.template.menu.offsetWidth >= clientRect.width) {\n this.player.template.menu.style.right = clientRect.width - x + 'px';\n this.player.template.menu.style.left = 'initial';\n } else {\n this.player.template.menu.style.left = x + 'px';\n this.player.template.menu.style.right = 'initial';\n }\n if (y + this.player.template.menu.offsetHeight >= clientRect.height) {\n this.player.template.menu.style.bottom = clientRect.height - y + 'px';\n this.player.template.menu.style.top = 'initial';\n } else {\n this.player.template.menu.style.top = y + 'px';\n this.player.template.menu.style.bottom = 'initial';\n }\n this.player.template.mask.classList.add('dplayer-mask-show');\n this.player.events.trigger('contextmenu_show');\n }\n },\n {\n key: 'hide',\n value: function hide() {\n this.player.template.mask.classList.remove('dplayer-mask-show');\n this.player.template.menu.classList.remove('dplayer-menu-show');\n this.player.events.trigger('contextmenu_hide');\n }\n }\n ]);\n return ContextMenu;\n}();\nexports.default = ContextMenu;\n\n/***/ })\n/******/ ])[\"default\"];\n});\n\n\n// WEBPACK FOOTER //\n// DPlayer.min.js"," \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, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\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 \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 1);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap cdb57032692328f97d26","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nexports.default = {\n secondToTime: function secondToTime(second) {\n var add0 = function add0(num) {\n return num < 10 ? '0' + num : '' + num;\n };\n var min = parseInt(second / 60);\n var sec = parseInt(second - min * 60);\n return add0(min) + ':' + add0(sec);\n },\n getElementViewLeft: function getElementViewLeft(element) {\n var actualLeft = element.offsetLeft;\n var current = element.offsetParent;\n var elementScrollLeft = document.body.scrollLeft + document.documentElement.scrollLeft;\n if (!document.fullscreenElement && !document.mozFullScreenElement && !document.webkitFullscreenElement) {\n while (current !== null) {\n actualLeft += current.offsetLeft;\n current = current.offsetParent;\n }\n } else {\n while (current !== null && current !== element) {\n actualLeft += current.offsetLeft;\n current = current.offsetParent;\n }\n }\n return actualLeft - elementScrollLeft;\n },\n getScrollPosition: function getScrollPosition() {\n return {\n left: window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft || 0,\n top: window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0\n };\n },\n setScrollPosition: function setScrollPosition(_ref) {\n var _ref$left = _ref.left, left = _ref$left === undefined ? 0 : _ref$left, _ref$top = _ref.top, top = _ref$top === undefined ? 0 : _ref$top;\n if (this.isFirefox) {\n document.documentElement.scrollLeft = left;\n document.documentElement.scrollTop = top;\n } else {\n window.scrollTo(left, top);\n }\n },\n isMobile: /mobile/i.test(window.navigator.userAgent),\n isFirefox: /firefox/i.test(window.navigator.userAgent),\n isChrome: /chrome/i.test(window.navigator.userAgent),\n storage: {\n set: function set(key, value) {\n localStorage.setItem(key, value);\n },\n get: function get(key) {\n return localStorage.getItem(key);\n }\n },\n cumulativeOffset: function cumulativeOffset(element) {\n var top = 0, left = 0;\n do {\n top += element.offsetTop || 0;\n left += element.offsetLeft || 0;\n element = element.offsetParent;\n } while (element);\n return {\n top: top,\n left: left\n };\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/js/utils.js\n// module id = 0\n// module chunks = 0","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nrequire('../css/index.scss');\nvar _player = require('./player');\nvar _player2 = _interopRequireDefault(_player);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nconsole.log('\\n' + ' %c DPlayer ' + DPLAYER_VERSION + ' ' + GIT_HASH + ' %c http://dplayer.js.org ' + '\\n' + '\\n', 'color: #fadfa3; background: #030307; padding:5px 0;', 'background: #fadfa3; padding:5px 0;');\nexports.default = _player2.default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/js/index.js\n// module id = 1\n// module chunks = 0","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nvar _utils = require('./utils');\nvar _utils2 = _interopRequireDefault(_utils);\nvar _options = require('./options');\nvar _options2 = _interopRequireDefault(_options);\nvar _i18n = require('./i18n');\nvar _i18n2 = _interopRequireDefault(_i18n);\nvar _template = require('./template');\nvar _template2 = _interopRequireDefault(_template);\nvar _svg = require('./svg');\nvar _svg2 = _interopRequireDefault(_svg);\nvar _danmaku = require('./danmaku');\nvar _danmaku2 = _interopRequireDefault(_danmaku);\nvar _events = require('./events');\nvar _events2 = _interopRequireDefault(_events);\nvar _fullscreen = require('./fullscreen');\nvar _fullscreen2 = _interopRequireDefault(_fullscreen);\nvar _user = require('./user');\nvar _user2 = _interopRequireDefault(_user);\nvar _subtitle = require('./subtitle');\nvar _subtitle2 = _interopRequireDefault(_subtitle);\nvar _bar = require('./bar');\nvar _bar2 = _interopRequireDefault(_bar);\nvar _time = require('./time');\nvar _time2 = _interopRequireDefault(_time);\nvar _bezel = require('./bezel');\nvar _bezel2 = _interopRequireDefault(_bezel);\nvar _controller = require('./controller');\nvar _controller2 = _interopRequireDefault(_controller);\nvar _setting = require('./setting');\nvar _setting2 = _interopRequireDefault(_setting);\nvar _comment = require('./comment');\nvar _comment2 = _interopRequireDefault(_comment);\nvar _hotkey = require('./hotkey');\nvar _hotkey2 = _interopRequireDefault(_hotkey);\nvar _contextmenu = require('./contextmenu');\nvar _contextmenu2 = _interopRequireDefault(_contextmenu);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar index = 0;\nvar instances = [];\nvar DPlayer = function () {\n function DPlayer(options) {\n var _this = this;\n _classCallCheck(this, DPlayer);\n this.options = (0, _options2.default)(options);\n if (this.options.video.quality) {\n this.qualityIndex = this.options.video.defaultQuality;\n this.quality = this.options.video.quality[this.options.video.defaultQuality];\n }\n this.tran = new _i18n2.default(this.options.lang).tran;\n this.icons = new _svg2.default(this.options);\n this.events = new _events2.default();\n this.user = new _user2.default(this);\n this.container = this.options.container;\n this.container.classList.add('dplayer');\n if (!this.options.danmaku) {\n this.container.classList.add('dplayer-no-danmaku');\n }\n if (this.options.live) {\n this.container.classList.add('dplayer-live');\n }\n if (_utils2.default.isMobile) {\n this.container.classList.add('dplayer-mobile');\n }\n this.arrow = this.container.offsetWidth <= 500;\n if (this.arrow) {\n this.container.classList.add('dplayer-arrow');\n }\n this.template = new _template2.default({\n container: this.container,\n options: this.options,\n index: index,\n tran: this.tran,\n icons: this.icons\n });\n this.video = this.template.video;\n this.bar = new _bar2.default(this.template);\n this.bezel = new _bezel2.default(this.template.bezel);\n this.fullScreen = new _fullscreen2.default(this);\n this.controller = new _controller2.default(this);\n if (this.options.danmaku) {\n this.danmaku = new _danmaku2.default({\n container: this.template.danmaku,\n opacity: this.user.get('opacity'),\n callback: function callback() {\n setTimeout(function () {\n _this.template.danmakuLoading.style.display = 'none';\n if (_this.options.autoplay && !_utils2.default.isMobile) {\n _this.play();\n } else if (_utils2.default.isMobile) {\n _this.pause();\n }\n }, 0);\n },\n error: function error(msg) {\n _this.notice(msg);\n },\n apiBackend: this.options.apiBackend,\n borderColor: this.options.theme,\n height: this.arrow ? 24 : 30,\n time: function time() {\n return _this.video.currentTime;\n },\n unlimited: this.user.get('unlimited'),\n api: {\n id: this.options.danmaku.id,\n address: this.options.danmaku.api,\n token: this.options.danmaku.token,\n maximum: this.options.danmaku.maximum,\n addition: this.options.danmaku.addition,\n user: this.options.danmaku.user\n },\n events: this.events\n });\n this.comment = new _comment2.default(this);\n }\n this.setting = new _setting2.default(this);\n document.addEventListener('click', function () {\n _this.focus = false;\n }, true);\n this.container.addEventListener('click', function () {\n _this.focus = true;\n }, true);\n this.paused = true;\n this.time = new _time2.default(this);\n if (!this.danmaku) {\n if (this.options.autoplay && !_utils2.default.isMobile) {\n this.play();\n } else if (_utils2.default.isMobile) {\n this.pause();\n }\n }\n this.hotkey = new _hotkey2.default(this);\n this.contextmenu = new _contextmenu2.default(this);\n this.initVideo(this.video, this.quality && this.quality.type || this.options.video.type);\n index++;\n instances.push(this);\n }\n _createClass(DPlayer, [\n {\n key: 'seek',\n value: function seek(time) {\n time = Math.max(time, 0);\n if (this.video.duration) {\n time = Math.min(time, this.video.duration);\n }\n if (this.video.currentTime < time) {\n this.notice(this.tran('FF') + ' ' + (time - this.video.currentTime).toFixed(0) + ' ' + this.tran('s'));\n } else if (this.video.currentTime > time) {\n this.notice(this.tran('REW') + ' ' + (this.video.currentTime - time).toFixed(0) + ' ' + this.tran('s'));\n }\n this.video.currentTime = time;\n if (this.danmaku) {\n this.danmaku.seek();\n }\n this.bar.set('played', time / this.video.duration, 'width');\n }\n },\n {\n key: 'play',\n value: function play() {\n this.paused = false;\n if (this.video.paused) {\n this.bezel.switch(this.icons.get('play'));\n }\n this.template.playButton.innerHTML = this.icons.get('pause');\n this.video.play();\n this.time.enable();\n this.container.classList.add('dplayer-playing');\n if (this.danmaku) {\n this.danmaku.play();\n }\n if (this.options.mutex) {\n for (var i = 0; i < instances.length; i++) {\n if (this !== instances[i]) {\n instances[i].pause();\n }\n }\n }\n }\n },\n {\n key: 'pause',\n value: function pause() {\n this.paused = true;\n this.container.classList.remove('dplayer-loading');\n if (!this.video.paused) {\n this.bezel.switch(this.icons.get('pause'));\n }\n this.ended = false;\n this.template.playButton.innerHTML = this.icons.get('play');\n this.video.pause();\n this.time.disable();\n this.container.classList.remove('dplayer-playing');\n if (this.danmaku) {\n this.danmaku.pause();\n }\n }\n },\n {\n key: 'switchVolumeIcon',\n value: function switchVolumeIcon() {\n if (this.volume() >= 0.95) {\n this.template.volumeIcon.innerHTML = this.icons.get('volume-up');\n } else if (this.volume() > 0) {\n this.template.volumeIcon.innerHTML = this.icons.get('volume-down');\n } else {\n this.template.volumeIcon.innerHTML = this.icons.get('volume-off');\n }\n }\n },\n {\n key: 'volume',\n value: function volume(percentage, nostorage, nonotice) {\n percentage = parseFloat(percentage);\n if (!isNaN(percentage)) {\n percentage = Math.max(percentage, 0);\n percentage = Math.min(percentage, 1);\n this.bar.set('volume', percentage, 'width');\n var formatPercentage = (percentage * 100).toFixed(0) + '%';\n this.template.volumeBarWrapWrap.dataset.balloon = formatPercentage;\n if (!nostorage) {\n this.user.set('volume', percentage);\n }\n if (!nonotice) {\n this.notice(this.tran('Volume') + ' ' + (percentage * 100).toFixed(0) + '%');\n }\n this.video.volume = percentage;\n if (this.video.muted) {\n this.video.muted = false;\n }\n this.switchVolumeIcon();\n }\n return this.video.volume;\n }\n },\n {\n key: 'toggle',\n value: function toggle() {\n if (this.video.paused) {\n this.play();\n } else {\n this.pause();\n }\n }\n },\n {\n key: 'on',\n value: function on(name, callback) {\n this.events.on(name, callback);\n }\n },\n {\n key: 'switchVideo',\n value: function switchVideo(video, danmakuAPI) {\n this.pause();\n this.video.poster = video.pic ? video.pic : '';\n this.video.src = video.url;\n this.initMSE(this.video, video.type || 'auto');\n if (danmakuAPI) {\n this.template.danmakuLoading.style.display = 'block';\n this.bar.set('played', 0, 'width');\n this.bar.set('loaded', 0, 'width');\n this.template.ptime.innerHTML = '00:00';\n this.template.danmaku.innerHTML = '';\n if (this.danmaku) {\n this.danmaku.reload({\n id: danmakuAPI.id,\n address: danmakuAPI.api,\n token: danmakuAPI.token,\n maximum: danmakuAPI.maximum,\n addition: danmakuAPI.addition,\n user: danmakuAPI.user\n });\n }\n }\n }\n },\n {\n key: 'initMSE',\n value: function initMSE(video, type) {\n this.type = type;\n if (this.type === 'auto') {\n if (/m3u8(#|\\?|$)/i.exec(video.src)) {\n this.type = 'hls';\n } else if (/.flv(#|\\?|$)/i.exec(video.src)) {\n this.type = 'flv';\n } else if (/.mpd(#|\\?|$)/i.exec(video.src)) {\n this.type = 'dash';\n } else {\n this.type = 'normal';\n }\n }\n if (this.type === 'hls' && Hls && Hls.isSupported()) {\n var hls = new Hls();\n hls.loadSource(video.src);\n hls.attachMedia(video);\n }\n if (this.type === 'flv' && flvjs && flvjs.isSupported()) {\n var flvPlayer = flvjs.createPlayer({\n type: 'flv',\n url: video.src\n });\n flvPlayer.attachMediaElement(video);\n flvPlayer.load();\n }\n if (this.type === 'dash' && dashjs) {\n dashjs.MediaPlayer().create().initialize(video, video.src, false);\n }\n }\n },\n {\n key: 'initVideo',\n value: function initVideo(video, type) {\n var _this2 = this;\n this.initMSE(video, type);\n this.on('durationchange', function () {\n if (video.duration !== 1) {\n _this2.template.dtime.innerHTML = _utils2.default.secondToTime(video.duration);\n }\n });\n this.on('progress', function () {\n var percentage = video.buffered.length ? video.buffered.end(video.buffered.length - 1) / video.duration : 0;\n _this2.bar.set('loaded', percentage, 'width');\n });\n this.on('error', function () {\n _this2.tran && _this2.notice && _this2.notice(_this2.tran('This video fails to load'), -1);\n });\n this.ended = false;\n this.on('ended', function () {\n _this2.bar.set('played', 1, 'width');\n if (!_this2.setting.loop) {\n _this2.ended = true;\n _this2.pause();\n } else {\n _this2.seek(0);\n video.play();\n }\n if (_this2.danmaku) {\n _this2.danmaku.danIndex = 0;\n }\n });\n this.on('play', function () {\n if (_this2.paused) {\n _this2.play();\n }\n });\n this.on('pause', function () {\n if (!_this2.paused) {\n _this2.pause();\n }\n });\n var _loop = function _loop(i) {\n video.addEventListener(_this2.events.videoEvents[i], function () {\n _this2.events.trigger(_this2.events.videoEvents[i]);\n });\n };\n for (var i = 0; i < this.events.videoEvents.length; i++) {\n _loop(i);\n }\n this.volume(this.user.get('volume'), true, true);\n if (this.options.subtitle) {\n this.subtitle = new _subtitle2.default(this.template.subtitle, this.video, this.options.subtitle, this.events);\n if (!this.user.get('subtitle')) {\n this.subtitle.hide();\n }\n }\n }\n },\n {\n key: 'switchQuality',\n value: function switchQuality(index) {\n var _this3 = this;\n if (this.qualityIndex === index || this.switchingQuality) {\n return;\n } else {\n this.qualityIndex = index;\n }\n this.switchingQuality = true;\n this.quality = this.options.video.quality[index];\n this.template.qualityButton.innerHTML = this.quality.name;\n var paused = this.video.paused;\n this.video.pause();\n var videoHTML = this.template.tplVideo(false, null, this.options.screenshot, 'auto', this.quality.url, this.options.subtitle);\n var videoEle = new DOMParser().parseFromString(videoHTML, 'text/html').body.firstChild;\n this.template.videoWrap.insertBefore(videoEle, this.template.videoWrap.getElementsByTagName('div')[0]);\n this.prevVideo = this.video;\n this.video = videoEle;\n this.initVideo(this.video, this.quality.type || this.options.video.type);\n this.seek(this.prevVideo.currentTime);\n this.notice(this.tran('Switching to') + ' ' + this.quality.name + ' ' + this.tran('quality'), -1);\n this.events.trigger('quality_start', this.quality);\n this.on('canplay', function () {\n if (_this3.prevVideo) {\n if (_this3.video.currentTime !== _this3.prevVideo.currentTime) {\n _this3.seek(_this3.prevVideo.currentTime);\n return;\n }\n _this3.template.videoWrap.removeChild(_this3.prevVideo);\n _this3.video.classList.add('dplayer-video-current');\n if (!paused) {\n _this3.video.play();\n }\n _this3.prevVideo = null;\n _this3.notice(_this3.tran('Switched to') + ' ' + _this3.quality.name + ' ' + _this3.tran('quality'));\n _this3.switchingQuality = false;\n _this3.events.trigger('quality_end');\n }\n });\n }\n },\n {\n key: 'notice',\n value: function notice(text) {\n var _this4 = this;\n var time = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2000;\n var opacity = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0.8;\n this.template.notice.innerHTML = text;\n this.template.notice.style.opacity = opacity;\n if (this.noticeTime) {\n clearTimeout(this.noticeTime);\n }\n this.events.trigger('notice_show', text);\n this.noticeTime = setTimeout(function () {\n _this4.template.notice.style.opacity = 0;\n _this4.events.trigger('notice_hide');\n }, time);\n }\n },\n {\n key: 'resize',\n value: function resize() {\n if (this.danmaku) {\n this.danmaku.resize();\n }\n this.events.trigger('resize');\n }\n },\n {\n key: 'speed',\n value: function speed(rate) {\n this.video.playbackRate = rate;\n }\n },\n {\n key: 'destroy',\n value: function destroy() {\n instances.splice(instances.indexOf(this), 1);\n this.pause();\n this.controller.destroy();\n this.time.destroy();\n this.video.src = '';\n this.container.innerHTML = '';\n this.events.trigger('destroy');\n for (var key in this) {\n if (this.hasOwnProperty(key) && key !== 'paused') {\n delete this[key];\n }\n }\n }\n }\n ]);\n return DPlayer;\n}();\nexports.default = DPlayer;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/js/player.js\n// module id = 3\n// module chunks = 0","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _typeof = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === 'function' && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n};\nvar _api = require('./api.js');\nvar _api2 = _interopRequireDefault(_api);\nvar _utils = require('./utils');\nvar _utils2 = _interopRequireDefault(_utils);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nexports.default = function (options) {\n if (_utils2.default.isMobile) {\n options.autoplay = false;\n }\n var defaultOption = {\n container: options.element || document.getElementsByClassName('dplayer')[0],\n live: false,\n autoplay: false,\n theme: '#b7daff',\n loop: false,\n lang: (navigator.language || navigator.browserLanguage).toLowerCase(),\n screenshot: false,\n hotkey: true,\n preload: 'auto',\n volume: 0.7,\n apiBackend: _api2.default,\n video: {},\n icons: {\n play: [\n '0 0 16 32',\n 'M15.552 15.168q0.448 0.32 0.448 0.832 0 0.448-0.448 0.768l-13.696 8.512q-0.768 0.512-1.312 0.192t-0.544-1.28v-16.448q0-0.96 0.544-1.28t1.312 0.192z'\n ],\n pause: [\n '0 0 17 32',\n 'M14.080 4.8q2.88 0 2.88 2.048v18.24q0 2.112-2.88 2.112t-2.88-2.112v-18.24q0-2.048 2.88-2.048zM2.88 4.8q2.88 0 2.88 2.048v18.24q0 2.112-2.88 2.112t-2.88-2.112v-18.24q0-2.048 2.88-2.048z'\n ],\n 'volume-up': [\n '0 0 21 32',\n 'M13.728 6.272v19.456q0 0.448-0.352 0.8t-0.8 0.32-0.8-0.32l-5.952-5.952h-4.672q-0.48 0-0.8-0.352t-0.352-0.8v-6.848q0-0.48 0.352-0.8t0.8-0.352h4.672l5.952-5.952q0.32-0.32 0.8-0.32t0.8 0.32 0.352 0.8zM20.576 16q0 1.344-0.768 2.528t-2.016 1.664q-0.16 0.096-0.448 0.096-0.448 0-0.8-0.32t-0.32-0.832q0-0.384 0.192-0.64t0.544-0.448 0.608-0.384 0.512-0.64 0.192-1.024-0.192-1.024-0.512-0.64-0.608-0.384-0.544-0.448-0.192-0.64q0-0.48 0.32-0.832t0.8-0.32q0.288 0 0.448 0.096 1.248 0.48 2.016 1.664t0.768 2.528zM25.152 16q0 2.72-1.536 5.056t-4 3.36q-0.256 0.096-0.448 0.096-0.48 0-0.832-0.352t-0.32-0.8q0-0.704 0.672-1.056 1.024-0.512 1.376-0.8 1.312-0.96 2.048-2.4t0.736-3.104-0.736-3.104-2.048-2.4q-0.352-0.288-1.376-0.8-0.672-0.352-0.672-1.056 0-0.448 0.32-0.8t0.8-0.352q0.224 0 0.48 0.096 2.496 1.056 4 3.36t1.536 5.056z'\n ],\n 'volume-down': [\n '0 0 21 32',\n 'M13.728 6.272v19.456q0 0.448-0.352 0.8t-0.8 0.32-0.8-0.32l-5.952-5.952h-4.672q-0.48 0-0.8-0.352t-0.352-0.8v-6.848q0-0.48 0.352-0.8t0.8-0.352h4.672l5.952-5.952q0.32-0.32 0.8-0.32t0.8 0.32 0.352 0.8zM20.576 16q0 1.344-0.768 2.528t-2.016 1.664q-0.16 0.096-0.448 0.096-0.448 0-0.8-0.32t-0.32-0.832q0-0.384 0.192-0.64t0.544-0.448 0.608-0.384 0.512-0.64 0.192-1.024-0.192-1.024-0.512-0.64-0.608-0.384-0.544-0.448-0.192-0.64q0-0.48 0.32-0.832t0.8-0.32q0.288 0 0.448 0.096 1.248 0.48 2.016 1.664t0.768 2.528z'\n ],\n 'volume-off': [\n '0 0 21 32',\n 'M13.728 6.272v19.456q0 0.448-0.352 0.8t-0.8 0.32-0.8-0.32l-5.952-5.952h-4.672q-0.48 0-0.8-0.352t-0.352-0.8v-6.848q0-0.48 0.352-0.8t0.8-0.352h4.672l5.952-5.952q0.32-0.32 0.8-0.32t0.8 0.32 0.352 0.8z'\n ],\n loop: [\n '0 0 32 32',\n 'M1.882 16.941c0 4.152 3.221 7.529 7.177 7.529v1.882c-4.996 0-9.060-4.222-9.060-9.412s4.064-9.412 9.060-9.412h7.96l-3.098-3.098 1.331-1.331 5.372 5.37-5.37 5.372-1.333-1.333 3.1-3.098h-7.962c-3.957 0-7.177 3.377-7.177 7.529zM22.94 7.529v1.882c3.957 0 7.177 3.377 7.177 7.529s-3.221 7.529-7.177 7.529h-7.962l3.098-3.098-1.331-1.331-5.37 5.37 5.372 5.372 1.331-1.331-3.1-3.1h7.96c4.998 0 9.062-4.222 9.062-9.412s-4.064-9.412-9.060-9.412z'\n ],\n full: [\n '0 0 32 33',\n 'M6.667 28h-5.333c-0.8 0-1.333-0.533-1.333-1.333v-5.333c0-0.8 0.533-1.333 1.333-1.333s1.333 0.533 1.333 1.333v4h4c0.8 0 1.333 0.533 1.333 1.333s-0.533 1.333-1.333 1.333zM30.667 28h-5.333c-0.8 0-1.333-0.533-1.333-1.333s0.533-1.333 1.333-1.333h4v-4c0-0.8 0.533-1.333 1.333-1.333s1.333 0.533 1.333 1.333v5.333c0 0.8-0.533 1.333-1.333 1.333zM30.667 12c-0.8 0-1.333-0.533-1.333-1.333v-4h-4c-0.8 0-1.333-0.533-1.333-1.333s0.533-1.333 1.333-1.333h5.333c0.8 0 1.333 0.533 1.333 1.333v5.333c0 0.8-0.533 1.333-1.333 1.333zM1.333 12c-0.8 0-1.333-0.533-1.333-1.333v-5.333c0-0.8 0.533-1.333 1.333-1.333h5.333c0.8 0 1.333 0.533 1.333 1.333s-0.533 1.333-1.333 1.333h-4v4c0 0.8-0.533 1.333-1.333 1.333z'\n ],\n 'full-in': [\n '0 0 32 33',\n 'M24.965 24.38h-18.132c-1.366 0-2.478-1.113-2.478-2.478v-11.806c0-1.364 1.111-2.478 2.478-2.478h18.132c1.366 0 2.478 1.113 2.478 2.478v11.806c0 1.364-1.11 2.478-2.478 2.478zM6.833 10.097v11.806h18.134l-0.002-11.806h-18.132zM2.478 28.928h5.952c0.684 0 1.238-0.554 1.238-1.239 0-0.684-0.554-1.238-1.238-1.238h-5.952v-5.802c0-0.684-0.554-1.239-1.238-1.239s-1.239 0.556-1.239 1.239v5.802c0 1.365 1.111 2.478 2.478 2.478zM30.761 19.412c-0.684 0-1.238 0.554-1.238 1.238v5.801h-5.951c-0.686 0-1.239 0.554-1.239 1.238 0 0.686 0.554 1.239 1.239 1.239h5.951c1.366 0 2.478-1.111 2.478-2.478v-5.801c0-0.683-0.554-1.238-1.239-1.238zM0 5.55v5.802c0 0.683 0.554 1.238 1.238 1.238s1.238-0.555 1.238-1.238v-5.802h5.952c0.684 0 1.238-0.554 1.238-1.238s-0.554-1.238-1.238-1.238h-5.951c-1.366-0.001-2.478 1.111-2.478 2.476zM32 11.35v-5.801c0-1.365-1.11-2.478-2.478-2.478h-5.951c-0.686 0-1.239 0.554-1.239 1.238s0.554 1.238 1.239 1.238h5.951v5.801c0 0.683 0.554 1.237 1.238 1.237 0.686 0.002 1.239-0.553 1.239-1.236z'\n ],\n setting: [\n '0 0 32 28',\n 'M28.633 17.104c0.035 0.21 0.026 0.463-0.026 0.76s-0.14 0.598-0.262 0.904c-0.122 0.306-0.271 0.581-0.445 0.825s-0.367 0.419-0.576 0.524c-0.209 0.105-0.393 0.157-0.55 0.157s-0.332-0.035-0.524-0.105c-0.175-0.052-0.393-0.1-0.655-0.144s-0.528-0.052-0.799-0.026c-0.271 0.026-0.541 0.083-0.812 0.17s-0.502 0.236-0.694 0.445c-0.419 0.437-0.664 0.934-0.734 1.493s0.009 1.092 0.236 1.598c0.175 0.349 0.148 0.699-0.079 1.048-0.105 0.14-0.271 0.284-0.498 0.432s-0.476 0.284-0.747 0.406-0.555 0.218-0.851 0.288c-0.297 0.070-0.559 0.105-0.786 0.105-0.157 0-0.306-0.061-0.445-0.183s-0.236-0.253-0.288-0.393h-0.026c-0.192-0.541-0.52-1.009-0.982-1.402s-1-0.589-1.611-0.589c-0.594 0-1.131 0.197-1.611 0.589s-0.816 0.851-1.009 1.375c-0.087 0.21-0.218 0.362-0.393 0.458s-0.367 0.144-0.576 0.144c-0.244 0-0.52-0.044-0.825-0.131s-0.611-0.197-0.917-0.327c-0.306-0.131-0.581-0.284-0.825-0.458s-0.428-0.349-0.55-0.524c-0.087-0.122-0.135-0.266-0.144-0.432s0.057-0.397 0.197-0.694c0.192-0.402 0.266-0.86 0.223-1.375s-0.266-0.991-0.668-1.428c-0.244-0.262-0.541-0.432-0.891-0.511s-0.681-0.109-0.995-0.092c-0.367 0.017-0.742 0.087-1.127 0.21-0.244 0.070-0.489 0.052-0.734-0.052-0.192-0.070-0.371-0.231-0.537-0.485s-0.314-0.533-0.445-0.838c-0.131-0.306-0.231-0.62-0.301-0.943s-0.087-0.59-0.052-0.799c0.052-0.384 0.227-0.629 0.524-0.734 0.524-0.21 0.995-0.555 1.415-1.035s0.629-1.017 0.629-1.611c0-0.611-0.21-1.144-0.629-1.598s-0.891-0.786-1.415-0.996c-0.157-0.052-0.288-0.179-0.393-0.38s-0.157-0.406-0.157-0.616c0-0.227 0.035-0.48 0.105-0.76s0.162-0.55 0.275-0.812 0.244-0.502 0.393-0.72c0.148-0.218 0.31-0.38 0.485-0.485 0.14-0.087 0.275-0.122 0.406-0.105s0.275 0.052 0.432 0.105c0.524 0.21 1.070 0.275 1.637 0.197s1.070-0.327 1.506-0.747c0.21-0.209 0.362-0.467 0.458-0.773s0.157-0.607 0.183-0.904c0.026-0.297 0.026-0.568 0-0.812s-0.048-0.419-0.065-0.524c-0.035-0.105-0.066-0.227-0.092-0.367s-0.013-0.262 0.039-0.367c0.105-0.244 0.293-0.458 0.563-0.642s0.563-0.336 0.878-0.458c0.314-0.122 0.62-0.214 0.917-0.275s0.533-0.092 0.707-0.092c0.227 0 0.406 0.074 0.537 0.223s0.223 0.301 0.275 0.458c0.192 0.471 0.507 0.886 0.943 1.244s0.952 0.537 1.546 0.537c0.611 0 1.153-0.17 1.624-0.511s0.803-0.773 0.996-1.297c0.070-0.14 0.179-0.284 0.327-0.432s0.301-0.223 0.458-0.223c0.244 0 0.511 0.035 0.799 0.105s0.572 0.166 0.851 0.288c0.279 0.122 0.537 0.279 0.773 0.472s0.423 0.402 0.563 0.629c0.087 0.14 0.113 0.293 0.079 0.458s-0.070 0.284-0.105 0.354c-0.227 0.506-0.297 1.039-0.21 1.598s0.341 1.048 0.76 1.467c0.419 0.419 0.934 0.651 1.546 0.694s1.179-0.057 1.703-0.301c0.14-0.087 0.31-0.122 0.511-0.105s0.371 0.096 0.511 0.236c0.262 0.244 0.493 0.616 0.694 1.113s0.336 1 0.406 1.506c0.035 0.297-0.013 0.528-0.144 0.694s-0.266 0.275-0.406 0.327c-0.542 0.192-1.004 0.528-1.388 1.009s-0.576 1.026-0.576 1.637c0 0.594 0.162 1.113 0.485 1.559s0.747 0.764 1.27 0.956c0.122 0.070 0.227 0.14 0.314 0.21 0.192 0.157 0.323 0.358 0.393 0.602v0zM16.451 19.462c0.786 0 1.528-0.149 2.227-0.445s1.305-0.707 1.821-1.231c0.515-0.524 0.921-1.131 1.218-1.821s0.445-1.428 0.445-2.214c0-0.786-0.148-1.524-0.445-2.214s-0.703-1.292-1.218-1.808c-0.515-0.515-1.122-0.921-1.821-1.218s-1.441-0.445-2.227-0.445c-0.786 0-1.524 0.148-2.214 0.445s-1.292 0.703-1.808 1.218c-0.515 0.515-0.921 1.118-1.218 1.808s-0.445 1.428-0.445 2.214c0 0.786 0.149 1.524 0.445 2.214s0.703 1.297 1.218 1.821c0.515 0.524 1.118 0.934 1.808 1.231s1.428 0.445 2.214 0.445v0z'\n ],\n right: [\n '0 0 32 32',\n 'M22 16l-10.105-10.6-1.895 1.987 8.211 8.613-8.211 8.612 1.895 1.988 8.211-8.613z'\n ],\n comment: [\n '0 0 32 32',\n 'M27.128 0.38h-22.553c-2.336 0-4.229 1.825-4.229 4.076v16.273c0 2.251 1.893 4.076 4.229 4.076h4.229v-2.685h8.403l-8.784 8.072 1.566 1.44 7.429-6.827h9.71c2.335 0 4.229-1.825 4.229-4.076v-16.273c0-2.252-1.894-4.076-4.229-4.076zM28.538 19.403c0 1.5-1.262 2.717-2.819 2.717h-8.36l-0.076-0.070-0.076 0.070h-11.223c-1.557 0-2.819-1.217-2.819-2.717v-13.589c0-1.501 1.262-2.718 2.819-2.718h19.734c1.557 0 2.819-0.141 2.819 1.359v14.947zM9.206 10.557c-1.222 0-2.215 0.911-2.215 2.036s0.992 2.035 2.215 2.035c1.224 0 2.216-0.911 2.216-2.035s-0.992-2.036-2.216-2.036zM22.496 10.557c-1.224 0-2.215 0.911-2.215 2.036s0.991 2.035 2.215 2.035c1.224 0 2.215-0.911 2.215-2.035s-0.991-2.036-2.215-2.036zM15.852 10.557c-1.224 0-2.215 0.911-2.215 2.036s0.991 2.035 2.215 2.035c1.222 0 2.215-0.911 2.215-2.035s-0.992-2.036-2.215-2.036z'\n ],\n 'comment-off': [\n '0 0 32 32',\n 'M27.090 0.131h-22.731c-2.354 0-4.262 1.839-4.262 4.109v16.401c0 2.269 1.908 4.109 4.262 4.109h4.262v-2.706h8.469l-8.853 8.135 1.579 1.451 7.487-6.88h9.787c2.353 0 4.262-1.84 4.262-4.109v-16.401c0-2.27-1.909-4.109-4.262-4.109v0zM28.511 19.304c0 1.512-1.272 2.738-2.841 2.738h-8.425l-0.076-0.070-0.076 0.070h-11.311c-1.569 0-2.841-1.226-2.841-2.738v-13.696c0-1.513 1.272-2.739 2.841-2.739h19.889c1.569 0 2.841-0.142 2.841 1.37v15.064z'\n ],\n send: [\n '0 0 32 32',\n 'M13.725 30l3.9-5.325-3.9-1.125v6.45zM0 17.5l11.050 3.35 13.6-11.55-10.55 12.425 11.8 3.65 6.1-23.375-32 15.5z'\n ],\n pallette: [\n '0 0 32 32',\n 'M19.357 2.88c1.749 0 3.366 0.316 4.851 0.946 1.485 0.632 2.768 1.474 3.845 2.533s1.922 2.279 2.532 3.661c0.611 1.383 0.915 2.829 0.915 4.334 0 1.425-0.304 2.847-0.915 4.271-0.611 1.425-1.587 2.767-2.928 4.028-0.855 0.813-1.811 1.607-2.869 2.38s-2.136 1.465-3.233 2.075c-1.099 0.61-2.198 1.098-3.296 1.465-1.098 0.366-2.115 0.549-3.051 0.549-1.343 0-2.441-0.438-3.296-1.311-0.854-0.876-1.281-2.41-1.281-4.608 0-0.366 0.020-0.773 0.060-1.221s0.062-0.895 0.062-1.343c0-0.773-0.183-1.353-0.55-1.738-0.366-0.387-0.793-0.58-1.281-0.58-0.652 0-1.21 0.295-1.678 0.886s-0.926 1.23-1.373 1.921c-0.447 0.693-0.905 1.334-1.372 1.923s-1.028 0.886-1.679 0.886c-0.529 0-1.048-0.427-1.556-1.282s-0.763-2.259-0.763-4.212c0-2.197 0.529-4.241 1.587-6.133s2.462-3.529 4.21-4.912c1.75-1.383 3.762-2.471 6.041-3.264 2.277-0.796 4.617-1.212 7.018-1.253zM7.334 15.817c0.569 0 1.047-0.204 1.434-0.611s0.579-0.875 0.579-1.404c0-0.569-0.193-1.047-0.579-1.434s-0.864-0.579-1.434-0.579c-0.529 0-0.987 0.193-1.373 0.579s-0.58 0.864-0.58 1.434c0 0.53 0.194 0.998 0.58 1.404 0.388 0.407 0.845 0.611 1.373 0.611zM12.216 11.79c0.691 0 1.292-0.254 1.8-0.763s0.762-1.107 0.762-1.8c0-0.732-0.255-1.343-0.762-1.831-0.509-0.489-1.109-0.732-1.8-0.732-0.732 0-1.342 0.244-1.831 0.732-0.488 0.488-0.732 1.098-0.732 1.831 0 0.693 0.244 1.292 0.732 1.8s1.099 0.763 1.831 0.763zM16.366 25.947c0.692 0 1.282-0.214 1.77-0.64s0.732-0.987 0.732-1.678-0.244-1.261-0.732-1.709c-0.489-0.448-1.078-0.671-1.77-0.671-0.65 0-1.21 0.223-1.678 0.671s-0.702 1.018-0.702 1.709c0 0.692 0.234 1.25 0.702 1.678s1.027 0.64 1.678 0.64zM19.113 9.592c0.651 0 1.129-0.203 1.433-0.611 0.305-0.406 0.459-0.874 0.459-1.404 0-0.488-0.154-0.947-0.459-1.373-0.304-0.427-0.782-0.641-1.433-0.641-0.529 0-1.008 0.193-1.434 0.58s-0.64 0.865-0.64 1.434c0 0.571 0.213 1.049 0.64 1.434 0.427 0.389 0.905 0.581 1.434 0.581zM24.848 12.826c0.57 0 1.067-0.213 1.495-0.64 0.427-0.427 0.64-0.947 0.64-1.556 0-0.57-0.214-1.068-0.64-1.495-0.428-0.427-0.927-0.64-1.495-0.64-0.611 0-1.129 0.213-1.555 0.64-0.428 0.427-0.642 0.926-0.642 1.495 0 0.611 0.213 1.129 0.642 1.556s0.947 0.64 1.555 0.64z'\n ],\n camera: [\n '0 0 32 32',\n 'M16 23c-3.309 0-6-2.691-6-6s2.691-6 6-6 6 2.691 6 6-2.691 6-6 6zM16 13c-2.206 0-4 1.794-4 4s1.794 4 4 4c2.206 0 4-1.794 4-4s-1.794-4-4-4zM27 28h-22c-1.654 0-3-1.346-3-3v-16c0-1.654 1.346-3 3-3h3c0.552 0 1 0.448 1 1s-0.448 1-1 1h-3c-0.551 0-1 0.449-1 1v16c0 0.552 0.449 1 1 1h22c0.552 0 1-0.448 1-1v-16c0-0.551-0.448-1-1-1h-11c-0.552 0-1-0.448-1-1s0.448-1 1-1h11c1.654 0 3 1.346 3 3v16c0 1.654-1.346 3-3 3zM24 10.5c0 0.828 0.672 1.5 1.5 1.5s1.5-0.672 1.5-1.5c0-0.828-0.672-1.5-1.5-1.5s-1.5 0.672-1.5 1.5zM15 4c0 0.552-0.448 1-1 1h-4c-0.552 0-1-0.448-1-1v0c0-0.552 0.448-1 1-1h4c0.552 0 1 0.448 1 1v0z'\n ],\n subtitle: [\n '0 0 32 32',\n 'M26.667 5.333h-21.333c-0 0-0.001 0-0.001 0-1.472 0-2.666 1.194-2.666 2.666 0 0 0 0.001 0 0.001v-0 16c0 0 0 0.001 0 0.001 0 1.472 1.194 2.666 2.666 2.666 0 0 0.001 0 0.001 0h21.333c0 0 0.001 0 0.001 0 1.472 0 2.666-1.194 2.666-2.666 0-0 0-0.001 0-0.001v0-16c0-0 0-0.001 0-0.001 0-1.472-1.194-2.666-2.666-2.666-0 0-0.001 0-0.001 0h0zM5.333 16h5.333v2.667h-5.333v-2.667zM18.667 24h-13.333v-2.667h13.333v2.667zM26.667 24h-5.333v-2.667h5.333v2.667zM26.667 18.667h-13.333v-2.667h13.333v2.667z'\n ]\n },\n iconsColor: '#ffffff',\n contextmenu: [],\n mutex: true\n };\n for (var defaultKey in defaultOption) {\n if (defaultOption.hasOwnProperty(defaultKey) && !options.hasOwnProperty(defaultKey)) {\n options[defaultKey] = defaultOption[defaultKey];\n }\n }\n if (options.video) {\n !options.video.type && (options.video.type = 'auto');\n }\n if (_typeof(options.danmaku) === 'object' && options.danmaku) {\n !options.danmaku.user && (options.danmaku.user = 'DIYgod');\n }\n if (options.subtitle) {\n !options.subtitle.type && (options.subtitle.type = 'webvtt');\n !options.subtitle.fontSize && (options.subtitle.fontSize = '20px');\n !options.subtitle.bottom && (options.subtitle.bottom = '40px');\n !options.subtitle.color && (options.subtitle.color = '#fff');\n }\n if (options.video.quality) {\n options.video.url = [options.video.quality[options.video.defaultQuality].url];\n }\n if (options.lang) {\n options.lang = options.lang.toLowerCase();\n }\n if (options.icons) {\n options.icons = Object.assign({}, defaultOption.icons, options.icons);\n }\n options.contextmenu = options.contextmenu.concat([\n {\n text: 'About author',\n link: 'https://diygod.me'\n },\n {\n text: 'About DPlayer',\n link: 'https://github.com/MoePlayer/DPlayer'\n },\n {\n text: 'DPlayer feedback',\n link: 'https://github.com/DIYgod/DPlayer/issues'\n },\n {\n text: 'DPlayer ' + DPLAYER_VERSION + ' ' + GIT_HASH,\n link: 'https://github.com/MoePlayer/DPlayer/releases'\n }\n ]);\n return options;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/js/options.js\n// module id = 4\n// module chunks = 0","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar SendXMLHttpRequest = function SendXMLHttpRequest(url, data, success, error, fail) {\n var xhr = new XMLHttpRequest();\n xhr.onreadystatechange = function () {\n if (xhr.readyState === 4) {\n if (xhr.status >= 200 && xhr.status < 300 || xhr.status === 304) {\n var response = JSON.parse(xhr.responseText);\n if (response.code !== 1) {\n return error(xhr, response);\n }\n return success(xhr, response);\n }\n fail(xhr);\n }\n };\n xhr.open(data !== null ? 'POST' : 'GET', url, true);\n xhr.send(data !== null ? JSON.stringify(data) : null);\n};\nexports.default = {\n send: function send(endpoint, danmakuData, callback) {\n SendXMLHttpRequest(endpoint, danmakuData, function (xhr, response) {\n console.log('Post danmaku: ', response);\n if (callback) {\n callback();\n }\n }, function (xhr, response) {\n alert(response.msg);\n }, function (xhr) {\n console.log('Request was unsuccessful: ' + xhr.status);\n });\n },\n read: function read(endpoint, callback) {\n SendXMLHttpRequest(endpoint, null, function (xhr, response) {\n callback(null, response.danmaku);\n }, function (xhr, response) {\n callback({\n status: xhr.status,\n response: response\n });\n }, function (xhr) {\n callback({\n status: xhr.status,\n response: null\n });\n });\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/js/api.js\n// module id = 5\n// module chunks = 0","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nfunction i18n(lang) {\n var _this = this;\n this.lang = lang;\n this.tran = function (text) {\n if (tranTxt[_this.lang] && tranTxt[_this.lang][text]) {\n return tranTxt[_this.lang][text];\n } else {\n return text;\n }\n };\n}\nvar tranTxt = {\n 'zh-cn': {\n 'Danmaku is loading': '弹幕加载中',\n 'Top': '顶部',\n 'Bottom': '底部',\n 'Rolling': '滚动',\n 'Input danmaku, hit Enter': '输入弹幕\\uFF0C回车发送',\n 'About author': '关于作者',\n 'DPlayer feedback': '播放器意见反馈',\n 'About DPlayer': '关于 DPlayer 播放器',\n 'Loop': '洗脑循环',\n 'Speed': '速度',\n 'Opacity for danmaku': '弹幕透明度',\n 'Normal': '正常',\n 'Please input danmaku content!': '要输入弹幕内容啊喂\\uFF01',\n 'Set danmaku color': '设置弹幕颜色',\n 'Set danmaku type': '设置弹幕类型',\n 'Show danmaku': '显示弹幕',\n 'This video fails to load': '视频加载失败',\n 'Switching to': '正在切换至',\n 'Switched to': '已经切换至',\n 'quality': '画质',\n 'FF': '快进',\n 'REW': '快退',\n 'Unlimited danmaku': '海量弹幕',\n 'Send danmaku': '发送弹幕',\n 'Setting': '设置',\n 'Full screen': '全屏',\n 'Web full screen': '页面全屏',\n 'Send': '发送',\n 'Screenshot': '截图',\n 's': '秒',\n 'Show subtitle': '显示字幕',\n 'Hide subtitle': '隐藏字幕',\n 'Volume': '音量',\n 'Live': '直播'\n },\n 'zh-tw': {\n 'Danmaku is loading': '彈幕加載中',\n 'Top': '頂部',\n 'Bottom': '底部',\n 'Rolling': '滾動',\n 'Input danmaku, hit Enter': '輸入彈幕\\uFF0CEnter 發送',\n 'About author': '關於作者',\n 'DPlayer feedback': '播放器意見反饋',\n 'About DPlayer': '關於 DPlayer 播放器',\n 'Loop': '循環播放',\n 'Speed': '速度',\n 'Opacity for danmaku': '彈幕透明度',\n 'Normal': '正常',\n 'Please input danmaku content!': '請輸入彈幕内容啊\\uFF01',\n 'Set danmaku color': '設置彈幕顏色',\n 'Set danmaku type': '設置彈幕類型',\n 'Show danmaku': '顯示彈幕',\n 'This video fails to load': '視頻加載失敗',\n 'Switching to': '正在切換至',\n 'Switched to': '已經切換至',\n 'quality': '畫質',\n 'FF': '快進',\n 'REW': '快退',\n 'Unlimited danmaku': '海量彈幕',\n 'Send danmaku': '發送彈幕',\n 'Setting': '設置',\n 'Full screen': '全屏',\n 'Web full screen': '頁面全屏',\n 'Send': '發送',\n 'Screenshot': '截圖',\n 's': '秒',\n 'Show subtitle': '顯示字幕',\n 'Hide subtitle': '隱藏字幕',\n 'Volume': '音量',\n 'Live': '直播'\n }\n};\nexports.default = i18n;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/js/i18n.js\n// module id = 6\n// module chunks = 0","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar Template = function () {\n function Template(options) {\n _classCallCheck(this, Template);\n this.container = options.container;\n this.options = options.options;\n this.index = options.index;\n this.tran = options.tran;\n this.icons = options.icons;\n this.init();\n }\n _createClass(Template, [\n {\n key: 'init',\n value: function init() {\n this.container.innerHTML = this.tpl(this.options, this.index, this.tran, this.icons);\n this.volumeBar = this.container.querySelector('.dplayer-volume-bar-inner');\n this.volumeBarWrap = this.container.querySelector('.dplayer-volume-bar');\n this.volumeBarWrapWrap = this.container.querySelector('.dplayer-volume-bar-wrap');\n this.volumeButton = this.container.querySelector('.dplayer-volume');\n this.volumeIcon = this.container.querySelector('.dplayer-volume-icon .dplayer-icon-content');\n this.playedBar = this.container.querySelector('.dplayer-played');\n this.loadedBar = this.container.querySelector('.dplayer-loaded');\n this.playedBarWrap = this.container.querySelector('.dplayer-bar-wrap');\n this.playedBarTime = this.container.querySelector('.dplayer-bar-time');\n this.danmaku = this.container.querySelector('.dplayer-danmaku');\n this.danmakuLoading = this.container.querySelector('.dplayer-danloading');\n this.video = this.container.querySelector('.dplayer-video-current');\n this.bezel = this.container.querySelector('.dplayer-bezel-icon');\n this.playButton = this.container.querySelector('.dplayer-play-icon');\n this.videoWrap = this.container.querySelector('.dplayer-video-wrap');\n this.controllerMask = this.container.querySelector('.dplayer-controller-mask');\n this.ptime = this.container.querySelector('.dplayer-ptime');\n this.settingButton = this.container.querySelector('.dplayer-setting-icon');\n this.settingBox = this.container.querySelector('.dplayer-setting-box');\n this.mask = this.container.querySelector('.dplayer-mask');\n this.loop = this.container.querySelector('.dplayer-setting-loop');\n this.loopToggle = this.container.querySelector('.dplayer-setting-loop .dplayer-toggle-setting-input');\n this.showDanmaku = this.container.querySelector('.dplayer-setting-showdan');\n this.showDanmakuToggle = this.container.querySelector('.dplayer-showdan-setting-input');\n this.unlimitDanmaku = this.container.querySelector('.dplayer-setting-danunlimit');\n this.unlimitDanmakuToggle = this.container.querySelector('.dplayer-danunlimit-setting-input');\n this.speed = this.container.querySelector('.dplayer-setting-speed');\n this.speedItem = this.container.querySelectorAll('.dplayer-setting-speed-item');\n this.danmakuOpacityBar = this.container.querySelector('.dplayer-danmaku-bar-inner');\n this.danmakuOpacityBarWrap = this.container.querySelector('.dplayer-danmaku-bar');\n this.danmakuOpacityBarWrapWrap = this.container.querySelector('.dplayer-danmaku-bar-wrap');\n this.danmakuOpacityBox = this.container.querySelector('.dplayer-setting-danmaku');\n this.dtime = this.container.querySelector('.dplayer-dtime');\n this.controller = this.container.querySelector('.dplayer-controller');\n this.commentInput = this.container.querySelector('.dplayer-comment-input');\n this.commentButton = this.container.querySelector('.dplayer-comment-icon');\n this.commentSettingBox = this.container.querySelector('.dplayer-comment-setting-box');\n this.commentSettingButton = this.container.querySelector('.dplayer-comment-setting-icon');\n this.commentSettingFill = this.container.querySelector('.dplayer-comment-setting-icon .dplayer-fill');\n this.commentSendButton = this.container.querySelector('.dplayer-send-icon');\n this.commentSendFill = this.container.querySelector('.dplayer-send-icon .dplayer-fill');\n this.commentColorSettingBox = this.container.querySelector('.dplayer-comment-setting-color');\n this.browserFullButton = this.container.querySelector('.dplayer-full-icon');\n this.webFullButton = this.container.querySelector('.dplayer-full-in-icon');\n this.menu = this.container.querySelector('.dplayer-menu');\n this.qualityList = this.container.querySelector('.dplayer-quality-list');\n this.camareButton = this.container.querySelector('.dplayer-camera-icon');\n this.subtitleButton = this.container.querySelector('.dplayer-subtitle-icon');\n this.subtitleButtonInner = this.container.querySelector('.dplayer-subtitle-icon .dplayer-icon-content');\n this.subtitle = this.container.querySelector('.dplayer-subtitle');\n this.qualityButton = this.container.querySelector('.dplayer-quality-icon');\n this.barPreview = this.container.querySelector('.dplayer-bar-preview');\n this.barWrap = this.container.querySelector('.dplayer-bar-wrap');\n this.notice = this.container.querySelector('.dplayer-notice');\n }\n },\n {\n key: 'tpl',\n value: function tpl(options, index, tran, icons) {\n return '
' + this.tplVideo(true, options.video.pic, options.screenshot, options.preload, options.video.url, options.subtitle) + '' + (options.logo ? '
' : '') + '
' + (options.danmaku ? '' + tran('Danmaku is loading') + '' : '') + '
' + tran('Set danmaku color') + '
' + tran('Set danmaku type') + '
0:00 / 0:00' + (options.live ? '' + tran('Live') + '' : '') + '
' + (options.video.quality ? '
' + this.tplQualityList(options.video.quality) + '
' : '') + '' + (options.screenshot ? '' + icons.get('camera') + '' : '') + '
' + (options.subtitle ? '
' : '') + '
' + tran('Speed') + '
' + icons.get('right') + '
' + tran('Loop') + '
' + tran('Show danmaku') + '
' + tran('Unlimited danmaku') + '
' + tran('Opacity for danmaku') + '
0.5
0.75
' + tran('Normal') + '
1.25
1.5
2
00:00
' + this.tplContextmenuList(options.contextmenu, tran) + '
';\n }\n },\n {\n key: 'tplDanmakumargin',\n value: function tplDanmakumargin(margin) {\n var result = '';\n if (margin) {\n for (var key in margin) {\n result += key + ':' + margin[key] + ';';\n }\n }\n return result;\n }\n },\n {\n key: 'tplContextmenuList',\n value: function tplContextmenuList(contextmenu, tran) {\n var result = '
';\n for (var i = 0; i < contextmenu.length; i++) {\n result += '';\n }\n result += '
';\n return result;\n }\n },\n {\n key: 'tplQualityList',\n value: function tplQualityList(quality) {\n var result = '
';\n for (var i = 0; i < quality.length; i++) {\n result += '
' + quality[i].name + '
';\n }\n result += '
';\n return result;\n }\n },\n {\n key: 'tplVideo',\n value: function tplVideo(current, pic, screenshot, preload, url, subtitle) {\n var enableSubtitle = subtitle && subtitle.type === 'webvtt';\n return '';\n }\n }\n ]);\n return Template;\n}();\nexports.default = Template;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/js/template.js\n// module id = 7\n// module chunks = 0","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar SvgSource = function () {\n function SvgSource(options) {\n _classCallCheck(this, SvgSource);\n this.icons = options.icons;\n this.iconColor = options.iconsColor;\n }\n _createClass(SvgSource, [{\n key: 'get',\n value: function get(type) {\n return '';\n }\n }]);\n return SvgSource;\n}();\nexports.default = SvgSource;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/js/svg.js\n// module id = 8\n// module chunks = 0","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _typeof = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === 'function' && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n};\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar Danmaku = function () {\n function Danmaku(options) {\n _classCallCheck(this, Danmaku);\n this.options = options;\n this.container = this.options.container;\n this.danTunnel = {\n right: {},\n top: {},\n bottom: {}\n };\n this.danIndex = 0;\n this.dan = [];\n this.showing = true;\n this._opacity = this.options.opacity;\n this.events = this.options.events;\n this.unlimited = this.options.unlimited;\n this._measure('');\n this.load();\n }\n _createClass(Danmaku, [\n {\n key: 'load',\n value: function load() {\n var _this = this;\n var apiurl = void 0;\n if (this.options.api.maximum) {\n apiurl = this.options.api.address + '?id=' + this.options.api.id + '&max=' + this.options.api.maximum;\n } else {\n apiurl = this.options.api.address + '?id=' + this.options.api.id;\n }\n var endpoints = (this.options.api.addition || []).slice(0);\n endpoints.push(apiurl);\n this.events && this.events.trigger('danmaku_load_start', endpoints);\n this._readAllEndpoints(endpoints, function (results) {\n _this.dan = [].concat.apply([], results).sort(function (a, b) {\n return a.time - b.time;\n });\n window.requestAnimationFrame(function () {\n _this.frame();\n });\n _this.options.callback();\n _this.events && _this.events.trigger('danmaku_load_end');\n });\n }\n },\n {\n key: 'reload',\n value: function reload(newAPI) {\n this.options.api = newAPI;\n this.dan = [];\n this.clear();\n this.load();\n }\n },\n {\n key: '_readAllEndpoints',\n value: function _readAllEndpoints(endpoints, callback) {\n var _this2 = this;\n var results = [];\n var readCount = 0;\n var cbk = function cbk(i) {\n return function (err, data) {\n ++readCount;\n if (err) {\n if (err.response) {\n _this2.options.error(err.response.msg);\n } else {\n _this2.options.error('Request was unsuccessful: ' + err.status);\n }\n results[i] = [];\n } else {\n results[i] = data;\n }\n if (readCount === endpoints.length) {\n return callback(results);\n }\n };\n };\n for (var i = 0; i < endpoints.length; ++i) {\n this.options.apiBackend.read(endpoints[i], cbk(i));\n }\n }\n },\n {\n key: 'send',\n value: function send(dan, callback) {\n var danmakuData = {\n token: this.options.api.token,\n player: this.options.api.id,\n author: this.options.api.user,\n time: this.options.time(),\n text: dan.text,\n color: dan.color,\n type: dan.type\n };\n this.options.apiBackend.send(this.options.api.address, danmakuData, callback);\n this.dan.splice(this.danIndex, 0, danmakuData);\n this.danIndex++;\n var danmaku = {\n text: this.htmlEncode(danmakuData.text),\n color: danmakuData.color,\n type: danmakuData.type,\n border: '2px solid ' + this.options.borderColor\n };\n this.draw(danmaku);\n this.events && this.events.trigger('danmaku_send', danmakuData);\n }\n },\n {\n key: 'frame',\n value: function frame() {\n var _this3 = this;\n if (this.dan.length && !this.paused && this.showing) {\n var item = this.dan[this.danIndex];\n var dan = [];\n while (item && this.options.time() > parseFloat(item.time)) {\n dan.push(item);\n item = this.dan[++this.danIndex];\n }\n this.draw(dan);\n }\n window.requestAnimationFrame(function () {\n _this3.frame();\n });\n }\n },\n {\n key: 'opacity',\n value: function opacity(percentage) {\n if (percentage !== undefined) {\n var items = this.container.getElementsByClassName('dplayer-danmaku-item');\n for (var i = 0; i < items.length; i++) {\n items[i].style.opacity = percentage;\n }\n this._opacity = percentage;\n this.events && this.events.trigger('danmaku_opacity', this._opacity);\n }\n return this._opacity;\n }\n },\n {\n key: 'draw',\n value: function draw(dan) {\n var _this4 = this;\n if (this.showing) {\n var itemHeight = this.options.height;\n var danWidth = this.container.offsetWidth;\n var danHeight = this.container.offsetHeight;\n var itemY = parseInt(danHeight / itemHeight);\n var danItemRight = function danItemRight(ele) {\n var eleWidth = ele.offsetWidth || parseInt(ele.style.width);\n var eleRight = ele.getBoundingClientRect().right || _this4.container.getBoundingClientRect().right + eleWidth;\n return _this4.container.getBoundingClientRect().right - eleRight;\n };\n var danSpeed = function danSpeed(width) {\n return (danWidth + width) / 5;\n };\n var getTunnel = function getTunnel(ele, type, width) {\n var tmp = danWidth / danSpeed(width);\n var _loop = function _loop(i) {\n var item = _this4.danTunnel[type][i + ''];\n if (item && item.length) {\n if (type !== 'right') {\n return 'continue';\n }\n for (var j = 0; j < item.length; j++) {\n var danRight = danItemRight(item[j]) - 10;\n if (danRight <= danWidth - tmp * danSpeed(parseInt(item[j].style.width)) || danRight <= 0) {\n break;\n }\n if (j === item.length - 1) {\n _this4.danTunnel[type][i + ''].push(ele);\n ele.addEventListener('animationend', function () {\n _this4.danTunnel[type][i + ''].splice(0, 1);\n });\n return { v: i % itemY };\n }\n }\n } else {\n _this4.danTunnel[type][i + ''] = [ele];\n ele.addEventListener('animationend', function () {\n _this4.danTunnel[type][i + ''].splice(0, 1);\n });\n return { v: i % itemY };\n }\n };\n for (var i = 0; _this4.unlimited || i < itemY; i++) {\n var _ret = _loop(i);\n switch (_ret) {\n case 'continue':\n continue;\n default:\n if ((typeof _ret === 'undefined' ? 'undefined' : _typeof(_ret)) === 'object')\n return _ret.v;\n }\n }\n return -1;\n };\n if (Object.prototype.toString.call(dan) !== '[object Array]') {\n dan = [dan];\n }\n var docFragment = document.createDocumentFragment();\n var _loop2 = function _loop2(i) {\n if (!dan[i].type) {\n dan[i].type = 'right';\n }\n if (!dan[i].color) {\n dan[i].color = '#fff';\n }\n var item = document.createElement('div');\n item.classList.add('dplayer-danmaku-item');\n item.classList.add('dplayer-danmaku-' + dan[i].type);\n if (dan[i].border) {\n item.innerHTML = '' + dan[i].text + '';\n } else {\n item.innerHTML = dan[i].text;\n }\n item.style.opacity = _this4._opacity;\n item.style.color = dan[i].color;\n item.addEventListener('animationend', function () {\n _this4.container.removeChild(item);\n });\n var itemWidth = _this4._measure(dan[i].text);\n var tunnel = void 0;\n switch (dan[i].type) {\n case 'right':\n tunnel = getTunnel(item, dan[i].type, itemWidth);\n if (tunnel >= 0) {\n item.style.width = itemWidth + 1 + 'px';\n item.style.top = itemHeight * tunnel + 'px';\n item.style.transform = 'translateX(-' + danWidth + 'px)';\n }\n break;\n case 'top':\n tunnel = getTunnel(item, dan[i].type);\n if (tunnel >= 0) {\n item.style.top = itemHeight * tunnel + 'px';\n }\n break;\n case 'bottom':\n tunnel = getTunnel(item, dan[i].type);\n if (tunnel >= 0) {\n item.style.bottom = itemHeight * tunnel + 'px';\n }\n break;\n default:\n console.error('Can\\'t handled danmaku type: ' + dan[i].type);\n }\n if (tunnel >= 0) {\n item.classList.add('dplayer-danmaku-move');\n docFragment.appendChild(item);\n }\n };\n for (var i = 0; i < dan.length; i++) {\n _loop2(i);\n }\n this.container.appendChild(docFragment);\n return docFragment;\n }\n }\n },\n {\n key: 'play',\n value: function play() {\n this.paused = false;\n }\n },\n {\n key: 'pause',\n value: function pause() {\n this.paused = true;\n }\n },\n {\n key: '_measure',\n value: function _measure(text) {\n if (!this.context) {\n var measureStyle = getComputedStyle(this.container.getElementsByClassName('dplayer-danmaku-item')[0], null);\n this.context = document.createElement('canvas').getContext('2d');\n this.context.font = measureStyle.getPropertyValue('font');\n }\n return this.context.measureText(text).width;\n }\n },\n {\n key: 'seek',\n value: function seek() {\n this.clear();\n for (var i = 0; i < this.dan.length; i++) {\n if (this.dan[i].time >= this.options.time()) {\n this.danIndex = i;\n break;\n }\n this.danIndex = this.dan.length;\n }\n }\n },\n {\n key: 'clear',\n value: function clear() {\n this.danTunnel = {\n right: {},\n top: {},\n bottom: {}\n };\n this.danIndex = 0;\n this.options.container.innerHTML = '';\n this.events && this.events.trigger('danmaku_clear');\n }\n },\n {\n key: 'htmlEncode',\n value: function htmlEncode(str) {\n return str.replace(/&/g, '&').replace(//g, '>').replace(/\"/g, '"').replace(/'/g, ''').replace(/\\//g, '/');\n }\n },\n {\n key: 'resize',\n value: function resize() {\n var danWidth = this.container.offsetWidth;\n var items = this.container.getElementsByClassName('dplayer-danmaku-item');\n for (var i = 0; i < items.length; i++) {\n items[i].style.transform = 'translateX(-' + danWidth + 'px)';\n }\n }\n },\n {\n key: 'hide',\n value: function hide() {\n this.showing = false;\n this.pause();\n this.clear();\n this.events && this.events.trigger('danmaku_hide');\n }\n },\n {\n key: 'show',\n value: function show() {\n this.seek();\n this.showing = true;\n this.play();\n this.events && this.events.trigger('danmaku_show');\n }\n },\n {\n key: 'unlimit',\n value: function unlimit(boolean) {\n this.unlimited = boolean;\n }\n }\n ]);\n return Danmaku;\n}();\nexports.default = Danmaku;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/js/danmaku.js\n// module id = 9\n// module chunks = 0","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar Events = function () {\n function Events() {\n _classCallCheck(this, Events);\n this.events = {};\n this.videoEvents = [\n 'abort',\n 'canplay',\n 'canplaythrough',\n 'durationchange',\n 'emptied',\n 'ended',\n 'error',\n 'loadeddata',\n 'loadedmetadata',\n 'loadstart',\n 'mozaudioavailable',\n 'pause',\n 'play',\n 'playing',\n 'progress',\n 'ratechange',\n 'seeked',\n 'seeking',\n 'stalled',\n 'suspend',\n 'timeupdate',\n 'volumechange',\n 'waiting'\n ];\n this.playerEvents = [\n 'screenshot',\n 'thumbnails_show',\n 'thumbnails_hide',\n 'danmaku_show',\n 'danmaku_hide',\n 'danmaku_clear',\n 'danmaku_loaded',\n 'danmaku_send',\n 'danmaku_opacity',\n 'contextmenu_show',\n 'contextmenu_hide',\n 'notice_show',\n 'notice_hide',\n 'quality_start',\n 'quality_end',\n 'destroy',\n 'resize',\n 'fullscreen',\n 'fullscreen_cancel',\n 'webfullscreen',\n 'webfullscreen_cancel',\n 'subtitle_show',\n 'subtitle_hide',\n 'subtitle_change'\n ];\n }\n _createClass(Events, [\n {\n key: 'on',\n value: function on(name, callback) {\n if (this.type(name) && typeof callback === 'function') {\n if (!this.events[name]) {\n this.events[name] = [];\n }\n this.events[name].push(callback);\n }\n }\n },\n {\n key: 'trigger',\n value: function trigger(name, info) {\n if (this.events[name] && this.events[name].length) {\n for (var i = 0; i < this.events[name].length; i++) {\n this.events[name][i](info);\n }\n }\n }\n },\n {\n key: 'type',\n value: function type(name) {\n if (this.playerEvents.indexOf(name) !== -1) {\n return 'player';\n } else if (this.videoEvents.indexOf(name) !== -1) {\n return 'video';\n }\n console.error('Unknown event name: ' + name);\n return null;\n }\n }\n ]);\n return Events;\n}();\nexports.default = Events;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/js/events.js\n// module id = 10\n// module chunks = 0","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nvar _utils = require('./utils');\nvar _utils2 = _interopRequireDefault(_utils);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar FullScreen = function () {\n function FullScreen(player) {\n var _this = this;\n _classCallCheck(this, FullScreen);\n this.player = player;\n this.player.events.on('webfullscreen', function () {\n _this.player.resize();\n });\n this.player.events.on('webfullscreen_cancel', function () {\n _this.player.resize();\n _utils2.default.setScrollPosition(_this.lastScrollPosition);\n });\n var fullscreenchange = function fullscreenchange() {\n _this.player.resize();\n if (_this.isFullScreen('browser')) {\n _this.player.events.trigger('fullscreen');\n } else {\n _utils2.default.setScrollPosition(_this.lastScrollPosition);\n _this.player.events.trigger('fullscreen_cancel');\n }\n };\n this.player.container.addEventListener('fullscreenchange', fullscreenchange);\n this.player.container.addEventListener('mozfullscreenchange', fullscreenchange);\n this.player.container.addEventListener('webkitfullscreenchange', fullscreenchange);\n }\n _createClass(FullScreen, [\n {\n key: 'isFullScreen',\n value: function isFullScreen() {\n var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'browser';\n switch (type) {\n case 'browser':\n return document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement;\n case 'web':\n return this.player.container.classList.contains('dplayer-fulled');\n }\n }\n },\n {\n key: 'request',\n value: function request() {\n var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'browser';\n var anotherType = type === 'browser' ? 'web' : 'browser';\n var anotherTypeOn = this.isFullScreen(anotherType);\n if (!anotherTypeOn) {\n this.lastScrollPosition = _utils2.default.getScrollPosition();\n }\n switch (type) {\n case 'browser':\n if (this.player.container.requestFullscreen) {\n this.player.container.requestFullscreen();\n } else if (this.player.container.mozRequestFullScreen) {\n this.player.container.mozRequestFullScreen();\n } else if (this.player.container.webkitRequestFullscreen) {\n this.player.container.webkitRequestFullscreen();\n } else if (this.player.video.webkitEnterFullscreen) {\n this.player.video.webkitEnterFullscreen();\n }\n break;\n case 'web':\n this.player.container.classList.add('dplayer-fulled');\n document.body.classList.add('dplayer-web-fullscreen-fix');\n this.player.events.trigger('webfullscreen');\n break;\n }\n if (anotherTypeOn) {\n this.cancel(anotherType);\n }\n }\n },\n {\n key: 'cancel',\n value: function cancel() {\n var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'browser';\n switch (type) {\n case 'browser':\n if (document.cancelFullScreen) {\n document.cancelFullScreen();\n } else if (document.mozCancelFullScreen) {\n document.mozCancelFullScreen();\n } else if (document.webkitCancelFullScreen) {\n document.webkitCancelFullScreen();\n }\n break;\n case 'web':\n this.player.container.classList.remove('dplayer-fulled');\n document.body.classList.remove('dplayer-web-fullscreen-fix');\n this.player.events.trigger('webfullscreen_cancel');\n break;\n }\n }\n },\n {\n key: 'toggle',\n value: function toggle() {\n var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'browser';\n if (this.isFullScreen(type)) {\n this.cancel(type);\n } else {\n this.request(type);\n }\n }\n }\n ]);\n return FullScreen;\n}();\nexports.default = FullScreen;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/js/fullscreen.js\n// module id = 11\n// module chunks = 0","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nvar _utils = require('./utils');\nvar _utils2 = _interopRequireDefault(_utils);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar User = function () {\n function User(player) {\n _classCallCheck(this, User);\n this.storageName = {\n opacity: 'dplayer-danmaku-opacity',\n volume: 'dplayer-volume',\n unlimited: 'dplayer-danmaku-unlimited',\n danmaku: 'dplayer-danmaku-show',\n subtitle: 'dplayer-subtitle-show'\n };\n this.default = {\n opacity: 0.7,\n volume: player.options.volume || 0.7,\n unlimited: (player.options.danmaku && player.options.danmaku.unlimited ? 1 : 0) || 0,\n danmaku: 1,\n subtitle: 1\n };\n this.data = {};\n this.init();\n }\n _createClass(User, [\n {\n key: 'init',\n value: function init() {\n for (var item in this.storageName) {\n var name = this.storageName[item];\n this.data[item] = parseFloat(_utils2.default.storage.get(name) || this.default[item]);\n }\n }\n },\n {\n key: 'get',\n value: function get(key) {\n return this.data[key];\n }\n },\n {\n key: 'set',\n value: function set(key, value) {\n this.data[key] = value;\n _utils2.default.storage.set(this.storageName[key], value);\n }\n }\n ]);\n return User;\n}();\nexports.default = User;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/js/user.js\n// module id = 12\n// module chunks = 0","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar Subtitle = function () {\n function Subtitle(container, video, options, events) {\n _classCallCheck(this, Subtitle);\n this.container = container;\n this.video = video;\n this.options = options;\n this.events = events;\n this.init();\n }\n _createClass(Subtitle, [\n {\n key: 'init',\n value: function init() {\n var _this = this;\n this.container.style.fontSize = this.options.fontSize;\n this.container.style.bottom = this.options.bottom;\n this.container.style.color = this.options.color;\n if (this.video.textTracks && this.video.textTracks[0]) {\n var track = this.video.textTracks[0];\n track.oncuechange = function () {\n var cue = track.activeCues[0];\n if (cue) {\n _this.container.innerHTML = '';\n var p = document.createElement('p');\n p.appendChild(cue.getCueAsHTML());\n _this.container.appendChild(p);\n } else {\n _this.container.innerHTML = '';\n }\n _this.events.trigger('subtitle_change');\n };\n }\n }\n },\n {\n key: 'show',\n value: function show() {\n this.container.classList.remove('dplayer-subtitle-hide');\n this.events.trigger('subtitle_show');\n }\n },\n {\n key: 'hide',\n value: function hide() {\n this.container.classList.add('dplayer-subtitle-hide');\n this.events.trigger('subtitle_hide');\n }\n },\n {\n key: 'toggle',\n value: function toggle() {\n if (this.container.classList.contains('dplayer-subtitle-hide')) {\n this.show();\n } else {\n this.hide();\n }\n }\n }\n ]);\n return Subtitle;\n}();\nexports.default = Subtitle;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/js/subtitle.js\n// module id = 13\n// module chunks = 0","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar Bar = function () {\n function Bar(template) {\n _classCallCheck(this, Bar);\n this.elements = {};\n this.elements.volume = template.volumeBar;\n this.elements.played = template.playedBar;\n this.elements.loaded = template.loadedBar;\n this.elements.danmaku = template.danmakuOpacityBar;\n }\n _createClass(Bar, [\n {\n key: 'set',\n value: function set(type, percentage, direction) {\n percentage = Math.max(percentage, 0);\n percentage = Math.min(percentage, 1);\n this.elements[type].style[direction] = percentage * 100 + '%';\n }\n },\n {\n key: 'get',\n value: function get(type) {\n return parseFloat(this.elements[type].style.width) / 100;\n }\n }\n ]);\n return Bar;\n}();\nexports.default = Bar;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/js/bar.js\n// module id = 14\n// module chunks = 0","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nvar _utils = require('./utils');\nvar _utils2 = _interopRequireDefault(_utils);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar Time = function () {\n function Time(player) {\n _classCallCheck(this, Time);\n this.player = player;\n window.requestAnimationFrame = function () {\n return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame || function (callback) {\n window.setTimeout(callback, 1000 / 60);\n };\n }();\n this.types = [\n 'loading',\n 'progress'\n ];\n this.init();\n }\n _createClass(Time, [\n {\n key: 'init',\n value: function init() {\n for (var i = 0; i < this.types.length; i++) {\n var type = this.types[i];\n this['init' + type + 'Checker']();\n }\n }\n },\n {\n key: 'initloadingChecker',\n value: function initloadingChecker() {\n var _this = this;\n var lastPlayPos = 0;\n var currentPlayPos = 0;\n var bufferingDetected = false;\n this.loadingChecker = setInterval(function () {\n if (_this.enableloadingChecker) {\n currentPlayPos = _this.player.video.currentTime;\n if (!bufferingDetected && currentPlayPos === lastPlayPos && !_this.player.video.paused) {\n _this.player.container.classList.add('dplayer-loading');\n bufferingDetected = true;\n }\n if (bufferingDetected && currentPlayPos > lastPlayPos && !_this.player.video.paused) {\n _this.player.container.classList.remove('dplayer-loading');\n bufferingDetected = false;\n }\n lastPlayPos = currentPlayPos;\n }\n }, 100);\n }\n },\n {\n key: 'initprogressChecker',\n value: function initprogressChecker() {\n var _this2 = this;\n this.progressChecker = setInterval(function () {\n if (_this2.enableprogressChecker) {\n _this2.player.bar.set('played', _this2.player.video.currentTime / _this2.player.video.duration, 'width');\n var currentTime = _utils2.default.secondToTime(_this2.player.video.currentTime);\n if (_this2.player.template.ptime.innerHTML !== currentTime) {\n _this2.player.template.ptime.innerHTML = _utils2.default.secondToTime(_this2.player.video.currentTime);\n }\n }\n }, 100);\n }\n },\n {\n key: 'enable',\n value: function enable(type) {\n if (type) {\n this['enable' + type + 'Checker'] = true;\n } else {\n for (var i = 0; i < this.types.length; i++) {\n var _type = this.types[i];\n this['enable' + _type + 'Checker'] = true;\n }\n }\n }\n },\n {\n key: 'disable',\n value: function disable(type) {\n if (type) {\n this['enable' + type + 'Checker'] = false;\n } else {\n for (var i = 0; i < this.types.length; i++) {\n var _type2 = this.types[i];\n this['enable' + _type2 + 'Checker'] = false;\n }\n }\n }\n },\n {\n key: 'destroy',\n value: function destroy(type) {\n if (type) {\n clearInterval(this[type + 'Checker']);\n } else {\n for (var i = 0; i < this.types.length; i++) {\n clearInterval(this[this.types[i] + 'Checker']);\n }\n }\n }\n }\n ]);\n return Time;\n}();\nexports.default = Time;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/js/time.js\n// module id = 15\n// module chunks = 0","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar Bezel = function () {\n function Bezel(container) {\n var _this = this;\n _classCallCheck(this, Bezel);\n this.container = container;\n this.container.addEventListener('animationend', function () {\n _this.container.classList.remove('dplayer-bezel-transition');\n });\n }\n _createClass(Bezel, [{\n key: 'switch',\n value: function _switch(icon) {\n this.container.innerHTML = icon;\n this.container.classList.add('dplayer-bezel-transition');\n }\n }]);\n return Bezel;\n}();\nexports.default = Bezel;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/js/bezel.js\n// module id = 16\n// module chunks = 0","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nvar _utils = require('./utils');\nvar _utils2 = _interopRequireDefault(_utils);\nvar _thumbnails = require('./thumbnails');\nvar _thumbnails2 = _interopRequireDefault(_thumbnails);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar Controller = function () {\n function Controller(player) {\n var _this = this;\n _classCallCheck(this, Controller);\n this.player = player;\n this.autoHideTimer = 0;\n if (!_utils2.default.isMobile) {\n this.player.container.addEventListener('mousemove', function () {\n _this.setAutoHide();\n });\n this.player.container.addEventListener('click', function () {\n _this.setAutoHide();\n });\n }\n this.initPlayButton();\n this.initThumbnails();\n this.initPlayedBar();\n this.initFullButton();\n this.initVolumeButton();\n this.initQualityButton();\n this.initScreenshotButton();\n this.initSubtitleButton();\n }\n _createClass(Controller, [\n {\n key: 'initPlayButton',\n value: function initPlayButton() {\n var _this2 = this;\n this.player.template.playButton.addEventListener('click', function () {\n _this2.player.toggle();\n });\n if (!_utils2.default.isMobile) {\n this.player.template.videoWrap.addEventListener('click', function () {\n _this2.player.toggle();\n });\n this.player.template.controllerMask.addEventListener('click', function () {\n _this2.player.toggle();\n });\n } else {\n this.player.template.videoWrap.addEventListener('click', function () {\n _this2.toggle();\n });\n this.player.template.controllerMask.addEventListener('click', function () {\n _this2.toggle();\n });\n }\n }\n },\n {\n key: 'initThumbnails',\n value: function initThumbnails() {\n var _this3 = this;\n if (this.player.options.video.thumbnails) {\n this.thumbnails = new _thumbnails2.default({\n container: this.player.template.barPreview,\n barWidth: this.player.template.barWrap.offsetWidth,\n url: this.player.options.video.thumbnails,\n events: this.player.events\n });\n this.player.on('loadedmetadata', function () {\n _this3.thumbnails.resize(160, _this3.player.video.videoHeight / _this3.player.video.videoWidth * 160);\n });\n }\n }\n },\n {\n key: 'initPlayedBar',\n value: function initPlayedBar() {\n var _this4 = this;\n var thumbMove = function thumbMove(e) {\n var percentage = (e.clientX - _utils2.default.getElementViewLeft(_this4.player.template.playedBarWrap)) / _this4.player.template.playedBarWrap.clientWidth;\n percentage = Math.max(percentage, 0);\n percentage = Math.min(percentage, 1);\n _this4.player.bar.set('played', percentage, 'width');\n _this4.player.template.ptime.innerHTML = _utils2.default.secondToTime(percentage * _this4.player.video.duration);\n };\n var thumbUp = function thumbUp(e) {\n document.removeEventListener('mouseup', thumbUp);\n document.removeEventListener('mousemove', thumbMove);\n var percentage = (e.clientX - _utils2.default.getElementViewLeft(_this4.player.template.playedBarWrap)) / _this4.player.template.playedBarWrap.clientWidth;\n percentage = Math.max(percentage, 0);\n percentage = Math.min(percentage, 1);\n _this4.player.bar.set('played', percentage, 'width');\n _this4.player.seek(_this4.player.bar.get('played') * _this4.player.video.duration);\n _this4.player.time.enable('progress');\n };\n this.player.template.playedBarWrap.addEventListener('mousedown', function () {\n _this4.player.time.disable('progress');\n document.addEventListener('mousemove', thumbMove);\n document.addEventListener('mouseup', thumbUp);\n });\n this.player.template.playedBarWrap.addEventListener('mousemove', function (e) {\n if (_this4.player.video.duration) {\n var px = _utils2.default.cumulativeOffset(_this4.player.template.playedBarWrap).left;\n var tx = e.clientX - px;\n if (tx < 0 || tx > _this4.player.template.playedBarWrap.offsetWidth) {\n return;\n }\n var time = _this4.player.video.duration * (tx / _this4.player.template.playedBarWrap.offsetWidth);\n _this4.thumbnails && _this4.thumbnails.move(tx);\n _this4.player.template.playedBarTime.style.left = tx - 20 + 'px';\n _this4.player.template.playedBarTime.innerText = _utils2.default.secondToTime(time);\n _this4.player.template.playedBarTime.classList.remove('hidden');\n }\n });\n this.player.template.playedBarWrap.addEventListener('mouseenter', function () {\n if (_this4.player.video.duration) {\n _this4.thumbnails && _this4.thumbnails.show();\n _this4.player.template.playedBarTime.classList.remove('hidden');\n }\n });\n this.player.template.playedBarWrap.addEventListener('mouseleave', function () {\n if (_this4.player.video.duration) {\n _this4.thumbnails && _this4.thumbnails.hide();\n _this4.player.template.playedBarTime.classList.add('hidden');\n }\n });\n }\n },\n {\n key: 'initFullButton',\n value: function initFullButton() {\n var _this5 = this;\n this.player.template.browserFullButton.addEventListener('click', function () {\n _this5.player.fullScreen.toggle('browser');\n });\n this.player.template.webFullButton.addEventListener('click', function () {\n _this5.player.fullScreen.toggle('web');\n });\n }\n },\n {\n key: 'initVolumeButton',\n value: function initVolumeButton() {\n var _this6 = this;\n var vWidth = 35;\n var volumeMove = function volumeMove(event) {\n var e = event || window.event;\n var percentage = (e.clientX - _utils2.default.getElementViewLeft(_this6.player.template.volumeBarWrap) - 5.5) / vWidth;\n _this6.player.volume(percentage);\n };\n var volumeUp = function volumeUp() {\n document.removeEventListener('mouseup', volumeUp);\n document.removeEventListener('mousemove', volumeMove);\n _this6.player.template.volumeButton.classList.remove('dplayer-volume-active');\n };\n this.player.template.volumeBarWrapWrap.addEventListener('click', function (event) {\n var e = event || window.event;\n var percentage = (e.clientX - _utils2.default.getElementViewLeft(_this6.player.template.volumeBarWrap) - 5.5) / vWidth;\n _this6.player.volume(percentage);\n });\n this.player.template.volumeBarWrapWrap.addEventListener('mousedown', function () {\n document.addEventListener('mousemove', volumeMove);\n document.addEventListener('mouseup', volumeUp);\n _this6.player.template.volumeButton.classList.add('dplayer-volume-active');\n });\n this.player.template.volumeIcon.addEventListener('click', function () {\n if (_this6.player.video.muted) {\n _this6.player.video.muted = false;\n _this6.player.switchVolumeIcon();\n _this6.player.bar.set('volume', _this6.player.volume(), 'width');\n } else {\n _this6.player.video.muted = true;\n _this6.player.template.volumeIcon.innerHTML = _this6.player.icons.get('volume-off');\n _this6.player.bar.set('volume', 0, 'width');\n }\n });\n }\n },\n {\n key: 'initQualityButton',\n value: function initQualityButton() {\n var _this7 = this;\n if (this.player.options.video.quality) {\n this.player.template.qualityList.addEventListener('click', function (e) {\n if (e.target.classList.contains('dplayer-quality-item')) {\n _this7.player.switchQuality(e.target.dataset.index);\n }\n });\n }\n }\n },\n {\n key: 'initScreenshotButton',\n value: function initScreenshotButton() {\n var _this8 = this;\n if (this.player.options.screenshot) {\n this.player.template.camareButton.addEventListener('click', function () {\n var canvas = document.createElement('canvas');\n canvas.width = _this8.player.video.videoWidth;\n canvas.height = _this8.player.video.videoHeight;\n canvas.getContext('2d').drawImage(_this8.player.video, 0, 0, canvas.width, canvas.height);\n var dataURL = canvas.toDataURL();\n _this8.player.template.camareButton.href = dataURL;\n _this8.player.template.camareButton.download = 'DPlayer.png';\n _this8.player.events.trigger('screenshot', dataURL);\n });\n }\n }\n },\n {\n key: 'initSubtitleButton',\n value: function initSubtitleButton() {\n var _this9 = this;\n if (this.player.options.subtitle) {\n this.player.events.on('subtitle_show', function () {\n _this9.player.template.subtitleButton.dataset.balloon = _this9.player.tran('Hide subtitle');\n _this9.player.template.subtitleButtonInner.style.opacity = '';\n _this9.player.user.set('subtitle', 1);\n });\n this.player.events.on('subtitle_hide', function () {\n _this9.player.template.subtitleButton.dataset.balloon = _this9.player.tran('Show subtitle');\n _this9.player.template.subtitleButtonInner.style.opacity = '0.4';\n _this9.player.user.set('subtitle', 0);\n });\n this.player.template.subtitleButton.addEventListener('click', function () {\n _this9.player.subtitle.toggle();\n });\n }\n }\n },\n {\n key: 'setAutoHide',\n value: function setAutoHide() {\n var _this10 = this;\n this.show();\n clearTimeout(this.autoHideTimer);\n this.autoHideTimer = setTimeout(function () {\n if (_this10.player.video.played.length && !_this10.disableAutoHide) {\n _this10.hide();\n }\n }, 2000);\n }\n },\n {\n key: 'show',\n value: function show() {\n this.player.container.classList.remove('dplayer-hide-controller');\n }\n },\n {\n key: 'hide',\n value: function hide() {\n this.player.container.classList.add('dplayer-hide-controller');\n this.player.setting.hide();\n this.player.comment.hide();\n }\n },\n {\n key: 'isShow',\n value: function isShow() {\n return !this.player.container.classList.contains('dplayer-hide-controller');\n }\n },\n {\n key: 'toggle',\n value: function toggle() {\n if (this.isShow()) {\n this.hide();\n } else {\n this.show();\n }\n }\n },\n {\n key: 'destroy',\n value: function destroy() {\n clearTimeout(this.autoHideTimer);\n }\n }\n ]);\n return Controller;\n}();\nexports.default = Controller;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/js/controller.js\n// module id = 17\n// module chunks = 0","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar Thumbnails = function () {\n function Thumbnails(options) {\n _classCallCheck(this, Thumbnails);\n this.container = options.container;\n this.barWidth = options.barWidth;\n this.container.style.backgroundImage = 'url(\\'' + options.url + '\\')';\n this.events = options.events;\n }\n _createClass(Thumbnails, [\n {\n key: 'resize',\n value: function resize(width, height) {\n this.container.style.width = width + 'px';\n this.container.style.height = height + 'px';\n this.container.style.top = -height + 2 + 'px';\n }\n },\n {\n key: 'show',\n value: function show() {\n this.container.style.display = 'block';\n this.events && this.events.trigger('thumbnails_show');\n }\n },\n {\n key: 'move',\n value: function move(position) {\n this.container.style.backgroundPosition = '-' + (Math.ceil(position / this.barWidth * 100) - 1) * 160 + 'px 0';\n this.container.style.left = position - this.container.offsetWidth / 2 + 'px';\n }\n },\n {\n key: 'hide',\n value: function hide() {\n this.container.style.display = 'none';\n this.events && this.events.trigger('thumbnails_hide');\n }\n }\n ]);\n return Thumbnails;\n}();\nexports.default = Thumbnails;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/js/thumbnails.js\n// module id = 18\n// module chunks = 0","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nvar _utils = require('./utils');\nvar _utils2 = _interopRequireDefault(_utils);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar Setting = function () {\n function Setting(player) {\n var _this = this;\n _classCallCheck(this, Setting);\n this.player = player;\n this.player.template.mask.addEventListener('click', function () {\n _this.hide();\n });\n this.player.template.settingButton.addEventListener('click', function () {\n _this.show();\n });\n this.loop = this.player.options.loop;\n this.player.template.loopToggle.checked = this.loop;\n this.player.template.loop.addEventListener('click', function () {\n _this.player.template.loopToggle.checked = !_this.player.template.loopToggle.checked;\n if (_this.player.template.loopToggle.checked) {\n _this.loop = true;\n } else {\n _this.loop = false;\n }\n _this.hide();\n });\n this.showDanmaku = this.player.user.get('danmaku');\n if (!this.showDanmaku) {\n this.player.danmaku && this.player.danmaku.hide();\n }\n this.player.template.showDanmakuToggle.checked = this.showDanmaku;\n this.player.template.showDanmaku.addEventListener('click', function () {\n _this.player.template.showDanmakuToggle.checked = !_this.player.template.showDanmakuToggle.checked;\n if (_this.player.template.showDanmakuToggle.checked) {\n _this.showDanmaku = true;\n _this.player.danmaku.show();\n } else {\n _this.showDanmaku = false;\n _this.player.danmaku.hide();\n }\n _this.player.user.set('danmaku', _this.showDanmaku ? 1 : 0);\n _this.hide();\n });\n this.unlimitDanmaku = this.player.user.get('unlimited');\n this.player.template.unlimitDanmakuToggle.checked = this.unlimitDanmaku;\n this.player.template.unlimitDanmaku.addEventListener('click', function () {\n _this.player.template.unlimitDanmakuToggle.checked = !_this.player.template.unlimitDanmakuToggle.checked;\n if (_this.player.template.unlimitDanmakuToggle.checked) {\n _this.unlimitDanmaku = true;\n _this.player.danmaku.unlimit(true);\n } else {\n _this.unlimitDanmaku = false;\n _this.player.danmaku.unlimit(false);\n }\n _this.player.user.set('unlimited', _this.unlimitDanmaku ? 1 : 0);\n _this.hide();\n });\n this.player.template.speed.addEventListener('click', function () {\n _this.player.template.settingBox.classList.add('dplayer-setting-box-narrow');\n _this.player.template.settingBox.classList.add('dplayer-setting-box-speed');\n });\n var _loop = function _loop(i) {\n _this.player.template.speedItem[i].addEventListener('click', function () {\n _this.player.speed(_this.player.template.speedItem[i].dataset.speed);\n _this.hide();\n });\n };\n for (var i = 0; i < this.player.template.speedItem.length; i++) {\n _loop(i);\n }\n if (this.player.danmaku) {\n var dWidth = 130;\n this.player.on('danmaku_opacity', function (percentage) {\n _this.player.bar.set('danmaku', percentage, 'width');\n _this.player.user.set('opacity', percentage);\n });\n this.player.danmaku.opacity(this.player.user.get('opacity'));\n var danmakuMove = function danmakuMove(event) {\n var e = event || window.event;\n var percentage = (e.clientX - _utils2.default.getElementViewLeft(_this.player.template.danmakuOpacityBarWrap)) / dWidth;\n percentage = Math.max(percentage, 0);\n percentage = Math.min(percentage, 1);\n _this.player.danmaku.opacity(percentage);\n };\n var danmakuUp = function danmakuUp() {\n document.removeEventListener('mouseup', danmakuUp);\n document.removeEventListener('mousemove', danmakuMove);\n _this.player.template.danmakuOpacityBox.classList.remove('dplayer-setting-danmaku-active');\n };\n this.player.template.danmakuOpacityBarWrapWrap.addEventListener('click', function (event) {\n var e = event || window.event;\n var percentage = (e.clientX - _utils2.default.getElementViewLeft(_this.player.template.danmakuOpacityBarWrap)) / dWidth;\n percentage = Math.max(percentage, 0);\n percentage = Math.min(percentage, 1);\n _this.player.danmaku.opacity(percentage);\n });\n this.player.template.danmakuOpacityBarWrapWrap.addEventListener('mousedown', function () {\n document.addEventListener('mousemove', danmakuMove);\n document.addEventListener('mouseup', danmakuUp);\n _this.player.template.danmakuOpacityBox.classList.add('dplayer-setting-danmaku-active');\n });\n }\n }\n _createClass(Setting, [\n {\n key: 'hide',\n value: function hide() {\n var _this2 = this;\n this.player.template.settingBox.classList.remove('dplayer-setting-box-open');\n this.player.template.mask.classList.remove('dplayer-mask-show');\n setTimeout(function () {\n _this2.player.template.settingBox.classList.remove('dplayer-setting-box-narrow');\n _this2.player.template.settingBox.classList.remove('dplayer-setting-box-speed');\n }, 300);\n this.player.controller.disableAutoHide = false;\n }\n },\n {\n key: 'show',\n value: function show() {\n this.player.template.settingBox.classList.add('dplayer-setting-box-open');\n this.player.template.mask.classList.add('dplayer-mask-show');\n this.player.controller.disableAutoHide = true;\n }\n }\n ]);\n return Setting;\n}();\nexports.default = Setting;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/js/setting.js\n// module id = 19\n// module chunks = 0","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar Comment = function () {\n function Comment(player) {\n var _this = this;\n _classCallCheck(this, Comment);\n this.player = player;\n this.player.template.mask.addEventListener('click', function () {\n _this.hide();\n });\n this.player.template.commentButton.addEventListener('click', function () {\n _this.show();\n });\n this.player.template.commentSettingButton.addEventListener('click', function () {\n _this.toggleSetting();\n });\n this.player.template.commentColorSettingBox.addEventListener('click', function () {\n var sele = _this.player.template.commentColorSettingBox.querySelector('input:checked+span');\n if (sele) {\n var color = _this.player.template.commentColorSettingBox.querySelector('input:checked').value;\n _this.player.template.commentSettingFill.style.fill = color;\n _this.player.template.commentInput.style.color = color;\n _this.player.template.commentSendFill.style.fill = color;\n }\n });\n this.player.template.commentInput.addEventListener('click', function () {\n _this.hideSetting();\n });\n this.player.template.commentInput.addEventListener('keydown', function (e) {\n var event = e || window.event;\n if (event.keyCode === 13) {\n _this.send();\n }\n });\n this.player.template.commentSendButton.addEventListener('click', function () {\n _this.send();\n });\n }\n _createClass(Comment, [\n {\n key: 'show',\n value: function show() {\n this.player.controller.disableAutoHide = true;\n this.player.template.controller.classList.add('dplayer-controller-comment');\n this.player.template.mask.classList.add('dplayer-mask-show');\n this.player.container.classList.add('dplayer-show-controller');\n this.player.template.commentInput.focus();\n }\n },\n {\n key: 'hide',\n value: function hide() {\n this.player.template.controller.classList.remove('dplayer-controller-comment');\n this.player.template.mask.classList.remove('dplayer-mask-show');\n this.player.container.classList.remove('dplayer-show-controller');\n this.player.controller.disableAutoHide = false;\n this.hideSetting();\n }\n },\n {\n key: 'showSetting',\n value: function showSetting() {\n this.player.template.commentSettingBox.classList.add('dplayer-comment-setting-open');\n }\n },\n {\n key: 'hideSetting',\n value: function hideSetting() {\n this.player.template.commentSettingBox.classList.remove('dplayer-comment-setting-open');\n }\n },\n {\n key: 'toggleSetting',\n value: function toggleSetting() {\n if (this.player.template.commentSettingBox.classList.contains('dplayer-comment-setting-open')) {\n this.hideSetting();\n } else {\n this.showSetting();\n }\n }\n },\n {\n key: 'send',\n value: function send() {\n var _this2 = this;\n this.player.template.commentInput.blur();\n if (!this.player.template.commentInput.value.replace(/^\\s+|\\s+$/g, '')) {\n this.player.notice(this.player.tran('Please input danmaku content!'));\n return;\n }\n this.player.danmaku.send({\n text: this.player.template.commentInput.value,\n color: this.player.container.querySelector('.dplayer-comment-setting-color input:checked').value,\n type: this.player.container.querySelector('.dplayer-comment-setting-type input:checked').value\n }, function () {\n _this2.player.template.commentInput.value = '';\n _this2.hide();\n });\n }\n }\n ]);\n return Comment;\n}();\nexports.default = Comment;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/js/comment.js\n// module id = 20\n// module chunks = 0","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar HotKey = function HotKey(player) {\n _classCallCheck(this, HotKey);\n if (player.options.hotkey) {\n document.addEventListener('keydown', function (e) {\n if (player.focus) {\n var tag = document.activeElement.tagName.toUpperCase();\n var editable = document.activeElement.getAttribute('contenteditable');\n if (tag !== 'INPUT' && tag !== 'TEXTAREA' && editable !== '' && editable !== 'true') {\n var event = e || window.event;\n var percentage = void 0;\n switch (event.keyCode) {\n case 32:\n event.preventDefault();\n player.toggle();\n break;\n case 37:\n event.preventDefault();\n player.seek(player.video.currentTime - 5);\n player.controller.setAutoHide();\n break;\n case 39:\n event.preventDefault();\n player.seek(player.video.currentTime + 5);\n player.controller.setAutoHide();\n break;\n case 38:\n event.preventDefault();\n percentage = player.volume() + 0.1;\n player.volume(percentage);\n break;\n case 40:\n event.preventDefault();\n percentage = player.volume() - 0.1;\n player.volume(percentage);\n break;\n }\n }\n }\n });\n }\n document.addEventListener('keydown', function (e) {\n var event = e || window.event;\n switch (event.keyCode) {\n case 27:\n if (player.fullScreen.isFullScreen('web')) {\n player.fullScreen.cancel('web');\n }\n break;\n }\n });\n};\nexports.default = HotKey;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/js/hotkey.js\n// module id = 21\n// module chunks = 0","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar ContextMenu = function () {\n function ContextMenu(player) {\n var _this = this;\n _classCallCheck(this, ContextMenu);\n this.player = player;\n this.player.container.addEventListener('contextmenu', function (e) {\n var event = e || window.event;\n event.preventDefault();\n var clientRect = _this.player.container.getBoundingClientRect();\n _this.show(event.clientX - clientRect.left, event.clientY - clientRect.top);\n _this.player.template.mask.addEventListener('click', function () {\n _this.hide();\n });\n });\n }\n _createClass(ContextMenu, [\n {\n key: 'show',\n value: function show(x, y) {\n this.player.template.menu.classList.add('dplayer-menu-show');\n var clientRect = this.player.container.getBoundingClientRect();\n if (x + this.player.template.menu.offsetWidth >= clientRect.width) {\n this.player.template.menu.style.right = clientRect.width - x + 'px';\n this.player.template.menu.style.left = 'initial';\n } else {\n this.player.template.menu.style.left = x + 'px';\n this.player.template.menu.style.right = 'initial';\n }\n if (y + this.player.template.menu.offsetHeight >= clientRect.height) {\n this.player.template.menu.style.bottom = clientRect.height - y + 'px';\n this.player.template.menu.style.top = 'initial';\n } else {\n this.player.template.menu.style.top = y + 'px';\n this.player.template.menu.style.bottom = 'initial';\n }\n this.player.template.mask.classList.add('dplayer-mask-show');\n this.player.events.trigger('contextmenu_show');\n }\n },\n {\n key: 'hide',\n value: function hide() {\n this.player.template.mask.classList.remove('dplayer-mask-show');\n this.player.template.menu.classList.remove('dplayer-menu-show');\n this.player.events.trigger('contextmenu_hide');\n }\n }\n ]);\n return ContextMenu;\n}();\nexports.default = ContextMenu;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/js/contextmenu.js\n// module id = 22\n// module chunks = 0"],"sourceRoot":""} \ No newline at end of file diff --git a/package.json b/package.json index 0c7f804d4..eb42510e1 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "dplayer", - "version": "1.17.5", + "version": "1.18.0", "description": "Wow, such a lovely HTML5 danmaku video player", "main": "dist/DPlayer.min.js", "style": "dist/DPlayer.min.css", diff --git a/src/js/player.js b/src/js/player.js index 03db5604b..36bfae34b 100644 --- a/src/js/player.js +++ b/src/js/player.js @@ -478,6 +478,10 @@ class DPlayer { this.events.trigger('resize'); } + speed (rate) { + this.video.playbackRate = rate; + } + destroy () { instances.splice(instances.indexOf(this), 1); this.pause(); diff --git a/src/js/setting.js b/src/js/setting.js index 441631990..f8a8869d5 100644 --- a/src/js/setting.js +++ b/src/js/setting.js @@ -69,7 +69,7 @@ class Setting { }); for (let i = 0; i < this.player.template.speedItem.length; i++) { this.player.template.speedItem[i].addEventListener('click', () => { - this.player.video.playbackRate = this.player.template.speedItem[i].dataset.speed; + this.player.speed(this.player.template.speedItem[i].dataset.speed); this.hide(); }); }