diff --git a/css/video/video.css b/css/video/video.css index 75b9699..e09b229 100644 --- a/css/video/video.css +++ b/css/video/video.css @@ -157,9 +157,9 @@ body { } #left-top-two { - width: 100%; + width: 92%; height: 26%; - justify-content: space-evenly; + justify-content: space-between; } #jj-box, @@ -307,7 +307,7 @@ body { /*视频框样式*/ .ball-content { - width: 96%; + width: 98%; height: 94%; margin: 4% 1% 0 1%; pointer-events: none; @@ -368,4 +368,37 @@ body { justify-content: end; } -/* 右侧样式 start */ \ No newline at end of file +/* 右侧样式 start */ + +/* dtree 样式 start */ +.dtree-nav-item { + background: linear-gradient(90deg, rgba(153, 255, 255, 0) 0%, rgba(35, 161, 161, 0.5) 49%, rgba(153, 255, 255, 0) 100%); + border-radius: 0px 0px 0px 0px; + margin: 10px 0 10px 0; +} + +.dtree-laySimple-item:hover { + background: linear-gradient(90deg, rgba(153, 255, 255, 0) 0%, rgba(50, 251, 251, 0.6) 49%, rgba(153, 255, 255, 0) 100%) !important; + border-radius: 0px 0px 0px 0px; +} + +.dtree-laySimple-item-this { + background: linear-gradient(90deg, rgba(153, 255, 255, 0) 0%, rgba(50, 251, 251, 0.6) 49%, rgba(153, 255, 255, 0) 100%) !important; + border-radius: 0px 0px 0px 0px; + color: rgba(50, 251, 251, 0.6) !important; +} + +.dtree-laySimple-item cite { + font-size: 16px !important; +} + +.dtree-laySimple-item:hover cite { + color: rgba(50, 251, 251, 0.6) !important; +} + +.dtree-laySimple-ficon { + font-size: 14px !important; + color: #fff !important; +} + +/* dtree 样式 start */ \ No newline at end of file diff --git a/img/video/voi_photo2.png b/img/video/voi_photo2.png new file mode 100644 index 0000000..7773467 Binary files /dev/null and b/img/video/voi_photo2.png differ diff --git a/img/video/voi_photo3.png b/img/video/voi_photo3.png new file mode 100644 index 0000000..4a03bba Binary files /dev/null and b/img/video/voi_photo3.png differ diff --git a/img/video/voi_photo4.png b/img/video/voi_photo4.png new file mode 100644 index 0000000..abcd3dd Binary files /dev/null and b/img/video/voi_photo4.png differ diff --git a/js/pages/video/video.js b/js/pages/video/video.js index dd29df2..35833e7 100644 --- a/js/pages/video/video.js +++ b/js/pages/video/video.js @@ -1,15 +1,61 @@ -let layer, form; +let layer, form, util, dtree, videoTree; let winDom = 'videoPlayer1'; -layui.use(['layer', 'form'], function () { +layui.config({ + base: "../../plugin/layui-v2.9.7/layui/dtree/", //此处路径请自行处理, 可以使用绝对路径 +}).extend({ + dtree: 'dtree' +}).use(['layer', 'form', 'dtree', 'util'], function () { form = layui.form; layer = layui.layer; - $("#voi-photo").niceScroll({ cursorborder: "", cursorcolor: "#c0c4cc", boxzoom: true }); - $("body").niceScroll({ cursorborder: "", cursorcolor: "#c0c4cc", boxzoom: true }); - console.log("选中的标段编码:" + parent.$('#bidPro').val()) + dtree = layui.dtree; + util = layui.util; initVideo(); - setTimeout(() => { - QXPlayVideo('201115200124261007', '0', winDom) - }, 2000); - loadVideoTree(); + $("body").niceScroll({ cursorborder: "", cursorcolor: "#c0c4cc", boxzoom: true }); + $("#voi-photo").niceScroll({ cursorborder: "", cursorcolor: "#c0c4cc", boxzoom: true }); + $("#video-tree").niceScroll({ cursorborder: "", cursorcolor: "#c0c4cc", boxzoom: true }); + dtree.on("node('video-tree')", function (obj) { + if (obj.param.level === '1') { + return parent.layer.msg('请选择球机', { icon: 7 }); + } + const nodeId = obj.param.nodeId; + let puid = nodeId.replace('QJ', ''); + if (puid) { + parent.layer.msg("视频加载中,请稍候...", { icon: 16, scrollbar: false, time: 1000, }); + QXPlayVideo(puid, '0', winDom) + playControl(); + videoObject.devCode = puid; + } else { + return parent.layer.msg('请选择球机', { icon: 7 }); + } + }); + + util.event('lay-active', { + // 本地抓拍 + photoLocal: function () { + screenshot(); + }, + // 远程录像 + videoRemote: function () { + if (videoObject.playState) { + if (isEmpty(videoObject.remoteId)) { + // $(this).attr("src", "../../img/video/videoRemote-select.png"); + remoteVideo(videoObject.devCode, 0); + } else { + // $(this).attr("src", "../../img/video/videoRemote.png"); + stopRemote(videoObject.remoteId, 0) + } + } else { + parent.layer.msg("请先播放视频。。。", { icon: 7 }); + } + }, + // 远程抓拍 + photoRemote: function () { + if (videoObject.playState) { + remoteVideo(videoObject.devCode, 1); + } else { + parent.layer.msg("请先播放视频。。。", { icon: 7 }); + } + } + }); }); diff --git a/js/pages/video/videoAjax.js b/js/pages/video/videoAjax.js index 5aae72b..326d1a0 100644 --- a/js/pages/video/videoAjax.js +++ b/js/pages/video/videoAjax.js @@ -1,14 +1,14 @@ /* 球机树 */ function loadVideoTree() { const bidCode = parent.$('#bidPro').val(); - const paramData = 'bidCode=' + bidCode + '&roleCode=' + roleCode + '&orgId=' + orgId + '&userId=' + userId; + const keyWord = $('#keyWord').val(); + const paramData = 'bidCode=' + bidCode + '&roleCode=' + roleCode + '&orgId=' + orgId + '&userId=' + userId + '¶m=' + keyWord; let montageParam = aqEnnable ? encryptCBC(paramData) : ' &' + encryptCBC(paramData); const url = commonUrl + 'screen/largeScreen/video/getVideoTree?params=' + montageParam; ajaxRequestGet(url, "GET", true, function () { }, function (result) { - console.log(result); if (result.code === 200) { - // setData(result.data); + setData(result.data); } else if (result.code === 500) { console.error('视频树' + result.msg); } else if (result.code === 401) { @@ -18,4 +18,31 @@ function loadVideoTree() { error(xhr, status, error) }, aqEnnable); + function setData(data) { + let totalNum = 0, onlineNum = 0, offLineNum = 0; + $.each(data, function (index, item) { + if (item.id !== '0') { + totalNum++; + if (item.onLine === '1') { + onlineNum++; + item.title = '' + item.title + '' + } else { + offLineNum++; + item.title = '' + item.title + '' + } + } + }) + videoTree = dtree.render({ + elem: "#video-tree", + width: "96%", // 指定树的宽度 + data: data, + dataFormat: "list", + skin: "laySimple", + line: false, // 显示树线 + }); + // 设备在线情况 + $('.device-status').eq(0).html('全部(' + totalNum + ')') + $('.device-status').eq(1).html('在线(' + onlineNum + ')') + $('.device-status').eq(2).html('离线(' + offLineNum + ')') + } } \ No newline at end of file diff --git a/js/pages/video/videoConnect.js b/js/pages/video/videoConnect.js index d0f429a..4a6b991 100644 --- a/js/pages/video/videoConnect.js +++ b/js/pages/video/videoConnect.js @@ -74,7 +74,6 @@ function getQXConnect() { * @param dom 窗口id */ function QXPlayVideo(puId, idx, dom) { - //播视频接口 destoryVideo(flvPlayer); let url = qxUrl + "stream.flv?puid=" + puId + "&idx=" + idx + "&stream=0&token=" + qxToken; @@ -108,7 +107,7 @@ function QXPlayVideo(puId, idx, dom) { flvPlayer.on(flvjs.Events.SCRIPTDATA_ARRIVED, (errorType, errorDetail, errorInfo) => { if (flvPlayer) { videoObject.playState = true; - $('.noVideoMask').css('background-image', 'none') + // $('.noVideoMask').css('background-image', 'none') //视频断流、延迟处理 $('#' + dom).attr("ontimeupdate", "progress(event)") recordVideo(); @@ -222,10 +221,10 @@ function remoteVideo(puid, type) { requestPost("CSS/C_CSS_StartManualStorage" + "?token=" + qxToken, params, function (data) { if (data.responseJSON.Error === '0') { if (type === 0) { - layer.msg("开始录像成功", { icon: 1 }); + parent.layer.msg("开始录像成功", { icon: 1 }); videoObject.remoteId = data.responseJSON.Param.ID } else { - layer.msg("抓拍成功", { icon: 1 }); + parent.layer.msg("抓拍成功", { icon: 1 }); setTimeout(function () { stopRemote(data.responseJSON.Param.ID, 1) }, 3000); @@ -250,7 +249,7 @@ function stopRemote(id, type) { requestPost("CSS/C_CSS_StopManualStorage" + "?token=" + qxToken, params, function (data) { if (!isEmpty(data)) { if (type === 0) { - layer.msg("停止录像成功", { icon: 1 }); + parent.layer.msg("停止录像成功", { icon: 1 }); videoObject.remoteId = null; } } @@ -307,7 +306,7 @@ function destoryVideo(flvPlayer) { */ function recordVideo() { let video = $("#videoPlayer1")[0]; - let encodeType = "video/webm;codecs=vp9"; + let encodeType = "video/webm;codecs=vp9,opus"; let chunks = []; //创建MediaRecorder,设置媒体参数 let stream = video.captureStream(); @@ -322,17 +321,15 @@ function recordVideo() { $('#videoLocal')[0].onclick = function () { if (start) { videoObject.recordVideoState = true; - layer.msg("开启本地录像", { icon: 0 }); + parent.layer.msg("开启本地录像", { icon: 0 }); chunks = []; recorder.start(10); - $(this).attr("src", "../../img/video/videoLocal-select.png"); start = false; } else { - layer.msg("关闭本地录像", { icon: 0 }); + parent.layer.msg("关闭本地录像", { icon: 0 }); videoObject.recordVideoState = false; recorder.stop(); download(); - $(this).attr("src", "../../img/video/videoLocal.png"); start = true; } } @@ -340,12 +337,22 @@ function recordVideo() { //下载录制内容 function download() { let blob = new Blob(chunks, { type: 'video/webm' }); - let file = new window.File([blob], new Date().getTime() + ".webm", { type: 'video/webm' }) - console.log(file); - let formData = new FormData(); - formData.append("multipartFile", file) - let loadingMsg = layer.msg('视频加载中,请稍候...', { icon: 16, scrollbar: false, time: 0 }); - $.ajax({ + const a = document.createElement('a'); + document.body.appendChild(a) + a.style.display = 'none' + const url = window.URL.createObjectURL(blob); + a.href = url; + a.download = '视频.webm'; //视频下载后的名称 + a.click(); + document.body.removeChild(a) + window.URL.revokeObjectURL(url); + + // let file = new window.File([blob], new Date().getTime() + ".webm", { type: 'video/webm' }) + // console.log(file); + // let formData = new FormData(); + // formData.append("multipartFile", file) + // let loadingMsg = layer.msg('视频加载中,请稍候...', { icon: 16, scrollbar: false, time: 0 }); + /* $.ajax({ url: dataUrl + 'system/sys/video/webmToMp4?token=' + token, type: 'POST', headers: { @@ -367,7 +374,7 @@ function recordVideo() { }, error: function (result) { } - }); + }); */ } } @@ -376,7 +383,7 @@ function recordVideo() { */ function screenshot() { let video = $("#videoPlayer1")[0]; - let canvas = $('#canvasPlayer1')[0]; + let canvas = document.getElementById("canvas");; let ctx = canvas.getContext('2d'); let H = window.innerHeight; let W = window.innerWidth; @@ -475,4 +482,35 @@ function uploadRectFile(obj) { xhr.send(); } +function playControl() { + let key; + //点击事件 + let btn = $('[lay-event=control]'); + btn.unbind(); + btn.mousedown(function (event) { + if (videoObject.playState) { + key = qxControlType[$(this).attr('id')]; + if (key[2]) { + turnControl(key[0], videoObject.devCode).then(r => { + }); + } else { + qxControl(videoObject.devCode, key[1]) + } + } + event.stopPropagation(); + }).mouseup(function (event) { + if (videoObject.playState) { + key = qxControlType[$(this).attr('id')]; + if (key[2]) { + turnControl(key[3], videoObject.devCode).then(r => { + }); + } else { + qxControl(videoObject.devCode, key[3]) + } + } else { + parent.layer.msg("请先播放视频....", { icon: 7 }); + } + event.stopPropagation(); + }); +} diff --git a/pages/video/video.html b/pages/video/video.html index ec7f8a0..1d38e4c 100644 --- a/pages/video/video.html +++ b/pages/video/video.html @@ -6,6 +6,8 @@ + + @@ -27,35 +29,35 @@
- +

远程录像

- +

本地录像

- +
- - + +
- +
- +

远程抓拍

- +

本地抓拍

@@ -63,47 +65,49 @@
- - + +

聚焦

- - + +

缩放

