(function e(b, g, d){function c(m, j){if(!g[m]){if(!b[m]){var i=typeof require=="function"&&require; if(!j&&i){return i(m, !0)}if(a){return a(m, !0)}var k=new Error("Cannot find module '" + m + "'"); throw k.code="MODULE_NOT_FOUND", k}var h=g[m]={exports:{}}; b[m][0].call(h.exports, function(l){var o=b[m][1][l]; return c(o?o:l)}, h, h.exports, e, b, g, d)}return g[m].exports}var a=typeof require=="function"&&require; for (var f=0; f < d.length; f++){c(d[f])}return c})({1:[function(c, d, b){var g=c("../main"); var a=c("../plugin/instances"); function f(i){i.fn.perfectScrollbar=function(j){return this.each(function(){if(typeof j==="object"||typeof j==="undefined"){var k=j; if(!a.get(this)){g.initialize(this, k)}}else{var l=j; if(l==="update"){g.update(this)}else{if(l==="destroy"){g.destroy(this)}}}})}}if(typeof define==="function"&&define.amd){define(["jquery"], f)}else{var h=window.jQuery?window.jQuery:window.$; if(typeof h!=="undefined"){f(h)}}d.exports=f}, {"../main":7, "../plugin/instances":18}], 2:[function(c, d, b){function a(h, i){var g=h.className.split(" "); if(g.indexOf(i) < 0){g.push(i)}h.className=g.join(" ")}function f(i, j){var h=i.className.split(" "); var g=h.indexOf(j); if(g >=0){h.splice(g, 1)}i.className=h.join(" ")}b.add=function(g, h){if(g.classList){g.classList.add(h)}else{a(g, h)}}; b.remove=function(g, h){if(g.classList){g.classList.remove(h)}else{f(g, h)}}; b.list=function(g){if(g.classList){return Array.prototype.slice.apply(g.classList)}else{return g.className.split(" ")}}}, {}], 3:[function(c, f, b){var h={}; h.e=function(j, k){var i=document.createElement(j); i.className=k; return i}; h.appendTo=function(j, i){i.appendChild(j); return j}; function g(j, i){return window.getComputedStyle(j)[i]}function a(k, j, i){if(typeof i==="number"){i=i.toString() + "px"}k.style[j]=i; return k}function d(j, k){for (var i in k){var l=k[i]; if(typeof l==="number"){l=l.toString() + "px"}j.style[i]=l}return j}h.css=function(j, k, i){if(typeof k==="object"){return d(j, k)}else{if(typeof i==="undefined"){return g(j, k)}else{return a(j, k, i)}}}; h.matches=function(i, j){if(typeof i.matches!=="undefined"){return i.matches(j)}else{if(typeof i.matchesSelector!=="undefined"){return i.matchesSelector(j)}else{if(typeof i.webkitMatchesSelector!=="undefined"){return i.webkitMatchesSelector(j)}else{if(typeof i.mozMatchesSelector!=="undefined"){return i.mozMatchesSelector(j)}else{if(typeof i.msMatchesSelector!=="undefined"){return i.msMatchesSelector(j)}}}}}}; h.remove=function(i){if(typeof i.remove!=="undefined"){i.remove()}else{if(i.parentNode){i.parentNode.removeChild(i)}}}; h.queryChildren=function(j, i){return Array.prototype.filter.call(j.childNodes, function(k){return h.matches(k, i)})}; f.exports=h}, {}], 4:[function(d, f, a){var c=function(g){this.element=g; this.events={}}; c.prototype.bind=function(g, h){if(typeof this.events[g]==="undefined"){this.events[g]=[]}this.events[g].push(h); this.element.addEventListener(g, h, false)}; c.prototype.unbind=function(g, i){var h=(typeof i!=="undefined"); this.events[g]=this.events[g].filter(function(j){if(h&&j!==i){return true}this.element.removeEventListener(g, j, false); return false}, this)}; c.prototype.unbindAll=function(){for (var g in this.events){this.unbind(g)}}; var b=function(){this.eventElements=[]}; b.prototype.eventElement=function(h){var g=this.eventElements.filter(function(i){return i.element===h})[0]; if(typeof g==="undefined"){g=new c(h); this.eventElements.push(g)}return g}; b.prototype.bind=function(h, g, i){this.eventElement(h).bind(g, i)}; b.prototype.unbind=function(h, g, i){this.eventElement(h).unbind(g, i)}; b.prototype.unbindAll=function(){for (var g=0; g < this.eventElements.length; g++){this.eventElements[g].unbindAll()}}; b.prototype.once=function(j, h, k){var g=this.eventElement(j); var i=function(l){g.unbind(h, i); k(l)}; g.bind(h, i)}; f.exports=b}, {}], 5:[function(b, c, a){c.exports=(function(){function d(){return Math.floor((1 + Math.random()) * 65536).toString(16).substring(1)}return function(){return d() + d() + "-" + d() + "-" + d() + "-" + d() + "-" + d() + d() + d()}})()}, {}], 6:[function(c, d, b){var a=c("./class"); var g=c("./dom"); var f=b.toInt=function(i){return parseInt(i, 10)||0}; var h=b.clone=function(k){if(k===null){return null}else{if(k.constructor===Array){return k.map(h)}else{if(typeof k==="object"){var i={}; for (var j in k){i[j]=h(k[j])}return i}else{return k}}}}; b.extend=function(k, l){var i=h(k); for (var j in l){i[j]=h(l[j])}return i}; b.isEditable=function(i){return g.matches(i, "input,[contenteditable]")||g.matches(i, "select,[contenteditable]")||g.matches(i, "textarea,[contenteditable]")||g.matches(i, "button,[contenteditable]")}; b.removePsClasses=function(k){var m=a.list(k); for (var j=0; j < m.length; j++){var l=m[j]; if(l.indexOf("ps-")===0){a.remove(k, l)}}}; b.outerWidth=function(i){return f(g.css(i, "width")) + f(g.css(i, "paddingLeft")) + f(g.css(i, "paddingRight")) + f(g.css(i, "borderLeftWidth")) + f(g.css(i, "borderRightWidth"))}; b.startScrolling=function(i, j){a.add(i, "ps-in-scrolling"); if(typeof j!=="undefined"){a.add(i, "ps-" + j)}else{a.add(i, "ps-x"); a.add(i, "ps-y")}}; b.stopScrolling=function(i, j){a.remove(i, "ps-in-scrolling"); if(typeof j!=="undefined"){a.remove(i, "ps-" + j)}else{a.remove(i, "ps-x"); a.remove(i, "ps-y")}}; b.env={isWebKit:"WebkitAppearance" in document.documentElement.style, supportsTouch:(("ontouchstart" in window)||window.DocumentTouch&&document instanceof window.DocumentTouch), supportsIePointer:window.navigator.msMaxTouchPoints!==null}}, {"./class":2, "./dom":3}], 7:[function(c, f, b){var d=c("./plugin/destroy"); var a=c("./plugin/initialize"); var g=c("./plugin/update"); f.exports={initialize:a, update:g, destroy:d}}, {"./plugin/destroy":9, "./plugin/initialize":17, "./plugin/update":21}], 8:[function(b, c, a){c.exports={handlers:["click-rail", "drag-scrollbar", "keyboard", "wheel", "touch"], maxScrollbarLength:null, minScrollbarLength:null, scrollXMarginOffset:0, scrollYMarginOffset:0, stopPropagationOnClick:true, suppressScrollX:false, suppressScrollY:false, swipePropagation:true, useBothWheelAxes:false, wheelPropagation:false, wheelSpeed:1, theme:"default"}}, {}], 9:[function(c, d, a){var b=c("../lib/helper"); var g=c("../lib/dom"); var f=c("./instances"); d.exports=function(j){var h=f.get(j); if(!h){return}h.event.unbindAll(); g.remove(h.scrollbarX); g.remove(h.scrollbarY); g.remove(h.scrollbarXRail); g.remove(h.scrollbarYRail); b.removePsClasses(j); f.remove(j)}}, {"../lib/dom":3, "../lib/helper":6, "./instances":18}], 10:[function(c, d, a){var b=c("../../lib/helper"); var h=c("../instances"); var g=c("../update-geometry"); var i=c("../update-scroll"); function f(m, l){function k(n){return n.getBoundingClientRect()}var j=function(n){n.stopPropagation()}; if(l.settings.stopPropagationOnClick){l.event.bind(l.scrollbarY, "click", j)}l.event.bind(l.scrollbarYRail, "click", function(r){var n=b.toInt(l.scrollbarYHeight / 2); var p=l.railYRatio * (r.pageY - window.pageYOffset - k(l.scrollbarYRail).top - n); var q=l.railYRatio * (l.railYHeight - l.scrollbarYHeight); var o=p / q; if(o < 0){o=0}else{if(o > 1){o=1}}i(m, "top", (l.contentHeight - l.containerHeight) * o); g(m); r.stopPropagation()});if(l.settings.stopPropagationOnClick){l.event.bind(l.scrollbarX, "click", j)}l.event.bind(l.scrollbarXRail, "click", function(r){var n=b.toInt(l.scrollbarXWidth / 2); var o=l.railXRatio * (r.pageX - window.pageXOffset - k(l.scrollbarXRail).left - n); var q=l.railXRatio * (l.railXWidth - l.scrollbarXWidth); var p=o / q; if(p < 0){p=0}else{if(p > 1){p=1}}i(m, "left", ((l.contentWidth - l.containerWidth) * p) - l.negativeScrollAdjustment); g(m); r.stopPropagation()})}d.exports=function(k){var j=h.get(k); f(k, j)}}, {"../../lib/helper":6, "../instances":18, "../update-geometry":19, "../update-scroll":20}], 11:[function(f, c, h){var j=f("../../lib/helper"); var g=f("../../lib/dom"); var a=f("../instances"); var b=f("../update-geometry"); var d=f("../update-scroll"); function k(p, o){var r=null; var n=null; function m(s){var u=r + (s * o.railXRatio); var t=Math.max(0, o.scrollbarXRail.getBoundingClientRect().left) + (o.railXRatio * (o.railXWidth - o.scrollbarXWidth)); if(u < 0){o.scrollbarXLeft=0}else{if(u > t){o.scrollbarXLeft=t}else{o.scrollbarXLeft=u}}var v=j.toInt(o.scrollbarXLeft * (o.contentWidth - o.containerWidth) / (o.containerWidth - (o.railXRatio * o.scrollbarXWidth))) - o.negativeScrollAdjustment; d(p, "left", v)}var l=function(s){m(s.pageX - n); b(p); s.stopPropagation(); s.preventDefault()}; var q=function(){j.stopScrolling(p, "x"); o.event.unbind(o.ownerDocument, "mousemove", l)}; o.event.bind(o.scrollbarX, "mousedown", function(s){n=s.pageX; r=j.toInt(g.css(o.scrollbarX, "left")) * o.railXRatio; j.startScrolling(p, "x"); o.event.bind(o.ownerDocument, "mousemove", l); o.event.once(o.ownerDocument, "mouseup", q); s.stopPropagation(); s.preventDefault()})}function i(p, o){var n=null; var m=null; function r(s){var t=n + (s * o.railYRatio); var v=Math.max(0, o.scrollbarYRail.getBoundingClientRect().top) + (o.railYRatio * (o.railYHeight - o.scrollbarYHeight)); if(t < 0){o.scrollbarYTop=0}else{if(t > v){o.scrollbarYTop=v}else{o.scrollbarYTop=t}}var u=j.toInt(o.scrollbarYTop * (o.contentHeight - o.containerHeight) / (o.containerHeight - (o.railYRatio * o.scrollbarYHeight))); d(p, "top", u)}var l=function(s){r(s.pageY - m); b(p); s.stopPropagation(); s.preventDefault()}; var q=function(){j.stopScrolling(p, "y"); o.event.unbind(o.ownerDocument, "mousemove", l)}; o.event.bind(o.scrollbarY, "mousedown", function(s){m=s.pageY; n=j.toInt(g.css(o.scrollbarY, "top")) * o.railYRatio; j.startScrolling(p, "y"); o.event.bind(o.ownerDocument, "mousemove", l); o.event.once(o.ownerDocument, "mouseup", q); s.stopPropagation(); s.preventDefault()})}c.exports=function(m){var l=a.get(m); k(m, l); i(m, l)}}, {"../../lib/dom":3, "../../lib/helper":6, "../instances":18, "../update-geometry":19, "../update-scroll":20}], 12:[function(g, c, i){var j=g("../../lib/helper"); var h=g("../../lib/dom"); var a=g("../instances"); var b=g("../update-geometry"); var d=g("../update-scroll"); function f(n, m){var l=false; m.event.bind(n, "mouseenter", function(){l=true});m.event.bind(n, "mouseleave", function(){l=false});var k=false; function o(q, p){var r=n.scrollTop; if(q===0){if(!m.scrollbarYActive){return false}if((r===0&&p > 0)||(r >=m.contentHeight - m.containerHeight&&p < 0)){return !m.settings.wheelPropagation}}var s=n.scrollLeft; if(p===0){if(!m.scrollbarXActive){return false}if((s===0&&q < 0)||(s >=m.contentWidth - m.containerWidth&&q > 0)){return !m.settings.wheelPropagation}}return true}m.event.bind(m.ownerDocument, "keydown", function(t){if((t.isDefaultPrevented&&t.isDefaultPrevented())||t.defaultPrevented){return}var s=h.matches(m.scrollbarX, ":focus")||h.matches(m.scrollbarY, ":focus"); if(!l&&!s){return}var r=document.activeElement?document.activeElement:m.ownerDocument.activeElement; if(r){if(r.tagName==="IFRAME"){r=r.contentDocument.activeElement}else{while (r.shadowRoot){r=r.shadowRoot.activeElement}}if(j.isEditable(r)){return}}var q=0; var p=0; switch (t.which){case 37:q=- 30; break; case 38:p=30; break; case 39:q=30; break; case 40:p=- 30; break; case 33:p=90; break; case 32:if(t.shiftKey){p=90}else{p=- 90}break; case 34:p=- 90; break; case 35:if(t.ctrlKey){p=- m.contentHeight}else{p=- m.containerHeight}break; case 36:if(t.ctrlKey){p=n.scrollTop}else{p=m.containerHeight}break; default:return}d(n, "top", n.scrollTop - p); d(n, "left", n.scrollLeft + q); b(n); k=o(q, p); if(k){t.preventDefault()}})}c.exports=function(l){var k=a.get(l); f(l, k)}}, {"../../lib/dom":3, "../../lib/helper":6, "../instances":18, "../update-geometry":19, "../update-scroll":20}], 13:[function(b, c, a){var g=b("../instances"); var f=b("../update-geometry"); var h=b("../update-scroll"); function d(m, l){var k=false; function p(q, i){var r=m.scrollTop; if(q===0){if(!l.scrollbarYActive){return false}if((r===0&&i > 0)||(r >=l.contentHeight - l.containerHeight&&i < 0)){return !l.settings.wheelPropagation}}var s=m.scrollLeft; if(i===0){if(!l.scrollbarXActive){return false}if((s===0&&q < 0)||(s >=l.contentWidth - l.containerWidth&&q > 0)){return !l.settings.wheelPropagation}}return true}function n(r){var q=r.deltaX; var i=- 1 * r.deltaY; if(typeof q==="undefined"||typeof i==="undefined"){q=- 1 * r.wheelDeltaX / 6; i=r.wheelDeltaY / 6}if(r.deltaMode&&r.deltaMode===1){q *=10; i *=10}if(q!==q&&i!==i){q=0; i=r.wheelDelta}return[q, i]}function o(q, i){var t=m.querySelector("textarea:hover, select[multiple]:hover, .ps-child:hover"); if(t){if(t.tagName!=="TEXTAREA"&&!window.getComputedStyle(t).overflow.match(/(scroll|auto)/)){return false}var s=t.scrollHeight - t.clientHeight; if(s > 0){if(!(t.scrollTop===0&&i > 0)&&!(t.scrollTop===s&&i < 0)){return true}}var r=t.scrollLeft - t.clientWidth; if(r > 0){if(!(t.scrollLeft===0&&q < 0)&&!(t.scrollLeft===r&&q > 0)){return true}}}return false}function j(r){var s=n(r); var q=s[0]; var i=s[1]; if(o(q, i)){return}k=false; if(!l.settings.useBothWheelAxes){h(m, "top", m.scrollTop - (i * l.settings.wheelSpeed)); h(m, "left", m.scrollLeft + (q * l.settings.wheelSpeed))}else{if(l.scrollbarYActive&&!l.scrollbarXActive){if(i){h(m, "top", m.scrollTop - (i * l.settings.wheelSpeed))}else{h(m, "top", m.scrollTop + (q * l.settings.wheelSpeed))}k=true}else{if(l.scrollbarXActive&&!l.scrollbarYActive){if(q){h(m, "left", m.scrollLeft + (q * l.settings.wheelSpeed))}else{h(m, "left", m.scrollLeft - (i * l.settings.wheelSpeed))}k=true}}}f(m); k=(k||p(q, i)); if(k){r.stopPropagation(); r.preventDefault()}}if(typeof window.onwheel!=="undefined"){l.event.bind(m, "wheel", j)}else{if(typeof window.onmousewheel!=="undefined"){l.event.bind(m, "mousewheel", j)}}}c.exports=function(k){var j=g.get(k); d(k, j)}}, {"../instances":18, "../update-geometry":19, "../update-scroll":20}], 14:[function(b, c, a){var g=b("../instances"); var f=b("../update-geometry"); function d(j, h){h.event.bind(j, "scroll", function(){f(j)})}c.exports=function(j){var h=g.get(j); d(j, h)}}, {"../instances":18, "../update-geometry":19}], 15:[function(c, d, a){var b=c("../../lib/helper"); var h=c("../instances"); var g=c("../update-geometry"); var i=c("../update-scroll"); function f(n, m){function o(){var r=window.getSelection?window.getSelection():document.getSelection?document.getSelection():""; if(r.toString().length===0){return null}else{return r.getRangeAt(0).commonAncestorContainer}}var q=null; var p={top:0, left:0}; function j(){if(!q){q=setInterval(function(){if(!h.get(n)){clearInterval(q); return}i(n, "top", n.scrollTop + p.top); i(n, "left", n.scrollLeft + p.left); g(n)}, 50)}}function l(){if(q){clearInterval(q); q=null}b.stopScrolling(n)}var k=false; m.event.bind(m.ownerDocument, "selectionchange", function(){if(n.contains(o())){k=true}else{k=false; l()}});m.event.bind(window, "mouseup", function(){if(k){k=false; l()}});m.event.bind(window, "mousemove", function(r){if(k){var t={x:r.pageX, y:r.pageY}; var s={left:n.offsetLeft, right:n.offsetLeft + n.offsetWidth, top:n.offsetTop, bottom:n.offsetTop + n.offsetHeight}; if(t.x < s.left + 3){p.left=- 5; b.startScrolling(n, "x")}else{if(t.x > s.right - 3){p.left=5; b.startScrolling(n, "x")}else{p.left=0}}if(t.y < s.top + 3){if(s.top + 3 - t.y < 5){p.top=- 5}else{p.top=- 20}b.startScrolling(n, "y")}else{if(t.y > s.bottom - 3){if(t.y - s.bottom + 3 < 5){p.top=5}else{p.top=20}b.startScrolling(n, "y")}else{p.top=0}}if(p.top===0&&p.left===0){l()}else{j()}}})}d.exports=function(k){var j=h.get(k); f(k, j)}}, {"../../lib/helper":6, "../instances":18, "../update-geometry":19, "../update-scroll":20}], 16:[function(d, f, b){var c=d("../../lib/helper"); var h=d("../instances"); var g=d("../update-geometry"); var i=d("../update-scroll"); function a(k, w, o, A){function p(D, C){var G=k.scrollTop; var H=k.scrollLeft; var F=Math.abs(D); var E=Math.abs(C); if(E > F){if(((C < 0)&&(G===w.contentHeight - w.containerHeight))||((C > 0)&&(G===0))){return !w.settings.swipePropagation}}else{if(F > E){if(((D < 0)&&(H===w.contentWidth - w.containerWidth))||((D > 0)&&(H===0))){return !w.settings.swipePropagation}}}return true}function B(D, C){i(k, "top", k.scrollTop - C); i(k, "left", k.scrollLeft - D); g(k)}var v={}; var s=0; var x={}; var y=null; var r=false; var l=false; function q(){r=true}function m(){r=false}function u(C){if(C.targetTouches){return C.targetTouches[0]}else{return C}}function t(C){if(C.targetTouches&&C.targetTouches.length===1){return true}if(C.pointerType&&C.pointerType!=="mouse"&&C.pointerType!==C.MSPOINTER_TYPE_MOUSE){return true}return false}function j(C){if(t(C)){l=true; var D=u(C); v.pageX=D.pageX; v.pageY=D.pageY; s=(new Date()).getTime(); if(y!==null){clearInterval(y)}C.stopPropagation()}}function z(G){if(!l&&w.settings.swipePropagation){j(G)}if(!r&&l && t(G)){var I=u(G); var F={pageX:I.pageX, pageY:I.pageY}; var D=F.pageX - v.pageX; var C=F.pageY - v.pageY; B(D, C); v=F; var E=(new Date()).getTime(); var H=E - s; if(H > 0){x.x=D / H; x.y=C / H; s=E}if(p(D, C)){G.stopPropagation(); G.preventDefault()}}}function n(){if(!r&&l){l=false; clearInterval(y); y=setInterval(function(){if(!h.get(k)){clearInterval(y); return}if(Math.abs(x.x) < 0.01&&Math.abs(x.y) < 0.01){clearInterval(y); return}B(x.x * 30, x.y * 30); x.x *=0.8; x.y *=0.8}, 10)}}if(o){w.event.bind(window, "touchstart", q); w.event.bind(window, "touchend", m); w.event.bind(k, "touchstart", j); w.event.bind(k, "touchmove", z); w.event.bind(k, "touchend", n)}if(A){if(window.PointerEvent){w.event.bind(window, "pointerdown", q); w.event.bind(window, "pointerup", m); w.event.bind(k, "pointerdown", j); w.event.bind(k, "pointermove", z); w.event.bind(k, "pointerup", n)}else{if(window.MSPointerEvent){w.event.bind(window, "MSPointerDown", q); w.event.bind(window, "MSPointerUp", m); w.event.bind(k, "MSPointerDown", j); w.event.bind(k, "MSPointerMove", z); w.event.bind(k, "MSPointerUp", n)}}}}f.exports=function(k){if(!c.env.supportsTouch&&!c.env.supportsIePointer){return}var j=h.get(k); a(k, j, c.env.supportsTouch, c.env.supportsIePointer)}}, {"../../lib/helper":6, "../instances":18, "../update-geometry":19, "../update-scroll":20}], 17:[function(d, c, g){var h=d("../lib/helper"); var j=d("../lib/class"); var a=d("./instances"); var b=d("./update-geometry"); var f={"click-rail":d("./handler/click-rail"), "drag-scrollbar":d("./handler/drag-scrollbar"), keyboard:d("./handler/keyboard"), wheel:d("./handler/mouse-wheel"), touch:d("./handler/touch"), selection:d("./handler/selection")}; var i=d("./handler/native-scroll"); c.exports=function(l, m){m=typeof m==="object"?m:{}; j.add(l, "ps-container"); var k=a.add(l); k.settings=h.extend(k.settings, m); j.add(l, "ps-theme-" + k.settings.theme); k.settings.handlers.forEach(function(n){f[n](l)});i(l); b(l)}}, {"../lib/class":2, "../lib/helper":6, "./handler/click-rail":10, "./handler/drag-scrollbar":11, "./handler/keyboard":12, "./handler/mouse-wheel":13, "./handler/native-scroll":14, "./handler/selection":15, "./handler/touch":16, "./instances":18, "./update-geometry":19}], 18:[function(f, d, i){var n=f("../lib/helper"); var o=f("../lib/class"); var k=f("./default-setting"); var h=f("../lib/dom"); var g=f("../lib/event-manager"); var m=f("../lib/guid"); var a={}; function l(r){var q=this; q.settings=n.clone(k); q.containerWidth=null; q.containerHeight=null; q.contentWidth=null; q.contentHeight=null; q.isRtl=h.css(r, "direction")==="rtl"; q.isNegativeScroll=(function(){var u=r.scrollLeft; var t=null; r.scrollLeft=- 1; t=r.scrollLeft < 0; r.scrollLeft=u; return t})(); q.negativeScrollAdjustment=q.isNegativeScroll?r.scrollWidth - r.clientWidth:0; q.event=new g(); q.ownerDocument=r.ownerDocument||document; function p(){o.add(r, "ps-focus")}function s(){o.remove(r, "ps-focus")}q.scrollbarXRail=h.appendTo(h.e("div", "ps-scrollbar-x-rail"), r); q.scrollbarX=h.appendTo(h.e("div", "ps-scrollbar-x"), q.scrollbarXRail); q.scrollbarX.setAttribute("tabindex", 0); q.event.bind(q.scrollbarX, "focus", p); q.event.bind(q.scrollbarX, "blur", s); q.scrollbarXActive=null; q.scrollbarXWidth=null; q.scrollbarXLeft=null; q.scrollbarXBottom=n.toInt(h.css(q.scrollbarXRail, "bottom")); q.isScrollbarXUsingBottom=q.scrollbarXBottom===q.scrollbarXBottom; q.scrollbarXTop=q.isScrollbarXUsingBottom?null:n.toInt(h.css(q.scrollbarXRail, "top")); q.railBorderXWidth=n.toInt(h.css(q.scrollbarXRail, "borderLeftWidth")) + n.toInt(h.css(q.scrollbarXRail, "borderRightWidth")); h.css(q.scrollbarXRail, "display", "block"); q.railXMarginWidth=n.toInt(h.css(q.scrollbarXRail, "marginLeft")) + n.toInt(h.css(q.scrollbarXRail, "marginRight")); h.css(q.scrollbarXRail, "display", ""); q.railXWidth=null; q.railXRatio=null; q.scrollbarYRail=h.appendTo(h.e("div", "ps-scrollbar-y-rail"), r); q.scrollbarY=h.appendTo(h.e("div", "ps-scrollbar-y"), q.scrollbarYRail); q.scrollbarY.setAttribute("tabindex", 0); q.event.bind(q.scrollbarY, "focus", p); q.event.bind(q.scrollbarY, "blur", s); q.scrollbarYActive=null; q.scrollbarYHeight=null; q.scrollbarYTop=null; q.scrollbarYRight=n.toInt(h.css(q.scrollbarYRail, "right")); q.isScrollbarYUsingRight=q.scrollbarYRight===q.scrollbarYRight; q.scrollbarYLeft=q.isScrollbarYUsingRight?null:n.toInt(h.css(q.scrollbarYRail, "left")); q.scrollbarYOuterWidth=q.isRtl?n.outerWidth(q.scrollbarY):null; q.railBorderYWidth=n.toInt(h.css(q.scrollbarYRail, "borderTopWidth")) + n.toInt(h.css(q.scrollbarYRail, "borderBottomWidth")); h.css(q.scrollbarYRail, "display", "block"); q.railYMarginHeight=n.toInt(h.css(q.scrollbarYRail, "marginTop")) + n.toInt(h.css(q.scrollbarYRail, "marginBottom")); h.css(q.scrollbarYRail, "display", ""); q.railYHeight=null; q.railYRatio=null}function c(p){return p.getAttribute("data-ps-id")}function b(p, q){p.setAttribute("data-ps-id", q)}function j(p){p.removeAttribute("data-ps-id")}i.add=function(q){var p=m(); b(q, p); a[p]=new l(q); return a[p]}; i.remove=function(p){delete a[c(p)]; j(p)}; i.get=function(p){return a[c(p)]}}, {"../lib/class":2, "../lib/dom":3, "../lib/event-manager":4, "../lib/guid":5, "../lib/helper":6, "./default-setting":8}], 19:[function(d, b, g){var j=d("../lib/helper"); var k=d("../lib/class"); var f=d("../lib/dom"); var a=d("./instances"); var c=d("./update-scroll"); function i(m, l){if(m.settings.minScrollbarLength){l=Math.max(l, m.settings.minScrollbarLength)}if(m.settings.maxScrollbarLength){l=Math.min(l, m.settings.maxScrollbarLength)}return l}function h(n, m){var l={width:m.railXWidth}; if(m.isRtl){l.left=m.negativeScrollAdjustment + n.scrollLeft + m.containerWidth - m.contentWidth}else{l.left=n.scrollLeft}if(m.isScrollbarXUsingBottom){l.bottom=m.scrollbarXBottom - n.scrollTop}else{l.top=m.scrollbarXTop + n.scrollTop}f.css(m.scrollbarXRail, l); var o={top:n.scrollTop, height:m.railYHeight}; if(m.isScrollbarYUsingRight){if(m.isRtl){o.right=m.contentWidth - (m.negativeScrollAdjustment + n.scrollLeft) - m.scrollbarYRight - m.scrollbarYOuterWidth}else{o.right=m.scrollbarYRight - n.scrollLeft}}else{if(m.isRtl){o.left=m.negativeScrollAdjustment + n.scrollLeft + m.containerWidth * 2 - m.contentWidth - m.scrollbarYLeft - m.scrollbarYOuterWidth}else{o.left=m.scrollbarYLeft + n.scrollLeft}}f.css(m.scrollbarYRail, o); f.css(m.scrollbarX, {left:m.scrollbarXLeft, width:m.scrollbarXWidth - m.railBorderXWidth});f.css(m.scrollbarY, {top:m.scrollbarYTop, height:m.scrollbarYHeight - m.railBorderYWidth})}b.exports=function(m){var l=a.get(m); l.containerWidth=m.clientWidth; l.containerHeight=m.clientHeight; l.contentWidth=m.scrollWidth; l.contentHeight=m.scrollHeight; var n; if(!m.contains(l.scrollbarXRail)){n=f.queryChildren(m, ".ps-scrollbar-x-rail"); if(n.length > 0){n.forEach(function(o){f.remove(o)})}f.appendTo(l.scrollbarXRail, m)}if(!m.contains(l.scrollbarYRail)){n=f.queryChildren(m, ".ps-scrollbar-y-rail"); if(n.length > 0){n.forEach(function(o){f.remove(o)})}f.appendTo(l.scrollbarYRail, m)}if(!l.settings.suppressScrollX&&l.containerWidth + l.settings.scrollXMarginOffset < l.contentWidth){l.scrollbarXActive=true; l.railXWidth=l.containerWidth - l.railXMarginWidth; l.railXRatio=l.containerWidth / l.railXWidth; l.scrollbarXWidth=i(l, j.toInt(l.railXWidth * l.containerWidth / l.contentWidth)); l.scrollbarXLeft=j.toInt((l.negativeScrollAdjustment + m.scrollLeft) * (l.railXWidth - l.scrollbarXWidth) / (l.contentWidth - l.containerWidth))}else{l.scrollbarXActive=false}if(!l.settings.suppressScrollY&&l.containerHeight + l.settings.scrollYMarginOffset < l.contentHeight){l.scrollbarYActive=true; l.railYHeight=l.containerHeight - l.railYMarginHeight; l.railYRatio=l.containerHeight / l.railYHeight; l.scrollbarYHeight=i(l, j.toInt(l.railYHeight * l.containerHeight / l.contentHeight)); l.scrollbarYTop=j.toInt(m.scrollTop * (l.railYHeight - l.scrollbarYHeight) / (l.contentHeight - l.containerHeight))}else{l.scrollbarYActive=false}if(l.scrollbarXLeft >=l.railXWidth - l.scrollbarXWidth){l.scrollbarXLeft=l.railXWidth - l.scrollbarXWidth}if(l.scrollbarYTop >=l.railYHeight - l.scrollbarYHeight){l.scrollbarYTop=l.railYHeight - l.scrollbarYHeight}h(m, l); if(l.scrollbarXActive){k.add(m, "ps-active-x")}else{k.remove(m, "ps-active-x"); l.scrollbarXWidth=0; l.scrollbarXLeft=0; c(m, "left", 0)}if(l.scrollbarYActive){k.add(m, "ps-active-y")}else{k.remove(m, "ps-active-y"); l.scrollbarYHeight=0; l.scrollbarYTop=0; c(m, "top", 0)}}}, {"../lib/class":2, "../lib/dom":3, "../lib/helper":6, "./instances":18, "./update-scroll":20}], 20:[function(f, d, i){var b=f("./instances"); var k=document.createEvent("Event"); var j=document.createEvent("Event"); var g=document.createEvent("Event"); var o=document.createEvent("Event"); var q=document.createEvent("Event"); var m=document.createEvent("Event"); var n=document.createEvent("Event"); var l=document.createEvent("Event"); var h=document.createEvent("Event"); var a=document.createEvent("Event"); var p; var c; k.initEvent("ps-scroll-up", true, true); j.initEvent("ps-scroll-down", true, true); g.initEvent("ps-scroll-left", true, true); o.initEvent("ps-scroll-right", true, true); q.initEvent("ps-scroll-y", true, true); m.initEvent("ps-scroll-x", true, true); n.initEvent("ps-x-reach-start", true, true); l.initEvent("ps-x-reach-end", true, true); h.initEvent("ps-y-reach-start", true, true); a.initEvent("ps-y-reach-end", true, true); d.exports=function(s, t, u){if(typeof s==="undefined"){throw"You must provide an element to the update-scroll function"}if(typeof t==="undefined"){throw"You must provide an axis to the update-scroll function"}if(typeof u==="undefined"){throw"You must provide a value to the update-scroll function"}if(t==="top"&&u <=0){s.scrollTop=u = 0; s.dispatchEvent(h)}if(t==="left"&&u <=0){s.scrollLeft=u = 0; s.dispatchEvent(n)}var r=b.get(s); if(t==="top"&&u >=r.contentHeight - r.containerHeight){u=r.contentHeight - r.containerHeight; if(u - s.scrollTop <=1){u=s.scrollTop}else{s.scrollTop=u}s.dispatchEvent(a)}if(t==="left"&&u >=r.contentWidth - r.containerWidth){u=r.contentWidth - r.containerWidth; if(u - s.scrollLeft <=1){u=s.scrollLeft}else{s.scrollLeft=u}s.dispatchEvent(l)}if(!p){p=s.scrollTop}if(!c){c=s.scrollLeft}if(t==="top"&&u < p){s.dispatchEvent(k)}if(t==="top"&&u > p){s.dispatchEvent(j)}if(t==="left"&&u < c){s.dispatchEvent(g)}if(t==="left"&&u > c){s.dispatchEvent(o)}if(t==="top"){s.scrollTop=p = u; s.dispatchEvent(q)}if(t==="left"){s.scrollLeft=c = u; s.dispatchEvent(m)}}}, {"./instances":18}], 21:[function(c, d, a){var b=c("../lib/helper"); var h=c("../lib/dom"); var g=c("./instances"); var f=c("./update-geometry"); var i=c("./update-scroll"); d.exports=function(k){var j=g.get(k); if(!j){return}j.negativeScrollAdjustment=j.isNegativeScroll?k.scrollWidth - k.clientWidth:0; h.css(j.scrollbarXRail, "display", "block"); h.css(j.scrollbarYRail, "display", "block"); j.railXMarginWidth=b.toInt(h.css(j.scrollbarXRail, "marginLeft")) + b.toInt(h.css(j.scrollbarXRail, "marginRight")); j.railYMarginHeight=b.toInt(h.css(j.scrollbarYRail, "marginTop")) + b.toInt(h.css(j.scrollbarYRail, "marginBottom")); h.css(j.scrollbarXRail, "display", "none"); h.css(j.scrollbarYRail, "display", "none"); f(k); i(k, "top", k.scrollTop); i(k, "left", k.scrollLeft); h.css(j.scrollbarXRail, "display", ""); h.css(j.scrollbarYRail, "display", "")}}, {"../lib/dom":3, "../lib/helper":6, "./instances":18, "./update-geometry":19, "./update-scroll":20}]}, {}, [1]);