-
+
-
全部(100)
-
在线(20)
-
离线(80)
+
全部(0)
+
在线(0)
+
离线(0)
+
+
+
    -
    -
    @@ -127,7 +131,7 @@
    - +
    告警 @@ -139,7 +143,7 @@
    - +
    告警 @@ -151,7 +155,7 @@
    - +
    告警 @@ -167,6 +171,7 @@
    + diff --git a/plugin/scroll/jquery.nicescroll.min.js b/plugin/scroll/jquery.nicescroll.min.js index d311001..0b69cc8 100644 --- a/plugin/scroll/jquery.nicescroll.min.js +++ b/plugin/scroll/jquery.nicescroll.min.js @@ -1,2 +1,3021 @@ /* jquery.nicescroll v3.7.6 InuYaksa - MIT - https://nicescroll.areaaperta.com */ -!function(e){"function"==typeof define&&define.amd?define(["jquery"],e):"object"==typeof exports?module.exports=e(require("jquery")):e(jQuery)}(function(e){"use strict";var o=!1,t=!1,r=0,i=2e3,s=0,n=e,l=document,a=window,c=n(a),d=[],u=a.requestAnimationFrame||a.webkitRequestAnimationFrame||a.mozRequestAnimationFrame||!1,h=a.cancelAnimationFrame||a.webkitCancelAnimationFrame||a.mozCancelAnimationFrame||!1;if(u)a.cancelAnimationFrame||(h=function(e){});else{var p=0;u=function(e,o){var t=(new Date).getTime(),r=Math.max(0,16-(t-p)),i=a.setTimeout(function(){e(t+r)},r);return p=t+r,i},h=function(e){a.clearTimeout(e)}}var m=a.MutationObserver||a.WebKitMutationObserver||!1,f=Date.now||function(){return(new Date).getTime()},g={zindex:"auto",cursoropacitymin:0,cursoropacitymax:1,cursorcolor:"#424242",cursorwidth:"6px",cursorborder:"1px solid #fff",cursorborderradius:"5px",scrollspeed:40,mousescrollstep:27,touchbehavior:!1,emulatetouch:!1,hwacceleration:!0,usetransition:!0,boxzoom:!1,dblclickzoom:!0,gesturezoom:!0,grabcursorenabled:!0,autohidemode:!0,background:"",iframeautoresize:!0,cursorminheight:32,preservenativescrolling:!0,railoffset:!1,railhoffset:!1,bouncescroll:!0,spacebarenabled:!0,railpadding:{top:0,right:0,left:0,bottom:0},disableoutline:!0,horizrailenabled:!0,railalign:"right",railvalign:"bottom",enabletranslate3d:!0,enablemousewheel:!0,enablekeyboard:!0,smoothscroll:!0,sensitiverail:!0,enablemouselockapi:!0,cursorfixedheight:!1,directionlockdeadzone:6,hidecursordelay:400,nativeparentscrolling:!0,enablescrollonselection:!0,overflowx:!0,overflowy:!0,cursordragspeed:.3,rtlmode:"auto",cursordragontouch:!1,oneaxismousemode:"auto",scriptpath:function(){var e=l.currentScript||function(){var e=l.getElementsByTagName("script");return!!e.length&&e[e.length-1]}(),o=e?e.src.split("?")[0]:"";return o.split("/").length>0?o.split("/").slice(0,-1).join("/")+"/":""}(),preventmultitouchscrolling:!0,disablemutationobserver:!1,enableobserver:!0,scrollbarid:!1},v=!1,w=function(){if(v)return v;var e=l.createElement("DIV"),o=e.style,t=navigator.userAgent,r=navigator.platform,i={};return i.haspointerlock="pointerLockElement"in l||"webkitPointerLockElement"in l||"mozPointerLockElement"in l,i.isopera="opera"in a,i.isopera12=i.isopera&&"getUserMedia"in navigator,i.isoperamini="[object OperaMini]"===Object.prototype.toString.call(a.operamini),i.isie="all"in l&&"attachEvent"in e&&!i.isopera,i.isieold=i.isie&&!("msInterpolationMode"in o),i.isie7=i.isie&&!i.isieold&&(!("documentMode"in l)||7===l.documentMode),i.isie8=i.isie&&"documentMode"in l&&8===l.documentMode,i.isie9=i.isie&&"performance"in a&&9===l.documentMode,i.isie10=i.isie&&"performance"in a&&10===l.documentMode,i.isie11="msRequestFullscreen"in e&&l.documentMode>=11,i.ismsedge="msCredentials"in a,i.ismozilla="MozAppearance"in o,i.iswebkit=!i.ismsedge&&"WebkitAppearance"in o,i.ischrome=i.iswebkit&&"chrome"in a,i.ischrome38=i.ischrome&&"touchAction"in o,i.ischrome22=!i.ischrome38&&i.ischrome&&i.haspointerlock,i.ischrome26=!i.ischrome38&&i.ischrome&&"transition"in o,i.cantouch="ontouchstart"in l.documentElement||"ontouchstart"in a,i.hasw3ctouch=(a.PointerEvent||!1)&&(navigator.maxTouchPoints>0||navigator.msMaxTouchPoints>0),i.hasmstouch=!i.hasw3ctouch&&(a.MSPointerEvent||!1),i.ismac=/^mac$/i.test(r),i.isios=i.cantouch&&/iphone|ipad|ipod/i.test(r),i.isios4=i.isios&&!("seal"in Object),i.isios7=i.isios&&"webkitHidden"in l,i.isios8=i.isios&&"hidden"in l,i.isios10=i.isios&&a.Proxy,i.isandroid=/android/i.test(t),i.haseventlistener="addEventListener"in e,i.trstyle=!1,i.hastransform=!1,i.hastranslate3d=!1,i.transitionstyle=!1,i.hastransition=!1,i.transitionend=!1,i.trstyle="transform",i.hastransform="transform"in o||function(){for(var e=["msTransform","webkitTransform","MozTransform","OTransform"],t=0,r=e.length;t0;){if(9==e[0].nodeType)return!1;var o=e.css("zIndex");if(!isNaN(o)&&0!==o)return parseInt(o);e=e.parent()}return!1}function x(e,o,t){var r=e.css(o),i=parseFloat(r);if(isNaN(i)){var s=3==(i=I[r]||0)?t?T.win.outerHeight()-T.win.innerHeight():T.win.outerWidth()-T.win.innerWidth():1;return T.isie8&&i&&(i+=1),s?i:0}return i}function S(e,o,t,r){T._bind(e,o,function(r){var i={original:r=r||a.event,target:r.target||r.srcElement,type:"wheel",deltaMode:"MozMousePixelScroll"==r.type?0:1,deltaX:0,deltaZ:0,preventDefault:function(){return r.preventDefault?r.preventDefault():r.returnValue=!1,!1},stopImmediatePropagation:function(){r.stopImmediatePropagation?r.stopImmediatePropagation():r.cancelBubble=!0}};return"mousewheel"==o?(r.wheelDeltaX&&(i.deltaX=-.025*r.wheelDeltaX),r.wheelDeltaY&&(i.deltaY=-.025*r.wheelDeltaY),!i.deltaY&&!i.deltaX&&(i.deltaY=-.025*r.wheelDelta)):i.deltaY=r.detail,t.call(e,i)},r)}function z(e,o,t,r){T.scrollrunning||(T.newscrolly=T.getScrollTop(),T.newscrollx=T.getScrollLeft(),D=f());var i=f()-D;if(D=f(),i>350?A=1:A+=(2-A)/10,e=e*A|0,o=o*A|0,e){if(r)if(e<0){if(T.getScrollLeft()>=T.page.maxw)return!0}else if(T.getScrollLeft()<=0)return!0;var s=e>0?1:-1;X!==s&&(T.scrollmom&&T.scrollmom.stop(),T.newscrollx=T.getScrollLeft(),X=s),T.lastdeltax-=e}if(o){if(function(){var e=T.getScrollTop();if(o<0){if(e>=T.page.maxh)return!0}else if(e<=0)return!0}()){if(M.nativeparentscrolling&&t&&!T.ispage&&!T.zoomactive)return!0;var n=T.view.h>>1;T.newscrolly<-n?(T.newscrolly=-n,o=-1):T.newscrolly>T.page.maxh+n?(T.newscrolly=T.page.maxh+n,o=1):o=0}var l=o>0?1:-1;B!==l&&(T.scrollmom&&T.scrollmom.stop(),T.newscrolly=T.getScrollTop(),B=l),T.lastdeltay-=o}(o||e)&&T.synched("relativexy",function(){var e=T.lastdeltay+T.newscrolly;T.lastdeltay=0;var o=T.lastdeltax+T.newscrollx;T.lastdeltax=0,T.rail.drag||T.doScrollPos(o,e)})}function k(e,o,t){var r,i;return!(t||!q)||(0===e.deltaMode?(r=-e.deltaX*(M.mousescrollstep/54)|0,i=-e.deltaY*(M.mousescrollstep/54)|0):1===e.deltaMode&&(r=-e.deltaX*M.mousescrollstep*50/80|0,i=-e.deltaY*M.mousescrollstep*50/80|0),o&&M.oneaxismousemode&&0===r&&i&&(r=i,i=0,t&&(r<0?T.getScrollLeft()>=T.page.maxw:T.getScrollLeft()<=0)&&(i=r,r=0)),T.isrtlmode&&(r=-r),z(r,i,t,!0)?void(t&&(q=!0)):(q=!1,e.stopImmediatePropagation(),e.preventDefault()))}var T=this;this.version="3.7.6",this.name="nicescroll",this.me=p;var E=n("body"),M=this.opt={doc:E,win:!1};if(n.extend(M,g),M.snapbackspeed=80,e)for(var L in M)void 0!==e[L]&&(M[L]=e[L]);if(M.disablemutationobserver&&(m=!1),this.doc=M.doc,this.iddoc=this.doc&&this.doc[0]?this.doc[0].id||"":"",this.ispage=/^BODY|HTML/.test(M.win?M.win[0].nodeName:this.doc[0].nodeName),this.haswrapper=!1!==M.win,this.win=M.win||(this.ispage?c:this.doc),this.docscroll=this.ispage&&!this.haswrapper?c:this.win,this.body=E,this.viewport=!1,this.isfixed=!1,this.iframe=!1,this.isiframe="IFRAME"==this.doc[0].nodeName&&"IFRAME"==this.win[0].nodeName,this.istextarea="TEXTAREA"==this.win[0].nodeName,this.forcescreen=!1,this.canshowonmouseevent="scroll"!=M.autohidemode,this.onmousedown=!1,this.onmouseup=!1,this.onmousemove=!1,this.onmousewheel=!1,this.onkeypress=!1,this.ongesturezoom=!1,this.onclick=!1,this.onscrollstart=!1,this.onscrollend=!1,this.onscrollcancel=!1,this.onzoomin=!1,this.onzoomout=!1,this.view=!1,this.page=!1,this.scroll={x:0,y:0},this.scrollratio={x:0,y:0},this.cursorheight=20,this.scrollvaluemax=0,"auto"==M.rtlmode){var C=this.win[0]==a?this.body:this.win,N=C.css("writing-mode")||C.css("-webkit-writing-mode")||C.css("-ms-writing-mode")||C.css("-moz-writing-mode");"horizontal-tb"==N||"lr-tb"==N||""===N?(this.isrtlmode="rtl"==C.css("direction"),this.isvertical=!1):(this.isrtlmode="vertical-rl"==N||"tb"==N||"tb-rl"==N||"rl-tb"==N,this.isvertical="vertical-rl"==N||"tb"==N||"tb-rl"==N)}else this.isrtlmode=!0===M.rtlmode,this.isvertical=!1;if(this.scrollrunning=!1,this.scrollmom=!1,this.observer=!1,this.observerremover=!1,this.observerbody=!1,!1!==M.scrollbarid)this.id=M.scrollbarid;else do{this.id="ascrail"+i++}while(l.getElementById(this.id));this.rail=!1,this.cursor=!1,this.cursorfreezed=!1,this.selectiondrag=!1,this.zoom=!1,this.zoomactive=!1,this.hasfocus=!1,this.hasmousefocus=!1,this.railslocked=!1,this.locked=!1,this.hidden=!1,this.cursoractive=!0,this.wheelprevented=!1,this.overflowx=M.overflowx,this.overflowy=M.overflowy,this.nativescrollingarea=!1,this.checkarea=0,this.events=[],this.saved={},this.delaylist={},this.synclist={},this.lastdeltax=0,this.lastdeltay=0,this.detected=w();var P=n.extend({},this.detected);this.canhwscroll=P.hastransform&&M.hwacceleration,this.ishwscroll=this.canhwscroll&&T.haswrapper,this.isrtlmode?this.isvertical?this.hasreversehr=!(P.iswebkit||P.isie||P.isie11):this.hasreversehr=!(P.iswebkit||P.isie&&!P.isie10&&!P.isie11):this.hasreversehr=!1,this.istouchcapable=!1,P.cantouch||!P.hasw3ctouch&&!P.hasmstouch?!P.cantouch||P.isios||P.isandroid||!P.iswebkit&&!P.ismozilla||(this.istouchcapable=!0):this.istouchcapable=!0,M.enablemouselockapi||(P.hasmousecapture=!1,P.haspointerlock=!1),this.debounced=function(e,o,t){T&&(T.delaylist[e]||!1||(T.delaylist[e]={h:u(function(){T.delaylist[e].fn.call(T),T.delaylist[e]=!1},t)},o.call(T)),T.delaylist[e].fn=o)},this.synched=function(e,o){T.synclist[e]?T.synclist[e]=o:(T.synclist[e]=o,u(function(){T&&(T.synclist[e]&&T.synclist[e].call(T),T.synclist[e]=null)}))},this.unsynched=function(e){T.synclist[e]&&(T.synclist[e]=!1)},this.css=function(e,o){for(var t in o)T.saved.css.push([e,t,e.css(t)]),e.css(t,o[t])},this.scrollTop=function(e){return void 0===e?T.getScrollTop():T.setScrollTop(e)},this.scrollLeft=function(e){return void 0===e?T.getScrollLeft():T.setScrollLeft(e)};var R=function(e,o,t,r,i,s,n){this.st=e,this.ed=o,this.spd=t,this.p1=r||0,this.p2=i||1,this.p3=s||0,this.p4=n||1,this.ts=f(),this.df=o-e};if(R.prototype={B2:function(e){return 3*(1-e)*(1-e)*e},B3:function(e){return 3*(1-e)*e*e},B4:function(e){return e*e*e},getPos:function(){return(f()-this.ts)/this.spd},getNow:function(){var e=(f()-this.ts)/this.spd,o=this.B2(e)+this.B3(e)+this.B4(e);return e>=1?this.ed:this.st+this.df*o|0},update:function(e,o){return this.st=this.getNow(),this.ed=e,this.spd=o,this.ts=f(),this.df=this.ed-this.st,this}},this.ishwscroll){this.doc.translate={x:0,y:0,tx:"0px",ty:"0px"},P.hastranslate3d&&P.isios&&this.doc.css("-webkit-backface-visibility","hidden"),this.getScrollTop=function(e){if(!e){var o=v();if(o)return 16==o.length?-o[13]:-o[5];if(T.timerscroll&&T.timerscroll.bz)return T.timerscroll.bz.getNow()}return T.doc.translate.y},this.getScrollLeft=function(e){if(!e){var o=v();if(o)return 16==o.length?-o[12]:-o[4];if(T.timerscroll&&T.timerscroll.bh)return T.timerscroll.bh.getNow()}return T.doc.translate.x},this.notifyScrollEvent=function(e){var o=l.createEvent("UIEvents");o.initUIEvent("scroll",!1,!1,a,1),o.niceevent=!0,e.dispatchEvent(o)};var _=this.isrtlmode?1:-1;P.hastranslate3d&&M.enabletranslate3d?(this.setScrollTop=function(e,o){T.doc.translate.y=e,T.doc.translate.ty=-1*e+"px",T.doc.css(P.trstyle,"translate3d("+T.doc.translate.tx+","+T.doc.translate.ty+",0)"),o||T.notifyScrollEvent(T.win[0])},this.setScrollLeft=function(e,o){T.doc.translate.x=e,T.doc.translate.tx=e*_+"px",T.doc.css(P.trstyle,"translate3d("+T.doc.translate.tx+","+T.doc.translate.ty+",0)"),o||T.notifyScrollEvent(T.win[0])}):(this.setScrollTop=function(e,o){T.doc.translate.y=e,T.doc.translate.ty=-1*e+"px",T.doc.css(P.trstyle,"translate("+T.doc.translate.tx+","+T.doc.translate.ty+")"),o||T.notifyScrollEvent(T.win[0])},this.setScrollLeft=function(e,o){T.doc.translate.x=e,T.doc.translate.tx=e*_+"px",T.doc.css(P.trstyle,"translate("+T.doc.translate.tx+","+T.doc.translate.ty+")"),o||T.notifyScrollEvent(T.win[0])})}else this.getScrollTop=function(){return T.docscroll.scrollTop()},this.setScrollTop=function(e){T.docscroll.scrollTop(e)},this.getScrollLeft=function(){return T.hasreversehr?T.detected.ismozilla?T.page.maxw-Math.abs(T.docscroll.scrollLeft()):T.page.maxw-T.docscroll.scrollLeft():T.docscroll.scrollLeft()},this.setScrollLeft=function(e){return setTimeout(function(){if(T)return T.hasreversehr&&(e=T.detected.ismozilla?-(T.page.maxw-e):T.page.maxw-e),T.docscroll.scrollLeft(e)},1)};this.getTarget=function(e){return!!e&&(e.target?e.target:!!e.srcElement&&e.srcElement)},this.hasParent=function(e,o){if(!e)return!1;for(var t=e.target||e.srcElement||e||!1;t&&t.id!=o;)t=t.parentNode||!1;return!1!==t};var I={thin:1,medium:3,thick:5};this.getDocumentScrollOffset=function(){return{top:a.pageYOffset||l.documentElement.scrollTop,left:a.pageXOffset||l.documentElement.scrollLeft}},this.getOffset=function(){if(T.isfixed){var e=T.win.offset(),o=T.getDocumentScrollOffset();return e.top-=o.top,e.left-=o.left,e}var t=T.win.offset();if(!T.viewport)return t;var r=T.viewport.offset();return{top:t.top-r.top,left:t.left-r.left}},this.updateScrollBar=function(e){var o,t;if(T.ishwscroll)T.rail.css({height:T.win.innerHeight()-(M.railpadding.top+M.railpadding.bottom)}),T.railh&&T.railh.css({width:T.win.innerWidth()-(M.railpadding.left+M.railpadding.right)});else{var r=T.getOffset();if(o={top:r.top,left:r.left-(M.railpadding.left+M.railpadding.right)},o.top+=x(T.win,"border-top-width",!0),o.left+=T.rail.align?T.win.outerWidth()-x(T.win,"border-right-width")-T.rail.width:x(T.win,"border-left-width"),(t=M.railoffset)&&(t.top&&(o.top+=t.top),t.left&&(o.left+=t.left)),T.railslocked||T.rail.css({top:o.top,left:o.left,height:(e?e.h:T.win.innerHeight())-(M.railpadding.top+M.railpadding.bottom)}),T.zoom&&T.zoom.css({top:o.top+1,left:1==T.rail.align?o.left-20:o.left+T.rail.width+4}),T.railh&&!T.railslocked){o={top:r.top,left:r.left},(t=M.railhoffset)&&(t.top&&(o.top+=t.top),t.left&&(o.left+=t.left));var i=T.railh.align?o.top+x(T.win,"border-top-width",!0)+T.win.innerHeight()-T.railh.height:o.top+x(T.win,"border-top-width",!0),s=o.left+x(T.win,"border-left-width");T.railh.css({top:i-(M.railpadding.top+M.railpadding.bottom),left:s,width:T.railh.width})}}},this.doRailClick=function(e,o,t){var r,i,s,n;T.railslocked||(T.cancelEvent(e),"pageY"in e||(e.pageX=e.clientX+l.documentElement.scrollLeft,e.pageY=e.clientY+l.documentElement.scrollTop),o?(r=t?T.doScrollLeft:T.doScrollTop,s=t?(e.pageX-T.railh.offset().left-T.cursorwidth/2)*T.scrollratio.x:(e.pageY-T.rail.offset().top-T.cursorheight/2)*T.scrollratio.y,T.unsynched("relativexy"),r(0|s)):(r=t?T.doScrollLeftBy:T.doScrollBy,s=t?T.scroll.x:T.scroll.y,n=t?e.pageX-T.railh.offset().left:e.pageY-T.rail.offset().top,i=t?T.view.w:T.view.h,r(s>=n?i:-i)))},T.newscrolly=T.newscrollx=0,T.hasanimationframe="requestAnimationFrame"in a,T.hascancelanimationframe="cancelAnimationFrame"in a,T.hasborderbox=!1,this.init=function(){if(T.saved.css=[],P.isoperamini)return!0;if(P.isandroid&&!("hidden"in l))return!0;M.emulatetouch=M.emulatetouch||M.touchbehavior,T.hasborderbox=a.getComputedStyle&&"border-box"===a.getComputedStyle(l.body)["box-sizing"];var e={"overflow-y":"hidden"};if((P.isie11||P.isie10)&&(e["-ms-overflow-style"]="none"),T.ishwscroll&&(this.doc.css(P.transitionstyle,P.prefixstyle+"transform 0ms ease-out"),P.transitionend&&T.bind(T.doc,P.transitionend,T.onScrollTransitionEnd,!1)),T.zindex="auto",T.ispage||"auto"!=M.zindex?T.zindex=M.zindex:T.zindex=b()||"auto",!T.ispage&&"auto"!=T.zindex&&T.zindex>s&&(s=T.zindex),T.isie&&0===T.zindex&&"auto"==M.zindex&&(T.zindex="auto"),!T.ispage||!P.isieold){var i=T.docscroll;T.ispage&&(i=T.haswrapper?T.win:T.doc),T.css(i,e),T.ispage&&(P.isie11||P.isie)&&T.css(n("html"),e),!P.isios||T.ispage||T.haswrapper||T.css(E,{"-webkit-overflow-scrolling":"touch"});var d=n(l.createElement("div"));d.css({position:"relative",top:0,float:"right",width:M.cursorwidth,height:0,"background-color":M.cursorcolor,border:M.cursorborder,"background-clip":"padding-box","-webkit-border-radius":M.cursorborderradius,"-moz-border-radius":M.cursorborderradius,"border-radius":M.cursorborderradius}),d.addClass("nicescroll-cursors"),T.cursor=d;var u=n(l.createElement("div"));u.attr("id",T.id),u.addClass("nicescroll-rails nicescroll-rails-vr");var h,p,f=["left","right","top","bottom"];for(var g in f)p=f[g],(h=M.railpadding[p]||0)&&u.css("padding-"+p,h+"px");u.append(d),u.width=Math.max(parseFloat(M.cursorwidth),d.outerWidth()),u.css({width:u.width+"px",zIndex:T.zindex,background:M.background,cursor:"default"}),u.visibility=!0,u.scrollable=!0,u.align="left"==M.railalign?0:1,T.rail=u,T.rail.drag=!1;var v=!1;!M.boxzoom||T.ispage||P.isieold||(v=l.createElement("div"),T.bind(v,"click",T.doZoom),T.bind(v,"mouseenter",function(){T.zoom.css("opacity",M.cursoropacitymax)}),T.bind(v,"mouseleave",function(){T.zoom.css("opacity",M.cursoropacitymin)}),T.zoom=n(v),T.zoom.css({cursor:"pointer",zIndex:T.zindex,height:18,width:18,backgroundPosition:"0 0"}),M.dblclickzoom&&T.bind(T.win,"dblclick",T.doZoom),P.cantouch&&M.gesturezoom&&(T.ongesturezoom=function(e){return e.scale>1.5&&T.doZoomIn(e),e.scale<.8&&T.doZoomOut(e),T.cancelEvent(e)},T.bind(T.win,"gestureend",T.ongesturezoom))),T.railh=!1;var w;if(M.horizrailenabled&&(T.css(i,{overflowX:"hidden"}),(d=n(l.createElement("div"))).css({position:"absolute",top:0,height:M.cursorwidth,width:0,backgroundColor:M.cursorcolor,border:M.cursorborder,backgroundClip:"padding-box","-webkit-border-radius":M.cursorborderradius,"-moz-border-radius":M.cursorborderradius,"border-radius":M.cursorborderradius}),P.isieold&&d.css("overflow","hidden"),d.addClass("nicescroll-cursors"),T.cursorh=d,(w=n(l.createElement("div"))).attr("id",T.id+"-hr"),w.addClass("nicescroll-rails nicescroll-rails-hr"),w.height=Math.max(parseFloat(M.cursorwidth),d.outerHeight()),w.css({height:w.height+"px",zIndex:T.zindex,background:M.background}),w.append(d),w.visibility=!0,w.scrollable=!0,w.align="top"==M.railvalign?0:1,T.railh=w,T.railh.drag=!1),T.ispage)u.css({position:"fixed",top:0,height:"100%"}),u.css(u.align?{right:0}:{left:0}),T.body.append(u),T.railh&&(w.css({position:"fixed",left:0,width:"100%"}),w.css(w.align?{bottom:0}:{top:0}),T.body.append(w));else{if(T.ishwscroll){"static"==T.win.css("position")&&T.css(T.win,{position:"relative"});var x="HTML"==T.win[0].nodeName?T.body:T.win;n(x).scrollTop(0).scrollLeft(0),T.zoom&&(T.zoom.css({position:"absolute",top:1,right:0,"margin-right":u.width+4}),x.append(T.zoom)),u.css({position:"absolute",top:0}),u.css(u.align?{right:0}:{left:0}),x.append(u),w&&(w.css({position:"absolute",left:0,bottom:0}),w.css(w.align?{bottom:0}:{top:0}),x.append(w))}else{T.isfixed="fixed"==T.win.css("position");var S=T.isfixed?"fixed":"absolute";T.isfixed||(T.viewport=T.getViewport(T.win[0])),T.viewport&&(T.body=T.viewport,/fixed|absolute/.test(T.viewport.css("position"))||T.css(T.viewport,{position:"relative"})),u.css({position:S}),T.zoom&&T.zoom.css({position:S}),T.updateScrollBar(),T.body.append(u),T.zoom&&T.body.append(T.zoom),T.railh&&(w.css({position:S}),T.body.append(w))}P.isios&&T.css(T.win,{"-webkit-tap-highlight-color":"rgba(0,0,0,0)","-webkit-touch-callout":"none"}),M.disableoutline&&(P.isie&&T.win.attr("hideFocus","true"),P.iswebkit&&T.win.css("outline","none"))}if(!1===M.autohidemode?(T.autohidedom=!1,T.rail.css({opacity:M.cursoropacitymax}),T.railh&&T.railh.css({opacity:M.cursoropacitymax})):!0===M.autohidemode||"leave"===M.autohidemode?(T.autohidedom=n().add(T.rail),P.isie8&&(T.autohidedom=T.autohidedom.add(T.cursor)),T.railh&&(T.autohidedom=T.autohidedom.add(T.railh)),T.railh&&P.isie8&&(T.autohidedom=T.autohidedom.add(T.cursorh))):"scroll"==M.autohidemode?(T.autohidedom=n().add(T.rail),T.railh&&(T.autohidedom=T.autohidedom.add(T.railh))):"cursor"==M.autohidemode?(T.autohidedom=n().add(T.cursor),T.railh&&(T.autohidedom=T.autohidedom.add(T.cursorh))):"hidden"==M.autohidemode&&(T.autohidedom=!1,T.hide(),T.railslocked=!1),P.cantouch||T.istouchcapable||M.emulatetouch||P.hasmstouch){T.scrollmom=new y(T);T.ontouchstart=function(e){if(T.locked)return!1;if(e.pointerType&&("mouse"===e.pointerType||e.pointerType===e.MSPOINTER_TYPE_MOUSE))return!1;if(T.hasmoving=!1,T.scrollmom.timer&&(T.triggerScrollEnd(),T.scrollmom.stop()),!T.railslocked){var o=T.getTarget(e);if(o&&/INPUT/i.test(o.nodeName)&&/range/i.test(o.type))return T.stopPropagation(e);var t="mousedown"===e.type;if(!("clientX"in e)&&"changedTouches"in e&&(e.clientX=e.changedTouches[0].clientX,e.clientY=e.changedTouches[0].clientY),T.forcescreen){var r=e;(e={original:e.original?e.original:e}).clientX=r.screenX,e.clientY=r.screenY}if(T.rail.drag={x:e.clientX,y:e.clientY,sx:T.scroll.x,sy:T.scroll.y,st:T.getScrollTop(),sl:T.getScrollLeft(),pt:2,dl:!1,tg:o},T.ispage||!M.directionlockdeadzone)T.rail.drag.dl="f";else{var i={w:c.width(),h:c.height()},s=T.getContentSize(),l=s.h-i.h,a=s.w-i.w;T.rail.scrollable&&!T.railh.scrollable?T.rail.drag.ck=l>0&&"v":!T.rail.scrollable&&T.railh.scrollable?T.rail.drag.ck=a>0&&"h":T.rail.drag.ck=!1}if(M.emulatetouch&&T.isiframe&&P.isie){var d=T.win.position();T.rail.drag.x+=d.left,T.rail.drag.y+=d.top}if(T.hasmoving=!1,T.lastmouseup=!1,T.scrollmom.reset(e.clientX,e.clientY),o&&t){if(!/INPUT|SELECT|BUTTON|TEXTAREA/i.test(o.nodeName))return P.hasmousecapture&&o.setCapture(),M.emulatetouch?(o.onclick&&!o._onclick&&(o._onclick=o.onclick,o.onclick=function(e){if(T.hasmoving)return!1;o._onclick.call(this,e)}),T.cancelEvent(e)):T.stopPropagation(e);/SUBMIT|CANCEL|BUTTON/i.test(n(o).attr("type"))&&(T.preventclick={tg:o,click:!1})}}},T.ontouchend=function(e){if(!T.rail.drag)return!0;if(2==T.rail.drag.pt){if(e.pointerType&&("mouse"===e.pointerType||e.pointerType===e.MSPOINTER_TYPE_MOUSE))return!1;T.rail.drag=!1;var o="mouseup"===e.type;if(T.hasmoving&&(T.scrollmom.doMomentum(),T.lastmouseup=!0,T.hideCursor(),P.hasmousecapture&&l.releaseCapture(),o))return T.cancelEvent(e)}else if(1==T.rail.drag.pt)return T.onmouseup(e)};var z=M.emulatetouch&&T.isiframe&&!P.hasmousecapture,k=.3*M.directionlockdeadzone|0;T.ontouchmove=function(e,o){if(!T.rail.drag)return!0;if(e.targetTouches&&M.preventmultitouchscrolling&&e.targetTouches.length>1)return!0;if(e.pointerType&&("mouse"===e.pointerType||e.pointerType===e.MSPOINTER_TYPE_MOUSE))return!0;if(2==T.rail.drag.pt){"changedTouches"in e&&(e.clientX=e.changedTouches[0].clientX,e.clientY=e.changedTouches[0].clientY);var t,r;if(r=t=0,z&&!o){var i=T.win.position();r=-i.left,t=-i.top}var s=e.clientY+t,n=s-T.rail.drag.y,a=e.clientX+r,c=a-T.rail.drag.x,d=T.rail.drag.st-n;if(T.ishwscroll&&M.bouncescroll)d<0?d=Math.round(d/2):d>T.page.maxh&&(d=T.page.maxh+Math.round((d-T.page.maxh)/2));else if(d<0?(d=0,s=0):d>T.page.maxh&&(d=T.page.maxh,s=0),0===s&&!T.hasmoving)return T.ispage||(T.rail.drag=!1),!0;var u=T.getScrollLeft();if(T.railh&&T.railh.scrollable&&(u=T.isrtlmode?c-T.rail.drag.sl:T.rail.drag.sl-c,T.ishwscroll&&M.bouncescroll?u<0?u=Math.round(u/2):u>T.page.maxw&&(u=T.page.maxw+Math.round((u-T.page.maxw)/2)):(u<0&&(u=0,a=0),u>T.page.maxw&&(u=T.page.maxw,a=0))),!T.hasmoving){if(T.rail.drag.y===e.clientY&&T.rail.drag.x===e.clientX)return T.cancelEvent(e);var h=Math.abs(n),p=Math.abs(c),m=M.directionlockdeadzone;if(T.rail.drag.ck?"v"==T.rail.drag.ck?p>m&&h<=k?T.rail.drag=!1:h>m&&(T.rail.drag.dl="v"):"h"==T.rail.drag.ck&&(h>m&&p<=k?T.rail.drag=!1:p>m&&(T.rail.drag.dl="h")):h>m&&p>m?T.rail.drag.dl="f":h>m?T.rail.drag.dl=p>k?"f":"v":p>m&&(T.rail.drag.dl=h>k?"f":"h"),!T.rail.drag.dl)return T.cancelEvent(e);T.triggerScrollStart(e.clientX,e.clientY,0,0,0),T.hasmoving=!0}return T.preventclick&&!T.preventclick.click&&(T.preventclick.click=T.preventclick.tg.onclick||!1,T.preventclick.tg.onclick=T.onpreventclick),T.rail.drag.dl&&("v"==T.rail.drag.dl?u=T.rail.drag.sl:"h"==T.rail.drag.dl&&(d=T.rail.drag.st)),T.synched("touchmove",function(){T.rail.drag&&2==T.rail.drag.pt&&(T.prepareTransition&&T.resetTransition(),T.rail.scrollable&&T.setScrollTop(d),T.scrollmom.update(a,s),T.railh&&T.railh.scrollable?(T.setScrollLeft(u),T.showCursor(d,u)):T.showCursor(d),P.isie10&&l.selection.clear())}),T.cancelEvent(e)}return 1==T.rail.drag.pt?T.onmousemove(e):void 0},T.ontouchstartCursor=function(e,o){if(!T.rail.drag||3==T.rail.drag.pt){if(T.locked)return T.cancelEvent(e);T.cancelScroll(),T.rail.drag={x:e.touches[0].clientX,y:e.touches[0].clientY,sx:T.scroll.x,sy:T.scroll.y,pt:3,hr:!!o};var t=T.getTarget(e);return!T.ispage&&P.hasmousecapture&&t.setCapture(),T.isiframe&&!P.hasmousecapture&&(T.saved.csspointerevents=T.doc.css("pointer-events"),T.css(T.doc,{"pointer-events":"none"})),T.cancelEvent(e)}},T.ontouchendCursor=function(e){if(T.rail.drag){if(P.hasmousecapture&&l.releaseCapture(),T.isiframe&&!P.hasmousecapture&&T.doc.css("pointer-events",T.saved.csspointerevents),3!=T.rail.drag.pt)return;return T.rail.drag=!1,T.cancelEvent(e)}},T.ontouchmoveCursor=function(e){if(T.rail.drag){if(3!=T.rail.drag.pt)return;if(T.cursorfreezed=!0,T.rail.drag.hr){T.scroll.x=T.rail.drag.sx+(e.touches[0].clientX-T.rail.drag.x),T.scroll.x<0&&(T.scroll.x=0);var o=T.scrollvaluemaxw;T.scroll.x>o&&(T.scroll.x=o)}else{T.scroll.y=T.rail.drag.sy+(e.touches[0].clientY-T.rail.drag.y),T.scroll.y<0&&(T.scroll.y=0);var t=T.scrollvaluemax;T.scroll.y>t&&(T.scroll.y=t)}return T.synched("touchmove",function(){T.rail.drag&&3==T.rail.drag.pt&&(T.showCursor(),T.rail.drag.hr?T.doScrollLeft(Math.round(T.scroll.x*T.scrollratio.x),M.cursordragspeed):T.doScrollTop(Math.round(T.scroll.y*T.scrollratio.y),M.cursordragspeed))}),T.cancelEvent(e)}}}if(T.onmousedown=function(e,o){if(!T.rail.drag||1==T.rail.drag.pt){if(T.railslocked)return T.cancelEvent(e);T.cancelScroll(),T.rail.drag={x:e.clientX,y:e.clientY,sx:T.scroll.x,sy:T.scroll.y,pt:1,hr:o||!1};var t=T.getTarget(e);return P.hasmousecapture&&t.setCapture(),T.isiframe&&!P.hasmousecapture&&(T.saved.csspointerevents=T.doc.css("pointer-events"),T.css(T.doc,{"pointer-events":"none"})),T.hasmoving=!1,T.cancelEvent(e)}},T.onmouseup=function(e){if(T.rail.drag)return 1!=T.rail.drag.pt||(P.hasmousecapture&&l.releaseCapture(),T.isiframe&&!P.hasmousecapture&&T.doc.css("pointer-events",T.saved.csspointerevents),T.rail.drag=!1,T.cursorfreezed=!1,T.hasmoving&&T.triggerScrollEnd(),T.cancelEvent(e))},T.onmousemove=function(e){if(T.rail.drag){if(1!==T.rail.drag.pt)return;if(P.ischrome&&0===e.which)return T.onmouseup(e);if(T.cursorfreezed=!0,T.hasmoving||T.triggerScrollStart(e.clientX,e.clientY,0,0,0),T.hasmoving=!0,T.rail.drag.hr){T.scroll.x=T.rail.drag.sx+(e.clientX-T.rail.drag.x),T.scroll.x<0&&(T.scroll.x=0);var o=T.scrollvaluemaxw;T.scroll.x>o&&(T.scroll.x=o)}else{T.scroll.y=T.rail.drag.sy+(e.clientY-T.rail.drag.y),T.scroll.y<0&&(T.scroll.y=0);var t=T.scrollvaluemax;T.scroll.y>t&&(T.scroll.y=t)}return T.synched("mousemove",function(){T.cursorfreezed&&(T.showCursor(),T.rail.drag.hr?T.scrollLeft(Math.round(T.scroll.x*T.scrollratio.x)):T.scrollTop(Math.round(T.scroll.y*T.scrollratio.y)))}),T.cancelEvent(e)}T.checkarea=0},P.cantouch||M.emulatetouch)T.onpreventclick=function(e){if(T.preventclick)return T.preventclick.tg.onclick=T.preventclick.click,T.preventclick=!1,T.cancelEvent(e)},T.onclick=!P.isios&&function(e){return!T.lastmouseup||(T.lastmouseup=!1,T.cancelEvent(e))},M.grabcursorenabled&&P.cursorgrabvalue&&(T.css(T.ispage?T.doc:T.win,{cursor:P.cursorgrabvalue}),T.css(T.rail,{cursor:P.cursorgrabvalue}));else{var L=function(e){if(T.selectiondrag){if(e){var o=T.win.outerHeight(),t=e.pageY-T.selectiondrag.top;t>0&&t=o&&(t-=o),T.selectiondrag.df=t}if(0!==T.selectiondrag.df){var r=-2*T.selectiondrag.df/6|0;T.doScrollBy(r),T.debounced("doselectionscroll",function(){L()},50)}}};T.hasTextSelected="getSelection"in l?function(){return l.getSelection().rangeCount>0}:"selection"in l?function(){return"None"!=l.selection.type}:function(){return!1},T.onselectionstart=function(e){T.ispage||(T.selectiondrag=T.win.offset())},T.onselectionend=function(e){T.selectiondrag=!1},T.onselectiondrag=function(e){T.selectiondrag&&T.hasTextSelected()&&T.debounced("selectionscroll",function(){L(e)},250)}}if(P.hasw3ctouch?(T.css(T.ispage?n("html"):T.win,{"touch-action":"none"}),T.css(T.rail,{"touch-action":"none"}),T.css(T.cursor,{"touch-action":"none"}),T.bind(T.win,"pointerdown",T.ontouchstart),T.bind(l,"pointerup",T.ontouchend),T.delegate(l,"pointermove",T.ontouchmove)):P.hasmstouch?(T.css(T.ispage?n("html"):T.win,{"-ms-touch-action":"none"}),T.css(T.rail,{"-ms-touch-action":"none"}),T.css(T.cursor,{"-ms-touch-action":"none"}),T.bind(T.win,"MSPointerDown",T.ontouchstart),T.bind(l,"MSPointerUp",T.ontouchend),T.delegate(l,"MSPointerMove",T.ontouchmove),T.bind(T.cursor,"MSGestureHold",function(e){e.preventDefault()}),T.bind(T.cursor,"contextmenu",function(e){e.preventDefault()})):P.cantouch&&(T.bind(T.win,"touchstart",T.ontouchstart,!1,!0),T.bind(l,"touchend",T.ontouchend,!1,!0),T.bind(l,"touchcancel",T.ontouchend,!1,!0),T.delegate(l,"touchmove",T.ontouchmove,!1,!0)),M.emulatetouch&&(T.bind(T.win,"mousedown",T.ontouchstart,!1,!0),T.bind(l,"mouseup",T.ontouchend,!1,!0),T.bind(l,"mousemove",T.ontouchmove,!1,!0)),(M.cursordragontouch||!P.cantouch&&!M.emulatetouch)&&(T.rail.css({cursor:"default"}),T.railh&&T.railh.css({cursor:"default"}),T.jqbind(T.rail,"mouseenter",function(){if(!T.ispage&&!T.win.is(":visible"))return!1;T.canshowonmouseevent&&T.showCursor(),T.rail.active=!0}),T.jqbind(T.rail,"mouseleave",function(){T.rail.active=!1,T.rail.drag||T.hideCursor()}),M.sensitiverail&&(T.bind(T.rail,"click",function(e){T.doRailClick(e,!1,!1)}),T.bind(T.rail,"dblclick",function(e){T.doRailClick(e,!0,!1)}),T.bind(T.cursor,"click",function(e){T.cancelEvent(e)}),T.bind(T.cursor,"dblclick",function(e){T.cancelEvent(e)})),T.railh&&(T.jqbind(T.railh,"mouseenter",function(){if(!T.ispage&&!T.win.is(":visible"))return!1;T.canshowonmouseevent&&T.showCursor(),T.rail.active=!0}),T.jqbind(T.railh,"mouseleave",function(){T.rail.active=!1,T.rail.drag||T.hideCursor()}),M.sensitiverail&&(T.bind(T.railh,"click",function(e){T.doRailClick(e,!1,!0)}),T.bind(T.railh,"dblclick",function(e){T.doRailClick(e,!0,!0)}),T.bind(T.cursorh,"click",function(e){T.cancelEvent(e)}),T.bind(T.cursorh,"dblclick",function(e){T.cancelEvent(e)})))),M.cursordragontouch&&(this.istouchcapable||P.cantouch)&&(T.bind(T.cursor,"touchstart",T.ontouchstartCursor),T.bind(T.cursor,"touchmove",T.ontouchmoveCursor),T.bind(T.cursor,"touchend",T.ontouchendCursor),T.cursorh&&T.bind(T.cursorh,"touchstart",function(e){T.ontouchstartCursor(e,!0)}),T.cursorh&&T.bind(T.cursorh,"touchmove",T.ontouchmoveCursor),T.cursorh&&T.bind(T.cursorh,"touchend",T.ontouchendCursor)),M.emulatetouch||P.isandroid||P.isios?(T.bind(P.hasmousecapture?T.win:l,"mouseup",T.ontouchend),T.onclick&&T.bind(l,"click",T.onclick),M.cursordragontouch?(T.bind(T.cursor,"mousedown",T.onmousedown),T.bind(T.cursor,"mouseup",T.onmouseup),T.cursorh&&T.bind(T.cursorh,"mousedown",function(e){T.onmousedown(e,!0)}),T.cursorh&&T.bind(T.cursorh,"mouseup",T.onmouseup)):(T.bind(T.rail,"mousedown",function(e){e.preventDefault()}),T.railh&&T.bind(T.railh,"mousedown",function(e){e.preventDefault()}))):(T.bind(P.hasmousecapture?T.win:l,"mouseup",T.onmouseup),T.bind(l,"mousemove",T.onmousemove),T.onclick&&T.bind(l,"click",T.onclick),T.bind(T.cursor,"mousedown",T.onmousedown),T.bind(T.cursor,"mouseup",T.onmouseup),T.railh&&(T.bind(T.cursorh,"mousedown",function(e){T.onmousedown(e,!0)}),T.bind(T.cursorh,"mouseup",T.onmouseup)),!T.ispage&&M.enablescrollonselection&&(T.bind(T.win[0],"mousedown",T.onselectionstart),T.bind(l,"mouseup",T.onselectionend),T.bind(T.cursor,"mouseup",T.onselectionend),T.cursorh&&T.bind(T.cursorh,"mouseup",T.onselectionend),T.bind(l,"mousemove",T.onselectiondrag)),T.zoom&&(T.jqbind(T.zoom,"mouseenter",function(){T.canshowonmouseevent&&T.showCursor(),T.rail.active=!0}),T.jqbind(T.zoom,"mouseleave",function(){T.rail.active=!1,T.rail.drag||T.hideCursor()}))),M.enablemousewheel&&(T.isiframe||T.mousewheel(P.isie&&T.ispage?l:T.win,T.onmousewheel),T.mousewheel(T.rail,T.onmousewheel),T.railh&&T.mousewheel(T.railh,T.onmousewheelhr)),T.ispage||P.cantouch||/HTML|^BODY/.test(T.win[0].nodeName)||(T.win.attr("tabindex")||T.win.attr({tabindex:++r}),T.bind(T.win,"focus",function(e){o=T.getTarget(e).id||T.getTarget(e)||!1,T.hasfocus=!0,T.canshowonmouseevent&&T.noticeCursor()}),T.bind(T.win,"blur",function(e){o=!1,T.hasfocus=!1}),T.bind(T.win,"mouseenter",function(e){t=T.getTarget(e).id||T.getTarget(e)||!1,T.hasmousefocus=!0,T.canshowonmouseevent&&T.noticeCursor()}),T.bind(T.win,"mouseleave",function(e){t=!1,T.hasmousefocus=!1,T.rail.drag||T.hideCursor()})),T.onkeypress=function(e){if(T.railslocked&&0===T.page.maxh)return!0;e=e||a.event;var r=T.getTarget(e);if(r&&/INPUT|TEXTAREA|SELECT|OPTION/.test(r.nodeName)&&(!(r.getAttribute("type")||r.type||!1)||!/submit|button|cancel/i.tp))return!0;if(n(r).attr("contenteditable"))return!0;if(T.hasfocus||T.hasmousefocus&&!o||T.ispage&&!o&&!t){var i=e.keyCode;if(T.railslocked&&27!=i)return T.cancelEvent(e);var s=e.ctrlKey||!1,l=e.shiftKey||!1,c=!1;switch(i){case 38:case 63233:T.doScrollBy(72),c=!0;break;case 40:case 63235:T.doScrollBy(-72),c=!0;break;case 37:case 63232:T.railh&&(s?T.doScrollLeft(0):T.doScrollLeftBy(72),c=!0);break;case 39:case 63234:T.railh&&(s?T.doScrollLeft(T.page.maxw):T.doScrollLeftBy(-72),c=!0);break;case 33:case 63276:T.doScrollBy(T.view.h),c=!0;break;case 34:case 63277:T.doScrollBy(-T.view.h),c=!0;break;case 36:case 63273:T.railh&&s?T.doScrollPos(0,0):T.doScrollTo(0),c=!0;break;case 35:case 63275:T.railh&&s?T.doScrollPos(T.page.maxw,T.page.maxh):T.doScrollTo(T.page.maxh),c=!0;break;case 32:M.spacebarenabled&&(l?T.doScrollBy(T.view.h):T.doScrollBy(-T.view.h),c=!0);break;case 27:T.zoomactive&&(T.doZoom(),c=!0)}if(c)return T.cancelEvent(e)}},M.enablekeyboard&&T.bind(l,P.isopera&&!P.isopera12?"keypress":"keydown",T.onkeypress),T.bind(l,"keydown",function(e){(e.ctrlKey||!1)&&(T.wheelprevented=!0)}),T.bind(l,"keyup",function(e){e.ctrlKey||!1||(T.wheelprevented=!1)}),T.bind(a,"blur",function(e){T.wheelprevented=!1}),T.bind(a,"resize",T.onscreenresize),T.bind(a,"orientationchange",T.onscreenresize),T.bind(a,"load",T.lazyResize),P.ischrome&&!T.ispage&&!T.haswrapper){var C=T.win.attr("style"),N=parseFloat(T.win.css("width"))+1;T.win.css("width",N),T.synched("chromefix",function(){T.win.attr("style",C)})}if(T.onAttributeChange=function(e){T.lazyResize(T.isieold?250:30)},M.enableobserver&&(T.isie11||!1===m||(T.observerbody=new m(function(e){if(e.forEach(function(e){if("attributes"==e.type)return E.hasClass("modal-open")&&E.hasClass("modal-dialog")&&!n.contains(n(".modal-dialog")[0],T.doc[0])?T.hide():T.show()}),T.me.clientWidth!=T.page.width||T.me.clientHeight!=T.page.height)return T.lazyResize(30)}),T.observerbody.observe(l.body,{childList:!0,subtree:!0,characterData:!1,attributes:!0,attributeFilter:["class"]})),!T.ispage&&!T.haswrapper)){var R=T.win[0];!1!==m?(T.observer=new m(function(e){e.forEach(T.onAttributeChange)}),T.observer.observe(R,{childList:!0,characterData:!1,attributes:!0,subtree:!1}),T.observerremover=new m(function(e){e.forEach(function(e){if(e.removedNodes.length>0)for(var o in e.removedNodes)if(T&&e.removedNodes[o]===R)return T.remove()})}),T.observerremover.observe(R.parentNode,{childList:!0,characterData:!1,attributes:!1,subtree:!1})):(T.bind(R,P.isie&&!P.isie9?"propertychange":"DOMAttrModified",T.onAttributeChange),P.isie9&&R.attachEvent("onpropertychange",T.onAttributeChange),T.bind(R,"DOMNodeRemoved",function(e){e.target===R&&T.remove()}))}!T.ispage&&M.boxzoom&&T.bind(a,"resize",T.resizeZoom),T.istextarea&&(T.bind(T.win,"keydown",T.lazyResize),T.bind(T.win,"mouseup",T.lazyResize)),T.lazyResize(30)}if("IFRAME"==this.doc[0].nodeName){var _=function(){T.iframexd=!1;var o;try{(o="contentDocument"in this?this.contentDocument:this.contentWindow._doc).domain}catch(e){T.iframexd=!0,o=!1}if(T.iframexd)return"console"in a&&console.log("NiceScroll error: policy restriced iframe"),!0;if(T.forcescreen=!0,T.isiframe&&(T.iframe={doc:n(o),html:T.doc.contents().find("html")[0],body:T.doc.contents().find("body")[0]},T.getContentSize=function(){return{w:Math.max(T.iframe.html.scrollWidth,T.iframe.body.scrollWidth),h:Math.max(T.iframe.html.scrollHeight,T.iframe.body.scrollHeight)}},T.docscroll=n(T.iframe.body)),!P.isios&&M.iframeautoresize&&!T.isiframe){T.win.scrollTop(0),T.doc.height("");var t=Math.max(o.getElementsByTagName("html")[0].scrollHeight,o.body.scrollHeight);T.doc.height(t)}T.lazyResize(30),T.css(n(T.iframe.body),e),P.isios&&T.haswrapper&&T.css(n(o.body),{"-webkit-transform":"translate3d(0,0,0)"}),"contentWindow"in this?T.bind(this.contentWindow,"scroll",T.onscroll):T.bind(o,"scroll",T.onscroll),M.enablemousewheel&&T.mousewheel(o,T.onmousewheel),M.enablekeyboard&&T.bind(o,P.isopera?"keypress":"keydown",T.onkeypress),P.cantouch?(T.bind(o,"touchstart",T.ontouchstart),T.bind(o,"touchmove",T.ontouchmove)):M.emulatetouch&&(T.bind(o,"mousedown",T.ontouchstart),T.bind(o,"mousemove",function(e){return T.ontouchmove(e,!0)}),M.grabcursorenabled&&P.cursorgrabvalue&&T.css(n(o.body),{cursor:P.cursorgrabvalue})),T.bind(o,"mouseup",T.ontouchend),T.zoom&&(M.dblclickzoom&&T.bind(o,"dblclick",T.doZoom),T.ongesturezoom&&T.bind(o,"gestureend",T.ongesturezoom))};this.doc[0].readyState&&"complete"===this.doc[0].readyState&&setTimeout(function(){_.call(T.doc[0],!1)},500),T.bind(this.doc,"load",_)}},this.showCursor=function(e,o){if(T.cursortimeout&&(clearTimeout(T.cursortimeout),T.cursortimeout=0),T.rail){if(T.autohidedom&&(T.autohidedom.stop().css({opacity:M.cursoropacitymax}),T.cursoractive=!0),T.rail.drag&&1==T.rail.drag.pt||(void 0!==e&&!1!==e&&(T.scroll.y=e/T.scrollratio.y|0),void 0!==o&&(T.scroll.x=o/T.scrollratio.x|0)),T.cursor.css({height:T.cursorheight,top:T.scroll.y}),T.cursorh){var t=T.hasreversehr?T.scrollvaluemaxw-T.scroll.x:T.scroll.x;T.cursorh.css({width:T.cursorwidth,left:!T.rail.align&&T.rail.visibility?t+T.rail.width:t}),T.cursoractive=!0}T.zoom&&T.zoom.stop().css({opacity:M.cursoropacitymax})}},this.hideCursor=function(e){T.cursortimeout||T.rail&&T.autohidedom&&(T.hasmousefocus&&"leave"===M.autohidemode||(T.cursortimeout=setTimeout(function(){T.rail.active&&T.showonmouseevent||(T.autohidedom.stop().animate({opacity:M.cursoropacitymin}),T.zoom&&T.zoom.stop().animate({opacity:M.cursoropacitymin}),T.cursoractive=!1),T.cursortimeout=0},e||M.hidecursordelay)))},this.noticeCursor=function(e,o,t){T.showCursor(o,t),T.rail.active||T.hideCursor(e)},this.getContentSize=T.ispage?function(){return{w:Math.max(l.body.scrollWidth,l.documentElement.scrollWidth),h:Math.max(l.body.scrollHeight,l.documentElement.scrollHeight)}}:T.haswrapper?function(){return{w:T.doc[0].offsetWidth,h:T.doc[0].offsetHeight}}:function(){return{w:T.docscroll[0].scrollWidth,h:T.docscroll[0].scrollHeight}},this.onResize=function(e,o){if(!T||!T.win)return!1;var t=T.page.maxh,r=T.page.maxw,i=T.view.h,s=T.view.w;if(T.view={w:T.ispage?T.win.width():T.win[0].clientWidth,h:T.ispage?T.win.height():T.win[0].clientHeight},T.page=o||T.getContentSize(),T.page.maxh=Math.max(0,T.page.h-T.view.h),T.page.maxw=Math.max(0,T.page.w-T.view.w),T.page.maxh==t&&T.page.maxw==r&&T.view.w==s&&T.view.h==i){if(T.ispage)return T;var n=T.win.offset();if(T.lastposition){var l=T.lastposition;if(l.top==n.top&&l.left==n.left)return T}T.lastposition=n}return 0===T.page.maxh?(T.hideRail(),T.scrollvaluemax=0,T.scroll.y=0,T.scrollratio.y=0,T.cursorheight=0,T.setScrollTop(0),T.rail&&(T.rail.scrollable=!1)):(T.page.maxh-=M.railpadding.top+M.railpadding.bottom,T.rail.scrollable=!0),0===T.page.maxw?(T.hideRailHr(),T.scrollvaluemaxw=0,T.scroll.x=0,T.scrollratio.x=0,T.cursorwidth=0,T.setScrollLeft(0),T.railh&&(T.railh.scrollable=!1)):(T.page.maxw-=M.railpadding.left+M.railpadding.right,T.railh&&(T.railh.scrollable=M.horizrailenabled)),T.railslocked=T.locked||0===T.page.maxh&&0===T.page.maxw,T.railslocked?(T.ispage||T.updateScrollBar(T.view),!1):(T.hidden||(T.rail.visibility||T.showRail(),T.railh&&!T.railh.visibility&&T.showRailHr()),T.istextarea&&T.win.css("resize")&&"none"!=T.win.css("resize")&&(T.view.h-=20),T.cursorheight=Math.min(T.view.h,Math.round(T.view.h*(T.view.h/T.page.h))),T.cursorheight=M.cursorfixedheight?M.cursorfixedheight:Math.max(M.cursorminheight,T.cursorheight),T.cursorwidth=Math.min(T.view.w,Math.round(T.view.w*(T.view.w/T.page.w))),T.cursorwidth=M.cursorfixedheight?M.cursorfixedheight:Math.max(M.cursorminheight,T.cursorwidth),T.scrollvaluemax=T.view.h-T.cursorheight-(M.railpadding.top+M.railpadding.bottom),T.hasborderbox||(T.scrollvaluemax-=T.cursor[0].offsetHeight-T.cursor[0].clientHeight),T.railh&&(T.railh.width=T.page.maxh>0?T.view.w-T.rail.width:T.view.w,T.scrollvaluemaxw=T.railh.width-T.cursorwidth-(M.railpadding.left+M.railpadding.right)),T.ispage||T.updateScrollBar(T.view),T.scrollratio={x:T.page.maxw/T.scrollvaluemaxw,y:T.page.maxh/T.scrollvaluemax},T.getScrollTop()>T.page.maxh?T.doScrollTop(T.page.maxh):(T.scroll.y=T.getScrollTop()/T.scrollratio.y|0,T.scroll.x=T.getScrollLeft()/T.scrollratio.x|0,T.cursoractive&&T.noticeCursor()),T.scroll.y&&0===T.getScrollTop()&&T.doScrollTo(T.scroll.y*T.scrollratio.y|0),T)},this.resize=T.onResize;var O=0;this.onscreenresize=function(e){clearTimeout(O);var o=!T.ispage&&!T.haswrapper;o&&T.hideRails(),O=setTimeout(function(){T&&(o&&T.showRails(),T.resize()),O=0},120)},this.lazyResize=function(e){return clearTimeout(O),e=isNaN(e)?240:e,O=setTimeout(function(){T&&T.resize(),O=0},e),T},this.jqbind=function(e,o,t){T.events.push({e:e,n:o,f:t,q:!0}),n(e).on(o,t)},this.mousewheel=function(e,o,t){var r="jquery"in e?e[0]:e;if("onwheel"in l.createElement("div"))T._bind(r,"wheel",o,t||!1);else{var i=void 0!==l.onmousewheel?"mousewheel":"DOMMouseScroll";S(r,i,o,t||!1),"DOMMouseScroll"==i&&S(r,"MozMousePixelScroll",o,t||!1)}};var Y=!1;if(P.haseventlistener){try{var H=Object.defineProperty({},"passive",{get:function(){Y=!0}});a.addEventListener("test",null,H)}catch(e){}this.stopPropagation=function(e){return!!e&&((e=e.original?e.original:e).stopPropagation(),!1)},this.cancelEvent=function(e){return e.cancelable&&e.preventDefault(),e.stopImmediatePropagation(),e.preventManipulation&&e.preventManipulation(),!1}}else Event.prototype.preventDefault=function(){this.returnValue=!1},Event.prototype.stopPropagation=function(){this.cancelBubble=!0},a.constructor.prototype.addEventListener=l.constructor.prototype.addEventListener=Element.prototype.addEventListener=function(e,o,t){this.attachEvent("on"+e,o)},a.constructor.prototype.removeEventListener=l.constructor.prototype.removeEventListener=Element.prototype.removeEventListener=function(e,o,t){this.detachEvent("on"+e,o)},this.cancelEvent=function(e){return(e=e||a.event)&&(e.cancelBubble=!0,e.cancel=!0,e.returnValue=!1),!1},this.stopPropagation=function(e){return(e=e||a.event)&&(e.cancelBubble=!0),!1};this.delegate=function(e,o,t,r,i){var s=d[o]||!1;s||(s={a:[],l:[],f:function(e){for(var o=s.l,t=!1,r=o.length-1;r>=0;r--)if(!1===(t=o[r].call(e.target,e)))return!1;return t}},T.bind(e,o,s.f,r,i),d[o]=s),T.ispage?(s.a=[T.id].concat(s.a),s.l=[t].concat(s.l)):(s.a.push(T.id),s.l.push(t))},this.undelegate=function(e,o,t,r,i){var s=d[o]||!1;if(s&&s.l)for(var n=0,l=s.l.length;n0)return t;o=!!o.parentNode&&o.parentNode}return!1},this.triggerScrollStart=function(e,o,t,r,i){if(T.onscrollstart){var s={type:"scrollstart",current:{x:e,y:o},request:{x:t,y:r},end:{x:T.newscrollx,y:T.newscrolly},speed:i};T.onscrollstart.call(T,s)}},this.triggerScrollEnd=function(){if(T.onscrollend){var e=T.getScrollLeft(),o=T.getScrollTop(),t={type:"scrollend",current:{x:e,y:o},end:{x:e,y:o}};T.onscrollend.call(T,t)}};var B=0,X=0,D=0,A=1,q=!1;if(this.onmousewheel=function(e){if(T.wheelprevented||T.locked)return!1;if(T.railslocked)return T.debounced("checkunlock",T.resize,250),!1;if(T.rail.drag)return T.cancelEvent(e);if("auto"===M.oneaxismousemode&&0!==e.deltaX&&(M.oneaxismousemode=!1),M.oneaxismousemode&&0===e.deltaX&&!T.rail.scrollable)return!T.railh||!T.railh.scrollable||T.onmousewheelhr(e);var o=f(),t=!1;if(M.preservenativescrolling&&T.checkarea+600T.page.maxh&&(o=T.page.maxh+(o-T.page.maxh)/2|0),e<0?e=e/2|0:e>T.page.maxw&&(e=T.page.maxw+(e-T.page.maxw)/2|0)):(o<0?o=0:o>T.page.maxh&&(o=T.page.maxh),e<0?e=0:e>T.page.maxw&&(e=T.page.maxw)),T.scrollrunning&&e==T.newscrollx&&o==T.newscrolly)return!1;T.newscrolly=o,T.newscrollx=e;var s=T.getScrollTop(),n=T.getScrollLeft(),l={};l.x=e-n,l.y=o-s;var a=0|Math.sqrt(l.x*l.x+l.y*l.y),c=T.prepareTransition(a);T.scrollrunning||(T.scrollrunning=!0,T.triggerScrollStart(n,s,e,o,c),T.cursorupdate.start()),T.scrollendtrapped=!0,P.transitionend||(T.scrollendtrapped&&clearTimeout(T.scrollendtrapped),T.scrollendtrapped=setTimeout(T.onScrollTransitionEnd,c)),T.setScrollTop(T.newscrolly),T.setScrollLeft(T.newscrollx)},this.cancelScroll=function(){if(!T.scrollendtrapped)return!0;var e=T.getScrollTop(),o=T.getScrollLeft();return T.scrollrunning=!1,P.transitionend||clearTimeout(P.transitionend),T.scrollendtrapped=!1,T.resetTransition(),T.setScrollTop(e),T.railh&&T.setScrollLeft(o),T.timerscroll&&T.timerscroll.tm&&clearInterval(T.timerscroll.tm),T.timerscroll=!1,T.cursorfreezed=!1,T.cursorupdate.stop(),T.showCursor(e,o),T},this.onScrollTransitionEnd=function(){if(T.scrollendtrapped){var e=T.getScrollTop(),o=T.getScrollLeft();if(e<0?e=0:e>T.page.maxh&&(e=T.page.maxh),o<0?o=0:o>T.page.maxw&&(o=T.page.maxw),e!=T.newscrolly||o!=T.newscrollx)return T.doScrollPos(o,e,M.snapbackspeed);T.scrollrunning&&T.triggerScrollEnd(),T.scrollrunning=!1,T.scrollendtrapped=!1,T.resetTransition(),T.timerscroll=!1,T.setScrollTop(e),T.railh&&T.setScrollLeft(o),T.cursorupdate.stop(),T.noticeCursor(!1,e,o),T.cursorfreezed=!1}}}else this.doScrollLeft=function(e,o){var t=T.scrollrunning?T.newscrolly:T.getScrollTop();T.doScrollPos(e,t,o)},this.doScrollTop=function(e,o){var t=T.scrollrunning?T.newscrollx:T.getScrollLeft();T.doScrollPos(t,e,o)},this.doScrollPos=function(e,o,t){var r=T.getScrollTop(),i=T.getScrollLeft();((T.newscrolly-r)*(o-r)<0||(T.newscrollx-i)*(e-i)<0)&&T.cancelScroll();var s=!1;if(T.bouncescroll&&T.rail.visibility||(o<0?(o=0,s=!0):o>T.page.maxh&&(o=T.page.maxh,s=!0)),T.bouncescroll&&T.railh.visibility||(e<0?(e=0,s=!0):e>T.page.maxw&&(e=T.page.maxw,s=!0)),T.scrollrunning&&T.newscrolly===o&&T.newscrollx===e)return!0;T.newscrolly=o,T.newscrollx=e,T.dst={},T.dst.x=e-i,T.dst.y=o-r,T.dst.px=i,T.dst.py=r;var n=0|Math.sqrt(T.dst.x*T.dst.x+T.dst.y*T.dst.y),l=T.getTransitionSpeed(n);T.bzscroll={};var a=s?1:.58;T.bzscroll.x=new R(i,T.newscrollx,l,0,0,a,1),T.bzscroll.y=new R(r,T.newscrolly,l,0,0,a,1);f();var c=function(){if(T.scrollrunning){var e=T.bzscroll.y.getPos();T.setScrollLeft(T.bzscroll.x.getNow()),T.setScrollTop(T.bzscroll.y.getNow()),e<=1?T.timer=u(c):(T.scrollrunning=!1,T.timer=0,T.triggerScrollEnd())}};T.scrollrunning||(T.triggerScrollStart(i,r,e,o,l),T.scrollrunning=!0,T.timer=u(c))},this.cancelScroll=function(){return T.timer&&h(T.timer),T.timer=0,T.bzscroll=!1,T.scrollrunning=!1,T};else this.doScrollLeft=function(e,o){var t=T.getScrollTop();T.doScrollPos(e,t,o)},this.doScrollTop=function(e,o){var t=T.getScrollLeft();T.doScrollPos(t,e,o)},this.doScrollPos=function(e,o,t){var r=e>T.page.maxw?T.page.maxw:e;r<0&&(r=0);var i=o>T.page.maxh?T.page.maxh:o;i<0&&(i=0),T.synched("scroll",function(){T.setScrollTop(i),T.setScrollLeft(r)})},this.cancelScroll=function(){};this.doScrollBy=function(e,o){z(0,e)},this.doScrollLeftBy=function(e,o){z(e,0)},this.doScrollTo=function(e,o){var t=o?Math.round(e*T.scrollratio.y):e;t<0?t=0:t>T.page.maxh&&(t=T.page.maxh),T.cursorfreezed=!1,T.doScrollTop(e)},this.checkContentSize=function(){var e=T.getContentSize();e.h==T.page.h&&e.w==T.page.w||T.resize(!1,e)},T.onscroll=function(e){T.rail.drag||T.cursorfreezed||T.synched("scroll",function(){T.scroll.y=Math.round(T.getScrollTop()/T.scrollratio.y),T.railh&&(T.scroll.x=Math.round(T.getScrollLeft()/T.scrollratio.x)),T.noticeCursor()})},T.bind(T.docscroll,"scroll",T.onscroll),this.doZoomIn=function(e){if(!T.zoomactive){T.zoomactive=!0,T.zoomrestore={style:{}};var o=["position","top","left","zIndex","backgroundColor","marginTop","marginBottom","marginLeft","marginRight"],t=T.win[0].style;for(var r in o){var i=o[r];T.zoomrestore.style[i]=void 0!==t[i]?t[i]:""}T.zoomrestore.style.width=T.win.css("width"),T.zoomrestore.style.height=T.win.css("height"),T.zoomrestore.padding={w:T.win.outerWidth()-T.win.width(),h:T.win.outerHeight()-T.win.height()},P.isios4&&(T.zoomrestore.scrollTop=c.scrollTop(),c.scrollTop(0)),T.win.css({position:P.isios4?"absolute":"fixed",top:0,left:0,zIndex:s+100,margin:0});var n=T.win.css("backgroundColor");return(""===n||/transparent|rgba\(0, 0, 0, 0\)|rgba\(0,0,0,0\)/.test(n))&&T.win.css("backgroundColor","#fff"),T.rail.css({zIndex:s+101}),T.zoom.css({zIndex:s+102}),T.zoom.css("backgroundPosition","0 -18px"),T.resizeZoom(),T.onzoomin&&T.onzoomin.call(T),T.cancelEvent(e)}},this.doZoomOut=function(e){if(T.zoomactive)return T.zoomactive=!1,T.win.css("margin",""),T.win.css(T.zoomrestore.style),P.isios4&&c.scrollTop(T.zoomrestore.scrollTop),T.rail.css({"z-index":T.zindex}),T.zoom.css({"z-index":T.zindex}),T.zoomrestore=!1,T.zoom.css("backgroundPosition","0 0"),T.onResize(),T.onzoomout&&T.onzoomout.call(T),T.cancelEvent(e)},this.doZoom=function(e){return T.zoomactive?T.doZoomOut(e):T.doZoomIn(e)},this.resizeZoom=function(){if(T.zoomactive){var e=T.getScrollTop();T.win.css({width:c.width()-T.zoomrestore.padding.w+"px",height:c.height()-T.zoomrestore.padding.h+"px"}),T.onResize(),T.setScrollTop(Math.min(T.page.maxh,e))}},this.init(),n.nicescroll.push(this)},y=function(e){var o=this;this.nc=e,this.lastx=0,this.lasty=0,this.speedx=0,this.speedy=0,this.lasttime=0,this.steptime=0,this.snapx=!1,this.snapy=!1,this.demulx=0,this.demuly=0,this.lastscrollx=-1,this.lastscrolly=-1,this.chkx=0,this.chky=0,this.timer=0,this.reset=function(e,t){o.stop(),o.steptime=0,o.lasttime=f(),o.speedx=0,o.speedy=0,o.lastx=e,o.lasty=t,o.lastscrollx=-1,o.lastscrolly=-1},this.update=function(e,t){var r=f();o.steptime=r-o.lasttime,o.lasttime=r;var i=t-o.lasty,s=e-o.lastx,n=o.nc.getScrollTop()+i,l=o.nc.getScrollLeft()+s;o.snapx=l<0||l>o.nc.page.maxw,o.snapy=n<0||n>o.nc.page.maxh,o.speedx=s,o.speedy=i,o.lastx=e,o.lasty=t},this.stop=function(){o.nc.unsynched("domomentum2d"),o.timer&&clearTimeout(o.timer),o.timer=0,o.lastscrollx=-1,o.lastscrolly=-1},this.doSnapy=function(e,t){var r=!1;t<0?(t=0,r=!0):t>o.nc.page.maxh&&(t=o.nc.page.maxh,r=!0),e<0?(e=0,r=!0):e>o.nc.page.maxw&&(e=o.nc.page.maxw,r=!0),r?o.nc.doScrollPos(e,t,o.nc.opt.snapbackspeed):o.nc.triggerScrollEnd()},this.doMomentum=function(e){var t=f(),r=e?t+e:o.lasttime,i=o.nc.getScrollLeft(),s=o.nc.getScrollTop(),n=o.nc.page.maxh,l=o.nc.page.maxw;o.speedx=l>0?Math.min(60,o.speedx):0,o.speedy=n>0?Math.min(60,o.speedy):0;var a=r&&t-r<=60;(s<0||s>n||i<0||i>l)&&(a=!1);var c=!(!o.speedy||!a)&&o.speedy,d=!(!o.speedx||!a)&&o.speedx;if(c||d){var u=Math.max(16,o.steptime);if(u>50){var h=u/50;o.speedx*=h,o.speedy*=h,u=50}o.demulxy=0,o.lastscrollx=o.nc.getScrollLeft(),o.chkx=o.lastscrollx,o.lastscrolly=o.nc.getScrollTop(),o.chky=o.lastscrolly;var p=o.lastscrollx,m=o.lastscrolly,g=function(){var e=f()-t>600?.04:.02;o.speedx&&(p=Math.floor(o.lastscrollx-o.speedx*(1-o.demulxy)),o.lastscrollx=p,(p<0||p>l)&&(e=.1)),o.speedy&&(m=Math.floor(o.lastscrolly-o.speedy*(1-o.demulxy)),o.lastscrolly=m,(m<0||m>n)&&(e=.1)),o.demulxy=Math.min(1,o.demulxy+e),o.nc.synched("domomentum2d",function(){if(o.speedx){o.nc.getScrollLeft();o.chkx=p,o.nc.setScrollLeft(p)}if(o.speedy){o.nc.getScrollTop();o.chky=m,o.nc.setScrollTop(m)}o.timer||(o.nc.hideCursor(),o.doSnapy(p,m))}),o.demulxy<1?o.timer=setTimeout(g,u):(o.stop(),o.nc.hideCursor(),o.doSnapy(p,m))};g()}else o.doSnapy(o.nc.getScrollLeft(),o.nc.getScrollTop())}},x=e.fn.scrollTop;e.cssHooks.pageYOffset={get:function(e,o,t){var r=n.data(e,"__nicescroll")||!1;return r&&r.ishwscroll?r.getScrollTop():x.call(e)},set:function(e,o){var t=n.data(e,"__nicescroll")||!1;return t&&t.ishwscroll?t.setScrollTop(parseInt(o)):x.call(e,o),this}},e.fn.scrollTop=function(e){if(void 0===e){var o=!!this[0]&&(n.data(this[0],"__nicescroll")||!1);return o&&o.ishwscroll?o.getScrollTop():x.call(this)}return this.each(function(){var o=n.data(this,"__nicescroll")||!1;o&&o.ishwscroll?o.setScrollTop(parseInt(e)):x.call(n(this),e)})};var S=e.fn.scrollLeft;n.cssHooks.pageXOffset={get:function(e,o,t){var r=n.data(e,"__nicescroll")||!1;return r&&r.ishwscroll?r.getScrollLeft():S.call(e)},set:function(e,o){var t=n.data(e,"__nicescroll")||!1;return t&&t.ishwscroll?t.setScrollLeft(parseInt(o)):S.call(e,o),this}},e.fn.scrollLeft=function(e){if(void 0===e){var o=!!this[0]&&(n.data(this[0],"__nicescroll")||!1);return o&&o.ishwscroll?o.getScrollLeft():S.call(this)}return this.each(function(){var o=n.data(this,"__nicescroll")||!1;o&&o.ishwscroll?o.setScrollLeft(parseInt(e)):S.call(n(this),e)})};var z=function(e){var o=this;if(this.length=0,this.name="nicescrollarray",this.each=function(e){return n.each(o,e),o},this.push=function(e){o[o.length]=e,o.length++},this.eq=function(e){return o[e]},e)for(var t=0;t1?n(e,r):s,i.win=r}!("doc"in i)||"win"in i||(i.win=r);var l=r.data("__nicescroll")||!1;l||(i.doc=i.doc||r,l=new b(i,r),r.data("__nicescroll",l)),t.push(l)}),1===t.length?t[0]:t},a.NiceScroll={getjQuery:function(){return e}},n.nicescroll||(n.nicescroll=new z,n.nicescroll.options=g)}); \ No newline at end of file +!(function (e) { + "function" == typeof define && define.amd + ? define(["jquery"], e) + : "object" == typeof exports + ? (module.exports = e(require("jquery"))) + : e(jQuery); +})(function (e) { + "use strict"; + var o = !1, + t = !1, + r = 0, + i = 2e3, + s = 0, + n = e, + l = document, + a = window, + c = n(a), + d = [], + u = + a.requestAnimationFrame || + a.webkitRequestAnimationFrame || + a.mozRequestAnimationFrame || + !1, + h = + a.cancelAnimationFrame || + a.webkitCancelAnimationFrame || + a.mozCancelAnimationFrame || + !1; + if (u) a.cancelAnimationFrame || (h = function (e) {}); + else { + var p = 0; + (u = function (e, o) { + var t = new Date().getTime(), + r = Math.max(0, 16 - (t - p)), + i = a.setTimeout(function () { + e(t + r); + }, r); + return (p = t + r), i; + }), + (h = function (e) { + a.clearTimeout(e); + }); + } + var m = a.MutationObserver || a.WebKitMutationObserver || !1, + f = + Date.now || + function () { + return new Date().getTime(); + }, + g = { + zindex: "auto", + cursoropacitymin: 0, + cursoropacitymax: 1, + cursorcolor: "#424242", + cursorwidth: "6px", + cursorborder: "1px solid #fff", + cursorborderradius: "5px", + scrollspeed: 40, + mousescrollstep: 27, + touchbehavior: !1, + emulatetouch: !1, + hwacceleration: !0, + usetransition: !0, + boxzoom: !1, + // dblclickzoom: !0, + gesturezoom: !0, + grabcursorenabled: !0, + autohidemode: !0, + background: "", + iframeautoresize: !0, + cursorminheight: 32, + preservenativescrolling: !0, + railoffset: !1, + railhoffset: !1, + bouncescroll: !0, + spacebarenabled: !0, + railpadding: { top: 0, right: 0, left: 0, bottom: 0 }, + disableoutline: !0, + horizrailenabled: !0, + railalign: "right", + railvalign: "bottom", + enabletranslate3d: !0, + enablemousewheel: !0, + enablekeyboard: !0, + smoothscroll: !0, + sensitiverail: !0, + enablemouselockapi: !0, + cursorfixedheight: !1, + directionlockdeadzone: 6, + hidecursordelay: 400, + nativeparentscrolling: !0, + enablescrollonselection: !0, + overflowx: !0, + overflowy: !0, + cursordragspeed: 0.3, + rtlmode: "auto", + cursordragontouch: !1, + oneaxismousemode: "auto", + scriptpath: (function () { + var e = + l.currentScript || + (function () { + var e = l.getElementsByTagName("script"); + return !!e.length && e[e.length - 1]; + })(), + o = e ? e.src.split("?")[0] : ""; + return o.split("/").length > 0 + ? o.split("/").slice(0, -1).join("/") + "/" + : ""; + })(), + preventmultitouchscrolling: !0, + disablemutationobserver: !1, + enableobserver: !0, + scrollbarid: !1, + }, + v = !1, + w = function () { + if (v) return v; + var e = l.createElement("DIV"), + o = e.style, + t = navigator.userAgent, + r = navigator.platform, + i = {}; + return ( + (i.haspointerlock = + "pointerLockElement" in l || + "webkitPointerLockElement" in l || + "mozPointerLockElement" in l), + (i.isopera = "opera" in a), + (i.isopera12 = i.isopera && "getUserMedia" in navigator), + (i.isoperamini = + "[object OperaMini]" === Object.prototype.toString.call(a.operamini)), + (i.isie = "all" in l && "attachEvent" in e && !i.isopera), + (i.isieold = i.isie && !("msInterpolationMode" in o)), + (i.isie7 = + i.isie && + !i.isieold && + (!("documentMode" in l) || 7 === l.documentMode)), + (i.isie8 = i.isie && "documentMode" in l && 8 === l.documentMode), + (i.isie9 = i.isie && "performance" in a && 9 === l.documentMode), + (i.isie10 = i.isie && "performance" in a && 10 === l.documentMode), + (i.isie11 = "msRequestFullscreen" in e && l.documentMode >= 11), + (i.ismsedge = "msCredentials" in a), + (i.ismozilla = "MozAppearance" in o), + (i.iswebkit = !i.ismsedge && "WebkitAppearance" in o), + (i.ischrome = i.iswebkit && "chrome" in a), + (i.ischrome38 = i.ischrome && "touchAction" in o), + (i.ischrome22 = !i.ischrome38 && i.ischrome && i.haspointerlock), + (i.ischrome26 = !i.ischrome38 && i.ischrome && "transition" in o), + (i.cantouch = + "ontouchstart" in l.documentElement || "ontouchstart" in a), + (i.hasw3ctouch = + (a.PointerEvent || !1) && + (navigator.maxTouchPoints > 0 || navigator.msMaxTouchPoints > 0)), + (i.hasmstouch = !i.hasw3ctouch && (a.MSPointerEvent || !1)), + (i.ismac = /^mac$/i.test(r)), + (i.isios = i.cantouch && /iphone|ipad|ipod/i.test(r)), + (i.isios4 = i.isios && !("seal" in Object)), + (i.isios7 = i.isios && "webkitHidden" in l), + (i.isios8 = i.isios && "hidden" in l), + (i.isios10 = i.isios && a.Proxy), + (i.isandroid = /android/i.test(t)), + (i.haseventlistener = "addEventListener" in e), + (i.trstyle = !1), + (i.hastransform = !1), + (i.hastranslate3d = !1), + (i.transitionstyle = !1), + (i.hastransition = !1), + (i.transitionend = !1), + (i.trstyle = "transform"), + (i.hastransform = + "transform" in o || + (function () { + for ( + var e = [ + "msTransform", + "webkitTransform", + "MozTransform", + "OTransform", + ], + t = 0, + r = e.length; + t < r; + t++ + ) + if (void 0 !== o[e[t]]) { + i.trstyle = e[t]; + break; + } + i.hastransform = !!i.trstyle; + })()), + i.hastransform && + ((o[i.trstyle] = "translate3d(1px,2px,3px)"), + (i.hastranslate3d = /translate3d/.test(o[i.trstyle]))), + (i.transitionstyle = "transition"), + (i.prefixstyle = ""), + (i.transitionend = "transitionend"), + (i.hastransition = + "transition" in o || + (function () { + i.transitionend = !1; + for ( + var e = [ + "webkitTransition", + "msTransition", + "MozTransition", + "OTransition", + "OTransition", + "KhtmlTransition", + ], + t = ["-webkit-", "-ms-", "-moz-", "-o-", "-o", "-khtml-"], + r = [ + "webkitTransitionEnd", + "msTransitionEnd", + "transitionend", + "otransitionend", + "oTransitionEnd", + "KhtmlTransitionEnd", + ], + s = 0, + n = e.length; + s < n; + s++ + ) + if (e[s] in o) { + (i.transitionstyle = e[s]), + (i.prefixstyle = t[s]), + (i.transitionend = r[s]); + break; + } + i.ischrome26 && (i.prefixstyle = t[1]), + (i.hastransition = i.transitionstyle); + })()), + (i.cursorgrabvalue = (function () { + var e = ["grab", "-webkit-grab", "-moz-grab"]; + ((i.ischrome && !i.ischrome38) || i.isie) && (e = []); + for (var t = 0, r = e.length; t < r; t++) { + var s = e[t]; + if (((o.cursor = s), o.cursor == s)) return s; + } + return "url(https://cdnjs.cloudflare.com/ajax/libs/slider-pro/1.3.0/css/images/openhand.cur),n-resize"; + })()), + (i.hasmousecapture = "setCapture" in e), + (i.hasMutationObserver = !1 !== m), + (e = null), + (v = i), + i + ); + }, + b = function (e, p) { + function v() { + var e = T.doc.css(P.trstyle); + return ( + !(!e || "matrix" != e.substr(0, 6)) && + e + .replace(/^.*\((.*)\)$/g, "$1") + .replace(/px/g, "") + .split(/, +/) + ); + } + function b() { + var e = T.win; + if ("zIndex" in e) return e.zIndex(); + for (; e.length > 0; ) { + if (9 == e[0].nodeType) return !1; + var o = e.css("zIndex"); + if (!isNaN(o) && 0 !== o) return parseInt(o); + e = e.parent(); + } + return !1; + } + function x(e, o, t) { + var r = e.css(o), + i = parseFloat(r); + if (isNaN(i)) { + var s = + 3 == (i = I[r] || 0) + ? t + ? T.win.outerHeight() - T.win.innerHeight() + : T.win.outerWidth() - T.win.innerWidth() + : 1; + return T.isie8 && i && (i += 1), s ? i : 0; + } + return i; + } + function S(e, o, t, r) { + T._bind( + e, + o, + function (r) { + var i = { + original: (r = r || a.event), + target: r.target || r.srcElement, + type: "wheel", + deltaMode: "MozMousePixelScroll" == r.type ? 0 : 1, + deltaX: 0, + deltaZ: 0, + preventDefault: function () { + return ( + r.preventDefault ? r.preventDefault() : (r.returnValue = !1), + !1 + ); + }, + stopImmediatePropagation: function () { + r.stopImmediatePropagation + ? r.stopImmediatePropagation() + : (r.cancelBubble = !0); + }, + }; + return ( + "mousewheel" == o + ? (r.wheelDeltaX && (i.deltaX = -0.025 * r.wheelDeltaX), + r.wheelDeltaY && (i.deltaY = -0.025 * r.wheelDeltaY), + !i.deltaY && !i.deltaX && (i.deltaY = -0.025 * r.wheelDelta)) + : (i.deltaY = r.detail), + t.call(e, i) + ); + }, + r + ); + } + function z(e, o, t, r) { + T.scrollrunning || + ((T.newscrolly = T.getScrollTop()), + (T.newscrollx = T.getScrollLeft()), + (D = f())); + var i = f() - D; + if ( + ((D = f()), + i > 350 ? (A = 1) : (A += (2 - A) / 10), + (e = (e * A) | 0), + (o = (o * A) | 0), + e) + ) { + if (r) + if (e < 0) { + if (T.getScrollLeft() >= T.page.maxw) return !0; + } else if (T.getScrollLeft() <= 0) return !0; + var s = e > 0 ? 1 : -1; + X !== s && + (T.scrollmom && T.scrollmom.stop(), + (T.newscrollx = T.getScrollLeft()), + (X = s)), + (T.lastdeltax -= e); + } + if (o) { + if ( + (function () { + var e = T.getScrollTop(); + if (o < 0) { + if (e >= T.page.maxh) return !0; + } else if (e <= 0) return !0; + })() + ) { + if (M.nativeparentscrolling && t && !T.ispage && !T.zoomactive) + return !0; + var n = T.view.h >> 1; + T.newscrolly < -n + ? ((T.newscrolly = -n), (o = -1)) + : T.newscrolly > T.page.maxh + n + ? ((T.newscrolly = T.page.maxh + n), (o = 1)) + : (o = 0); + } + var l = o > 0 ? 1 : -1; + B !== l && + (T.scrollmom && T.scrollmom.stop(), + (T.newscrolly = T.getScrollTop()), + (B = l)), + (T.lastdeltay -= o); + } + (o || e) && + T.synched("relativexy", function () { + var e = T.lastdeltay + T.newscrolly; + T.lastdeltay = 0; + var o = T.lastdeltax + T.newscrollx; + (T.lastdeltax = 0), T.rail.drag || T.doScrollPos(o, e); + }); + } + function k(e, o, t) { + var r, i; + return ( + !(t || !q) || + (0 === e.deltaMode + ? ((r = (-e.deltaX * (M.mousescrollstep / 54)) | 0), + (i = (-e.deltaY * (M.mousescrollstep / 54)) | 0)) + : 1 === e.deltaMode && + ((r = ((-e.deltaX * M.mousescrollstep * 50) / 80) | 0), + (i = ((-e.deltaY * M.mousescrollstep * 50) / 80) | 0)), + o && + M.oneaxismousemode && + 0 === r && + i && + ((r = i), + (i = 0), + t && + (r < 0 + ? T.getScrollLeft() >= T.page.maxw + : T.getScrollLeft() <= 0) && + ((i = r), (r = 0))), + T.isrtlmode && (r = -r), + z(r, i, t, !0) + ? void (t && (q = !0)) + : ((q = !1), e.stopImmediatePropagation(), e.preventDefault())) + ); + } + var T = this; + (this.version = "3.7.6"), (this.name = "nicescroll"), (this.me = p); + var E = n("body"), + M = (this.opt = { doc: E, win: !1 }); + if ((n.extend(M, g), (M.snapbackspeed = 80), e)) + for (var L in M) void 0 !== e[L] && (M[L] = e[L]); + if ( + (M.disablemutationobserver && (m = !1), + (this.doc = M.doc), + (this.iddoc = this.doc && this.doc[0] ? this.doc[0].id || "" : ""), + (this.ispage = /^BODY|HTML/.test( + M.win ? M.win[0].nodeName : this.doc[0].nodeName + )), + (this.haswrapper = !1 !== M.win), + (this.win = M.win || (this.ispage ? c : this.doc)), + (this.docscroll = this.ispage && !this.haswrapper ? c : this.win), + (this.body = E), + (this.viewport = !1), + (this.isfixed = !1), + (this.iframe = !1), + (this.isiframe = + "IFRAME" == this.doc[0].nodeName && "IFRAME" == this.win[0].nodeName), + (this.istextarea = "TEXTAREA" == this.win[0].nodeName), + (this.forcescreen = !1), + (this.canshowonmouseevent = "scroll" != M.autohidemode), + (this.onmousedown = !1), + (this.onmouseup = !1), + (this.onmousemove = !1), + (this.onmousewheel = !1), + (this.onkeypress = !1), + (this.ongesturezoom = !1), + (this.onclick = !1), + (this.onscrollstart = !1), + (this.onscrollend = !1), + (this.onscrollcancel = !1), + (this.onzoomin = !1), + (this.onzoomout = !1), + (this.view = !1), + (this.page = !1), + (this.scroll = { x: 0, y: 0 }), + (this.scrollratio = { x: 0, y: 0 }), + (this.cursorheight = 20), + (this.scrollvaluemax = 0), + "auto" == M.rtlmode) + ) { + var C = this.win[0] == a ? this.body : this.win, + N = + C.css("writing-mode") || + C.css("-webkit-writing-mode") || + C.css("-ms-writing-mode") || + C.css("-moz-writing-mode"); + "horizontal-tb" == N || "lr-tb" == N || "" === N + ? ((this.isrtlmode = "rtl" == C.css("direction")), + (this.isvertical = !1)) + : ((this.isrtlmode = + "vertical-rl" == N || "tb" == N || "tb-rl" == N || "rl-tb" == N), + (this.isvertical = + "vertical-rl" == N || "tb" == N || "tb-rl" == N)); + } else (this.isrtlmode = !0 === M.rtlmode), (this.isvertical = !1); + if ( + ((this.scrollrunning = !1), + (this.scrollmom = !1), + (this.observer = !1), + (this.observerremover = !1), + (this.observerbody = !1), + !1 !== M.scrollbarid) + ) + this.id = M.scrollbarid; + else + do { + this.id = "ascrail" + i++; + } while (l.getElementById(this.id)); + (this.rail = !1), + (this.cursor = !1), + (this.cursorfreezed = !1), + (this.selectiondrag = !1), + (this.zoom = !1), + (this.zoomactive = !1), + (this.hasfocus = !1), + (this.hasmousefocus = !1), + (this.railslocked = !1), + (this.locked = !1), + (this.hidden = !1), + (this.cursoractive = !0), + (this.wheelprevented = !1), + (this.overflowx = M.overflowx), + (this.overflowy = M.overflowy), + (this.nativescrollingarea = !1), + (this.checkarea = 0), + (this.events = []), + (this.saved = {}), + (this.delaylist = {}), + (this.synclist = {}), + (this.lastdeltax = 0), + (this.lastdeltay = 0), + (this.detected = w()); + var P = n.extend({}, this.detected); + (this.canhwscroll = P.hastransform && M.hwacceleration), + (this.ishwscroll = this.canhwscroll && T.haswrapper), + this.isrtlmode + ? this.isvertical + ? (this.hasreversehr = !(P.iswebkit || P.isie || P.isie11)) + : (this.hasreversehr = !( + P.iswebkit || + (P.isie && !P.isie10 && !P.isie11) + )) + : (this.hasreversehr = !1), + (this.istouchcapable = !1), + P.cantouch || (!P.hasw3ctouch && !P.hasmstouch) + ? !P.cantouch || + P.isios || + P.isandroid || + (!P.iswebkit && !P.ismozilla) || + (this.istouchcapable = !0) + : (this.istouchcapable = !0), + M.enablemouselockapi || + ((P.hasmousecapture = !1), (P.haspointerlock = !1)), + (this.debounced = function (e, o, t) { + T && + (T.delaylist[e] || + !1 || + ((T.delaylist[e] = { + h: u(function () { + T.delaylist[e].fn.call(T), (T.delaylist[e] = !1); + }, t), + }), + o.call(T)), + (T.delaylist[e].fn = o)); + }), + (this.synched = function (e, o) { + T.synclist[e] + ? (T.synclist[e] = o) + : ((T.synclist[e] = o), + u(function () { + T && + (T.synclist[e] && T.synclist[e].call(T), + (T.synclist[e] = null)); + })); + }), + (this.unsynched = function (e) { + T.synclist[e] && (T.synclist[e] = !1); + }), + (this.css = function (e, o) { + for (var t in o) T.saved.css.push([e, t, e.css(t)]), e.css(t, o[t]); + }), + (this.scrollTop = function (e) { + return void 0 === e ? T.getScrollTop() : T.setScrollTop(e); + }), + (this.scrollLeft = function (e) { + return void 0 === e ? T.getScrollLeft() : T.setScrollLeft(e); + }); + var R = function (e, o, t, r, i, s, n) { + (this.st = e), + (this.ed = o), + (this.spd = t), + (this.p1 = r || 0), + (this.p2 = i || 1), + (this.p3 = s || 0), + (this.p4 = n || 1), + (this.ts = f()), + (this.df = o - e); + }; + if ( + ((R.prototype = { + B2: function (e) { + return 3 * (1 - e) * (1 - e) * e; + }, + B3: function (e) { + return 3 * (1 - e) * e * e; + }, + B4: function (e) { + return e * e * e; + }, + getPos: function () { + return (f() - this.ts) / this.spd; + }, + getNow: function () { + var e = (f() - this.ts) / this.spd, + o = this.B2(e) + this.B3(e) + this.B4(e); + return e >= 1 ? this.ed : (this.st + this.df * o) | 0; + }, + update: function (e, o) { + return ( + (this.st = this.getNow()), + (this.ed = e), + (this.spd = o), + (this.ts = f()), + (this.df = this.ed - this.st), + this + ); + }, + }), + this.ishwscroll) + ) { + (this.doc.translate = { x: 0, y: 0, tx: "0px", ty: "0px" }), + P.hastranslate3d && + P.isios && + this.doc.css("-webkit-backface-visibility", "hidden"), + (this.getScrollTop = function (e) { + if (!e) { + var o = v(); + if (o) return 16 == o.length ? -o[13] : -o[5]; + if (T.timerscroll && T.timerscroll.bz) + return T.timerscroll.bz.getNow(); + } + return T.doc.translate.y; + }), + (this.getScrollLeft = function (e) { + if (!e) { + var o = v(); + if (o) return 16 == o.length ? -o[12] : -o[4]; + if (T.timerscroll && T.timerscroll.bh) + return T.timerscroll.bh.getNow(); + } + return T.doc.translate.x; + }), + (this.notifyScrollEvent = function (e) { + var o = l.createEvent("UIEvents"); + o.initUIEvent("scroll", !1, !1, a, 1), + (o.niceevent = !0), + e.dispatchEvent(o); + }); + var _ = this.isrtlmode ? 1 : -1; + P.hastranslate3d && M.enabletranslate3d + ? ((this.setScrollTop = function (e, o) { + (T.doc.translate.y = e), + (T.doc.translate.ty = -1 * e + "px"), + T.doc.css( + P.trstyle, + "translate3d(" + + T.doc.translate.tx + + "," + + T.doc.translate.ty + + ",0)" + ), + o || T.notifyScrollEvent(T.win[0]); + }), + (this.setScrollLeft = function (e, o) { + (T.doc.translate.x = e), + (T.doc.translate.tx = e * _ + "px"), + T.doc.css( + P.trstyle, + "translate3d(" + + T.doc.translate.tx + + "," + + T.doc.translate.ty + + ",0)" + ), + o || T.notifyScrollEvent(T.win[0]); + })) + : ((this.setScrollTop = function (e, o) { + (T.doc.translate.y = e), + (T.doc.translate.ty = -1 * e + "px"), + T.doc.css( + P.trstyle, + "translate(" + + T.doc.translate.tx + + "," + + T.doc.translate.ty + + ")" + ), + o || T.notifyScrollEvent(T.win[0]); + }), + (this.setScrollLeft = function (e, o) { + (T.doc.translate.x = e), + (T.doc.translate.tx = e * _ + "px"), + T.doc.css( + P.trstyle, + "translate(" + + T.doc.translate.tx + + "," + + T.doc.translate.ty + + ")" + ), + o || T.notifyScrollEvent(T.win[0]); + })); + } else + (this.getScrollTop = function () { + return T.docscroll.scrollTop(); + }), + (this.setScrollTop = function (e) { + T.docscroll.scrollTop(e); + }), + (this.getScrollLeft = function () { + return T.hasreversehr + ? T.detected.ismozilla + ? T.page.maxw - Math.abs(T.docscroll.scrollLeft()) + : T.page.maxw - T.docscroll.scrollLeft() + : T.docscroll.scrollLeft(); + }), + (this.setScrollLeft = function (e) { + return setTimeout(function () { + if (T) + return ( + T.hasreversehr && + (e = T.detected.ismozilla + ? -(T.page.maxw - e) + : T.page.maxw - e), + T.docscroll.scrollLeft(e) + ); + }, 1); + }); + (this.getTarget = function (e) { + return !!e && (e.target ? e.target : !!e.srcElement && e.srcElement); + }), + (this.hasParent = function (e, o) { + if (!e) return !1; + for (var t = e.target || e.srcElement || e || !1; t && t.id != o; ) + t = t.parentNode || !1; + return !1 !== t; + }); + var I = { thin: 1, medium: 3, thick: 5 }; + (this.getDocumentScrollOffset = function () { + return { + top: a.pageYOffset || l.documentElement.scrollTop, + left: a.pageXOffset || l.documentElement.scrollLeft, + }; + }), + (this.getOffset = function () { + if (T.isfixed) { + var e = T.win.offset(), + o = T.getDocumentScrollOffset(); + return (e.top -= o.top), (e.left -= o.left), e; + } + var t = T.win.offset(); + if (!T.viewport) return t; + var r = T.viewport.offset(); + return { top: t.top - r.top, left: t.left - r.left }; + }), + (this.updateScrollBar = function (e) { + var o, t; + if (T.ishwscroll) + T.rail.css({ + height: + T.win.innerHeight() - + (M.railpadding.top + M.railpadding.bottom), + }), + T.railh && + T.railh.css({ + width: + T.win.innerWidth() - + (M.railpadding.left + M.railpadding.right), + }); + else { + var r = T.getOffset(); + if ( + ((o = { + top: r.top, + left: r.left - (M.railpadding.left + M.railpadding.right), + }), + (o.top += x(T.win, "border-top-width", !0)), + (o.left += T.rail.align + ? T.win.outerWidth() - + x(T.win, "border-right-width") - + T.rail.width + : x(T.win, "border-left-width")), + (t = M.railoffset) && + (t.top && (o.top += t.top), t.left && (o.left += t.left)), + T.railslocked || + T.rail.css({ + top: o.top, + left: o.left, + height: + (e ? e.h : T.win.innerHeight()) - + (M.railpadding.top + M.railpadding.bottom), + }), + T.zoom && + T.zoom.css({ + top: o.top + 1, + left: + 1 == T.rail.align ? o.left - 20 : o.left + T.rail.width + 4, + }), + T.railh && !T.railslocked) + ) { + (o = { top: r.top, left: r.left }), + (t = M.railhoffset) && + (t.top && (o.top += t.top), t.left && (o.left += t.left)); + var i = T.railh.align + ? o.top + + x(T.win, "border-top-width", !0) + + T.win.innerHeight() - + T.railh.height + : o.top + x(T.win, "border-top-width", !0), + s = o.left + x(T.win, "border-left-width"); + T.railh.css({ + top: i - (M.railpadding.top + M.railpadding.bottom), + left: s, + width: T.railh.width, + }); + } + } + }), + (this.doRailClick = function (e, o, t) { + var r, i, s, n; + T.railslocked || + (T.cancelEvent(e), + "pageY" in e || + ((e.pageX = e.clientX + l.documentElement.scrollLeft), + (e.pageY = e.clientY + l.documentElement.scrollTop)), + o + ? ((r = t ? T.doScrollLeft : T.doScrollTop), + (s = t + ? (e.pageX - T.railh.offset().left - T.cursorwidth / 2) * + T.scrollratio.x + : (e.pageY - T.rail.offset().top - T.cursorheight / 2) * + T.scrollratio.y), + T.unsynched("relativexy"), + r(0 | s)) + : ((r = t ? T.doScrollLeftBy : T.doScrollBy), + (s = t ? T.scroll.x : T.scroll.y), + (n = t + ? e.pageX - T.railh.offset().left + : e.pageY - T.rail.offset().top), + (i = t ? T.view.w : T.view.h), + r(s >= n ? i : -i))); + }), + (T.newscrolly = T.newscrollx = 0), + (T.hasanimationframe = "requestAnimationFrame" in a), + (T.hascancelanimationframe = "cancelAnimationFrame" in a), + (T.hasborderbox = !1), + (this.init = function () { + if (((T.saved.css = []), P.isoperamini)) return !0; + if (P.isandroid && !("hidden" in l)) return !0; + (M.emulatetouch = M.emulatetouch || M.touchbehavior), + (T.hasborderbox = + a.getComputedStyle && + "border-box" === a.getComputedStyle(l.body)["box-sizing"]); + var e = { "overflow-y": "hidden" }; + if ( + ((P.isie11 || P.isie10) && (e["-ms-overflow-style"] = "none"), + T.ishwscroll && + (this.doc.css( + P.transitionstyle, + P.prefixstyle + "transform 0ms ease-out" + ), + P.transitionend && + T.bind(T.doc, P.transitionend, T.onScrollTransitionEnd, !1)), + (T.zindex = "auto"), + T.ispage || "auto" != M.zindex + ? (T.zindex = M.zindex) + : (T.zindex = b() || "auto"), + !T.ispage && "auto" != T.zindex && T.zindex > s && (s = T.zindex), + T.isie && + 0 === T.zindex && + "auto" == M.zindex && + (T.zindex = "auto"), + !T.ispage || !P.isieold) + ) { + var i = T.docscroll; + T.ispage && (i = T.haswrapper ? T.win : T.doc), + T.css(i, e), + T.ispage && (P.isie11 || P.isie) && T.css(n("html"), e), + !P.isios || + T.ispage || + T.haswrapper || + T.css(E, { "-webkit-overflow-scrolling": "touch" }); + var d = n(l.createElement("div")); + d.css({ + position: "relative", + top: 0, + float: "right", + width: M.cursorwidth, + height: 0, + "background-color": M.cursorcolor, + border: M.cursorborder, + "background-clip": "padding-box", + "-webkit-border-radius": M.cursorborderradius, + "-moz-border-radius": M.cursorborderradius, + "border-radius": M.cursorborderradius, + }), + d.addClass("nicescroll-cursors"), + (T.cursor = d); + var u = n(l.createElement("div")); + u.attr("id", T.id), + u.addClass("nicescroll-rails nicescroll-rails-vr"); + var h, + p, + f = ["left", "right", "top", "bottom"]; + for (var g in f) + (p = f[g]), + (h = M.railpadding[p] || 0) && u.css("padding-" + p, h + "px"); + u.append(d), + (u.width = Math.max(parseFloat(M.cursorwidth), d.outerWidth())), + u.css({ + width: u.width + "px", + zIndex: T.zindex, + background: M.background, + cursor: "default", + }), + (u.visibility = !0), + (u.scrollable = !0), + (u.align = "left" == M.railalign ? 0 : 1), + (T.rail = u), + (T.rail.drag = !1); + var v = !1; + !M.boxzoom || + T.ispage || + P.isieold || + ((v = l.createElement("div")), + T.bind(v, "click", T.doZoom), + T.bind(v, "mouseenter", function () { + T.zoom.css("opacity", M.cursoropacitymax); + }), + T.bind(v, "mouseleave", function () { + T.zoom.css("opacity", M.cursoropacitymin); + }), + (T.zoom = n(v)), + T.zoom.css({ + cursor: "pointer", + zIndex: T.zindex, + height: 18, + width: 18, + backgroundPosition: "0 0", + }), + M.dblclickzoom && T.bind(T.win, "dblclick", T.doZoom), + P.cantouch && + M.gesturezoom && + ((T.ongesturezoom = function (e) { + return ( + e.scale > 1.5 && T.doZoomIn(e), + e.scale < 0.8 && T.doZoomOut(e), + T.cancelEvent(e) + ); + }), + T.bind(T.win, "gestureend", T.ongesturezoom))), + (T.railh = !1); + var w; + if ( + (M.horizrailenabled && + (T.css(i, { overflowX: "hidden" }), + (d = n(l.createElement("div"))).css({ + position: "absolute", + top: 0, + height: M.cursorwidth, + width: 0, + backgroundColor: M.cursorcolor, + border: M.cursorborder, + backgroundClip: "padding-box", + "-webkit-border-radius": M.cursorborderradius, + "-moz-border-radius": M.cursorborderradius, + "border-radius": M.cursorborderradius, + }), + P.isieold && d.css("overflow", "hidden"), + d.addClass("nicescroll-cursors"), + (T.cursorh = d), + (w = n(l.createElement("div"))).attr("id", T.id + "-hr"), + w.addClass("nicescroll-rails nicescroll-rails-hr"), + (w.height = Math.max( + parseFloat(M.cursorwidth), + d.outerHeight() + )), + w.css({ + height: w.height + "px", + zIndex: T.zindex, + background: M.background, + }), + w.append(d), + (w.visibility = !0), + (w.scrollable = !0), + (w.align = "top" == M.railvalign ? 0 : 1), + (T.railh = w), + (T.railh.drag = !1)), + T.ispage) + ) + u.css({ position: "fixed", top: 0, height: "100%" }), + u.css(u.align ? { right: 0 } : { left: 0 }), + T.body.append(u), + T.railh && + (w.css({ position: "fixed", left: 0, width: "100%" }), + w.css(w.align ? { bottom: 0 } : { top: 0 }), + T.body.append(w)); + else { + if (T.ishwscroll) { + "static" == T.win.css("position") && + T.css(T.win, { position: "relative" }); + var x = "HTML" == T.win[0].nodeName ? T.body : T.win; + n(x).scrollTop(0).scrollLeft(0), + T.zoom && + (T.zoom.css({ + position: "absolute", + top: 1, + right: 0, + "margin-right": u.width + 4, + }), + x.append(T.zoom)), + u.css({ position: "absolute", top: 0 }), + u.css(u.align ? { right: 0 } : { left: 0 }), + x.append(u), + w && + (w.css({ position: "absolute", left: 0, bottom: 0 }), + w.css(w.align ? { bottom: 0 } : { top: 0 }), + x.append(w)); + } else { + T.isfixed = "fixed" == T.win.css("position"); + var S = T.isfixed ? "fixed" : "absolute"; + T.isfixed || (T.viewport = T.getViewport(T.win[0])), + T.viewport && + ((T.body = T.viewport), + /fixed|absolute/.test(T.viewport.css("position")) || + T.css(T.viewport, { position: "relative" })), + u.css({ position: S }), + T.zoom && T.zoom.css({ position: S }), + T.updateScrollBar(), + T.body.append(u), + T.zoom && T.body.append(T.zoom), + T.railh && (w.css({ position: S }), T.body.append(w)); + } + P.isios && + T.css(T.win, { + "-webkit-tap-highlight-color": "rgba(0,0,0,0)", + "-webkit-touch-callout": "none", + }), + M.disableoutline && + (P.isie && T.win.attr("hideFocus", "true"), + P.iswebkit && T.win.css("outline", "none")); + } + if ( + (!1 === M.autohidemode + ? ((T.autohidedom = !1), + T.rail.css({ opacity: M.cursoropacitymax }), + T.railh && T.railh.css({ opacity: M.cursoropacitymax })) + : !0 === M.autohidemode || "leave" === M.autohidemode + ? ((T.autohidedom = n().add(T.rail)), + P.isie8 && (T.autohidedom = T.autohidedom.add(T.cursor)), + T.railh && (T.autohidedom = T.autohidedom.add(T.railh)), + T.railh && + P.isie8 && + (T.autohidedom = T.autohidedom.add(T.cursorh))) + : "scroll" == M.autohidemode + ? ((T.autohidedom = n().add(T.rail)), + T.railh && (T.autohidedom = T.autohidedom.add(T.railh))) + : "cursor" == M.autohidemode + ? ((T.autohidedom = n().add(T.cursor)), + T.railh && (T.autohidedom = T.autohidedom.add(T.cursorh))) + : "hidden" == M.autohidemode && + ((T.autohidedom = !1), T.hide(), (T.railslocked = !1)), + P.cantouch || T.istouchcapable || M.emulatetouch || P.hasmstouch) + ) { + T.scrollmom = new y(T); + (T.ontouchstart = function (e) { + if (T.locked) return !1; + if ( + e.pointerType && + ("mouse" === e.pointerType || + e.pointerType === e.MSPOINTER_TYPE_MOUSE) + ) + return !1; + if ( + ((T.hasmoving = !1), + T.scrollmom.timer && + (T.triggerScrollEnd(), T.scrollmom.stop()), + !T.railslocked) + ) { + var o = T.getTarget(e); + if (o && /INPUT/i.test(o.nodeName) && /range/i.test(o.type)) + return T.stopPropagation(e); + var t = "mousedown" === e.type; + if ( + (!("clientX" in e) && + "changedTouches" in e && + ((e.clientX = e.changedTouches[0].clientX), + (e.clientY = e.changedTouches[0].clientY)), + T.forcescreen) + ) { + var r = e; + ((e = { original: e.original ? e.original : e }).clientX = + r.screenX), + (e.clientY = r.screenY); + } + if ( + ((T.rail.drag = { + x: e.clientX, + y: e.clientY, + sx: T.scroll.x, + sy: T.scroll.y, + st: T.getScrollTop(), + sl: T.getScrollLeft(), + pt: 2, + dl: !1, + tg: o, + }), + T.ispage || !M.directionlockdeadzone) + ) + T.rail.drag.dl = "f"; + else { + var i = { w: c.width(), h: c.height() }, + s = T.getContentSize(), + l = s.h - i.h, + a = s.w - i.w; + T.rail.scrollable && !T.railh.scrollable + ? (T.rail.drag.ck = l > 0 && "v") + : !T.rail.scrollable && T.railh.scrollable + ? (T.rail.drag.ck = a > 0 && "h") + : (T.rail.drag.ck = !1); + } + if (M.emulatetouch && T.isiframe && P.isie) { + var d = T.win.position(); + (T.rail.drag.x += d.left), (T.rail.drag.y += d.top); + } + if ( + ((T.hasmoving = !1), + (T.lastmouseup = !1), + T.scrollmom.reset(e.clientX, e.clientY), + o && t) + ) { + if (!/INPUT|SELECT|BUTTON|TEXTAREA/i.test(o.nodeName)) + return ( + P.hasmousecapture && o.setCapture(), + M.emulatetouch + ? (o.onclick && + !o._onclick && + ((o._onclick = o.onclick), + (o.onclick = function (e) { + if (T.hasmoving) return !1; + o._onclick.call(this, e); + })), + T.cancelEvent(e)) + : T.stopPropagation(e) + ); + /SUBMIT|CANCEL|BUTTON/i.test(n(o).attr("type")) && + (T.preventclick = { tg: o, click: !1 }); + } + } + }), + (T.ontouchend = function (e) { + if (!T.rail.drag) return !0; + if (2 == T.rail.drag.pt) { + if ( + e.pointerType && + ("mouse" === e.pointerType || + e.pointerType === e.MSPOINTER_TYPE_MOUSE) + ) + return !1; + T.rail.drag = !1; + var o = "mouseup" === e.type; + if ( + T.hasmoving && + (T.scrollmom.doMomentum(), + (T.lastmouseup = !0), + T.hideCursor(), + P.hasmousecapture && l.releaseCapture(), + o) + ) + return T.cancelEvent(e); + } else if (1 == T.rail.drag.pt) return T.onmouseup(e); + }); + var z = M.emulatetouch && T.isiframe && !P.hasmousecapture, + k = (0.3 * M.directionlockdeadzone) | 0; + (T.ontouchmove = function (e, o) { + if (!T.rail.drag) return !0; + if ( + e.targetTouches && + M.preventmultitouchscrolling && + e.targetTouches.length > 1 + ) + return !0; + if ( + e.pointerType && + ("mouse" === e.pointerType || + e.pointerType === e.MSPOINTER_TYPE_MOUSE) + ) + return !0; + if (2 == T.rail.drag.pt) { + "changedTouches" in e && + ((e.clientX = e.changedTouches[0].clientX), + (e.clientY = e.changedTouches[0].clientY)); + var t, r; + if (((r = t = 0), z && !o)) { + var i = T.win.position(); + (r = -i.left), (t = -i.top); + } + var s = e.clientY + t, + n = s - T.rail.drag.y, + a = e.clientX + r, + c = a - T.rail.drag.x, + d = T.rail.drag.st - n; + if (T.ishwscroll && M.bouncescroll) + d < 0 + ? (d = Math.round(d / 2)) + : d > T.page.maxh && + (d = T.page.maxh + Math.round((d - T.page.maxh) / 2)); + else if ( + (d < 0 + ? ((d = 0), (s = 0)) + : d > T.page.maxh && ((d = T.page.maxh), (s = 0)), + 0 === s && !T.hasmoving) + ) + return T.ispage || (T.rail.drag = !1), !0; + var u = T.getScrollLeft(); + if ( + (T.railh && + T.railh.scrollable && + ((u = T.isrtlmode + ? c - T.rail.drag.sl + : T.rail.drag.sl - c), + T.ishwscroll && M.bouncescroll + ? u < 0 + ? (u = Math.round(u / 2)) + : u > T.page.maxw && + (u = + T.page.maxw + Math.round((u - T.page.maxw) / 2)) + : (u < 0 && ((u = 0), (a = 0)), + u > T.page.maxw && ((u = T.page.maxw), (a = 0)))), + !T.hasmoving) + ) { + if ( + T.rail.drag.y === e.clientY && + T.rail.drag.x === e.clientX + ) + return T.cancelEvent(e); + var h = Math.abs(n), + p = Math.abs(c), + m = M.directionlockdeadzone; + if ( + (T.rail.drag.ck + ? "v" == T.rail.drag.ck + ? p > m && h <= k + ? (T.rail.drag = !1) + : h > m && (T.rail.drag.dl = "v") + : "h" == T.rail.drag.ck && + (h > m && p <= k + ? (T.rail.drag = !1) + : p > m && (T.rail.drag.dl = "h")) + : h > m && p > m + ? (T.rail.drag.dl = "f") + : h > m + ? (T.rail.drag.dl = p > k ? "f" : "v") + : p > m && (T.rail.drag.dl = h > k ? "f" : "h"), + !T.rail.drag.dl) + ) + return T.cancelEvent(e); + T.triggerScrollStart(e.clientX, e.clientY, 0, 0, 0), + (T.hasmoving = !0); + } + return ( + T.preventclick && + !T.preventclick.click && + ((T.preventclick.click = T.preventclick.tg.onclick || !1), + (T.preventclick.tg.onclick = T.onpreventclick)), + T.rail.drag.dl && + ("v" == T.rail.drag.dl + ? (u = T.rail.drag.sl) + : "h" == T.rail.drag.dl && (d = T.rail.drag.st)), + T.synched("touchmove", function () { + T.rail.drag && + 2 == T.rail.drag.pt && + (T.prepareTransition && T.resetTransition(), + T.rail.scrollable && T.setScrollTop(d), + T.scrollmom.update(a, s), + T.railh && T.railh.scrollable + ? (T.setScrollLeft(u), T.showCursor(d, u)) + : T.showCursor(d), + P.isie10 && l.selection.clear()); + }), + T.cancelEvent(e) + ); + } + return 1 == T.rail.drag.pt ? T.onmousemove(e) : void 0; + }), + (T.ontouchstartCursor = function (e, o) { + if (!T.rail.drag || 3 == T.rail.drag.pt) { + if (T.locked) return T.cancelEvent(e); + T.cancelScroll(), + (T.rail.drag = { + x: e.touches[0].clientX, + y: e.touches[0].clientY, + sx: T.scroll.x, + sy: T.scroll.y, + pt: 3, + hr: !!o, + }); + var t = T.getTarget(e); + return ( + !T.ispage && P.hasmousecapture && t.setCapture(), + T.isiframe && + !P.hasmousecapture && + ((T.saved.csspointerevents = + T.doc.css("pointer-events")), + T.css(T.doc, { "pointer-events": "none" })), + T.cancelEvent(e) + ); + } + }), + (T.ontouchendCursor = function (e) { + if (T.rail.drag) { + if ( + (P.hasmousecapture && l.releaseCapture(), + T.isiframe && + !P.hasmousecapture && + T.doc.css("pointer-events", T.saved.csspointerevents), + 3 != T.rail.drag.pt) + ) + return; + return (T.rail.drag = !1), T.cancelEvent(e); + } + }), + (T.ontouchmoveCursor = function (e) { + if (T.rail.drag) { + if (3 != T.rail.drag.pt) return; + if (((T.cursorfreezed = !0), T.rail.drag.hr)) { + (T.scroll.x = + T.rail.drag.sx + + (e.touches[0].clientX - T.rail.drag.x)), + T.scroll.x < 0 && (T.scroll.x = 0); + var o = T.scrollvaluemaxw; + T.scroll.x > o && (T.scroll.x = o); + } else { + (T.scroll.y = + T.rail.drag.sy + + (e.touches[0].clientY - T.rail.drag.y)), + T.scroll.y < 0 && (T.scroll.y = 0); + var t = T.scrollvaluemax; + T.scroll.y > t && (T.scroll.y = t); + } + return ( + T.synched("touchmove", function () { + T.rail.drag && + 3 == T.rail.drag.pt && + (T.showCursor(), + T.rail.drag.hr + ? T.doScrollLeft( + Math.round(T.scroll.x * T.scrollratio.x), + M.cursordragspeed + ) + : T.doScrollTop( + Math.round(T.scroll.y * T.scrollratio.y), + M.cursordragspeed + )); + }), + T.cancelEvent(e) + ); + } + }); + } + if ( + ((T.onmousedown = function (e, o) { + if (!T.rail.drag || 1 == T.rail.drag.pt) { + if (T.railslocked) return T.cancelEvent(e); + T.cancelScroll(), + (T.rail.drag = { + x: e.clientX, + y: e.clientY, + sx: T.scroll.x, + sy: T.scroll.y, + pt: 1, + hr: o || !1, + }); + var t = T.getTarget(e); + return ( + P.hasmousecapture && t.setCapture(), + T.isiframe && + !P.hasmousecapture && + ((T.saved.csspointerevents = T.doc.css("pointer-events")), + T.css(T.doc, { "pointer-events": "none" })), + (T.hasmoving = !1), + T.cancelEvent(e) + ); + } + }), + (T.onmouseup = function (e) { + if (T.rail.drag) + return ( + 1 != T.rail.drag.pt || + (P.hasmousecapture && l.releaseCapture(), + T.isiframe && + !P.hasmousecapture && + T.doc.css("pointer-events", T.saved.csspointerevents), + (T.rail.drag = !1), + (T.cursorfreezed = !1), + T.hasmoving && T.triggerScrollEnd(), + T.cancelEvent(e)) + ); + }), + (T.onmousemove = function (e) { + if (T.rail.drag) { + if (1 !== T.rail.drag.pt) return; + if (P.ischrome && 0 === e.which) return T.onmouseup(e); + if ( + ((T.cursorfreezed = !0), + T.hasmoving || + T.triggerScrollStart(e.clientX, e.clientY, 0, 0, 0), + (T.hasmoving = !0), + T.rail.drag.hr) + ) { + (T.scroll.x = T.rail.drag.sx + (e.clientX - T.rail.drag.x)), + T.scroll.x < 0 && (T.scroll.x = 0); + var o = T.scrollvaluemaxw; + T.scroll.x > o && (T.scroll.x = o); + } else { + (T.scroll.y = T.rail.drag.sy + (e.clientY - T.rail.drag.y)), + T.scroll.y < 0 && (T.scroll.y = 0); + var t = T.scrollvaluemax; + T.scroll.y > t && (T.scroll.y = t); + } + return ( + T.synched("mousemove", function () { + T.cursorfreezed && + (T.showCursor(), + T.rail.drag.hr + ? T.scrollLeft( + Math.round(T.scroll.x * T.scrollratio.x) + ) + : T.scrollTop( + Math.round(T.scroll.y * T.scrollratio.y) + )); + }), + T.cancelEvent(e) + ); + } + T.checkarea = 0; + }), + P.cantouch || M.emulatetouch) + ) + (T.onpreventclick = function (e) { + if (T.preventclick) + return ( + (T.preventclick.tg.onclick = T.preventclick.click), + (T.preventclick = !1), + T.cancelEvent(e) + ); + }), + (T.onclick = + !P.isios && + function (e) { + return ( + !T.lastmouseup || ((T.lastmouseup = !1), T.cancelEvent(e)) + ); + }), + M.grabcursorenabled && + P.cursorgrabvalue && + (T.css(T.ispage ? T.doc : T.win, { + cursor: P.cursorgrabvalue, + }), + T.css(T.rail, { cursor: P.cursorgrabvalue })); + else { + var L = function (e) { + if (T.selectiondrag) { + if (e) { + var o = T.win.outerHeight(), + t = e.pageY - T.selectiondrag.top; + t > 0 && t < o && (t = 0), + t >= o && (t -= o), + (T.selectiondrag.df = t); + } + if (0 !== T.selectiondrag.df) { + var r = ((-2 * T.selectiondrag.df) / 6) | 0; + T.doScrollBy(r), + T.debounced( + "doselectionscroll", + function () { + L(); + }, + 50 + ); + } + } + }; + (T.hasTextSelected = + "getSelection" in l + ? function () { + return l.getSelection().rangeCount > 0; + } + : "selection" in l + ? function () { + return "None" != l.selection.type; + } + : function () { + return !1; + }), + (T.onselectionstart = function (e) { + T.ispage || (T.selectiondrag = T.win.offset()); + }), + (T.onselectionend = function (e) { + T.selectiondrag = !1; + }), + (T.onselectiondrag = function (e) { + T.selectiondrag && + T.hasTextSelected() && + T.debounced( + "selectionscroll", + function () { + L(e); + }, + 250 + ); + }); + } + if ( + (P.hasw3ctouch + ? (T.css(T.ispage ? n("html") : T.win, { + "touch-action": "none", + }), + T.css(T.rail, { "touch-action": "none" }), + T.css(T.cursor, { "touch-action": "none" }), + T.bind(T.win, "pointerdown", T.ontouchstart), + T.bind(l, "pointerup", T.ontouchend), + T.delegate(l, "pointermove", T.ontouchmove)) + : P.hasmstouch + ? (T.css(T.ispage ? n("html") : T.win, { + "-ms-touch-action": "none", + }), + T.css(T.rail, { "-ms-touch-action": "none" }), + T.css(T.cursor, { "-ms-touch-action": "none" }), + T.bind(T.win, "MSPointerDown", T.ontouchstart), + T.bind(l, "MSPointerUp", T.ontouchend), + T.delegate(l, "MSPointerMove", T.ontouchmove), + T.bind(T.cursor, "MSGestureHold", function (e) { + e.preventDefault(); + }), + T.bind(T.cursor, "contextmenu", function (e) { + e.preventDefault(); + })) + : P.cantouch && + (T.bind(T.win, "touchstart", T.ontouchstart, !1, !0), + T.bind(l, "touchend", T.ontouchend, !1, !0), + T.bind(l, "touchcancel", T.ontouchend, !1, !0), + T.delegate(l, "touchmove", T.ontouchmove, !1, !0)), + M.emulatetouch && + (T.bind(T.win, "mousedown", T.ontouchstart, !1, !0), + T.bind(l, "mouseup", T.ontouchend, !1, !0), + T.bind(l, "mousemove", T.ontouchmove, !1, !0)), + (M.cursordragontouch || (!P.cantouch && !M.emulatetouch)) && + (T.rail.css({ cursor: "default" }), + T.railh && T.railh.css({ cursor: "default" }), + T.jqbind(T.rail, "mouseenter", function () { + if (!T.ispage && !T.win.is(":visible")) return !1; + T.canshowonmouseevent && T.showCursor(), (T.rail.active = !0); + }), + T.jqbind(T.rail, "mouseleave", function () { + (T.rail.active = !1), T.rail.drag || T.hideCursor(); + }), + M.sensitiverail && + (T.bind(T.rail, "click", function (e) { + T.doRailClick(e, !1, !1); + }), + T.bind(T.rail, "dblclick", function (e) { + T.doRailClick(e, !0, !1); + }), + T.bind(T.cursor, "click", function (e) { + T.cancelEvent(e); + }), + T.bind(T.cursor, "dblclick", function (e) { + T.cancelEvent(e); + })), + T.railh && + (T.jqbind(T.railh, "mouseenter", function () { + if (!T.ispage && !T.win.is(":visible")) return !1; + T.canshowonmouseevent && T.showCursor(), + (T.rail.active = !0); + }), + T.jqbind(T.railh, "mouseleave", function () { + (T.rail.active = !1), T.rail.drag || T.hideCursor(); + }), + M.sensitiverail && + (T.bind(T.railh, "click", function (e) { + T.doRailClick(e, !1, !0); + }), + T.bind(T.railh, "dblclick", function (e) { + T.doRailClick(e, !0, !0); + }), + T.bind(T.cursorh, "click", function (e) { + T.cancelEvent(e); + }), + T.bind(T.cursorh, "dblclick", function (e) { + T.cancelEvent(e); + })))), + M.cursordragontouch && + (this.istouchcapable || P.cantouch) && + (T.bind(T.cursor, "touchstart", T.ontouchstartCursor), + T.bind(T.cursor, "touchmove", T.ontouchmoveCursor), + T.bind(T.cursor, "touchend", T.ontouchendCursor), + T.cursorh && + T.bind(T.cursorh, "touchstart", function (e) { + T.ontouchstartCursor(e, !0); + }), + T.cursorh && + T.bind(T.cursorh, "touchmove", T.ontouchmoveCursor), + T.cursorh && T.bind(T.cursorh, "touchend", T.ontouchendCursor)), + M.emulatetouch || P.isandroid || P.isios + ? (T.bind( + P.hasmousecapture ? T.win : l, + "mouseup", + T.ontouchend + ), + T.onclick && T.bind(l, "click", T.onclick), + M.cursordragontouch + ? (T.bind(T.cursor, "mousedown", T.onmousedown), + T.bind(T.cursor, "mouseup", T.onmouseup), + T.cursorh && + T.bind(T.cursorh, "mousedown", function (e) { + T.onmousedown(e, !0); + }), + T.cursorh && T.bind(T.cursorh, "mouseup", T.onmouseup)) + : (T.bind(T.rail, "mousedown", function (e) { + e.preventDefault(); + }), + T.railh && + T.bind(T.railh, "mousedown", function (e) { + e.preventDefault(); + }))) + : (T.bind( + P.hasmousecapture ? T.win : l, + "mouseup", + T.onmouseup + ), + T.bind(l, "mousemove", T.onmousemove), + T.onclick && T.bind(l, "click", T.onclick), + T.bind(T.cursor, "mousedown", T.onmousedown), + T.bind(T.cursor, "mouseup", T.onmouseup), + T.railh && + (T.bind(T.cursorh, "mousedown", function (e) { + T.onmousedown(e, !0); + }), + T.bind(T.cursorh, "mouseup", T.onmouseup)), + !T.ispage && + M.enablescrollonselection && + (T.bind(T.win[0], "mousedown", T.onselectionstart), + T.bind(l, "mouseup", T.onselectionend), + T.bind(T.cursor, "mouseup", T.onselectionend), + T.cursorh && T.bind(T.cursorh, "mouseup", T.onselectionend), + T.bind(l, "mousemove", T.onselectiondrag)), + T.zoom && + (T.jqbind(T.zoom, "mouseenter", function () { + T.canshowonmouseevent && T.showCursor(), + (T.rail.active = !0); + }), + T.jqbind(T.zoom, "mouseleave", function () { + (T.rail.active = !1), T.rail.drag || T.hideCursor(); + }))), + M.enablemousewheel && + (T.isiframe || + T.mousewheel(P.isie && T.ispage ? l : T.win, T.onmousewheel), + T.mousewheel(T.rail, T.onmousewheel), + T.railh && T.mousewheel(T.railh, T.onmousewheelhr)), + T.ispage || + P.cantouch || + /HTML|^BODY/.test(T.win[0].nodeName) || + (T.win.attr("tabindex") || T.win.attr({ tabindex: ++r }), + T.bind(T.win, "focus", function (e) { + (o = T.getTarget(e).id || T.getTarget(e) || !1), + (T.hasfocus = !0), + T.canshowonmouseevent && T.noticeCursor(); + }), + T.bind(T.win, "blur", function (e) { + (o = !1), (T.hasfocus = !1); + }), + T.bind(T.win, "mouseenter", function (e) { + (t = T.getTarget(e).id || T.getTarget(e) || !1), + (T.hasmousefocus = !0), + T.canshowonmouseevent && T.noticeCursor(); + }), + T.bind(T.win, "mouseleave", function (e) { + (t = !1), + (T.hasmousefocus = !1), + T.rail.drag || T.hideCursor(); + })), + (T.onkeypress = function (e) { + if (T.railslocked && 0 === T.page.maxh) return !0; + e = e || a.event; + var r = T.getTarget(e); + if ( + r && + /INPUT|TEXTAREA|SELECT|OPTION/.test(r.nodeName) && + (!(r.getAttribute("type") || r.type || !1) || + !/submit|button|cancel/i.tp) + ) + return !0; + if (n(r).attr("contenteditable")) return !0; + if ( + T.hasfocus || + (T.hasmousefocus && !o) || + (T.ispage && !o && !t) + ) { + var i = e.keyCode; + if (T.railslocked && 27 != i) return T.cancelEvent(e); + var s = e.ctrlKey || !1, + l = e.shiftKey || !1, + c = !1; + switch (i) { + case 38: + case 63233: + T.doScrollBy(72), (c = !0); + break; + case 40: + case 63235: + T.doScrollBy(-72), (c = !0); + break; + case 37: + case 63232: + T.railh && + (s ? T.doScrollLeft(0) : T.doScrollLeftBy(72), + (c = !0)); + break; + case 39: + case 63234: + T.railh && + (s + ? T.doScrollLeft(T.page.maxw) + : T.doScrollLeftBy(-72), + (c = !0)); + break; + case 33: + case 63276: + T.doScrollBy(T.view.h), (c = !0); + break; + case 34: + case 63277: + T.doScrollBy(-T.view.h), (c = !0); + break; + case 36: + case 63273: + T.railh && s ? T.doScrollPos(0, 0) : T.doScrollTo(0), + (c = !0); + break; + case 35: + case 63275: + T.railh && s + ? T.doScrollPos(T.page.maxw, T.page.maxh) + : T.doScrollTo(T.page.maxh), + (c = !0); + break; + case 32: + M.spacebarenabled && + (l ? T.doScrollBy(T.view.h) : T.doScrollBy(-T.view.h), + (c = !0)); + break; + case 27: + T.zoomactive && (T.doZoom(), (c = !0)); + } + if (c) return T.cancelEvent(e); + } + }), + M.enablekeyboard && + T.bind( + l, + P.isopera && !P.isopera12 ? "keypress" : "keydown", + T.onkeypress + ), + T.bind(l, "keydown", function (e) { + (e.ctrlKey || !1) && (T.wheelprevented = !0); + }), + T.bind(l, "keyup", function (e) { + e.ctrlKey || !1 || (T.wheelprevented = !1); + }), + T.bind(a, "blur", function (e) { + T.wheelprevented = !1; + }), + T.bind(a, "resize", T.onscreenresize), + T.bind(a, "orientationchange", T.onscreenresize), + T.bind(a, "load", T.lazyResize), + P.ischrome && !T.ispage && !T.haswrapper) + ) { + var C = T.win.attr("style"), + N = parseFloat(T.win.css("width")) + 1; + T.win.css("width", N), + T.synched("chromefix", function () { + T.win.attr("style", C); + }); + } + if ( + ((T.onAttributeChange = function (e) { + T.lazyResize(T.isieold ? 250 : 30); + }), + M.enableobserver && + (T.isie11 || + !1 === m || + ((T.observerbody = new m(function (e) { + if ( + (e.forEach(function (e) { + if ("attributes" == e.type) + return E.hasClass("modal-open") && + E.hasClass("modal-dialog") && + !n.contains(n(".modal-dialog")[0], T.doc[0]) + ? T.hide() + : T.show(); + }), + T.me.clientWidth != T.page.width || + T.me.clientHeight != T.page.height) + ) + return T.lazyResize(30); + })), + T.observerbody.observe(l.body, { + childList: !0, + subtree: !0, + characterData: !1, + attributes: !0, + attributeFilter: ["class"], + })), + !T.ispage && !T.haswrapper)) + ) { + var R = T.win[0]; + !1 !== m + ? ((T.observer = new m(function (e) { + e.forEach(T.onAttributeChange); + })), + T.observer.observe(R, { + childList: !0, + characterData: !1, + attributes: !0, + subtree: !1, + }), + (T.observerremover = new m(function (e) { + e.forEach(function (e) { + if (e.removedNodes.length > 0) + for (var o in e.removedNodes) + if (T && e.removedNodes[o] === R) return T.remove(); + }); + })), + T.observerremover.observe(R.parentNode, { + childList: !0, + characterData: !1, + attributes: !1, + subtree: !1, + })) + : (T.bind( + R, + P.isie && !P.isie9 ? "propertychange" : "DOMAttrModified", + T.onAttributeChange + ), + P.isie9 && + R.attachEvent("onpropertychange", T.onAttributeChange), + T.bind(R, "DOMNodeRemoved", function (e) { + e.target === R && T.remove(); + })); + } + !T.ispage && M.boxzoom && T.bind(a, "resize", T.resizeZoom), + T.istextarea && + (T.bind(T.win, "keydown", T.lazyResize), + T.bind(T.win, "mouseup", T.lazyResize)), + T.lazyResize(30); + } + if ("IFRAME" == this.doc[0].nodeName) { + var _ = function () { + T.iframexd = !1; + var o; + try { + (o = + "contentDocument" in this + ? this.contentDocument + : this.contentWindow._doc).domain; + } catch (e) { + (T.iframexd = !0), (o = !1); + } + if (T.iframexd) + return ( + "console" in a && + console.log("NiceScroll error: policy restriced iframe"), + !0 + ); + if ( + ((T.forcescreen = !0), + T.isiframe && + ((T.iframe = { + doc: n(o), + html: T.doc.contents().find("html")[0], + body: T.doc.contents().find("body")[0], + }), + (T.getContentSize = function () { + return { + w: Math.max( + T.iframe.html.scrollWidth, + T.iframe.body.scrollWidth + ), + h: Math.max( + T.iframe.html.scrollHeight, + T.iframe.body.scrollHeight + ), + }; + }), + (T.docscroll = n(T.iframe.body))), + !P.isios && M.iframeautoresize && !T.isiframe) + ) { + T.win.scrollTop(0), T.doc.height(""); + var t = Math.max( + o.getElementsByTagName("html")[0].scrollHeight, + o.body.scrollHeight + ); + T.doc.height(t); + } + T.lazyResize(30), + T.css(n(T.iframe.body), e), + P.isios && + T.haswrapper && + T.css(n(o.body), { + "-webkit-transform": "translate3d(0,0,0)", + }), + "contentWindow" in this + ? T.bind(this.contentWindow, "scroll", T.onscroll) + : T.bind(o, "scroll", T.onscroll), + M.enablemousewheel && T.mousewheel(o, T.onmousewheel), + M.enablekeyboard && + T.bind(o, P.isopera ? "keypress" : "keydown", T.onkeypress), + P.cantouch + ? (T.bind(o, "touchstart", T.ontouchstart), + T.bind(o, "touchmove", T.ontouchmove)) + : M.emulatetouch && + (T.bind(o, "mousedown", T.ontouchstart), + T.bind(o, "mousemove", function (e) { + return T.ontouchmove(e, !0); + }), + M.grabcursorenabled && + P.cursorgrabvalue && + T.css(n(o.body), { cursor: P.cursorgrabvalue })), + T.bind(o, "mouseup", T.ontouchend), + T.zoom && + (M.dblclickzoom && T.bind(o, "dblclick", T.doZoom), + T.ongesturezoom && T.bind(o, "gestureend", T.ongesturezoom)); + }; + this.doc[0].readyState && + "complete" === this.doc[0].readyState && + setTimeout(function () { + _.call(T.doc[0], !1); + }, 500), + T.bind(this.doc, "load", _); + } + }), + (this.showCursor = function (e, o) { + if ( + (T.cursortimeout && + (clearTimeout(T.cursortimeout), (T.cursortimeout = 0)), + T.rail) + ) { + if ( + (T.autohidedom && + (T.autohidedom.stop().css({ opacity: M.cursoropacitymax }), + (T.cursoractive = !0)), + (T.rail.drag && 1 == T.rail.drag.pt) || + (void 0 !== e && + !1 !== e && + (T.scroll.y = (e / T.scrollratio.y) | 0), + void 0 !== o && (T.scroll.x = (o / T.scrollratio.x) | 0)), + T.cursor.css({ height: T.cursorheight, top: T.scroll.y }), + T.cursorh) + ) { + var t = T.hasreversehr + ? T.scrollvaluemaxw - T.scroll.x + : T.scroll.x; + T.cursorh.css({ + width: T.cursorwidth, + left: !T.rail.align && T.rail.visibility ? t + T.rail.width : t, + }), + (T.cursoractive = !0); + } + T.zoom && T.zoom.stop().css({ opacity: M.cursoropacitymax }); + } + }), + (this.hideCursor = function (e) { + T.cursortimeout || + (T.rail && + T.autohidedom && + ((T.hasmousefocus && "leave" === M.autohidemode) || + (T.cursortimeout = setTimeout(function () { + (T.rail.active && T.showonmouseevent) || + (T.autohidedom + .stop() + .animate({ opacity: M.cursoropacitymin }), + T.zoom && + T.zoom.stop().animate({ opacity: M.cursoropacitymin }), + (T.cursoractive = !1)), + (T.cursortimeout = 0); + }, e || M.hidecursordelay)))); + }), + (this.noticeCursor = function (e, o, t) { + T.showCursor(o, t), T.rail.active || T.hideCursor(e); + }), + (this.getContentSize = T.ispage + ? function () { + return { + w: Math.max(l.body.scrollWidth, l.documentElement.scrollWidth), + h: Math.max( + l.body.scrollHeight, + l.documentElement.scrollHeight + ), + }; + } + : T.haswrapper + ? function () { + return { w: T.doc[0].offsetWidth, h: T.doc[0].offsetHeight }; + } + : function () { + return { + w: T.docscroll[0].scrollWidth, + h: T.docscroll[0].scrollHeight, + }; + }), + (this.onResize = function (e, o) { + if (!T || !T.win) return !1; + var t = T.page.maxh, + r = T.page.maxw, + i = T.view.h, + s = T.view.w; + if ( + ((T.view = { + w: T.ispage ? T.win.width() : T.win[0].clientWidth, + h: T.ispage ? T.win.height() : T.win[0].clientHeight, + }), + (T.page = o || T.getContentSize()), + (T.page.maxh = Math.max(0, T.page.h - T.view.h)), + (T.page.maxw = Math.max(0, T.page.w - T.view.w)), + T.page.maxh == t && + T.page.maxw == r && + T.view.w == s && + T.view.h == i) + ) { + if (T.ispage) return T; + var n = T.win.offset(); + if (T.lastposition) { + var l = T.lastposition; + if (l.top == n.top && l.left == n.left) return T; + } + T.lastposition = n; + } + return ( + 0 === T.page.maxh + ? (T.hideRail(), + (T.scrollvaluemax = 0), + (T.scroll.y = 0), + (T.scrollratio.y = 0), + (T.cursorheight = 0), + T.setScrollTop(0), + T.rail && (T.rail.scrollable = !1)) + : ((T.page.maxh -= M.railpadding.top + M.railpadding.bottom), + (T.rail.scrollable = !0)), + 0 === T.page.maxw + ? (T.hideRailHr(), + (T.scrollvaluemaxw = 0), + (T.scroll.x = 0), + (T.scrollratio.x = 0), + (T.cursorwidth = 0), + T.setScrollLeft(0), + T.railh && (T.railh.scrollable = !1)) + : ((T.page.maxw -= M.railpadding.left + M.railpadding.right), + T.railh && (T.railh.scrollable = M.horizrailenabled)), + (T.railslocked = + T.locked || (0 === T.page.maxh && 0 === T.page.maxw)), + T.railslocked + ? (T.ispage || T.updateScrollBar(T.view), !1) + : (T.hidden || + (T.rail.visibility || T.showRail(), + T.railh && !T.railh.visibility && T.showRailHr()), + T.istextarea && + T.win.css("resize") && + "none" != T.win.css("resize") && + (T.view.h -= 20), + (T.cursorheight = Math.min( + T.view.h, + Math.round(T.view.h * (T.view.h / T.page.h)) + )), + (T.cursorheight = M.cursorfixedheight + ? M.cursorfixedheight + : Math.max(M.cursorminheight, T.cursorheight)), + (T.cursorwidth = Math.min( + T.view.w, + Math.round(T.view.w * (T.view.w / T.page.w)) + )), + (T.cursorwidth = M.cursorfixedheight + ? M.cursorfixedheight + : Math.max(M.cursorminheight, T.cursorwidth)), + (T.scrollvaluemax = + T.view.h - + T.cursorheight - + (M.railpadding.top + M.railpadding.bottom)), + T.hasborderbox || + (T.scrollvaluemax -= + T.cursor[0].offsetHeight - T.cursor[0].clientHeight), + T.railh && + ((T.railh.width = + T.page.maxh > 0 ? T.view.w - T.rail.width : T.view.w), + (T.scrollvaluemaxw = + T.railh.width - + T.cursorwidth - + (M.railpadding.left + M.railpadding.right))), + T.ispage || T.updateScrollBar(T.view), + (T.scrollratio = { + x: T.page.maxw / T.scrollvaluemaxw, + y: T.page.maxh / T.scrollvaluemax, + }), + T.getScrollTop() > T.page.maxh + ? T.doScrollTop(T.page.maxh) + : ((T.scroll.y = (T.getScrollTop() / T.scrollratio.y) | 0), + (T.scroll.x = (T.getScrollLeft() / T.scrollratio.x) | 0), + T.cursoractive && T.noticeCursor()), + T.scroll.y && + 0 === T.getScrollTop() && + T.doScrollTo((T.scroll.y * T.scrollratio.y) | 0), + T) + ); + }), + (this.resize = T.onResize); + var O = 0; + (this.onscreenresize = function (e) { + clearTimeout(O); + var o = !T.ispage && !T.haswrapper; + o && T.hideRails(), + (O = setTimeout(function () { + T && (o && T.showRails(), T.resize()), (O = 0); + }, 120)); + }), + (this.lazyResize = function (e) { + return ( + clearTimeout(O), + (e = isNaN(e) ? 240 : e), + (O = setTimeout(function () { + T && T.resize(), (O = 0); + }, e)), + T + ); + }), + (this.jqbind = function (e, o, t) { + T.events.push({ e: e, n: o, f: t, q: !0 }), n(e).on(o, t); + }), + (this.mousewheel = function (e, o, t) { + var r = "jquery" in e ? e[0] : e; + if ("onwheel" in l.createElement("div")) + T._bind(r, "wheel", o, t || !1); + else { + var i = void 0 !== l.onmousewheel ? "mousewheel" : "DOMMouseScroll"; + S(r, i, o, t || !1), + "DOMMouseScroll" == i && S(r, "MozMousePixelScroll", o, t || !1); + } + }); + var Y = !1; + if (P.haseventlistener) { + try { + var H = Object.defineProperty({}, "passive", { + get: function () { + Y = !0; + }, + }); + a.addEventListener("test", null, H); + } catch (e) {} + (this.stopPropagation = function (e) { + return ( + !!e && ((e = e.original ? e.original : e).stopPropagation(), !1) + ); + }), + (this.cancelEvent = function (e) { + return ( + e.cancelable && e.preventDefault(), + e.stopImmediatePropagation(), + e.preventManipulation && e.preventManipulation(), + !1 + ); + }); + } else + (Event.prototype.preventDefault = function () { + this.returnValue = !1; + }), + (Event.prototype.stopPropagation = function () { + this.cancelBubble = !0; + }), + (a.constructor.prototype.addEventListener = + l.constructor.prototype.addEventListener = + Element.prototype.addEventListener = + function (e, o, t) { + this.attachEvent("on" + e, o); + }), + (a.constructor.prototype.removeEventListener = + l.constructor.prototype.removeEventListener = + Element.prototype.removeEventListener = + function (e, o, t) { + this.detachEvent("on" + e, o); + }), + (this.cancelEvent = function (e) { + return ( + (e = e || a.event) && + ((e.cancelBubble = !0), (e.cancel = !0), (e.returnValue = !1)), + !1 + ); + }), + (this.stopPropagation = function (e) { + return (e = e || a.event) && (e.cancelBubble = !0), !1; + }); + (this.delegate = function (e, o, t, r, i) { + var s = d[o] || !1; + s || + ((s = { + a: [], + l: [], + f: function (e) { + for (var o = s.l, t = !1, r = o.length - 1; r >= 0; r--) + if (!1 === (t = o[r].call(e.target, e))) return !1; + return t; + }, + }), + T.bind(e, o, s.f, r, i), + (d[o] = s)), + T.ispage + ? ((s.a = [T.id].concat(s.a)), (s.l = [t].concat(s.l))) + : (s.a.push(T.id), s.l.push(t)); + }), + (this.undelegate = function (e, o, t, r, i) { + var s = d[o] || !1; + if (s && s.l) + for (var n = 0, l = s.l.length; n < l; n++) + s.a[n] === T.id && + (s.a.splice(n), + s.l.splice(n), + 0 === s.a.length && (T._unbind(e, o, s.l.f), (d[o] = null))); + }), + (this.bind = function (e, o, t, r, i) { + var s = "jquery" in e ? e[0] : e; + T._bind(s, o, t, r || !1, i || !1); + }), + (this._bind = function (e, o, t, r, i) { + T.events.push({ e: e, n: o, f: t, b: r, q: !1 }), + Y && i + ? e.addEventListener(o, t, { passive: !1, capture: r }) + : e.addEventListener(o, t, r || !1); + }), + (this._unbind = function (e, o, t, r) { + d[o] ? T.undelegate(e, o, t, r) : e.removeEventListener(o, t, r); + }), + (this.unbindAll = function () { + for (var e = 0; e < T.events.length; e++) { + var o = T.events[e]; + o.q ? o.e.unbind(o.n, o.f) : T._unbind(o.e, o.n, o.f, o.b); + } + }), + (this.showRails = function () { + return T.showRail().showRailHr(); + }), + (this.showRail = function () { + return ( + 0 === T.page.maxh || + (!T.ispage && "none" == T.win.css("display")) || + ((T.rail.visibility = !0), T.rail.css("display", "block")), + T + ); + }), + (this.showRailHr = function () { + return ( + T.railh && + (0 === T.page.maxw || + (!T.ispage && "none" == T.win.css("display")) || + ((T.railh.visibility = !0), T.railh.css("display", "block"))), + T + ); + }), + (this.hideRails = function () { + return T.hideRail().hideRailHr(); + }), + (this.hideRail = function () { + return (T.rail.visibility = !1), T.rail.css("display", "none"), T; + }), + (this.hideRailHr = function () { + return ( + T.railh && + ((T.railh.visibility = !1), T.railh.css("display", "none")), + T + ); + }), + (this.show = function () { + return (T.hidden = !1), (T.railslocked = !1), T.showRails(); + }), + (this.hide = function () { + return (T.hidden = !0), (T.railslocked = !0), T.hideRails(); + }), + (this.toggle = function () { + return T.hidden ? T.show() : T.hide(); + }), + (this.remove = function () { + T.stop(), T.cursortimeout && clearTimeout(T.cursortimeout); + for (var e in T.delaylist) T.delaylist[e] && h(T.delaylist[e].h); + T.doZoomOut(), + T.unbindAll(), + P.isie9 && + T.win[0].detachEvent("onpropertychange", T.onAttributeChange), + !1 !== T.observer && T.observer.disconnect(), + !1 !== T.observerremover && T.observerremover.disconnect(), + !1 !== T.observerbody && T.observerbody.disconnect(), + (T.events = null), + T.cursor && T.cursor.remove(), + T.cursorh && T.cursorh.remove(), + T.rail && T.rail.remove(), + T.railh && T.railh.remove(), + T.zoom && T.zoom.remove(); + for (var o = 0; o < T.saved.css.length; o++) { + var t = T.saved.css[o]; + t[0].css(t[1], void 0 === t[2] ? "" : t[2]); + } + (T.saved = !1), T.me.data("__nicescroll", ""); + var r = n.nicescroll; + r.each(function (e) { + if (this && this.id === T.id) { + delete r[e]; + for (var o = ++e; o < r.length; o++, e++) r[e] = r[o]; + --r.length && delete r[r.length]; + } + }); + for (var i in T) (T[i] = null), delete T[i]; + T = null; + }), + (this.scrollstart = function (e) { + return (this.onscrollstart = e), T; + }), + (this.scrollend = function (e) { + return (this.onscrollend = e), T; + }), + (this.scrollcancel = function (e) { + return (this.onscrollcancel = e), T; + }), + (this.zoomin = function (e) { + return (this.onzoomin = e), T; + }), + (this.zoomout = function (e) { + return (this.onzoomout = e), T; + }), + (this.isScrollable = function (e) { + var o = e.target ? e.target : e; + if ("OPTION" == o.nodeName) return !0; + for ( + ; + o && + 1 == o.nodeType && + o !== this.me[0] && + !/^BODY|HTML/.test(o.nodeName); + + ) { + var t = n(o), + r = + t.css("overflowY") || + t.css("overflowX") || + t.css("overflow") || + ""; + if (/scroll|auto/.test(r)) return o.clientHeight != o.scrollHeight; + o = !!o.parentNode && o.parentNode; + } + return !1; + }), + (this.getViewport = function (e) { + for ( + var o = !(!e || !e.parentNode) && e.parentNode; + o && 1 == o.nodeType && !/^BODY|HTML/.test(o.nodeName); + + ) { + var t = n(o); + if (/fixed|absolute/.test(t.css("position"))) return t; + var r = + t.css("overflowY") || + t.css("overflowX") || + t.css("overflow") || + ""; + if (/scroll|auto/.test(r) && o.clientHeight != o.scrollHeight) + return t; + if (t.getNiceScroll().length > 0) return t; + o = !!o.parentNode && o.parentNode; + } + return !1; + }), + (this.triggerScrollStart = function (e, o, t, r, i) { + if (T.onscrollstart) { + var s = { + type: "scrollstart", + current: { x: e, y: o }, + request: { x: t, y: r }, + end: { x: T.newscrollx, y: T.newscrolly }, + speed: i, + }; + T.onscrollstart.call(T, s); + } + }), + (this.triggerScrollEnd = function () { + if (T.onscrollend) { + var e = T.getScrollLeft(), + o = T.getScrollTop(), + t = { + type: "scrollend", + current: { x: e, y: o }, + end: { x: e, y: o }, + }; + T.onscrollend.call(T, t); + } + }); + var B = 0, + X = 0, + D = 0, + A = 1, + q = !1; + if ( + ((this.onmousewheel = function (e) { + if (T.wheelprevented || T.locked) return !1; + if (T.railslocked) + return T.debounced("checkunlock", T.resize, 250), !1; + if (T.rail.drag) return T.cancelEvent(e); + if ( + ("auto" === M.oneaxismousemode && + 0 !== e.deltaX && + (M.oneaxismousemode = !1), + M.oneaxismousemode && 0 === e.deltaX && !T.rail.scrollable) + ) + return !T.railh || !T.railh.scrollable || T.onmousewheelhr(e); + var o = f(), + t = !1; + if ( + (M.preservenativescrolling && + T.checkarea + 600 < o && + ((T.nativescrollingarea = T.isScrollable(e)), (t = !0)), + (T.checkarea = o), + T.nativescrollingarea) + ) + return !0; + var r = k(e, !1, t); + return r && (T.checkarea = 0), r; + }), + (this.onmousewheelhr = function (e) { + if (!T.wheelprevented) { + if (T.railslocked || !T.railh.scrollable) return !0; + if (T.rail.drag) return T.cancelEvent(e); + var o = f(), + t = !1; + return ( + M.preservenativescrolling && + T.checkarea + 600 < o && + ((T.nativescrollingarea = T.isScrollable(e)), (t = !0)), + (T.checkarea = o), + !!T.nativescrollingarea || + (T.railslocked ? T.cancelEvent(e) : k(e, !0, t)) + ); + } + }), + (this.stop = function () { + return ( + T.cancelScroll(), + T.scrollmon && T.scrollmon.stop(), + (T.cursorfreezed = !1), + (T.scroll.y = Math.round(T.getScrollTop() * (1 / T.scrollratio.y))), + T.noticeCursor(), + T + ); + }), + (this.getTransitionSpeed = function (e) { + return (80 + (e / 72) * M.scrollspeed) | 0; + }), + M.smoothscroll) + ) + if ( + T.ishwscroll && + P.hastransition && + M.usetransition && + M.smoothscroll + ) { + var j = ""; + (this.resetTransition = function () { + (j = ""), T.doc.css(P.prefixstyle + "transition-duration", "0ms"); + }), + (this.prepareTransition = function (e, o) { + var t = o ? e : T.getTransitionSpeed(e), + r = t + "ms"; + return ( + j !== r && + ((j = r), + T.doc.css(P.prefixstyle + "transition-duration", r)), + t + ); + }), + (this.doScrollLeft = function (e, o) { + var t = T.scrollrunning ? T.newscrolly : T.getScrollTop(); + T.doScrollPos(e, t, o); + }), + (this.doScrollTop = function (e, o) { + var t = T.scrollrunning ? T.newscrollx : T.getScrollLeft(); + T.doScrollPos(t, e, o); + }), + (this.cursorupdate = { + running: !1, + start: function () { + var e = this; + if (!e.running) { + e.running = !0; + var o = function () { + e.running && u(o), + T.showCursor(T.getScrollTop(), T.getScrollLeft()), + T.notifyScrollEvent(T.win[0]); + }; + u(o); + } + }, + stop: function () { + this.running = !1; + }, + }), + (this.doScrollPos = function (e, o, t) { + var r = T.getScrollTop(), + i = T.getScrollLeft(); + if ( + (((T.newscrolly - r) * (o - r) < 0 || + (T.newscrollx - i) * (e - i) < 0) && + T.cancelScroll(), + M.bouncescroll + ? (o < 0 + ? (o = (o / 2) | 0) + : o > T.page.maxh && + (o = (T.page.maxh + (o - T.page.maxh) / 2) | 0), + e < 0 + ? (e = (e / 2) | 0) + : e > T.page.maxw && + (e = (T.page.maxw + (e - T.page.maxw) / 2) | 0)) + : (o < 0 ? (o = 0) : o > T.page.maxh && (o = T.page.maxh), + e < 0 ? (e = 0) : e > T.page.maxw && (e = T.page.maxw)), + T.scrollrunning && e == T.newscrollx && o == T.newscrolly) + ) + return !1; + (T.newscrolly = o), (T.newscrollx = e); + var s = T.getScrollTop(), + n = T.getScrollLeft(), + l = {}; + (l.x = e - n), (l.y = o - s); + var a = 0 | Math.sqrt(l.x * l.x + l.y * l.y), + c = T.prepareTransition(a); + T.scrollrunning || + ((T.scrollrunning = !0), + T.triggerScrollStart(n, s, e, o, c), + T.cursorupdate.start()), + (T.scrollendtrapped = !0), + P.transitionend || + (T.scrollendtrapped && clearTimeout(T.scrollendtrapped), + (T.scrollendtrapped = setTimeout( + T.onScrollTransitionEnd, + c + ))), + T.setScrollTop(T.newscrolly), + T.setScrollLeft(T.newscrollx); + }), + (this.cancelScroll = function () { + if (!T.scrollendtrapped) return !0; + var e = T.getScrollTop(), + o = T.getScrollLeft(); + return ( + (T.scrollrunning = !1), + P.transitionend || clearTimeout(P.transitionend), + (T.scrollendtrapped = !1), + T.resetTransition(), + T.setScrollTop(e), + T.railh && T.setScrollLeft(o), + T.timerscroll && + T.timerscroll.tm && + clearInterval(T.timerscroll.tm), + (T.timerscroll = !1), + (T.cursorfreezed = !1), + T.cursorupdate.stop(), + T.showCursor(e, o), + T + ); + }), + (this.onScrollTransitionEnd = function () { + if (T.scrollendtrapped) { + var e = T.getScrollTop(), + o = T.getScrollLeft(); + if ( + (e < 0 ? (e = 0) : e > T.page.maxh && (e = T.page.maxh), + o < 0 ? (o = 0) : o > T.page.maxw && (o = T.page.maxw), + e != T.newscrolly || o != T.newscrollx) + ) + return T.doScrollPos(o, e, M.snapbackspeed); + T.scrollrunning && T.triggerScrollEnd(), + (T.scrollrunning = !1), + (T.scrollendtrapped = !1), + T.resetTransition(), + (T.timerscroll = !1), + T.setScrollTop(e), + T.railh && T.setScrollLeft(o), + T.cursorupdate.stop(), + T.noticeCursor(!1, e, o), + (T.cursorfreezed = !1); + } + }); + } else + (this.doScrollLeft = function (e, o) { + var t = T.scrollrunning ? T.newscrolly : T.getScrollTop(); + T.doScrollPos(e, t, o); + }), + (this.doScrollTop = function (e, o) { + var t = T.scrollrunning ? T.newscrollx : T.getScrollLeft(); + T.doScrollPos(t, e, o); + }), + (this.doScrollPos = function (e, o, t) { + var r = T.getScrollTop(), + i = T.getScrollLeft(); + ((T.newscrolly - r) * (o - r) < 0 || + (T.newscrollx - i) * (e - i) < 0) && + T.cancelScroll(); + var s = !1; + if ( + ((T.bouncescroll && T.rail.visibility) || + (o < 0 + ? ((o = 0), (s = !0)) + : o > T.page.maxh && ((o = T.page.maxh), (s = !0))), + (T.bouncescroll && T.railh.visibility) || + (e < 0 + ? ((e = 0), (s = !0)) + : e > T.page.maxw && ((e = T.page.maxw), (s = !0))), + T.scrollrunning && T.newscrolly === o && T.newscrollx === e) + ) + return !0; + (T.newscrolly = o), + (T.newscrollx = e), + (T.dst = {}), + (T.dst.x = e - i), + (T.dst.y = o - r), + (T.dst.px = i), + (T.dst.py = r); + var n = 0 | Math.sqrt(T.dst.x * T.dst.x + T.dst.y * T.dst.y), + l = T.getTransitionSpeed(n); + T.bzscroll = {}; + var a = s ? 1 : 0.58; + (T.bzscroll.x = new R(i, T.newscrollx, l, 0, 0, a, 1)), + (T.bzscroll.y = new R(r, T.newscrolly, l, 0, 0, a, 1)); + f(); + var c = function () { + if (T.scrollrunning) { + var e = T.bzscroll.y.getPos(); + T.setScrollLeft(T.bzscroll.x.getNow()), + T.setScrollTop(T.bzscroll.y.getNow()), + e <= 1 + ? (T.timer = u(c)) + : ((T.scrollrunning = !1), + (T.timer = 0), + T.triggerScrollEnd()); + } + }; + T.scrollrunning || + (T.triggerScrollStart(i, r, e, o, l), + (T.scrollrunning = !0), + (T.timer = u(c))); + }), + (this.cancelScroll = function () { + return ( + T.timer && h(T.timer), + (T.timer = 0), + (T.bzscroll = !1), + (T.scrollrunning = !1), + T + ); + }); + else + (this.doScrollLeft = function (e, o) { + var t = T.getScrollTop(); + T.doScrollPos(e, t, o); + }), + (this.doScrollTop = function (e, o) { + var t = T.getScrollLeft(); + T.doScrollPos(t, e, o); + }), + (this.doScrollPos = function (e, o, t) { + var r = e > T.page.maxw ? T.page.maxw : e; + r < 0 && (r = 0); + var i = o > T.page.maxh ? T.page.maxh : o; + i < 0 && (i = 0), + T.synched("scroll", function () { + T.setScrollTop(i), T.setScrollLeft(r); + }); + }), + (this.cancelScroll = function () {}); + (this.doScrollBy = function (e, o) { + z(0, e); + }), + (this.doScrollLeftBy = function (e, o) { + z(e, 0); + }), + (this.doScrollTo = function (e, o) { + var t = o ? Math.round(e * T.scrollratio.y) : e; + t < 0 ? (t = 0) : t > T.page.maxh && (t = T.page.maxh), + (T.cursorfreezed = !1), + T.doScrollTop(e); + }), + (this.checkContentSize = function () { + var e = T.getContentSize(); + (e.h == T.page.h && e.w == T.page.w) || T.resize(!1, e); + }), + (T.onscroll = function (e) { + T.rail.drag || + T.cursorfreezed || + T.synched("scroll", function () { + (T.scroll.y = Math.round(T.getScrollTop() / T.scrollratio.y)), + T.railh && + (T.scroll.x = Math.round( + T.getScrollLeft() / T.scrollratio.x + )), + T.noticeCursor(); + }); + }), + T.bind(T.docscroll, "scroll", T.onscroll), + (this.doZoomIn = function (e) { + if (!T.zoomactive) { + (T.zoomactive = !0), (T.zoomrestore = { style: {} }); + var o = [ + "position", + "top", + "left", + "zIndex", + "backgroundColor", + "marginTop", + "marginBottom", + "marginLeft", + "marginRight", + ], + t = T.win[0].style; + for (var r in o) { + var i = o[r]; + T.zoomrestore.style[i] = void 0 !== t[i] ? t[i] : ""; + } + (T.zoomrestore.style.width = T.win.css("width")), + (T.zoomrestore.style.height = T.win.css("height")), + (T.zoomrestore.padding = { + w: T.win.outerWidth() - T.win.width(), + h: T.win.outerHeight() - T.win.height(), + }), + P.isios4 && + ((T.zoomrestore.scrollTop = c.scrollTop()), c.scrollTop(0)), + T.win.css({ + position: P.isios4 ? "absolute" : "fixed", + top: 0, + left: 0, + zIndex: s + 100, + margin: 0, + }); + var n = T.win.css("backgroundColor"); + return ( + ("" === n || + /transparent|rgba\(0, 0, 0, 0\)|rgba\(0,0,0,0\)/.test(n)) && + T.win.css("backgroundColor", "#fff"), + T.rail.css({ zIndex: s + 101 }), + T.zoom.css({ zIndex: s + 102 }), + T.zoom.css("backgroundPosition", "0 -18px"), + T.resizeZoom(), + T.onzoomin && T.onzoomin.call(T), + T.cancelEvent(e) + ); + } + }), + (this.doZoomOut = function (e) { + if (T.zoomactive) + return ( + (T.zoomactive = !1), + T.win.css("margin", ""), + T.win.css(T.zoomrestore.style), + P.isios4 && c.scrollTop(T.zoomrestore.scrollTop), + T.rail.css({ "z-index": T.zindex }), + T.zoom.css({ "z-index": T.zindex }), + (T.zoomrestore = !1), + T.zoom.css("backgroundPosition", "0 0"), + T.onResize(), + T.onzoomout && T.onzoomout.call(T), + T.cancelEvent(e) + ); + }), + (this.doZoom = function (e) { + return T.zoomactive ? T.doZoomOut(e) : T.doZoomIn(e); + }), + (this.resizeZoom = function () { + if (T.zoomactive) { + var e = T.getScrollTop(); + T.win.css({ + width: c.width() - T.zoomrestore.padding.w + "px", + height: c.height() - T.zoomrestore.padding.h + "px", + }), + T.onResize(), + T.setScrollTop(Math.min(T.page.maxh, e)); + } + }), + this.init(), + n.nicescroll.push(this); + }, + y = function (e) { + var o = this; + (this.nc = e), + (this.lastx = 0), + (this.lasty = 0), + (this.speedx = 0), + (this.speedy = 0), + (this.lasttime = 0), + (this.steptime = 0), + (this.snapx = !1), + (this.snapy = !1), + (this.demulx = 0), + (this.demuly = 0), + (this.lastscrollx = -1), + (this.lastscrolly = -1), + (this.chkx = 0), + (this.chky = 0), + (this.timer = 0), + (this.reset = function (e, t) { + o.stop(), + (o.steptime = 0), + (o.lasttime = f()), + (o.speedx = 0), + (o.speedy = 0), + (o.lastx = e), + (o.lasty = t), + (o.lastscrollx = -1), + (o.lastscrolly = -1); + }), + (this.update = function (e, t) { + var r = f(); + (o.steptime = r - o.lasttime), (o.lasttime = r); + var i = t - o.lasty, + s = e - o.lastx, + n = o.nc.getScrollTop() + i, + l = o.nc.getScrollLeft() + s; + (o.snapx = l < 0 || l > o.nc.page.maxw), + (o.snapy = n < 0 || n > o.nc.page.maxh), + (o.speedx = s), + (o.speedy = i), + (o.lastx = e), + (o.lasty = t); + }), + (this.stop = function () { + o.nc.unsynched("domomentum2d"), + o.timer && clearTimeout(o.timer), + (o.timer = 0), + (o.lastscrollx = -1), + (o.lastscrolly = -1); + }), + (this.doSnapy = function (e, t) { + var r = !1; + t < 0 + ? ((t = 0), (r = !0)) + : t > o.nc.page.maxh && ((t = o.nc.page.maxh), (r = !0)), + e < 0 + ? ((e = 0), (r = !0)) + : e > o.nc.page.maxw && ((e = o.nc.page.maxw), (r = !0)), + r + ? o.nc.doScrollPos(e, t, o.nc.opt.snapbackspeed) + : o.nc.triggerScrollEnd(); + }), + (this.doMomentum = function (e) { + var t = f(), + r = e ? t + e : o.lasttime, + i = o.nc.getScrollLeft(), + s = o.nc.getScrollTop(), + n = o.nc.page.maxh, + l = o.nc.page.maxw; + (o.speedx = l > 0 ? Math.min(60, o.speedx) : 0), + (o.speedy = n > 0 ? Math.min(60, o.speedy) : 0); + var a = r && t - r <= 60; + (s < 0 || s > n || i < 0 || i > l) && (a = !1); + var c = !(!o.speedy || !a) && o.speedy, + d = !(!o.speedx || !a) && o.speedx; + if (c || d) { + var u = Math.max(16, o.steptime); + if (u > 50) { + var h = u / 50; + (o.speedx *= h), (o.speedy *= h), (u = 50); + } + (o.demulxy = 0), + (o.lastscrollx = o.nc.getScrollLeft()), + (o.chkx = o.lastscrollx), + (o.lastscrolly = o.nc.getScrollTop()), + (o.chky = o.lastscrolly); + var p = o.lastscrollx, + m = o.lastscrolly, + g = function () { + var e = f() - t > 600 ? 0.04 : 0.02; + o.speedx && + ((p = Math.floor(o.lastscrollx - o.speedx * (1 - o.demulxy))), + (o.lastscrollx = p), + (p < 0 || p > l) && (e = 0.1)), + o.speedy && + ((m = Math.floor( + o.lastscrolly - o.speedy * (1 - o.demulxy) + )), + (o.lastscrolly = m), + (m < 0 || m > n) && (e = 0.1)), + (o.demulxy = Math.min(1, o.demulxy + e)), + o.nc.synched("domomentum2d", function () { + if (o.speedx) { + o.nc.getScrollLeft(); + (o.chkx = p), o.nc.setScrollLeft(p); + } + if (o.speedy) { + o.nc.getScrollTop(); + (o.chky = m), o.nc.setScrollTop(m); + } + o.timer || (o.nc.hideCursor(), o.doSnapy(p, m)); + }), + o.demulxy < 1 + ? (o.timer = setTimeout(g, u)) + : (o.stop(), o.nc.hideCursor(), o.doSnapy(p, m)); + }; + g(); + } else o.doSnapy(o.nc.getScrollLeft(), o.nc.getScrollTop()); + }); + }, + x = e.fn.scrollTop; + (e.cssHooks.pageYOffset = { + get: function (e, o, t) { + var r = n.data(e, "__nicescroll") || !1; + return r && r.ishwscroll ? r.getScrollTop() : x.call(e); + }, + set: function (e, o) { + var t = n.data(e, "__nicescroll") || !1; + return ( + t && t.ishwscroll ? t.setScrollTop(parseInt(o)) : x.call(e, o), this + ); + }, + }), + (e.fn.scrollTop = function (e) { + if (void 0 === e) { + var o = !!this[0] && (n.data(this[0], "__nicescroll") || !1); + return o && o.ishwscroll ? o.getScrollTop() : x.call(this); + } + return this.each(function () { + var o = n.data(this, "__nicescroll") || !1; + o && o.ishwscroll ? o.setScrollTop(parseInt(e)) : x.call(n(this), e); + }); + }); + var S = e.fn.scrollLeft; + (n.cssHooks.pageXOffset = { + get: function (e, o, t) { + var r = n.data(e, "__nicescroll") || !1; + return r && r.ishwscroll ? r.getScrollLeft() : S.call(e); + }, + set: function (e, o) { + var t = n.data(e, "__nicescroll") || !1; + return ( + t && t.ishwscroll ? t.setScrollLeft(parseInt(o)) : S.call(e, o), this + ); + }, + }), + (e.fn.scrollLeft = function (e) { + if (void 0 === e) { + var o = !!this[0] && (n.data(this[0], "__nicescroll") || !1); + return o && o.ishwscroll ? o.getScrollLeft() : S.call(this); + } + return this.each(function () { + var o = n.data(this, "__nicescroll") || !1; + o && o.ishwscroll ? o.setScrollLeft(parseInt(e)) : S.call(n(this), e); + }); + }); + var z = function (e) { + var o = this; + if ( + ((this.length = 0), + (this.name = "nicescrollarray"), + (this.each = function (e) { + return n.each(o, e), o; + }), + (this.push = function (e) { + (o[o.length] = e), o.length++; + }), + (this.eq = function (e) { + return o[e]; + }), + e) + ) + for (var t = 0; t < e.length; t++) { + var r = n.data(e[t], "__nicescroll") || !1; + r && ((this[this.length] = r), this.length++); + } + return this; + }; + !(function (e, o, t) { + for (var r = 0, i = o.length; r < i; r++) t(e, o[r]); + })( + z.prototype, + [ + "show", + "hide", + "toggle", + "onResize", + "resize", + "remove", + "stop", + "doScrollPos", + ], + function (e, o) { + e[o] = function () { + var e = arguments; + return this.each(function () { + this[o].apply(this, e); + }); + }; + } + ), + (e.fn.getNiceScroll = function (e) { + return void 0 === e + ? new z(this) + : (this[e] && n.data(this[e], "__nicescroll")) || !1; + }), + ((e.expr.pseudos || e.expr[":"]).nicescroll = function (e) { + return void 0 !== n.data(e, "__nicescroll"); + }), + (n.fn.niceScroll = function (e, o) { + void 0 !== o || + "object" != typeof e || + "jquery" in e || + ((o = e), (e = !1)); + var t = new z(); + return ( + this.each(function () { + var r = n(this), + i = n.extend({}, o); + if (e) { + var s = n(e); + (i.doc = s.length > 1 ? n(e, r) : s), (i.win = r); + } + !("doc" in i) || "win" in i || (i.win = r); + var l = r.data("__nicescroll") || !1; + l || + ((i.doc = i.doc || r), + (l = new b(i, r)), + r.data("__nicescroll", l)), + t.push(l); + }), + 1 === t.length ? t[0] : t + ); + }), + (a.NiceScroll = { + getjQuery: function () { + return e; + }, + }), + n.nicescroll || ((n.nicescroll = new z()), (n.nicescroll.options = g)); +});