diff --git a/README.md b/README.md index 911d293..bcf6475 100644 --- a/README.md +++ b/README.md @@ -39,10 +39,10 @@ It was tested with the jQuery versions: 1.9.1, 2.x, 3.x, and it won't work with Download OverlayScrollbars manually from [Releases](https://github.com/KingSora/OverlayScrollbars/releases). #### cdn -You can also use OverlayScrollbars via a [cdn](https://cdnjs.com/libraries/overlayscrollbars). +You can use OverlayScrollbars via a [cdn](https://cdnjs.com/libraries/overlayscrollbars). #### npm -OverlayScrollbars can be also downloaded from [npm](https://www.npmjs.com/package/overlayscrollbars). +OverlayScrollbars can be downloaded from [npm](https://www.npmjs.com/package/overlayscrollbars). ``` npm install overlayscrollbars @@ -97,7 +97,7 @@ $(function() { ## Options -Due to clarity i can't provide all informations here. +Due to clarity I can't provide all informations here. Take the table below only as a overview of all options. [Please read the much more detailed documentation](https://kingsora.github.io/OverlayScrollbars/#!documentation). @@ -594,7 +594,8 @@ var extensionObjects = OverlayScrollbars.extension(); ## Future Plans - Minimize the code as much as possible. - - Frequent updates in terms of bugsfixes and enhancements. + - Frequent updates in terms of bug-fixes and enhancements. + - Versions for frameworks like React, Vue and Angular. ## License diff --git a/css/OverlayScrollbars.css b/css/OverlayScrollbars.css index f92af3c..751be40 100644 --- a/css/OverlayScrollbars.css +++ b/css/OverlayScrollbars.css @@ -2,13 +2,13 @@ * OverlayScrollbars * https://github.com/KingSora/OverlayScrollbars * - * Version: 1.5.1 + * Version: 1.5.2 * * Copyright KingSora. * https://github.com/KingSora * * Released under the MIT license. - * Date: 13.07.2018 + * Date: 09.09.2018 */ /* diff --git a/css/OverlayScrollbars.min.css b/css/OverlayScrollbars.min.css index 710ab1f..c7efe86 100644 --- a/css/OverlayScrollbars.min.css +++ b/css/OverlayScrollbars.min.css @@ -2,12 +2,12 @@ * OverlayScrollbars * https://github.com/KingSora/OverlayScrollbars * - * Version: 1.5.1 + * Version: 1.5.2 * * Copyright KingSora. * https://github.com/KingSora * * Released under the MIT license. - * Date: 13.07.2018 + * Date: 09.09.2018 */ html.os-html,html.os-html>.os-host{display:block;overflow:hidden;box-sizing:border-box;height:100%!important;width:100%!important;min-width:100%!important;min-height:100%!important;margin:0!important;position:absolute!important}.os-padding,.os-viewport{top:0;left:0;right:0;margin:0;padding:0;bottom:0}html.os-html>.os-host>.os-padding{position:absolute}body.os-dragging,body.os-dragging *{cursor:default}.os-host,.os-host-textarea{position:relative;overflow:visible!important;flex-direction:column;flex-wrap:wrap;justify-content:flex-start;align-content:flex-start;align-items:flex-start}.os-host-flexbox{overflow:hidden!important;display:flex}.os-host-flexbox>.os-padding>.os-viewport>.os-content{display:flex}#hs-dummy-scrollbar-size{position:fixed;opacity:0;-ms-filter:'progid:DXImageTransform.Microsoft.Alpha(Opacity=0)';visibility:hidden;overflow:scroll;height:500px;width:500px}#hs-dummy-scrollbar-size,.os-viewport{-ms-overflow-style:scrollbar!important}.os-viewport-native-scrollbars-invisible#hs-dummy-scrollbar-size::-webkit-scrollbar,.os-viewport-native-scrollbars-invisible#hs-dummy-scrollbar-size::-webkit-scrollbar-corner,.os-viewport-native-scrollbars-invisible.os-viewport::-webkit-scrollbar,.os-viewport-native-scrollbars-invisible.os-viewport::-webkit-scrollbar-corner{display:none!important;width:0!important;height:0!important;visibility:hidden!important;background:0 0!important}.os-content-glue{max-height:100%;max-width:100%;width:100%;pointer-events:none}.os-padding{direction:inherit;position:absolute;overflow:visible;width:auto!important;height:auto!important;z-index:1}.os-host-overflow>.os-padding,.os-viewport{overflow:hidden}.os-viewport{direction:inherit!important;box-sizing:inherit!important;resize:none!important;position:absolute;-webkit-overflow-scrolling:touch}.os-content-arrange{position:absolute;z-index:-1;min-height:1px;min-width:1px;pointer-events:none}.os-content{direction:inherit;box-sizing:border-box!important;position:relative;display:block;height:100%;width:100%;visibility:visible}.os-content>.os-textarea{direction:inherit!important;float:none!important;margin:0!important;max-height:none!important;max-width:none!important;border:none!important;border-radius:0!important;background:0 0!important;outline:transparent 0!important;overflow:hidden!important;resize:none!important;position:absolute!important;top:0!important;left:0!important;z-index:1;padding:0}.os-host-rtl>.os-padding>.os-viewport>.os-content>.os-textarea{right:0!important}.os-content>.os-textarea-cover{z-index:-1;pointer-events:none}.os-content>.os-textarea[wrap=off]{white-space:pre!important;margin:0!important}.os-text-inherit{font-family:inherit;font-size:inherit;font-weight:inherit;font-style:inherit;font-variant:inherit;text-transform:inherit;text-decoration:inherit;text-indent:inherit;text-align:inherit;text-shadow:inherit;text-overflow:inherit;letter-spacing:inherit;word-spacing:inherit;line-height:inherit;unicode-bidi:inherit;direction:inherit;color:inherit;cursor:text}.os-resize-observer,.os-resize-observer-host{box-sizing:inherit;display:block;opacity:0;position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1}.os-resize-observer-host{padding:inherit;border:solid inherit;box-sizing:border-box}.os-resize-observer-host:after{content:''}.os-resize-observer-host:after,.os-resize-observer-host>.os-resize-observer{height:200%;width:200%;padding:inherit;border:inherit;margin:0;display:block;box-sizing:content-box}.os-resize-observer.observed,object.os-resize-observer{box-sizing:border-box!important}.os-size-auto-observer{box-sizing:inherit!important;height:100%;width:inherit;max-width:1px;position:relative;float:left;max-height:1px;overflow:hidden;z-index:-1;padding:0;margin:0;pointer-events:none;flex-grow:inherit;flex-shrink:0;flex-basis:0}.os-size-auto-observer>.os-resize-observer{width:1000%;height:1000%;min-height:1px;min-width:1px}.os-resize-observer-item{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;z-index:-1;opacity:0;direction:ltr!important;-webkit-box-flex:0!important;-ms-flex:none!important;flex:none!important}.os-resize-observer-item-final{position:absolute;left:0;top:0;-webkit-transition:none!important;transition:none!important;-webkit-box-flex:0!important;-ms-flex:none!important;flex:none!important}.os-resize-observer{-webkit-animation-duration:1ms;animation-duration:1ms;-webkit-animation-name:hs-resize-observer-dummy-animation;animation-name:hs-resize-observer-dummy-animation}.os-host-transition>.os-scrollbar,.os-host-transition>.os-scrollbar-corner{-webkit-transition:opacity .3s,visibility .3s,top .3s,right .3s,bottom .3s,left .3s;transition:opacity .3s,visibility .3s,top .3s,right .3s,bottom .3s,left .3s}html.os-html>.os-host>.os-scrollbar{position:absolute;z-index:999999}.os-scrollbar,.os-scrollbar-corner{position:absolute;opacity:1;-ms-filter:'progid:DXImageTransform.Microsoft.Alpha(Opacity=100)';z-index:1}.os-scrollbar-corner{bottom:0;right:0}.os-scrollbar{pointer-events:none}.os-scrollbar-handle,.os-scrollbar-track{pointer-events:auto;width:100%;height:100%}.os-scrollbar-track{position:relative;padding:0!important;border:none!important}.os-scrollbar-handle{position:absolute}.os-scrollbar-handle-off,.os-scrollbar-track-off{pointer-events:none}.os-scrollbar.os-scrollbar-unusable,.os-scrollbar.os-scrollbar-unusable *{pointer-events:none!important}.os-scrollbar.os-scrollbar-unusable .os-scrollbar-handle{opacity:0!important}.os-scrollbar-horizontal{bottom:0;left:0}.os-scrollbar-vertical{top:0;right:0}.os-host-rtl>.os-scrollbar-horizontal{right:0}.os-host-rtl>.os-scrollbar-corner,.os-host-rtl>.os-scrollbar-vertical{right:auto;left:0}.os-host-resize-disabled.os-host-scrollbar-horizontal-hidden>.os-scrollbar-corner,.os-host-resize-disabled.os-host-scrollbar-vertical-hidden>.os-scrollbar-corner,.os-host-scrollbar-horizontal-hidden>.os-scrollbar-horizontal,.os-host-scrollbar-vertical-hidden>.os-scrollbar-vertical,.os-padding+.os-scrollbar-corner,.os-scrollbar-auto-hidden,.os-scrollbar-horizontal+.os-scrollbar-vertical.os-scrollbar-auto-hidden+.os-scrollbar-corner,.os-scrollbar-horizontal.os-scrollbar-auto-hidden+.os-scrollbar-vertical+.os-scrollbar-corner,.os-scrollbar-horizontal.os-scrollbar-auto-hidden+.os-scrollbar-vertical.os-scrollbar-auto-hidden+.os-scrollbar-corner{opacity:0;visibility:hidden;pointer-events:none}.os-scrollbar-corner-resize-both{cursor:nwse-resize}.os-host-rtl>.os-scrollbar-corner-resize-both{cursor:nesw-resize}.os-scrollbar-corner-resize-horizontal{cursor:ew-resize}.os-scrollbar-corner-resize-vertical{cursor:ns-resize}.os-dragging .os-scrollbar-corner.os-scrollbar-corner-resize{cursor:default}.os-host-resize-disabled.os-host-scrollbar-horizontal-hidden>.os-scrollbar-vertical{top:0;bottom:0}.os-host-resize-disabled.os-host-scrollbar-vertical-hidden>.os-scrollbar-horizontal,.os-host-rtl.os-host-resize-disabled.os-host-scrollbar-vertical-hidden>.os-scrollbar-horizontal{right:0;left:0}.os-scrollbar-corner.os-scrollbar-corner-resize,.os-scrollbar:hover{opacity:1!important;visibility:visible!important}.os-scrollbar-corner.os-scrollbar-corner-resize{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+PHN2ZyAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIiAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyIgICB4bWxuczpzdmc9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgICB3aWR0aD0iMTAiICAgaGVpZ2h0PSIxMCIgICB2ZXJzaW9uPSIxLjEiPiAgPGcgICAgIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAsLTEwNDIuMzYyMikiICAgICBzdHlsZT0iZGlzcGxheTppbmxpbmUiPiAgICA8cGF0aCAgICAgICBzdHlsZT0iZmlsbDojMDAwMDAwO2ZpbGwtb3BhY2l0eTowLjQ5NDExNzY1O2ZpbGwtcnVsZTpldmVub2RkO3N0cm9rZTpub25lIiAgICAgICBkPSJtIDcuNDI0MjE4NywxMDQyLjM2MjIgYyAtMC43MjM1NzkyLDAgLTEuMzEwMTU2MiwwLjU4NjYgLTEuMzEwMTU2MiwxLjMxMDIgMCwwLjI5OSAwLjEwNDM0MTksMC41NzEgMC4yNzI5NDkyLDAuNzkxNSAwLjIwOTEwMjQsMC4xNDEzIDAuNDY1NjIwNiwwLjIxODQgMC43MzY5NjI5LDAuMjE4NCAwLjcyMzU3OTMsMCAxLjMxMDE1NjMsLTAuNTg2NiAxLjMxMDE1NjMsLTEuMzEwMiAwLC0wLjI3MTMgLTAuMDc3MDkzLC0wLjUyNzggLTAuMjE4MzU5NCwtMC43MzcgLTAuMjIwNDk0MSwtMC4xNjg2IC0wLjQ5MjU0NDMsLTAuMjcyOSAtMC43OTE1NTI4LC0wLjI3MjkgeiBtIDAsMy4wODQzIGMgLTAuNzIzNTc5MiwwIC0xLjMxMDE1NjIsMC41ODY2IC0xLjMxMDE1NjIsMS4zMTAyIDAsMC4yOTkgMC4xMDQzNDE5LDAuNTcxIDAuMjcyOTQ5MiwwLjc5MTUgMC4yMDkxMDI0LDAuMTQxMyAwLjQ2NTYyMDYsMC4yMTg0IDAuNzM2OTYyOSwwLjIxODQgMC43MjM1NzkzLDAgMS4zMTAxNTYzLC0wLjU4NjYgMS4zMTAxNTYzLC0xLjMxMDIgMCwtMC4yNzEzIC0wLjA3NzA5MywtMC41Mjc4IC0wLjIxODM1OTQsLTAuNzM2OSAtMC4yMjA0OTQxLC0wLjE2ODYgLTAuNDkyNTQ0MywtMC4yNzMgLTAuNzkxNTUyOCwtMC4yNzMgeiBtIC0zLjA4NDMyNjEsMCBjIC0wLjcyMzU3OTMsMCAtMS4zMTAxNTYzLDAuNTg2NiAtMS4zMTAxNTYzLDEuMzEwMiAwLDAuMjk5IDAuMTA0MzQxOSwwLjU3MSAwLjI3Mjk0OTIsMC43OTE1IDAuMjA5MTAyNCwwLjE0MTMgMC40NjU2MjA3LDAuMjE4NCAwLjczNjk2MjksMC4yMTg0IDAuNzIzNTc5MywwIDEuMzEwMTU2MywtMC41ODY2IDEuMzEwMTU2MywtMS4zMTAyIDAsLTAuMjcxMyAtMC4wNzcwOTMsLTAuNTI3OCAtMC4yMTgzNTk0LC0wLjczNjkgLTAuMjIwNDk0LC0wLjE2ODYgLTAuNDkyNTQ0MiwtMC4yNzMgLTAuNzkxNTUyNywtMC4yNzMgeiBtIC0zLjAyOTczNjQsMy4wMjk4IEMgMC41ODY1NzY5MywxMDQ4LjQ3NjMgMCwxMDQ5LjA2MjggMCwxMDQ5Ljc4NjQgYyAwLDAuMjk5IDAuMTA0MzQxOSwwLjU3MTEgMC4yNzI5NDkyMiwwLjc5MTYgMC4yMDkxMDIyOSwwLjE0MTIgMC40NjU2MjA2NSwwLjIxODMgMC43MzY5NjI4OCwwLjIxODMgMC43MjM1NzkzLDAgMS4zMTAxNTYzLC0wLjU4NjUgMS4zMTAxNTYzLC0xLjMxMDEgMCwtMC4yNzE0IC0wLjA3NzA5MywtMC41Mjc5IC0wLjIxODM1OTQsLTAuNzM3IC0wLjIyMDQ5NDEsLTAuMTY4NiAtMC40OTI1NDQzLC0wLjI3MjkgLTAuNzkxNTUyOCwtMC4yNzI5IHogbSAzLjAyOTczNjQsMCBjIC0wLjcyMzU3OTMsMCAtMS4zMTAxNTYzLDAuNTg2NSAtMS4zMTAxNTYzLDEuMzEwMSAwLDAuMjk5IDAuMTA0MzQxOSwwLjU3MTEgMC4yNzI5NDkyLDAuNzkxNiAwLjIwOTEwMjQsMC4xNDEyIDAuNDY1NjIwNywwLjIxODMgMC43MzY5NjI5LDAuMjE4MyAwLjcyMzU3OTMsMCAxLjMxMDE1NjMsLTAuNTg2NSAxLjMxMDE1NjMsLTEuMzEwMSAwLC0wLjI3MTQgLTAuMDc3MDkzLC0wLjUyNzkgLTAuMjE4MzU5NCwtMC43MzcgLTAuMjIwNDk0LC0wLjE2ODYgLTAuNDkyNTQ0MiwtMC4yNzI5IC0wLjc5MTU1MjcsLTAuMjcyOSB6IG0gMy4wODQzMjYxLDAgYyAtMC43MjM1NzkyLDAgLTEuMzEwMTU2MiwwLjU4NjUgLTEuMzEwMTU2MiwxLjMxMDEgMCwwLjI5OSAwLjEwNDM0MTksMC41NzExIDAuMjcyOTQ5MiwwLjc5MTYgMC4yMDkxMDI0LDAuMTQxMiAwLjQ2NTYyMDYsMC4yMTgzIDAuNzM2OTYyOSwwLjIxODMgMC43MjM1NzkzLDAgMS4zMTAxNTYzLC0wLjU4NjUgMS4zMTAxNTYzLC0xLjMxMDEgMCwtMC4yNzE0IC0wLjA3NzA5MywtMC41Mjc5IC0wLjIxODM1OTQsLTAuNzM3IC0wLjIyMDQ5NDEsLTAuMTY4NiAtMC40OTI1NDQzLC0wLjI3MjkgLTAuNzkxNTUyOCwtMC4yNzI5IHoiLz4gIDwvZz4gIDxnICAgICBzdHlsZT0iZGlzcGxheTppbmxpbmUiPiAgICA8cGF0aCAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpldmVub2RkO3N0cm9rZTpub25lIiAgICAgICBkPSJtIDguMjE1NzcxNSwwLjI3Mjk0OTIyIGMgMC4xNDEyNjY3LDAuMjA5MTAyMjkgMC4yMTgzNTk0LDAuNDY1NjIwNjUgMC4yMTgzNTk0LDAuNzM2OTYyODggMCwwLjcyMzU3OTMgLTAuNTg2NTc3LDEuMzEwMTU2MyAtMS4zMTAxNTYzLDEuMzEwMTU2MyAtMC4yNzEzNDIzLDAgLTAuNTI3ODYwNSwtMC4wNzcwOTMgLTAuNzM2OTYyOSwtMC4yMTgzNTk0IDAuMjM5NDEwNCwwLjMxMzA4NTkgMC42MTI2MzYyLDAuNTE4NjAzNSAxLjAzNzIwNywwLjUxODYwMzUgMC43MjM1NzkzLDAgMS4zMTAxNTYzLC0wLjU4NjU3NyAxLjMxMDE1NjMsLTEuMzEwMTU2MyAwLC0wLjQyNDU3MDc2IC0wLjIwNTUxNzYsLTAuNzk3Nzk2NTkgLTAuNTE4NjAzNSwtMS4wMzcyMDY5OCB6IG0gMCwzLjA4NDMyNjE4IGMgMC4xNDEyNjY3LDAuMjA5MTAyMyAwLjIxODM1OTQsMC40NjU2MjA2IDAuMjE4MzU5NCwwLjczNjk2MjkgMCwwLjcyMzU3OTMgLTAuNTg2NTc3LDEuMzEwMTU2MiAtMS4zMTAxNTYzLDEuMzEwMTU2MiAtMC4yNzEzNDIzLDAgLTAuNTI3ODYwNSwtMC4wNzcwOTMgLTAuNzM2OTYyOSwtMC4yMTgzNTkzIDAuMjM5NDEwNCwwLjMxMzA4NTkgMC42MTI2MzYyLDAuNTE4NjAzNSAxLjAzNzIwNywwLjUxODYwMzUgMC43MjM1NzkzLDAgMS4zMTAxNTYzLC0wLjU4NjU3NyAxLjMxMDE1NjMsLTEuMzEwMTU2MyAwLC0wLjQyNDU3MDggLTAuMjA1NTE3NiwtMC43OTc3OTY3IC0wLjUxODYwMzUsLTEuMDM3MjA3IHogbSAtMy4wODQzMjYyLDAgYyAwLjE0MTI2NjcsMC4yMDkxMDIzIDAuMjE4MzU5NCwwLjQ2NTYyMDYgMC4yMTgzNTk0LDAuNzM2OTYyOSAwLDAuNzIzNTc5MyAtMC41ODY1NzcsMS4zMTAxNTYyIC0xLjMxMDE1NjMsMS4zMTAxNTYyIC0wLjI3MTM0MjIsMCAtMC41Mjc4NjA1LC0wLjA3NzA5MyAtMC43MzY5NjI5LC0wLjIxODM1OTMgMC4yMzk0MTA0LDAuMzEzMDg1OSAwLjYxMjYzNjMsMC41MTg2MDM1IDEuMDM3MjA3MSwwLjUxODYwMzUgMC43MjM1NzkzLDAgMS4zMTAxNTYyLC0wLjU4NjU3NyAxLjMxMDE1NjIsLTEuMzEwMTU2MyAwLC0wLjQyNDU3MDggLTAuMjA1NTE3NSwtMC43OTc3OTY3IC0wLjUxODYwMzUsLTEuMDM3MjA3IHogTSAyLjEwMTcwOSw2LjM4NzAxMTcgYyAwLjE0MTI2NjcsMC4yMDkxMDI0IDAuMjE4MzU5NCwwLjQ2NTYyMDYgMC4yMTgzNTk0LDAuNzM2OTYyOSAwLDAuNzIzNTc5MyAtMC41ODY1NzcsMS4zMTAxNTYzIC0xLjMxMDE1NjMsMS4zMTAxNTYzIC0wLjI3MTM0MjIzLDAgLTAuNTI3ODYwNTksLTAuMDc3MDkzIC0wLjczNjk2Mjg4LC0wLjIxODM1OTQgMC4yMzk0MTAzOSwwLjMxMzA4NTkgMC42MTI2MzYyMiwwLjUxODYwMzUgMS4wMzcyMDY5OCwwLjUxODYwMzUgMC43MjM1NzkzLDAgMS4zMTAxNTYzLC0wLjU4NjU3NyAxLjMxMDE1NjMsLTEuMzEwMTU2MyAwLC0wLjQyNDU3MDggLTAuMjA1NTE3NiwtMC43OTc3OTY2IC0wLjUxODYwMzUsLTEuMDM3MjA3IHogbSAzLjAyOTczNjMsMCBjIDAuMTQxMjY2NywwLjIwOTEwMjQgMC4yMTgzNTk0LDAuNDY1NjIwNiAwLjIxODM1OTQsMC43MzY5NjI5IDAsMC43MjM1NzkzIC0wLjU4NjU3NywxLjMxMDE1NjMgLTEuMzEwMTU2MywxLjMxMDE1NjMgLTAuMjcxMzQyMiwwIC0wLjUyNzg2MDUsLTAuMDc3MDkzIC0wLjczNjk2MjksLTAuMjE4MzU5NCAwLjIzOTQxMDQsMC4zMTMwODU5IDAuNjEyNjM2MywwLjUxODYwMzUgMS4wMzcyMDcxLDAuNTE4NjAzNSAwLjcyMzU3OTMsMCAxLjMxMDE1NjIsLTAuNTg2NTc3IDEuMzEwMTU2MiwtMS4zMTAxNTYzIDAsLTAuNDI0NTcwOCAtMC4yMDU1MTc1LC0wLjc5Nzc5NjYgLTAuNTE4NjAzNSwtMS4wMzcyMDcgeiBtIDMuMDg0MzI2MiwwIGMgMC4xNDEyNjY3LDAuMjA5MTAyNCAwLjIxODM1OTQsMC40NjU2MjA2IDAuMjE4MzU5NCwwLjczNjk2MjkgMCwwLjcyMzU3OTMgLTAuNTg2NTc3LDEuMzEwMTU2MyAtMS4zMTAxNTYzLDEuMzEwMTU2MyAtMC4yNzEzNDIzLDAgLTAuNTI3ODYwNSwtMC4wNzcwOTMgLTAuNzM2OTYyOSwtMC4yMTgzNTk0IDAuMjM5NDEwNCwwLjMxMzA4NTkgMC42MTI2MzYyLDAuNTE4NjAzNSAxLjAzNzIwNywwLjUxODYwMzUgMC43MjM1NzkzLDAgMS4zMTAxNTYzLC0wLjU4NjU3NyAxLjMxMDE1NjMsLTEuMzEwMTU2MyAwLC0wLjQyNDU3MDggLTAuMjA1NTE3NiwtMC43OTc3OTY2IC0wLjUxODYwMzUsLTEuMDM3MjA3IHoiIC8+ICA8L2c+PC9zdmc+);background-repeat:no-repeat;background-position:100% 100%;pointer-events:auto!important}.os-host-rtl>.os-scrollbar-corner.os-scrollbar-corner-resize{-webkit-transform:scale(-1,1);transform:scale(-1,1)}.os-host-overflow{overflow:hidden!important}@-webkit-keyframes hs-resize-observer-dummy-animation{from{z-index:0}to{z-index:-1}}@keyframes hs-resize-observer-dummy-animation{from{z-index:0}to{z-index:-1}}.os-theme-none>.os-scrollbar-corner,.os-theme-none>.os-scrollbar-horizontal,.os-theme-none>.os-scrollbar-vertical{display:none!important}.os-theme-none>.os-scrollbar-corner-resize{display:block!important;min-width:10px;min-height:10px}.os-theme-dark>.os-scrollbar-horizontal,.os-theme-light>.os-scrollbar-horizontal{right:10px;height:10px}.os-theme-dark>.os-scrollbar-vertical,.os-theme-light>.os-scrollbar-vertical{bottom:10px;width:10px}.os-theme-dark.os-host-rtl>.os-scrollbar-horizontal,.os-theme-light.os-host-rtl>.os-scrollbar-horizontal{left:10px;right:0}.os-theme-dark>.os-scrollbar-corner,.os-theme-light>.os-scrollbar-corner{height:10px;width:10px;background-color:transparent}.os-theme-dark>.os-scrollbar,.os-theme-light>.os-scrollbar{padding:2px;box-sizing:border-box;background:0 0}.os-theme-dark>.os-scrollbar.os-scrollbar-unusable,.os-theme-dark>.os-scrollbar>.os-scrollbar-track,.os-theme-light>.os-scrollbar.os-scrollbar-unusable,.os-theme-light>.os-scrollbar>.os-scrollbar-track{background:0 0}.os-theme-dark>.os-scrollbar-horizontal>.os-scrollbar-track>.os-scrollbar-handle,.os-theme-light>.os-scrollbar-horizontal>.os-scrollbar-track>.os-scrollbar-handle{min-width:30px}.os-theme-dark>.os-scrollbar-vertical>.os-scrollbar-track>.os-scrollbar-handle,.os-theme-light>.os-scrollbar-vertical>.os-scrollbar-track>.os-scrollbar-handle{min-height:30px}.os-theme-dark.os-host-transition>.os-scrollbar>.os-scrollbar-track>.os-scrollbar-handle,.os-theme-light.os-host-transition>.os-scrollbar>.os-scrollbar-track>.os-scrollbar-handle{-webkit-transition:background-color .3s;transition:background-color .3s}.os-theme-dark>.os-scrollbar>.os-scrollbar-track,.os-theme-dark>.os-scrollbar>.os-scrollbar-track>.os-scrollbar-handle,.os-theme-light>.os-scrollbar>.os-scrollbar-track,.os-theme-light>.os-scrollbar>.os-scrollbar-track>.os-scrollbar-handle{border-radius:10px}.os-theme-dark>.os-scrollbar>.os-scrollbar-track>.os-scrollbar-handle{background:rgba(0,0,0,.4)}.os-theme-light>.os-scrollbar>.os-scrollbar-track>.os-scrollbar-handle{background:rgba(255,255,255,.4)}.os-theme-dark>.os-scrollbar:hover>.os-scrollbar-track>.os-scrollbar-handle{background:rgba(0,0,0,.55)}.os-theme-light>.os-scrollbar:hover>.os-scrollbar-track>.os-scrollbar-handle{background:rgba(255,255,255,.55)}.os-theme-dark>.os-scrollbar>.os-scrollbar-track>.os-scrollbar-handle.active{background:rgba(0,0,0,.7)}.os-theme-light>.os-scrollbar>.os-scrollbar-track>.os-scrollbar-handle.active{background:rgba(255,255,255,.7)}.os-theme-dark>.os-scrollbar-horizontal .os-scrollbar-handle:before,.os-theme-dark>.os-scrollbar-vertical .os-scrollbar-handle:before,.os-theme-light>.os-scrollbar-horizontal .os-scrollbar-handle:before,.os-theme-light>.os-scrollbar-vertical .os-scrollbar-handle:before{content:'';position:absolute;left:0;right:0;top:0;bottom:0;display:block}.os-theme-dark.os-host-scrollbar-horizontal-hidden>.os-scrollbar-horizontal .os-scrollbar-handle:before,.os-theme-dark.os-host-scrollbar-vertical-hidden>.os-scrollbar-vertical .os-scrollbar-handle:before,.os-theme-light.os-host-scrollbar-horizontal-hidden>.os-scrollbar-horizontal .os-scrollbar-handle:before,.os-theme-light.os-host-scrollbar-vertical-hidden>.os-scrollbar-vertical .os-scrollbar-handle:before{display:none}.os-theme-dark>.os-scrollbar-horizontal .os-scrollbar-handle:before,.os-theme-light>.os-scrollbar-horizontal .os-scrollbar-handle:before{top:-6px;bottom:-2px}.os-theme-dark>.os-scrollbar-vertical .os-scrollbar-handle:before,.os-theme-light>.os-scrollbar-vertical .os-scrollbar-handle:before{left:-6px;right:-2px}.os-host-rtl.os-theme-dark>.os-scrollbar-vertical .os-scrollbar-handle:before,.os-host-rtl.os-theme-light>.os-scrollbar-vertical .os-scrollbar-handle:before{right:-6px;left:-2px} \ No newline at end of file diff --git a/js/OverlayScrollbars.js b/js/OverlayScrollbars.js index e374f73..9243a2a 100644 --- a/js/OverlayScrollbars.js +++ b/js/OverlayScrollbars.js @@ -2,13 +2,13 @@ * OverlayScrollbars * https://github.com/KingSora/OverlayScrollbars * - * Version: 1.5.1 + * Version: 1.5.2 * * Copyright KingSora. * https://github.com/KingSora * * Released under the MIT license. - * Date: 13.07.2018 + * Date: 09.09.2018 */ (function (global, factory) { @@ -41,6 +41,7 @@ s : 'style', i : 'id', l : 'length', + p : 'prototype', oH : 'offsetHeight', cH : 'clientHeight', sH : 'scrollHeight', @@ -212,14 +213,14 @@ // internal IsCallable function //throw new TypeError('Function.prototype.bind - what is trying to be bound is not callable'); } - - var aArgs = Array.prototype.slice.call(arguments, 2); + var proto = LEXICON.p; + var aArgs = Array[proto].slice.call(arguments, 2); var fNOP = function() {}; - var fBound = function() { return func.apply(this instanceof fNOP ? this : thisObj, aArgs.concat(Array.prototype.slice.call(arguments))); }; + var fBound = function() { return func.apply(this instanceof fNOP ? this : thisObj, aArgs.concat(Array[proto].slice.call(arguments))); }; - if (func.prototype) - fNOP.prototype = func.prototype; // Function.prototype doesn't have a prototype property - fBound.prototype = new fNOP(); + if (func[proto]) + fNOP[proto] = func[proto]; // Function.prototype doesn't have a prototype property + fBound[proto] = new fNOP(); return fBound; } @@ -228,7 +229,7 @@ var JQUERY = window.jQuery; var FRAMEWORK = (function(compatibility) { var _rnothtmlwhite = ( /[^\x20\t\r\n\f]+/g ); - var _toStr = Object.prototype.toString; + var _toStr = Object[LEXICON.p].toString; var _strSpace = ' '; var _strEmpty = ''; var _strScrollLeft = 'scrollLeft'; @@ -482,9 +483,10 @@ return false; var key; - var hasOwnProperty = Object.prototype.hasOwnProperty; + var proto = LEXICON.p; + var hasOwnProperty = Object[proto].hasOwnProperty; var hasOwnConstructor = hasOwnProperty.call(obj, 'constructor'); - var hasIsPrototypeOf = obj.constructor && obj.constructor.prototype && hasOwnProperty.call(obj.constructor.prototype, 'isPrototypeOf'); + var hasIsPrototypeOf = obj.constructor && obj.constructor[proto] && hasOwnProperty.call(obj.constructor[proto], 'isPrototypeOf'); if (obj.constructor && !hasOwnConstructor && !hasIsPrototypeOf) { return false; @@ -797,7 +799,7 @@ } } - FakejQuery.prototype = { + FakejQuery[LEXICON.p] = { //EVENTS: @@ -1343,10 +1345,11 @@ var restrictedStringsSplit = " "; var restrictedStringsPossibilitiesSplit = ":"; var classNameAllowedValues = [TYPES.z, TYPES.s]; - var booleanAllowedValues = TYPES.b; var numberAllowedValues = TYPES.n; - var booleanNullAllowedValues = [TYPES.z, booleanAllowedValues]; - var callbackAllowedValues = [TYPES.z, TYPES.f]; + var booleanNullAllowedValues = [TYPES.z, TYPES.b]; + var booleanTrueTemplate = [true, TYPES.b]; + var booleanFalseTemplate = [false, TYPES.b]; + var callbackTemplate = [null, [TYPES.z, TYPES.f]]; var resizeAllowedValues = 'n:none b:both h:horizontal v:vertical'; var overflowBehaviorAllowedValues = 'v-h:visible-hidden v-s:visible-scroll s:scroll h:hidden'; var scrollbarsVisibilityAllowedValues = 'v:visible h:hidden a:auto'; @@ -1354,15 +1357,15 @@ var optionsDefaultsAndTemplate = { className: ['os-theme-dark', classNameAllowedValues], //null || string resize: ['none', resizeAllowedValues], //none || both || horizontal || vertical || n || b || h || v - sizeAutoCapable: [true, booleanAllowedValues], //true || false - clipAlways: [true, booleanAllowedValues], //true || false - normalizeRTL: [true, booleanAllowedValues], //true || false - paddingAbsolute: [false, booleanAllowedValues], //true || false + sizeAutoCapable: booleanTrueTemplate, //true || false + clipAlways: booleanTrueTemplate, //true || false + normalizeRTL: booleanTrueTemplate, //true || false + paddingAbsolute: booleanFalseTemplate, //true || false autoUpdate: [null, booleanNullAllowedValues], //true || false || null autoUpdateInterval: [33, numberAllowedValues], //number nativeScrollbarsOverlaid: { - showNativeScrollbars: [false, booleanAllowedValues], //true || false - initialize: [true, booleanAllowedValues] //true || false + showNativeScrollbars: booleanFalseTemplate, //true || false + initialize: booleanTrueTemplate //true || false }, overflowBehavior: { x: ['scroll', overflowBehaviorAllowedValues], //visible-hidden || visible-scroll || hidden || scroll || v-h || v-s || h || s @@ -1372,27 +1375,27 @@ visibility: ['auto', scrollbarsVisibilityAllowedValues], //visible || hidden || auto || v || h || a autoHide: ['never', scrollbarsAutoHideAllowedValues], //never || scroll || leave || move || n || s || l || m autoHideDelay: [800, numberAllowedValues], //number - dragScrolling: [true, booleanAllowedValues], //true || false - clickScrolling: [false, booleanAllowedValues], //true || false - touchSupport: [true, booleanAllowedValues] //true || false + dragScrolling: booleanTrueTemplate, //true || false + clickScrolling: booleanFalseTemplate, //true || false + touchSupport: booleanTrueTemplate //true || false }, textarea: { - dynWidth: [false, booleanAllowedValues], //true || false - dynHeight: [false, booleanAllowedValues] //true || false + dynWidth: booleanFalseTemplate, //true || false + dynHeight: booleanFalseTemplate //true || false }, callbacks: { - onInitialized: [null, callbackAllowedValues], //null || function - onInitializationWithdrawn: [null, callbackAllowedValues], //null || function - onDestroyed: [null, callbackAllowedValues], //null || function - onScrollStart: [null, callbackAllowedValues], //null || function - onScroll: [null, callbackAllowedValues], //null || function - onScrollStop: [null, callbackAllowedValues], //null || function - onOverflowChanged: [null, callbackAllowedValues], //null || function - onOverflowAmountChanged: [null, callbackAllowedValues], //null || function - onDirectionChanged: [null, callbackAllowedValues], //null || function - onContentSizeChanged: [null, callbackAllowedValues], //null || function - onHostSizeChanged: [null, callbackAllowedValues], //null || function - onUpdated: [null, callbackAllowedValues] //null || function + onInitialized: callbackTemplate, //null || function + onInitializationWithdrawn: callbackTemplate, //null || function + onDestroyed: callbackTemplate, //null || function + onScrollStart: callbackTemplate, //null || function + onScroll: callbackTemplate, //null || function + onScrollStop: callbackTemplate, //null || function + onOverflowChanged: callbackTemplate, //null || function + onOverflowAmountChanged: callbackTemplate, //null || function + onDirectionChanged: callbackTemplate, //null || function + onContentSizeChanged: callbackTemplate, //null || function + onHostSizeChanged: callbackTemplate, //null || function + onUpdated: callbackTemplate //null || function } }; var convert = function(template) { @@ -1551,11 +1554,8 @@ var scrollbarDummyElement = framework('
'); var scrollbarDummyElement0 = scrollbarDummyElement[0]; var dummyContainerChild = framework(scrollbarDummyElement.children('div').eq(0)); - var IEBUGFIX = scrollbarDummyElement0[LEXICON.oH]; //IE9 causes a bug where offsetHeight is zero for no reason bodyElement.append(scrollbarDummyElement); - if(IEBUGFIX === 0) - scrollbarDummyElement.hide().show(); var nativeScrollbarSize = calcNativeScrollbarSize(scrollbarDummyElement0); var nativeScrollbarIsOverlaid = { @@ -1674,18 +1674,7 @@ if(nativeScrollbarIsOverlaid.x && nativeScrollbarIsOverlaid.y) return; - function differenceIsBiggerThanOne(valOne, valTwo) { - var absValOne = Math.abs(valOne); - var absValTwo = Math.abs(valTwo); - return !(absValOne === absValTwo || absValOne + 1 === absValTwo || absValOne - 1 === absValTwo); - } - - function getWindowDPR() { - var dDPI = window.screen.deviceXDPI || 0; - var sDPI = window.screen.logicalXDPI || 1; - return window.devicePixelRatio || (dDPI / sDPI); - } - + var abs = Math.abs; var windowWidth = compatibility.wW(); var windowHeight = compatibility.wH(); var windowDpr = getWindowDPR(); @@ -1701,10 +1690,10 @@ var deltaWRatio = Math.round(newW / (windowWidth / 100.0)); var deltaHRatio = Math.round(newH / (windowHeight / 100.0)); - var absDeltaW = Math.abs(deltaW); - var absDeltaH = Math.abs(deltaH); - var absDeltaWRatio = Math.abs(deltaWRatio); - var absDeltaHRatio = Math.abs(deltaHRatio); + var absDeltaW = abs(deltaW); + var absDeltaH = abs(deltaH); + var absDeltaWRatio = abs(deltaWRatio); + var absDeltaHRatio = abs(deltaHRatio); var newDPR = getWindowDPR(); var deltaIsBigger = absDeltaW > 2 && absDeltaH > 2; @@ -1731,6 +1720,19 @@ windowDpr = newDPR; } }; + + function differenceIsBiggerThanOne(valOne, valTwo) { + var absValOne = abs(valOne); + var absValTwo = abs(valTwo); + return !(absValOne === absValTwo || absValOne + 1 === absValTwo || absValOne - 1 === absValTwo); + } + + function getWindowDPR() { + var dDPI = window.screen.deviceXDPI || 0; + var sDPI = window.screen.logicalXDPI || 1; + return window.devicePixelRatio || (dDPI / sDPI); + } + framework(window).on('resize', onResize); })(); @@ -1774,6 +1776,7 @@ var _base = this; var _strAutoUpdate = 'autoUpdate'; var _strAutoUpdateInterval = _strAutoUpdate + 'Interval'; + var _strLength = LEXICON.l; var _loopingInstances = [ ]; var _loopingInstancesIntervalCache = [ ]; @@ -1787,7 +1790,7 @@ * The auto update loop which will run every 50 milliseconds or less if the update interval of a instance is lower than 50 milliseconds. */ var loop = function() { - if(_loopingInstances.length > 0 && _loopIsActive) { + if(_loopingInstances[_strLength] > 0 && _loopIsActive) { _loopID = compatibility.rAF()(function () { loop(); }); @@ -1797,7 +1800,7 @@ if (timeDelta > _loopInterval) { _loopTimeOld = timeNew - (timeDelta % _loopInterval); var lowestInterval = _loopIntervalDefault; - for(var i = 0; i < _loopingInstances.length; i++) { + for(var i = 0; i < _loopingInstances[_strLength]; i++) { var instance = _loopingInstances[i]; if (instance !== undefined) { var instanceOptions = instance.options(); @@ -1826,7 +1829,7 @@ if(framework.inArray(instance, _loopingInstances) === -1) { _loopingInstances.push(instance); _loopingInstancesIntervalCache.push(compatibility.now()); - if (_loopingInstances.length > 0 && !_loopIsActive) { + if (_loopingInstances[_strLength] > 0 && !_loopIsActive) { _loopIsActive = true; globals.autoUpdateLoop = _loopIsActive; loop(); @@ -1846,7 +1849,7 @@ _loopingInstances.splice(index, 1); //correct update loop behavior - if (_loopingInstances.length === 0 && _loopIsActive) { + if (_loopingInstances[_strLength] === 0 && _loopIsActive) { _loopIsActive = false; globals.autoUpdateLoop = _loopIsActive; if(_loopID !== undefined) { @@ -1882,6 +1885,7 @@ //make correct instanceof var _base = new window[PLUGINNAME](); + var _frameworkProto = framework[LEXICON.p]; //globals: var _nativeScrollbarIsOverlaid; @@ -3041,14 +3045,16 @@ * @param hostSizeChanged True if this method was called due to a host size change. * @param contentSizeChanged True if this method was called due to a content size change. * @param force True if every property shall be updated and the cache shall be ignored. + * @param preventSwallowing True if this method shall be executed event if it could be swallowed. */ - function update(hostSizeChanged, contentSizeChanged, force) { + function update(hostSizeChanged, contentSizeChanged, force, preventSwallowing) { var now = compatibility.now(); - var swallow = _swallowUpdateLag > 0 && _initialized && (now - _lastUpdateTime) < _swallowUpdateLag && (!_heightAutoCache && !_widthAutoCache); + var swallow = _swallowUpdateLag > 0 && _initialized && (now - _lastUpdateTime) < _swallowUpdateLag && (!_heightAutoCache && !_widthAutoCache) && !preventSwallowing; var displayIsHidden = _hostElement.is(':hidden'); var displayIsHiddenChanged = checkCacheSingle(displayIsHidden, _displayIsHiddenCache, force); _displayIsHiddenCache = displayIsHidden; clearTimeout(_swallowedUpdateTimeout); + if (swallow) { _swallowedUpdateParams.h = hostSizeChanged; _swallowedUpdateParams.c = contentSizeChanged; @@ -3097,7 +3103,6 @@ freezeResizeObserver(_sizeObserverElement); freezeResizeObserver(_sizeAutoObserverElement); - //save current scroll offset var currScroll = { l: _viewportElement[_strScrollLeft](), @@ -3160,7 +3165,7 @@ //dynWidth: var textareaDynWidth = currentPreparedOptionsTextarea.dynWidth; - var textareaDynWidthChanged = checkCacheSingle(_textareaDynWidthCache, textareaDynHeight); + var textareaDynWidthChanged = checkCacheSingle(_textareaDynWidthCache, textareaDynWidth); //dynHeight: var textareaDynHeight = currentPreparedOptionsTextarea.dynHeight; @@ -3209,6 +3214,7 @@ _overflowBehaviorCache = extend(true, {}, overflowBehavior); _textareaDynWidthCache = textareaDynWidth; _textareaDynHeightCache = textareaDynHeight; + _hasOverflowCache = _hasOverflowCache || { x: false, y: false }; //set correct class name to the host element if (classNameChanged) { @@ -3382,8 +3388,10 @@ //set info for padding _paddingX = padding.l + padding.r; _paddingY = padding.t + padding.b; + padding.ax = paddingAbsolute ? _paddingX : 0; + padding.ay = paddingAbsolute ? _paddingY : 0; padding.c = checkCacheTRBL(padding, _cssPaddingCache); - + //set info for border _borderX = border.l + border.r; _borderY = border.t + border.b; @@ -3451,22 +3459,24 @@ if (heightAuto && (heightAutoChanged || paddingAbsoluteChanged || boxSizingChanged || cssMaxValue.c || padding.c || border.c)) { if (cssMaxValue.cw) contentElementCSS[_strMaxMinus + _strHeight] = - (cssMaxValue.ch ? (cssMaxValue.ih - (paddingAbsolute ? _paddingY : 0) + - (_isBorderBox ? -_borderY : _paddingY)) : _strEmpty); + (cssMaxValue.ch ? (cssMaxValue.ih - padding.ay + (_isBorderBox ? -_borderY : _paddingY)) + : _strEmpty); contentElementCSS[_strHeight] = _strAuto; - } else if (heightAutoChanged || paddingAbsoluteChanged) { + } + else if (heightAutoChanged || paddingAbsoluteChanged) { contentElementCSS[_strMaxMinus + _strHeight] = _strEmpty; contentElementCSS[_strHeight] = _strHundredPercent; } if (widthAuto && (widthAutoChanged || paddingAbsoluteChanged || boxSizingChanged || cssMaxValue.c || padding.c || border.c || cssDirectionChanged)) { if (cssMaxValue.cw) contentElementCSS[_strMaxMinus + _strWidth] = - (cssMaxValue.cw ? (cssMaxValue.iw - (paddingAbsolute ? _paddingX : 0) + - (_isBorderBox ? -_borderX : _paddingX)) + - (_nativeScrollbarIsOverlaid.y /*&& _hasOverflowCache.y && widthAuto */ ? _overlayScrollbarDummySize.y : 0) : _strEmpty); + (cssMaxValue.cw ? (cssMaxValue.iw - padding.ax + (_isBorderBox ? -_borderX : _paddingX)) + + (_nativeScrollbarIsOverlaid.y /*&& _hasOverflowCache.y && widthAuto */ ? _overlayScrollbarDummySize.y : 0) + : _strEmpty); contentElementCSS[_strWidth] = _strAuto; contentGlueElementCSS[_strMaxMinus + _strWidth] = _strHundredPercent; //IE Fix - } else if (widthAutoChanged || paddingAbsoluteChanged) { + } + else if (widthAutoChanged || paddingAbsoluteChanged) { contentElementCSS[_strMaxMinus + _strWidth] = _strEmpty; contentElementCSS[_strWidth] = _strHundredPercent; contentElementCSS[_strFloat] = _strEmpty; @@ -3491,14 +3501,12 @@ _contentGlueElement.css(contentGlueElementCSS); _contentElement.css(contentElementCSS); - //CHECKPOINT HERE ~ contentElementCSS = {}; contentGlueElementCSS = {}; - _hasOverflowCache = _hasOverflowCache || {x: false, y: false}; - + //if [content(host) client / scroll size, or target element direction, or content(host) max-sizes] changed, or force is true - if (hostSizeChanged || contentSizeChanged || cssDirectionChanged || boxSizingChanged || paddingAbsoluteChanged || widthAutoChanged || widthAuto || heightAutoChanged || heightAuto || cssMaxValue.c || ignoreOverlayScrollbarHidingChanged || overflowBehaviorChanged || clipAlwaysChanged || resizeChanged || scrollbarsVisibilityChanged || textareaDynWidthChanged || textareaDynHeightChanged || textareaAutoWrappingChanged || paddingAbsoluteChanged || textareaDynWidthChanged || textareaDynHeightChanged || force) { + if (hostSizeChanged || contentSizeChanged || cssDirectionChanged || boxSizingChanged || paddingAbsoluteChanged || widthAutoChanged || widthAuto || heightAutoChanged || heightAuto || cssMaxValue.c || ignoreOverlayScrollbarHidingChanged || overflowBehaviorChanged || clipAlwaysChanged || resizeChanged || scrollbarsVisibilityChanged || textareaDynWidthChanged || textareaDynHeightChanged || textareaAutoWrappingChanged || force) { var strOverflow = 'overflow'; var strOverflowX = strOverflow + '-x'; var strOverflowY = strOverflow + '-y'; @@ -3554,8 +3562,8 @@ h: hostElement[LEXICON.cH] }; var contentGlueSize = { - w: Math.max(contentClientSize.w + (paddingAbsolute ? _paddingX : 0), hostSize.w - _paddingX) - (textareaDynWidth ? (_isTextarea && widthAuto ? _marginX + (!_isBorderBox ? _paddingX + _borderX : 0) : 0) : 0), - h: Math.max(contentClientSize.h + (paddingAbsolute ? _paddingY : 0), hostSize.h - _paddingY) + w: Math.max(contentClientSize.w + padding.ax, hostSize.w - _paddingX) - (textareaDynWidth ? (_isTextarea && widthAuto ? _marginX + (!_isBorderBox ? _paddingX + _borderX : 0) : 0) : 0), + h: Math.max(contentClientSize.h + padding.ay, hostSize.h - _paddingY) }; contentGlueSize.c = checkCacheDouble(contentGlueSize, _contentGlueSizeCache, force); _contentGlueSizeCache = contentGlueSize; @@ -3661,8 +3669,8 @@ * }; */ var overflowAmount = { - x: Math.max(0, Math.round((contentScrollSize.w - hostSize.w + (paddingAbsolute ? _paddingX : 0)) * 100) / 100), - y: Math.max(0, Math.round((contentScrollSize.h - hostSize.h + (paddingAbsolute ? _paddingY : 0)) * 100) / 100) + x: Math.max(0, Math.round((contentScrollSize.w - hostSize.w + padding.ax) * 100) / 100), + y: Math.max(0, Math.round((contentScrollSize.h - hostSize.h + padding.ay) * 100) / 100) }; var hideOverflowForceTextarea = _isTextarea && (_viewportSize.w === 0 || _viewportSize.h === 0); if (hideOverflowForceTextarea) { @@ -4104,13 +4112,13 @@ } //fix body min size - if (_isBody && (hasOverflow.c || _bodyMinSizeCache.c)) { + if (_isBody && (_hasOverflowCache.c || _bodyMinSizeCache.c)) { //its possible that no min size was measured until now, because the content arrange element was just added now, in this case, measure now the min size. if (!_bodyMinSizeCache.f) bodyMinSizeChanged(); - if (_nativeScrollbarIsOverlaid.y && hasOverflow.x) + if (_nativeScrollbarIsOverlaid.y && _hasOverflowCache.x) _contentElement.css(_strMinMinus + _strWidth, _bodyMinSizeCache.w + _overlayScrollbarDummySize.y); - if (_nativeScrollbarIsOverlaid.x && hasOverflow.y) + if (_nativeScrollbarIsOverlaid.x && _hasOverflowCache.y) _contentElement.css(_strMinMinus + _strHeight, _bodyMinSizeCache.h + _overlayScrollbarDummySize.x); _bodyMinSizeCache.c = false; } @@ -4182,25 +4190,45 @@ */ function initScrollbarInteractivity(isHorizontal) { var scrollbarVars = getScrollbarVars(isHorizontal); + var insideIFrame = _windowElement.top !== _windowElement; var mouseDownScroll; var mouseDownOffset; var xy = scrollbarVars.xy; + var XY = scrollbarVars.XY; var scroll = _strScroll + scrollbarVars.LT; var strActive = 'active'; var trackTimeout; var scrollDurationFactor = 1; var increaseDecreaseScrollAmountKeyCodes = [ 16, 17 ]; //shift, ctrl - var increaseTrackScrollAmount = function () { + function increaseTrackScrollAmount() { scrollDurationFactor = 0.5; }; - var decreaseTrackScrollAmount = function () { + function decreaseTrackScrollAmount() { scrollDurationFactor = 1; }; - var handleDragMove = function (event) { + function documentKeyDown(event) { + if (framework.inArray(event.keyCode, increaseDecreaseScrollAmountKeyCodes) > -1) + increaseTrackScrollAmount(); + }; + function documentKeyUp(event) { + if (framework.inArray(event.keyCode, increaseDecreaseScrollAmountKeyCodes) > -1) + decreaseTrackScrollAmount(); + }; + function onMouseTouchDownContinue(event) { + var originalEvent = event.originalEvent || event; + var isTouchEvent = originalEvent.touches !== undefined; + return _isSleeping || nativeOverlayScrollbarsAreActive() || !_scrollbarsDragScrollingCache || (isTouchEvent && !_scrollbarsTouchSupport) ? false : compatibility.mBtn(event) === 1 || isTouchEvent; + }; + function handleDragMove(event) { + if(!onMouseTouchDownContinue(event)) { + documentMouseTouchUp(event); + return; + } + var trackLength = scrollbarVars.i.tl; var handleLength = scrollbarVars.i.hl; var scrollRange = scrollbarVars.i.ms; - var scrollRaw = compatibility.page(event)[xy] - mouseDownOffset; + var scrollRaw = (_msieVersion && insideIFrame ? event['screen' + XY] : compatibility.page(event)[xy]) - mouseDownOffset; //use screen coordinates in EDGE & IE because the page values are incorrect in frames. var scrollDeltaPercent = scrollRaw / (trackLength - handleLength); var scrollDelta = (scrollRange * scrollDeltaPercent); scrollDelta = isFinite(scrollDelta) ? scrollDelta : 0; @@ -4211,12 +4239,9 @@ if (!_supportPassiveEvents) compatibility.prvD(event); }; - var documentMouseTouchUp = function (event) { + function documentMouseTouchUp(event) { event = event || event.originalEvent; - var rect = _hostElement[0].getBoundingClientRect(); - var mouseInsideHost = event.clientX >= rect.left && event.clientX <= rect.right && event.clientY >= rect.top && event.clientY <= rect.bottom; - removeClass(_bodyElement, _classNameDragging); removeClass(scrollbarVars.h, strActive); removeClass(scrollbarVars.t, strActive); @@ -4236,32 +4261,23 @@ clearTimeout(trackTimeout); trackTimeout = undefined; } + + var rect = _hostElement[0].getBoundingClientRect(); + var mouseInsideHost = event.clientX >= rect.left && event.clientX <= rect.right && event.clientY >= rect.top && event.clientY <= rect.bottom; - //if mouse is outside host element - if (!mouseInsideHost) - hostOnMouseLeave(); + //if mouse is outside host element + if (!mouseInsideHost) + hostOnMouseLeave(); + if (_scrollbarsAutoHideScroll || _scrollbarsAutoHideMove) refreshScrollbarsAutoHide(false); }; - var documentKeyDown = function (event) { - if (framework.inArray(event.keyCode, increaseDecreaseScrollAmountKeyCodes) > -1) - increaseTrackScrollAmount(); - }; - var documentKeyUp = function (event) { - if (framework.inArray(event.keyCode, increaseDecreaseScrollAmountKeyCodes) > -1) - decreaseTrackScrollAmount(); - }; - var onMouseTouchDownContinue = function(event) { - var originalEvent = event.originalEvent || event; - var isTouchEvent = originalEvent.touches !== undefined; - return _isSleeping || nativeOverlayScrollbarsAreActive() || !_scrollbarsDragScrollingCache || (isTouchEvent && !_scrollbarsTouchSupport) ? false : compatibility.mBtn(event) === 1 || isTouchEvent; - }; - var onHandleMouseTouchDown = function(event) { + function onHandleMouseTouchDown(event) { mouseDownScroll = _viewportElement[scroll](); mouseDownScroll = mouseDownScroll === undefined ? 0 : mouseDownScroll; if (_isRTL && isHorizontal && !_rtlScrollBehavior.n || !_isRTL) mouseDownScroll = mouseDownScroll < 0 ? 0 : mouseDownScroll; - mouseDownOffset = compatibility.page(event)[xy]; + mouseDownOffset = _msieVersion && insideIFrame ? event['screen' + XY] : compatibility.page(event)[xy]; //use screen coordinates in EDGE & IE because the page values are incorrect in frames. addClass(_bodyElement, _classNameDragging); addClass(scrollbarVars.h, strActive); @@ -4275,11 +4291,11 @@ compatibility.prvD(event); compatibility.stpP(event); }; - scrollbarVars.h.on(_strMouseTouchDownEvent, function (event) { + scrollbarVars.h.on(_strMouseTouchDownEvent, function(event) { if (onMouseTouchDownContinue(event)) onHandleMouseTouchDown(event); }); - scrollbarVars.t.on(_strMouseTouchDownEvent, function (event) { + scrollbarVars.t.on(_strMouseTouchDownEvent, function(event) { if (onMouseTouchDownContinue(event)) { var scrollDistance = _viewportSize[scrollbarVars._wh]; var trackOffset = scrollbarVars.t.offset()[scrollbarVars.lt]; @@ -4310,7 +4326,7 @@ instantScrollPosition = (scrollRange - instantScrollPosition); if(instantScrollTransition) { scrollObj.n = false; - scrollObj[scrollbarVars.xy] = instantScrollPosition; + scrollObj[xy] = instantScrollPosition; _base.scroll(scrollObj, 130, easing, function() { onHandleMouseTouchDown(event); }); } else { @@ -4322,7 +4338,7 @@ decreaseScroll = isFirstIteration ? decreaseScrollCondition : decreaseScroll; finishedCondition = rtlIsNormal ? decreaseScroll ? handleOffset + handleLength >= mouseOffset : handleOffset <= mouseOffset : decreaseScroll ? handleOffset <= mouseOffset : handleOffset + handleLength >= mouseOffset; - scrollObj[scrollbarVars.xy] = decreaseScroll ? '-=' + scrollDistance : '+=' + scrollDistance; + scrollObj[xy] = decreaseScroll ? '-=' + scrollDistance : '+=' + scrollDistance; _base.scrollStop(); _base.scroll(scrollObj, scrollDuration, easing); @@ -4354,18 +4370,18 @@ compatibility.prvD(event); compatibility.stpP(event); } - }).hover(function () { //make sure both scrollbars will stay visible if one scrollbar is hovered if autoHide is "scroll". + }).hover(function() { //make sure both scrollbars will stay visible if one scrollbar is hovered if autoHide is "scroll". if (_scrollbarsAutoHideScroll || _scrollbarsAutoHideMove) { _scrollbarsAutoHideFlagScrollAndHovered = true; refreshScrollbarsAutoHide(true); } - }, function () { + }, function() { if (_scrollbarsAutoHideScroll || _scrollbarsAutoHideMove) { _scrollbarsAutoHideFlagScrollAndHovered = false; refreshScrollbarsAutoHide(false); } }); - scrollbarVars.s.on(_strMouseTouchDownEvent, function (event) { + scrollbarVars.s.on(_strMouseTouchDownEvent, function(event) { compatibility.stpP(event); }); } @@ -4852,21 +4868,21 @@ * jQuery addClass method shortcut. */ function addClass(el, classes) { - return framework.prototype.addClass.call(el, classes); + return _frameworkProto.addClass.call(el, classes); } /** * jQuery removeClass method shortcut. */ function removeClass(el, classes) { - return framework.prototype.removeClass.call(el, classes); + return _frameworkProto.removeClass.call(el, classes); } /** * jQuery remove method shortcut. */ function remove(el) { - return framework.prototype.remove.call(el); + return _frameworkProto.remove.call(el); } /** @@ -4876,7 +4892,7 @@ * @returns {*} The first element which is a child of the given element and matches the givens selector. */ function findFirst(el, selector) { - return framework.prototype.find.call(el, selector).eq(0); + return _frameworkProto.find.call(el, selector).eq(0); } @@ -4894,36 +4910,35 @@ * Updates the plugin and DOM to the current options. * This method should only be called if a update is 100% required. * @param force True if every property shall be updated and the cache shall be ignored. - * !INTERNAL USAGE! : force can be a string "auto" or "zoom" too + * !INTERNAL USAGE! : force can be a string "auto", "auto+" or "zoom" too * if this is the case then before a real update the content size and host element attributes gets checked, and if they changed only then the update method will be called. */ _base.update = function (force) { var attrsChanged; var contentSizeC; - var isZoom = force === 'zoom'; + var isString = type(force) == TYPES.s; var imgElementSelector = 'img'; var imgElementLoadEvent = 'load'; - if (force === _strAuto) { - attrsChanged = meaningfulAttrsChanged(); - contentSizeC = updateAutoContentSizeChanged(); - if (attrsChanged || contentSizeC) - update(false, contentSizeC); - } - else if (isZoom) { - update(true, true); - } + if(isString) { + if (force.indexOf(_strAuto) === 0) { + attrsChanged = meaningfulAttrsChanged(); + contentSizeC = updateAutoContentSizeChanged(); + if (attrsChanged || contentSizeC) + update(false, contentSizeC, false, force.slice(-1) == "+"); + } + else if (force === 'zoom') + update(true, true); + } else { force = _isSleeping || force; _isSleeping = false; - update(false, false, force); + update(false, false, force, true); } - if(!_isTextarea && !isZoom) { + if(!_isTextarea) { _contentElement.find(imgElementSelector).each(function(i, el) { var index = compatibility.inA(el, _imgs); - if (index === -1) { - el = framework(el); - el.off(imgElementLoadEvent, imgOnLoad).on(imgElementLoadEvent, imgOnLoad); - } + if (index === -1) + framework(el).off(imgElementLoadEvent, imgOnLoad).on(imgElementLoadEvent, imgOnLoad); }); } }; @@ -5119,7 +5134,7 @@ * } */ _base.scroll = function (coordinates, duration, easing, complete) { - if (arguments.length === 0 || coordinates === undefined) { + if (arguments.length === 0 || coordinates === undefined) { var infoX = _scrollHorizontalInfo; var infoY = _scrollVerticalInfo; var normalizeInvert = _normalizeRTLCache && _isRTL && _rtlScrollBehavior.i; @@ -5172,6 +5187,7 @@ var strAlways = 'always'; var strNever = 'never'; var strIfNeeded = 'ifneeded'; + var strLength = LEXICON.l; var settingsAxis; var settingsScroll; var settingsBlock; @@ -5185,7 +5201,7 @@ var possibleElementIsJQuery = possibleElement instanceof framework || JQUERY ? possibleElement instanceof JQUERY : false; var possibleElementIsHTMLElement = possibleElementIsJQuery ? false : isHTMLElement(possibleElement); var checkSettingsStringValue = function (currValue, allowedValues) { - for (i = 0; i < allowedValues.length; i++) { + for (i = 0; i < allowedValues[strLength]; i++) { if (currValue === allowedValues[i]) return true; } @@ -5193,7 +5209,7 @@ }; var getRawScroll = function (coordinates) { var rawScroll = {}; - if (type(coordinates) == TYPES.a && coordinates.length > 0) { + if (type(coordinates) == TYPES.a && coordinates[strLength] > 0) { rawScroll.x = coordinates[0]; rawScroll.y = coordinates[1]; } @@ -5214,7 +5230,7 @@ } var getRawScrollValue = function (isX) { var coordinateProps = isX ? coordinatesXAxisProps : coordinatesYAxisProps; - for (i = 0; i < coordinateProps.length; i++) { + for (i = 0; i < coordinateProps[strLength]; i++) { if (coordinateProps[i] in coordinates) { return coordinates[coordinateProps[i]]; } @@ -5226,6 +5242,9 @@ return rawScroll; }; var getFinalScroll = function (isX, rawScroll) { + var isString = type(rawScroll) == TYPES.s; + if(isString) + _base.update(_strAuto + "+"); var operator; var amount; var scrollInfo = isX ? _scrollHorizontalInfo : _scrollVerticalInfo; @@ -5236,11 +5255,11 @@ var isRTLisX = _isRTL && isX; var normalizeShortcuts = isRTLisX && _rtlScrollBehavior.n && !normalizeRTL; var strReplace = 'replace'; - if (type(rawScroll) == TYPES.s) { + if (isString) { //check operator - if (rawScroll.length > 2) { + if (rawScroll[strLength] > 2) { var possibleOperator = rawScroll.substr(0, 2); - for (i = 0; i < coordinatesOperators.length; i++) { + for (i = 0; i < coordinatesOperators[strLength]; i++) { if (possibleOperator === coordinatesOperators[i]) { operator = coordinatesOperators[i]; break; @@ -5260,11 +5279,11 @@ rawScroll = rawScroll[strReplace](/vh/g, mult + _viewportSize.h); amount = parseIntToZeroOrNumber(window.parseFloat(window.eval(rawScroll)).toFixed()); } - else if (type(rawScroll) == TYPES.n) { + else { amount = rawScroll; } - if (!isNaN(amount) && amount !== undefined && type(amount) == TYPES.n) { + if (amount !== undefined && !isNaN(amount) && type(amount) == TYPES.n) { var normalizeIsRTLisX = normalizeRTL && isRTLisX; var operatorCurrScroll = currScroll * (normalizeIsRTLisX && _rtlScrollBehavior.n ? -1 : 1); var invert = normalizeIsRTLisX && _rtlScrollBehavior.i; @@ -5287,23 +5306,11 @@ finalValue = amount; break; } - if (invert) - finalValue = maxScroll - finalValue; - if (negate) - finalValue *= -1; - - if (isRTLisX && _rtlScrollBehavior.n) { - finalValue = Math.max(maxScroll, finalValue); - finalValue = Math.min(0, finalValue); - } - else { - finalValue = Math.min(maxScroll, finalValue); - finalValue = Math.max(0, finalValue); - } - if (finalValue === currScroll) - finalValue = undefined; + finalValue = invert ? maxScroll - finalValue : finalValue; + finalValue *= negate ? -1 : 1; + finalValue = isRTLisX && _rtlScrollBehavior.n ? Math.min(0, Math.max(maxScroll, finalValue)) : Math.max(0, Math.min(maxScroll, finalValue)); } - return finalValue; + return finalValue === currScroll ? undefined : finalValue; }; var getPerAxisValue = function (value, valueInternalType, defaultValue, allowedValues) { var resultDefault = [ defaultValue, defaultValue ]; @@ -5316,7 +5323,7 @@ value = [value, value]; } else if (valueType == TYPES.a) { - valueArrLength = value.length; + valueArrLength = value[strLength]; if (valueArrLength > 2 || valueArrLength < 1) value = resultDefault; else { @@ -5342,24 +5349,21 @@ var currValue; var currValueType; var valueDirections = [ _strTop, _strRight, _strBottom, _strLeft ]; - for(i = 0; i < marginTopRightBottomLeftArray.length; i++) { - if(i === valueDirections.length) + for(i = 0; i < marginTopRightBottomLeftArray[strLength]; i++) { + if(i === valueDirections[strLength]) break; currValue = marginTopRightBottomLeftArray[i]; currValueType = type(currValue); if(currValueType == TYPES.b) result.push(currValue ? parseIntToZeroOrNumber(finalElement.css(_strMarginMinus + valueDirections[i])) : 0); - else if(currValueType == TYPES.n) - result.push(currValue); else - result.push(0); + result.push(currValueType == TYPES.n ? currValue : 0); } return result; }; - + if (possibleElementIsJQuery || possibleElementIsHTMLElement) { - //get settings - + //get settings var margin = coordinatesIsElementObj ? coordinates.margin : 0; var axis = coordinatesIsElementObj ? coordinates.axis : 0; var scroll = coordinatesIsElementObj ? coordinates.scroll : 0; @@ -5368,14 +5372,16 @@ var marginType = type(margin); var marginLength; finalElement = possibleElementIsJQuery ? possibleElement : framework(possibleElement); - if (finalElement.length === 0) + if (finalElement[strLength] === 0) return; + _base.update(_strAuto + "+"); + //margin can be [ boolean, number, array of 2, array of 4, object ] if (marginType == TYPES.n || marginType == TYPES.b) margin = generateMargin([margin, margin, margin, margin]); else if (marginType == TYPES.a) { - marginLength = margin.length; + marginLength = margin[strLength]; if(marginLength === 2) margin = generateMargin([margin[0], margin[1], margin[0], margin[1]]); else if(marginLength >= 4) @@ -5394,19 +5400,21 @@ settingsBlock = getPerAxisValue(block, TYPES.s, strBegin, elementObjSettingsBlockValues); settingsMargin = margin; - //get coordinates - var elementOffset = finalElement.offset(); - elementOffset[_strTop] -= settingsMargin[0]; - elementOffset[_strLeft] -= settingsMargin[3]; - var viewportOffset = _paddingElement.offset(); // use padding element instead of viewport element because padding element has never padding, margin or position applied. - var viewportScroll = { + var viewportScroll = { l: _scrollHorizontalInfo.cs, t: _scrollVerticalInfo.cs }; - var doNotScroll = { + // use padding element instead of viewport element because padding element has never padding, margin or position applied. + var viewportOffset = _paddingElement.offset(); + + //get coordinates + var elementOffset = finalElement.offset(); + var doNotScroll = { x : settingsScroll.x == strNever || settingsAxis == _strY, y : settingsScroll.y == strNever || settingsAxis == _strX }; + elementOffset[_strTop] -= settingsMargin[0]; + elementOffset[_strLeft] -= settingsMargin[3]; var elementScrollCoordinates = { x: Math.round(elementOffset[_strLeft] - viewportOffset[_strLeft] + viewportScroll.l), y: Math.round(elementOffset[_strTop] - viewportOffset[_strTop] + viewportScroll.t) @@ -5422,25 +5430,14 @@ //measuring is required if (settingsBlock.x != strBegin || settingsBlock.y != strBegin || settingsScroll.x == strIfNeeded || settingsScroll.y == strIfNeeded || _isRTL) { - var measuringElm = finalElement[0]; - var rawElementSize = {}; - var rect; - if (_supportTransform) { - rect = measuringElm.getBoundingClientRect(); - rawElementSize = { - w: rect[_strWidth], - h: rect[_strHeight] - }; - } - else { - rawElementSize = { - w: measuringElm[LEXICON.oW], - h: measuringElm[LEXICON.oH] - }; - } + var measuringElm = finalElement[0]; + var rawElementSize = _supportTransform ? measuringElm.getBoundingClientRect() : { + width : measuringElm[LEXICON.oW], + height : measuringElm[LEXICON.oH] + }; var elementSize = { - w: rawElementSize.w + settingsMargin[3] + settingsMargin[1], - h: rawElementSize.h + settingsMargin[0] + settingsMargin[2] + w: rawElementSize[_strWidth] + settingsMargin[3] + settingsMargin[1], + h: rawElementSize[_strHeight] + settingsMargin[0] + settingsMargin[2] }; var finalizeBlock = function(isX) { var vars = getScrollbarVars(isX); @@ -5471,8 +5468,7 @@ doNotScroll[xy] = scrollIfNeeded ? isInView : false; blockIsEnd = elSize < vpSize ? elementCenterOffset > viewportCenterOffset : elementCenterOffset < viewportCenterOffset; } - if (blockIsEnd || blockIsCenter) - elementScrollCoordinates[xy] -= ((vpSize / divide) - (elSize / divide)) * (isX && _isRTL && normalizeRTL ? -1 : 1); + elementScrollCoordinates[xy] -= blockIsEnd || blockIsCenter ? ((vpSize / divide) - (elSize / divide)) * (isX && _isRTL && normalizeRTL ? -1 : 1) : 0; } }; finalizeBlock(true); @@ -5486,14 +5482,14 @@ coordinates = elementScrollCoordinates; } - + finalScroll[_strScrollLeft] = getFinalScroll(true, getRawScroll(coordinates).x); finalScroll[_strScrollTop] = getFinalScroll(false, getRawScroll(coordinates).y); doScrollLeft = finalScroll[_strScrollLeft] !== undefined; doScrollTop = finalScroll[_strScrollTop] !== undefined; if ((doScrollLeft || doScrollTop) && (duration > 0 || durationIsObject)) { - if (durationIsObject) + if (durationIsObject) _viewportElement.animate(finalScroll, duration); else { animationOptions = { @@ -5861,7 +5857,7 @@ textareaUpdate(); if (sizeAuto) - _base.update(); + update(); else _base.update(_strAuto); } diff --git a/js/OverlayScrollbars.min.js b/js/OverlayScrollbars.min.js index 2ef8af9..328d61b 100644 --- a/js/OverlayScrollbars.min.js +++ b/js/OverlayScrollbars.min.js @@ -2,12 +2,12 @@ * OverlayScrollbars * https://github.com/KingSora/OverlayScrollbars * - * Version: 1.5.1 + * Version: 1.5.2 * * Copyright KingSora. * https://github.com/KingSora * * Released under the MIT license. - * Date: 13.07.2018 + * Date: 09.09.2018 */ -!function(t,e){"function"==typeof define&&define.amd?define(function(){return e(t,t.document,undefined)}):"object"==typeof module&&"object"==typeof module.exports?module.exports=e(t,t.document,undefined):e(t,t.document,undefined)}("undefined"!=typeof window?window:this,function(t,e,n){"use strict";var r,i,o,a="OverlayScrollbars",s={o:"object",f:"function",a:"array",s:"string",b:"boolean",n:"number",u:"undefined",z:"null"},c={c:"class",s:"style",i:"id",l:"length",oH:"offsetHeight",cH:"clientHeight",sH:"scrollHeight",oW:"offsetWidth",cW:"clientWidth",sW:"scrollWidth"},u={wW:function(){return t.innerWidth||e.documentElement[c.cW]||e.body[c.cW]},wH:function(){return t.innerHeight||e.documentElement[c.cH]||e.body[c.cH]},mO:function(){return t.MutationObserver||t.WebKitMutationObserver||t.WebkitMutationObserver||t.MozMutationObserver||n},rO:function(){return t.ResizeObserver||t.WebKitResizeObserver||t.WebkitResizeObserver||t.MozResizeObserver||n},rAF:function(){return t.requestAnimationFrame||t.webkitRequestAnimationFrame||t.mozRequestAnimationFrame||t.oRequestAnimationFrame||t.msRequestAnimationFrame||function(e){return t.setTimeout(e,1e3/60)}},cAF:function(){return t.cancelAnimationFrame||t.webkitCancelAnimationFrame||t.mozCancelAnimationFrame||t.oCancelAnimationFrame||t.msCancelAnimationFrame||function(e){return t.clearTimeout(e)}},now:function(){return Date.now()||(new Date).getTime()},stpP:function(t){t.stopPropagation?t.stopPropagation():t.cancelBubble=!0},prvD:function(t){t.preventDefault&&t.cancelable?t.preventDefault():t.returnValue=!1},page:function(t){var r="page",i="client",o="X",a="Y",s=((t=t.originalEvent||t).target||t.srcElement||e).ownerDocument||e,c=s.documentElement,u=s.body;if(t.touches!==n){var l=t.touches[0];return{x:l[r+o],y:l[r+a]}}return!t[r+o]&&t[i+o]&&null!=t[i+o]?{x:t[i+o]+(c&&c.scrollLeft||u&&u.scrollLeft||0)-(c&&c.clientLeft||u&&u.clientLeft||0),y:t[i+a]+(c&&c.scrollTop||u&&u.scrollTop||0)-(c&&c.clientTop||u&&u.clientTop||0)}:{x:t[r+o],y:t[r+a]}},mBtn:function(t){return t.which||t.button===n?t.which:1&t.button?1:2&t.button?3:4&t.button?2:0},inA:function(t,e){for(var n=0;n0?"\r\nValid strings are: [ "+W.join(", ").split(p).join(", ")+" ].":"")),delete t[c]}}};return u(c,e,a),o?r.extend(!0,a,c):!r.isEmptyObject(c)&&n&&console.warn("The following options are discarded due to invalidity:\r\n"+JSON.stringify(c,null,2)),a}});function C(){u||(u=new A(S.d)),f||(f=new z(u))}function A(a){var s=this,u="overflow",l="hidden",f="scroll",h=r("body"),d=r('
'),p=d[0],v=r(d.children("div").eq(0)),y=p[c.oH];h.append(d),0===y&&d.hide().show();var m,w,x,b,g,O,M,S,C,A=H(p),z={x:0===A.x,y:0===A.y};function E(t){var r=!1,i="Webkit Moz ms O".split(" "),o=e.createElement("div"),a=null,s=0;if(t=t.toLowerCase(),o[c.s][t]!==n&&(r=!0),!r)for(a=t.charAt(0).toUpperCase()+t.substr(1);s0?m=C(w[b](g+5,w[x](".",g)),10):O>0?m=C(w[b](S+3,w[x](".",S)),10):M>0&&(m=C(w[b](M+5,w[x](".",M)),10)),m),cssCalc:function(){var t,n,r=e.createElement("div"),i=["calc","-webkit-calc","-moz-calc","-o-calc"];for(t=0;t0){var t=i.wW(),c=i.wH(),f=t-e,p=c-n;if(0===f&&0===p)return;var v,y=Math.round(t/(e/100)),m=Math.round(c/(n/100)),w=Math.abs(f),x=Math.abs(p),b=Math.abs(y),g=Math.abs(m),O=l(),M=w>2&&x>2,S=!u(b,g),C=M&&S&&(O!==a&&a>0),A=s.nativeScrollbarSize;C&&(h.append(d),v=s.nativeScrollbarSize=H(d[0]),d.remove(),A.x===v.x&&A.y===v.y||r.each(o(),function(){o(this)&&o(this).update("zoom")})),e=t,n=c,a=O}};r(t).on("resize",c)}function u(t,e){var n=Math.abs(t),r=Math.abs(e);return!(n===r||n+1===r||n-1===r)}function l(){var e=t.screen.deviceXDPI||0,n=t.screen.logicalXDPI||1;return t.devicePixelRatio||e/n}}()}function z(t){var e,o=this,a="autoUpdate",s=a+"Interval",c=[],u=[],l=!1,f=33,h=f,d=i.now(),p=function(){if(c.length>0&&l){e=i.rAF()(function(){p()});var t=i.now(),r=t-d;if(r>h){d=t-r%h;for(var o=f,v=0;vx&&(y.update("auto"),u[v]=new Date(b+=x)),o=Math.max(1,Math.min(o,x))}}h=o}}else h=f};o.add=function(e){-1===r.inArray(e,c)&&(c.push(e),u.push(i.now()),c.length>0&&!l&&(l=!0,t.autoUpdateLoop=l,p()))},o.remove=function(o){var a=r.inArray(o,c);a>-1&&(u.splice(a,1),c.splice(a,1),0===c.length&&l&&(l=!1,t.autoUpdateLoop=l,e!==n&&(i.cAF()(e),e=-1)))}}function E(u,f,h,d,p){if(li(u)){if(o(u)){var v=o(u);return v.options(f),v}var y,m,w,x,b,g,O,M,C,A,z,E,H,W,T,I,k,L,P,N,q,R,D,j,F,B,U,_,Q,V,X,Y,K,$,G,J,Z,tt,et,nt,rt,it,ot,at,st,ct,ut,lt,ft,ht,dt,pt,vt,yt,mt,wt,xt,bt,gt,Ot,Mt,St,Ct,At,zt,Et,Ht,Wt,Tt,It,kt,Lt,Pt,Nt,qt,Rt,Dt,jt,Ft,Bt,Ut,_t,Qt,Vt,Xt,Yt,Kt,$t,Gt,Jt,Zt,te,ee,ne,re,ie,oe,ae,se,ce,ue,le,fe,he,de,pe,ve,ye,me,we,xe,be,ge,Oe,Me,Se,Ce,Ae,ze,Ee,He,We=new t[a],Te={},Ie={},ke={},Le={},Pe={},Ne=175,qe="-hidden",Re="margin-",De="padding-",je="border-",Fe="top",Be="right",Ue="bottom",_e="left",Qe="min-",Ve="max-",Xe="width",Ye="height",Ke="float",$e="",Ge="auto",Je="scroll",Ze="100%",tn="x",en="y",nn=".",rn=" ",on="scrollbar",an="-horizontal",sn="-vertical",cn=Je+"Left",un=Je+"Top",ln="mousedown touchstart",fn="mouseup touchend touchcancel",hn="mousemove touchmove",dn="mouseenter",pn="mouseleave",vn="keydown",yn="keyup",mn="selectstart",wn="transitionend webkitTransitionEnd oTransitionEnd",xn="__overlayScrollbarsRO__",bn="os-",gn=bn+"html",On=bn+"host",Mn=On+"-textarea",Sn=On+"-"+on+an+qe,Cn=On+"-"+on+sn+qe,An=On+"-transition",zn=On+"-rtl",En=On+"-resize-disabled",Hn=On+"-scrolling",Wn=On+"-overflow",Tn=Wn+"-x",In=Wn+"-y",kn=bn+"textarea",Ln=kn+"-cover",Pn=bn+"padding",Nn=bn+"viewport",qn=Nn+"-native-scrollbars-invisible",Rn=Nn+"-native-scrollbars-overlaid",Dn=bn+"content",jn=bn+"content-arrange",Fn=bn+"content-glue",Bn=bn+"size-auto-observer",Un=bn+"resize-observer",_n=bn+"resize-observer-item",Qn=_n+"-final",Vn=bn+"text-inherit",Xn=bn+on,Yn=Xn+"-track",Kn=Yn+"-off",$n=Xn+"-handle",Gn=$n+"-off",Jn=Xn+"-unusable",Zn=Xn+"-"+Ge+qe,tr=Xn+"-corner",er=tr+"-resize",nr=er+"-both",rr=er+an,ir=er+sn,or=Xn+an,ar=Xn+sn,sr=bn+"dragging",cr=bn+"theme-none",ur={},lr="added removed on contract",fr={},hr=42,dr=[],pr=11,vr=[112,113,114,115,116,117,118,119,120,121,123,33,34,37,38,39,40,16,17,18,19,20,144],yr=[],mr={},wr={};if(We.sleep=function(){_=!0},We.update=function(t){var e,n,o="zoom"===t,a="img",s="load";t===Ge?(e=Kr(),n=Yr(),(e||n)&&Jr(!1,n)):o?Jr(!0,!0):(t=_||t,_=!1,Jr(!1,!1,t)),I||o||ut.find(a).each(function(t,e){-1===i.inA(e,dr)&&(e=r(e)).off(s,_r).on(s,_r)})},We.options=function(t,e){if(r.isEmptyObject(t)||!r.isPlainObject(t)){if(Mi(t)==s.s){if(arguments.length>=2){var n={};return xi(n,t,e),Zr(n),void Jr()}return wi(X,t)}return X}Zr(t);var i=_||!1;_=!1,Jr(),_=i},We.destroy=function(){for(var t in T=!0,p.remove(We),Ar(),Or(it),N&&Or(rt),ur)We.removeExt(t);zi(it),ot!==n&&zi(ot),ct!==n&&zi(ct),N&&zi(rt),z?(br(nt,hn,Wr),br(nt,dn,Er),br(nt,pn,Hr)):nt.off(hn,Wr).off(dn,Er).off(pn,Hr),zi(ht),zi(vt),ft&&zi(ft),Ae||Br(),ut.contents().unwrap().unwrap().unwrap(),k&&Ai(Z,gn),I?(et.off(Je,Dr).off("drop",Nr).off("focus",qr).off("focusout",Rr),b>9||!x?et.off("input",kr):et.off(vn,Lr).off(yn,Pr),zi(lt),Ai(et,kn+rn+Vn).unwrap().removeAttr(c.s),zi(nt)):(Ai(et,On),Ai(nt,[On,En,zn,Sn,Cn,An,Hn,Wn,Tn,In,cr,re].join(rn)));for(var e=0;e0)e.x=t[0],e.y=t[1];else if(Mi(t)==s.s||Mi(t)==s.n)e.x=t,e.y=t;else if(Mi(t)==s.o){for(var n in E=Mi(t.n)==s.b?t.n:E,t=Si({},t),m=0,t)t.hasOwnProperty(n)&&(m>2&&delete t[n],m++);var r=function(e){var n=e?H:W;for(m=0;m2){var v=r.substr(0,2);for(m=0;m/g,(d?"-":$e)+Ze))[p](/px/g,$e))[p](/%/g,f+l*(h&&w.n?-1:1)/100))[p](/vw/g,f+Le.w))[p](/vh/g,f+Le.h),o=hi(t.parseFloat(t.eval(r)).toFixed())}else Mi(r)==s.n&&(o=r);if(!isNaN(o)&&o!==n&&Mi(o)==s.n){var y=E&&h,x=u*(y&&w.n?-1:1),b=y&&w.i,g=y&&w.n;switch(x=b?l-x:x,i){case"+=":a=x+o;break;case"-=":a=x-o;break;case"*=":a=x*o;break;case"/=":a=x/o;break;default:a=o}b&&(a=l-a),g&&(a*=-1),h&&w.n?(a=Math.max(l,a),a=Math.min(0,a)):(a=Math.min(l,a),a=Math.max(0,a)),a===u&&(a=n)}return a},J=function(t,e,n,r){var i,o,a=[n,n],c=Mi(t);if(c==e)t=[t,t];else if(c==s.a){if((i=t.length)>2||i<1)t=a;else for(1===i&&(t[1]=n),m=0;m=4?Z(et):ot:ct==s.o?Z([et[Fe],et[Be],et[Ue],et[_e]]):ot,O=K(nt,F)?nt:"xy",M=J(rt,s.s,R,_),S=J(it,s.s,P,B),C=et;var ut=z.offset();ut[Fe]-=C[0],ut[_e]-=C[3];var lt=at.offset(),ft={l:Ie.cs,t:ke.cs},ht={x:M.x==D||O==en,y:M.y==D||O==tn},dt={x:Math.round(ut[_e]-lt[_e]+ft.l),y:Math.round(ut[Fe]-lt[Fe]+ft.t)};if(U&&(w.n||w.i||(dt.x=Math.round(lt[_e]-ut[_e]+ft.l)),w.n&&E&&(dt.x*=-1),w.i&&E&&(dt.x=Math.round(lt[_e]-ut[_e]+(Ie.ms-ft.l)))),S.x!=P||S.y!=P||M.x==j||M.y==j||U){var pt,vt=z[0],yt={},mt={w:(yt=A?{w:(pt=vt.getBoundingClientRect())[Xe],h:pt[Ye]}:{w:vt[c.oW],h:vt[c.oH]}).w+C[3]+C[1],h:yt.h+C[0]+C[2]},wt=function(t){var e=si(t),n=e._wh,r=e.lt,i=e.xy,o=S[i]==(t&&U?P:L),a=S[i]==N,s=S[i]==q,c=M[i]==D,u=M[i]==j,l=Le[n],f=lt[r],h=mt[n],d=ut[r],p=a?2:1,v=d+h/2,y=f+l/2,m=h<=l&&d>=f&&d+h<=f+l;c?ht[i]=!0:ht[i]||((s||u)&&(ht[i]=!!u&&m,o=hy:v0||k))if(k)st.animate(I,i);else{if(g={duration:i,complete:a},Mi(o)==s.a){var xt={};xt[cn]=o[0],xt[un]=o[1],g.specialEasing=xt}else g.easing=o;st.animate(I,g)}else x&&st[cn](I[cn]),b&&st[un](I[un])},We.scrollStop=function(t,e,n){return st.stop(t,e,n),We},We.getElements=function(t){var e={target:et[0],host:nt[0],padding:at[0],viewport:st[0],content:ut[0],scrollbarHorizontal:{scrollbar:ht[0],track:dt[0],handle:pt[0]},scrollbarVertical:{scrollbar:vt[0],track:yt[0],handle:mt[0]},scrollbarCorner:ft[0]};return Mi(t)==s.s?wi(e,t):e},We.getState=function(t){var e=function(t){if(!r.isPlainObject(t))return t;var e=Si(!0,{},t),n=function(t,n){e.hasOwnProperty(t)&&(e[n]=e[t],delete e[t])};return n("w",Xe),n("h",Ye),delete e.c,e},n={sleeping:e(_)||!1,autoUpdate:e(!he),widthAuto:e(Mt),heightAuto:e(St),padding:e(zt),overflowAmount:e(Nt),hideOverflow:e(Ot),hasOverflow:e(gt),contentScrollSize:e(xt),viewportSize:e(Le),hostSize:e(wt),documentMixed:e(L)};return Mi(t)==s.s?wi(n,t):n},We.ext=function(t){var e,n=lr.split(" "),r=0;if(Mi(t)==s.s){if(ur.hasOwnProperty(t))for(e=Si(!0,{},ur[t]);r9||!x){t.prepend(mi(Un,mi({className:_n,dir:"ltr"},mi(_n,mi(Qn))+mi(_n,mi({className:Qn,style:"width: 200%; height: 200%"})))));var p,v,y,m,g=t[0][l][0][l][0],O=r(g[l][1]),M=r(g[l][0]),S=r(M[0][l][0]),C=g[c.oW],A=g[c.oH],z=2,H=d.nativeScrollbarSize,W=function(){M[cn](o)[un](o),O[cn](o)[un](o)},T=function(){v=0,p&&(C=y,A=m,f())},I=function(t){return y=g[c.oW],m=g[c.oH],p=y!=C||m!=A,t&&p&&!v?(i.cAF()(v),v=i.rAF()(T)):t||T(),W(),t&&(i.prvD(t),i.stpP(t)),!1},k={},L={};L[Fe]=-(H.y+1)*z,L[Be]=H.x*-z,L[Ue]=H.y*-z,L[_e]=-(H.x+1)*z,r(g).css(L),M.on(Je,I),O.on(Je,I),t.on(u,function(){I(!1)}),k[Xe]=o,k[Ye]=o,S.css(k),W()}else{var P=J[0],N=P.attachEvent,q=b!==n;if(N)t.prepend(mi(Un)),Ei(t,nn+Un)[0].attachEvent("onresize",f);else{var R=P.createElement(s.o);R.setAttribute("tabindex","-1"),R.setAttribute(c.c,Un),R.onload=function(){var t=this.contentDocument.defaultView;t.addEventListener("resize",f),t.document.documentElement.style.display="none"},R.type="text/html",q&&t.prepend(R),R.data="about:blank",q||t.prepend(R),t.on(u,f)}}if(t[0]===it[0]){var D=function(){var e=nt.css("direction"),n={},r=0,i=!1;return e!==Tt&&("ltr"===e?(n[_e]=0,n[Be]=Ge,r=o):(n[_e]=Ge,n[Be]=0,r=w.n?-o:w.i?0:o),it.children().eq(0).css(n),t[cn](r)[un](o),Tt=e,i=!0),i};D(),t.on(Je,function(t){return D()&&Jr(),i.prvD(t),i.stpP(t),!1})}}function Or(t){if(E){var e=t.contents()[0];e[xn].disconnect(),delete e[xn]}else zi(t.children(nn+Un).eq(0))}function Mr(t){}function Sr(t){}function Cr(){de&&!he&&(le.observe(nt[0],{attributes:!0,attributeOldValue:!0,attributeFilter:[c.i,c.c,c.s]}),fe.observe(I?et[0]:ut[0],{attributes:!0,attributeOldValue:!0,subtree:!I,childList:!I,characterData:!I,attributeFilter:I?["wrap","cols","rows"]:[c.i,c.c,c.s]}),he=!0)}function Ar(){de&&he&&(le.disconnect(),fe.disconnect(),he=!1)}function zr(){if(!_){var t=it[0],e={w:t[c.sW],h:t[c.sH]};if(W){var n=gi(e,$t);$t=e,n&&Jr(!0,!1)}else $t=e}}function Er(){Oe&&ri(!0)}function Hr(){Oe&&!tt.hasClass(sr)&&ri(!1)}function Wr(){ge&&(ri(!0),clearTimeout(me),me=setTimeout(function(){ge&&!T&&ri(!1)},100))}function Tr(t){_||(Q!==n?clearTimeout(Q):((be||ge)&&ri(!0),vi()||Ci(nt,Hn),ci("onScrollStart",t)),oi(!0,st[cn]()),oi(!1,st[un]()),ci("onScroll",t),Q=setTimeout(function(){T||(Ir(),ci("onScrollStop",t))},Ne))}function Ir(){clearTimeout(Q),Q=n,(be||ge)&&ri(!1),vi()||Ai(nt,Hn)}function kr(){Gr(),We.update(Ge)}function Lr(t){var e=t.keyCode;if(!pi(e)){if(0===yr.length){var n=function(){Gr(),We.update(Ge)};n(),pe=setInterval(n,1e3/60)}-1===r.inArray(e,yr)&&yr.push(e)}}function Pr(t){var e=t.keyCode;if(!pi(e)){var n=r.inArray(e,yr);n>-1&&yr.splice(n,1),0===yr.length&&(Gr(),We.update(Ge),clearInterval(pe))}}function Nr(){setTimeout(function(){T||(Gr(),We.update(Ge))},50)}function qr(){ve=!0}function Rr(){ve=!1,clearInterval(pe),yr=[],Gr(),We.update(Ge)}function Dr(t){return et[cn](w.i&&ne?9999999:0),et[un](0),i.prvD(t),i.stpP(t),!1}function jr(t){if(!_){var e=(t.originalEvent||t).touches!==n;(1===i.mBtn(t)||e)&&(he&&(Ce=!0,Ar()),mr=i.page(t),wr.w=nt[0][c.oW]-(P?0:q),wr.h=nt[0][c.oH]-(P?0:R),J.on(mn,Ur).on(hn,Fr).on(fn,Br),Ci(tt,sr),ft.setCapture&&ft.setCapture(),i.prvD(t),i.stpP(t))}}function Fr(t){var e=i.page(t),n={};(Ee||ze)&&(n[Xe]=wr.w+e.x-mr.x),(He||ze)&&(n[Ye]=wr.h+e.y-mr.y),nt.css(n),i.stpP(t)}function Br(t){var e=t!==n;J.off(mn,Ur).off(hn,Fr).off(fn,Br),Ai(tt,sr),ft.releaseCapture&&ft.releaseCapture(),e&&(Ce&&Cr(),We.update(Ge)),Ce=!1}function Ur(t){return i.prvD(t),!1}function _r(){Jr()}function Qr(){var t={};return k&&ct&&(t.w=hi(ct.css(Qe+Xe)),t.h=hi(ct.css(Qe+Ye)),t.c=gi(t,se),t.f=!0),se=t,t.c||!1}function Vr(t,e){var i=e!==n&&null!==e?e.split(rn):$e,o=t!==n&&null!==t?t.split(rn):$e;if(i===$e&&o===$e)return!1;var a,s,c,u,l=fi(o,i),f=!1,h=ie!==n&&null!==ie?ie.split(rn):[$e],d=re!==n&&null!==re?re.split(rn):[$e],p=r.inArray(cr,l),v=l[a];for(p>-1&&l.splice(p,1),a=0;a0&&W&&a-K0?X:cr)),Qt&&(!0===_t?(Ar(),p.add(We)):null===_t&&x?(Ar(),p.add(We)):(p.remove(We),Cr())),Tt)if(mt)if(ot===n&&(ot=r(mi(Fn)),at.before(ot)),N)rt.show();else{rt=r(mi(Bn)),ot.before(rt);var le={w:-1,h:-1};gr(rt,function(){var t={w:rt[0][c.oW],h:rt[0][c.oH]};gi(t,le)&&(W&&St&&t.h>0||Mt&&t.w>0?Jr():(W&&!St&&0===t.h||!Mt&&0===t.w)&&Jr()),le=t}),N=!0,null!==O&&rt.css(Ye,O+"(100% + 1px)")}else N&&rt.hide();o&&(it.find("*").trigger(Je),N&&rt.find("*").trigger(Je));var fe,de=nt.css("direction"),pe=bi(de,Wt,o),ye=nt.css("box-sizing"),me=bi(ye,At,o),Se={c:o,t:hi(nt.css(De+Fe)),r:hi(nt.css(De+Be)),b:hi(nt.css(De+Ue)),l:hi(nt.css(De+_e))};try{fe=N?rt[0].getBoundingClientRect():null}catch(qi){return}P="border-box"===ye;var Ce=(U="rtl"===de)?_e:Be,Ie=U?Be:_e,ke=nt[0],Ne=at[0],qe=!1,nn=!(!N||"none"===nt.css(Ke))&&(0===Math.round(fe.right-fe.left)&&(!!dt||ke[c.cW]-q>0));if(mt&&!nn){var on=ke[c.oW],an=ot.css(Xe);ot.css(Xe,Ge);var sn=ke[c.oW];ot.css(Xe,an),(qe=on!==sn)||(ot.css(Xe,on+1),sn=ke[c.oW],ot.css(Xe,an),qe=on!==sn)}var fn=(nn||qe)&&mt&&!u,vn=bi(fn,Mt,o),yn=!fn&&Mt,mn=!(!N||u)&&0===Math.round(fe.bottom-fe.top),wn=bi(mn,St,o),xn=!mn&&St,bn="-"+Xe,gn=fn&&P||!P,On=mn&&P||!P,Mn={c:o,t:On?hi(nt.css(je+Fe+bn)):0,r:gn?hi(nt.css(je+Be+bn)):0,b:On?hi(nt.css(je+Ue+bn)):0,l:gn?hi(nt.css(je+_e+bn)):0},Sn={c:o,t:hi(nt.css(Re+Fe)),r:hi(nt.css(Re+Be)),b:hi(nt.css(Re+Ue)),l:hi(nt.css(Re+_e))},Cn={h:String(nt.css(Ve+Ye)),w:String(nt.css(Ve+Xe))},An={},kn={};if(q=Se.l+Se.r,R=Se.t+Se.b,Se.c=Oi(Se,zt),D=Mn.l+Mn.r,j=Mn.t+Mn.b,Mn.c=Oi(Mn,Et),F=Sn.l+Sn.r,B=Sn.t+Sn.b,Sn.c=Oi(Sn,Ht),Cn.ih=hi(Cn.h),Cn.iw=hi(Cn.w),Cn.ch=Cn.h.indexOf("px")>-1,Cn.cw=Cn.w.indexOf("px")>-1,Cn.c=gi(Cn,Ct,o),Wt=de,At=ye,Mt=fn,St=mn,zt=Se,Et=Mn,Ht=Sn,Ct=Cn,pe&&N&&rt.css(Ke,Ie),Se.c||pe||pt||vn||wn||me||Tt){var Ln={},Pn={};ui(kn,Re,[-Se.t,-Se.r,-Se.b,-Se.l]),dt?(ui(Ln,$e,[Se.t,Se.r,Se.b,Se.l]),ui(I?Pn:An,De)):(ui(Ln,$e),ui(I?Pn:An,De,[Se.t,Se.r,Se.b,Se.l])),at.css(Ln),et.css(Pn)}Le={w:Ne[c.oW],h:Ne[c.oH]};var Nn=!!I&&Gr();if(mn&&(wn||pt||me||Cn.c||Se.c||Mn.c)?(Cn.cw&&(An[Ve+Ye]=Cn.ch?Cn.ih-(dt?R:0)+(P?-j:R):$e),An[Ye]=Ge):(wn||pt)&&(An[Ve+Ye]=$e,An[Ye]=Ze),fn&&(vn||pt||me||Cn.c||Se.c||Mn.c||pe)?(Cn.cw&&(An[Ve+Xe]=Cn.cw?Cn.iw-(dt?q:0)+(P?-D:q)+(y.y?m.y:0):$e),An[Xe]=Ge,kn[Ve+Xe]=Ze):(vn||pt)&&(An[Ve+Xe]=$e,An[Xe]=Ze,An[Ke]=$e,kn[Ve+Xe]=$e),fn&&(Cn.cw||(An[Ve+Xe]=$e),kn[Xe]=I&&Yt?Nn.dw:Ge,An[Xe]=Ge,An[Ke]=Ie),mn&&(Cn.ch||(An[Ve+Ye]=$e),kn[Ye]=I?$t?Nn.dh:Ge:ut[0][c.cH]),mt&&ot.css(kn),ut.css(An),An={},kn={},gt=gt||{x:!1,y:!1},t||e||pe||me||pt||vn||fn||wn||mn||Cn.c||Ut||Xt||yt||Z||S||Kt||ce||ht||pt||Kt||ce||o){var qn="overflow",Rn=qn+"-x",Dn=qn+"-y",Un="hidden",_n="visible",Qn=H?y.x||y.y||Le.w0&&(kn[Xe]=Math.max(1,kn[Xe]),kn[Ye]=Math.max(1,kn[Ye])),I&<.css(ur),ot.css(kn)}fn&&(An[Xe]=Ze),!fn||P||he||(An[Ke]="none"),ut.css(An),An={};var lr=Kn.getBoundingClientRect(),dr={w:Math.max(Kn[c.sW],$n[c.sW]),h:Math.max(Kn[c.sH],$n[c.sH])};if(Qn&&ut.css(qn,$e),lr.width){var pr=lr.width,vr=lr.height,yr=.001;dr.w+=hi(pr+yr)-pr,dr.h+=hi(vr+yr)-vr}dr.c=e=gi(dr,xt,o),xt=dr,t=gi(tr={w:ke[c.cW],h:ke[c.cH]},wt),wt=tr;var mr={x:"v-s"===Vt.x,y:"v-s"===Vt.y},wr={x:"v-h"===Vt.x,y:"v-h"===Vt.y},Or={x:"s"===Vt.x,y:"s"===Vt.y},zr={x:Math.max(0,Math.round(100*(dr.w-tr.w+(dt?q:0)))/100),y:Math.max(0,Math.round(100*(dr.h-tr.h+(dt?R:0)))/100)},Tr=I&&(0===Le.w||0===Le.h);Tr&&(zr.x=0,zr.y=0);var Ir={x:zr.x>0,y:zr.y>0},kr={x:Ir.x,y:Ir.y};(mr.x||wr.x)&&(kr.x=Ir.y&&!mr.y&&!wr.y),(mr.y||wr.y)&&(kr.y=Ir.x&&!mr.x&&!wr.x),kr.xs=!!kr.x&&(Or.x||mr.x),kr.ys=!!kr.y&&(Or.y||mr.y);var Lr={x:Ir.x&&kr.xs,y:Ir.y&&kr.ys},Pr=Nt;if(zr.c=gi(zr,Nt,tn,en,o),Nt=zr,Ir.c=gi(Ir,gt,tn,en,o),gt=Ir,kr.c=gi(kr,Ot,tn,en,o),Ot=kr,y.x||y.y){var Nr="px solid transparent",qr={},Rr={},Dr=o;(Ir.x||Ir.y)&&(Rr.w=y.y&&Ir.y?dr.w+m.y:$e,Rr.h=y.x&&Ir.x?dr.h+m.x:$e,Dr=bi(Rr,bt,o),bt=Rr),(Ir.c||kr.c||dr.c||pe||vn||wn||fn||mn||Ut)&&(An[Re+Ie]=An[je+Ie]=$e,y.x&&Ir.x&&kr.xs?(An[Re+Ue]=mn?Bt?$e:m.x:$e,An[je+Ue]=mn||Bt?$e:m.x+Nr):(Rr.h=An[Re+Ue]=An[je+Ue]=$e,Dr=!0),y.y&&Ir.y&&kr.ys?(An[Re+Ce]=fn?Bt?$e:m.y:$e,An[je+Ce]=Bt?$e:m.y+Nr):(Rr.w=An[Re+Ce]=An[je+Ce]=$e,Dr=!0)),Bt&&(Rr.w=Rr.h=$e,Dr=!0),Dr&&(qr[Xe]=kr.y?Rr.w:$e,qr[Ye]=kr.x?Rr.h:$e,ct||(ct=r(mi(jn)),st.prepend(ct)),ct.css(qr)),ut.css(An)}var Fr={};Ln={};if(t||Ir.c||kr.c||dr.c||Xt||me||Ut||pe||yt||wn){Fr[Ie]=$e;var Br=function(){Fr[Ue]=$e,Te.h=0},Ur=function(){Fr[Ce]=$e,Te.w=0};if(Ir.x&&kr.xs?(Fr[Rn]=Je,Bt?Br():(Fr[Ue]=-(y.x?m.x:M.x),Te.h=y.x?m.y:0)):(Fr[Rn]=$e,Br()),Ir.y&&kr.ys?(Fr[Dn]=Je,Bt?Ur():(Fr[Ce]=-(y.y?m.y:M.y),Te.w=y.y?m.x:0)):(Fr[Dn]=$e,Ur()),(Le.h-1,Ni=Li.y>-1;(Pi||Ni)&&(Ni&&st[un](Li.y),Pi&&(U&&ne&&w.i?st[cn](0):st[cn](Li.x)))}Ft=xi}else I||(U&&w.i&&y.y&&Ir.x&&ne&&(f.l+=Te.w||0),st[cn](f.l),st[un](f.t));pe&&ci("onDirectionChanged",{isRTL:U,dir:de}),t&&ci("onHostSizeChanged",{width:wt.w,height:wt.h}),e&&ci("onContentSizeChanged",{width:xt.w,height:xt.h}),(Ir.c||kr.c)&&ci("onOverflowChanged",{x:Ir.x,y:Ir.y,xScrollable:kr.xs,yScrollable:kr.ys,clipped:kr.x||kr.y}),zr.c&&ci("onOverflowAmountChanged",{x:zr.x,y:zr.y})}k&&(Ir.c||se.c)&&(se.f||Qr(),y.y&&Ir.x&&ut.css(Qe+Xe,se.w+m.y),y.x&&Ir.y&&ut.css(Qe+Ye,se.h+m.x),se.c=!1),Sr(it),Sr(rt),ci("onUpdated",{forced:o})}}function Zr(t){X=Si(!0,{},X,S.v(t,S.t,!0)),Y=Si(!0,{},Y,S.v(t,S.t,!1,!0))}function ti(){ht=r(mi(Xn+rn+or)),dt=r(mi(Yn)),pt=r(mi($n)),vt=r(mi(Xn+rn+ar)),yt=r(mi(Yn)),mt=r(mi($n)),ht.append(dt),dt.append(pt),vt.append(yt),yt.append(mt),at.after(vt),at.after(ht),C&&(ht.on(wn,function(t){t.target===ht[0]&&(ii(!0),oi(!0,st[cn]()))}),vt.on(wn,function(t){t.target===vt[0]&&(ii(!1),oi(!1,st[un]()))})),ei(!0),ei(!1),ft=r(mi(tr)),nt.append(ft)}function ei(t){var e,o,a,s=si(t),c=s.xy,u=Je+s.LT,l="active",f=1,h=[16,17],d=function(){f=.5},p=function(){f=1},v=function(n){var r=s.i.tl,a=s.i.hl,l=s.i.ms*((i.page(n)[c]-o)/(r-a));l=isFinite(l)?l:0,U&&t&&!w.i&&(l*=-1),st[u](e+l),z||i.prvD(n)},y=function(t){t=t||t.originalEvent;var r=nt[0].getBoundingClientRect(),i=t.clientX>=r.left&&t.clientX<=r.right&&t.clientY>=r.top&&t.clientY<=r.bottom;Ai(tt,sr),Ai(s.h,l),Ai(s.t,l),Ai(s.s,l),J.off(hn,v).off(fn,y).off(vn,m).off(yn,x).off(mn,Ur),p(),e=n,o=n,a!==n&&(We.scrollStop(),clearTimeout(a),a=n),i||Hr(),(be||ge)&&ri(!1)},m=function(t){r.inArray(t.keyCode,h)>-1&&d()},x=function(t){r.inArray(t.keyCode,h)>-1&&p()},g=function(t){var e=(t.originalEvent||t).touches!==n;return!(_||vi()||!te||e&&!Me)&&(1===i.mBtn(t)||e)},O=function(r){e=(e=st[u]())===n?0:e,(U&&t&&!w.n||!U)&&(e=e<0?0:e),o=i.page(r)[c],Ci(tt,sr),Ci(s.h,l),Ci(s.s,l),J.on(hn,v).on(fn,y).on(mn,Ur),!b&&L||i.prvD(r),i.stpP(r)};s.h.on(ln,function(t){g(t)&&O(t)}),s.t.on(ln,function(e){if(g(e)){var r,h,p=Le[s._wh],v=s.t.offset()[s.lt],b=e.ctrlKey,M=e.shiftKey,S=M&&b,C=!0,A="linear",z=function(){if(!T){var i=o-v,c=s.i.tl,l=s.i.ho,d=s.i.hl,y=s.i.ms,m=270*f,x=C?Math.max(400,m):m,b=y*((i-d/2)/(c-d)),g=U&&t&&(!w.i&&!w.n||ne),E=g?li,H={};M?(b=isFinite(b)?b:0,U&&t&&!w.i&&(b=y-b),S?(H.n=!1,H[s.xy]=b,We.scroll(H,130,A,function(){O(e)})):(st[u](b),O(e))):(r=C?E:r,h=g?r?l+d>=i:l<=i:r?l<=i:l+d>=i,H[s.xy]=r?"-="+p:"+="+p,We.scrollStop(),We.scroll(H,m,A),h?(clearTimeout(a),We.scrollStop(),a=n):a=setTimeout(z,x),C=!1)}};b&&d(),o=i.page(e)[c],Ci(tt,sr),Ci(s.t,l),Ci(s.s,l),J.on(fn,y).on(vn,m).on(yn,x).on(mn,Ur),z(),i.prvD(e),i.stpP(e)}}).hover(function(){(be||ge)&&(Se=!0,ri(!0))},function(){(be||ge)&&(Se=!1,ri(!1))}),s.s.on(ln,function(t){i.stpP(t)})}function ni(t,e,n){var r=t?Sn:Cn,i=t?ht:vt;e?Ai(nt,r):Ci(nt,r),n?Ai(i,Jn):Ci(i,Jn)}function ri(t,e){if(clearTimeout(ye),t)Ai(ht,Zn),Ai(vt,Zn);else{var n="active",r=function(){if(!Se&&!T){var t=pt.hasClass(n)||mt.hasClass(n);!t&&(be||ge||Oe)&&Ci(ht,Zn),!t&&(be||ge||Oe)&&Ci(vt,Zn)}};we>0&&!0!==e?ye=setTimeout(r,we):r()}}function ii(t){var e={},n=si(t),r=1e6,i=Math.min(1,(wt[n._wh]-(It?t?q:R:0))/xt[n._wh]);e[n.wh]=Math.floor(100*i*r)/r+"%",vi()||n.h.css(e),n.i.hl=n.h[0]["offset"+n.WH],n.i.hlr=i}function oi(t,e){var n,r,i,o=U&&t,a={},s=si(t),c="translate(",u="transform",l=st[0][Je+s.WH]-st[0]["client"+s.WH],f=s.i.hl,h=s.t[0]["offset"+s.WH],d=h-f;w.n&&o&&(l*=-1),i=e/l,i=isNaN(i)?0:Math.min(1,i),s.i.ms=l,s.i.cs=e,s.i.csr=i,d*=i,d=isNaN(d)?0:d,o&&!w.i&&(d=h-f-d),d=Math.max(0,d),A?(r=(r=o?-(h-f-d):d)/h*100*(h/f),n=t?c+r+"%, 0)":c+"0, "+r+"%)",a["-webkit-"+u]=n,a["-moz-"+u]=n,a["-ms-"+u]=n,a["-o-"+u]=n,a[u]=n):a[s.lt]=d,vi()||s.h.css(a),s.i.ho=d,s.i.tl=h}function ai(t,e){var n=e?"removeClass":"addClass",r=t?yt:mt,i=t?Kn:Gn;(t?dt:pt)[n](i),r[n](i)}function si(t){return{wh:t?Xe:Ye,WH:t?"Width":"Height",lt:t?_e:Fe,LT:t?"Left":"Top",xy:t?tn:en,XY:t?"X":"Y",_wh:t?"w":"h",_lt:t?"l":"t",t:t?dt:yt,h:t?pt:mt,s:t?ht:vt,i:t?Ie:ke}}function ci(t,e){if(W){var n,i=Y.callbacks[t],o=t;"on"===o.substr(0,2)&&(o=o.substr(2,1).toLowerCase()+o.substr(3)),Mi(i)==s.f&&i.call(We,e),r.each(ur,function(){Mi((n=this).on)==s.f&&n.on(o,e)})}}function ui(t,e,r){r===n&&(r=[$e,$e,$e,$e]),t[e+Fe]=r[0],t[e+Be]=r[1],t[e+Ue]=r[2],t[e+_e]=r[3]}function li(e){var n="ownerDocument",r="HTMLElement",i=e&&e[n]&&e[n].parentWindow||t;return typeof i[r]==s.o?e instanceof i[r]:e&&typeof e==s.o&&null!==e&&1===e.nodeType&&typeof e.nodeName==s.s}function fi(t,e){var n,r,i=[],o=[];for(n=0;nf&&(l=r+1,f=e);return{cR:h,cC:d,r:c,c:f,w:l,p:t,m:a}}}function pi(t){for(var e=0;e"+(e||$e)+""}function wi(t,e){for(var n,r=e.split(nn),i=0;i9||!x?et.on("input",kr):et.on(vn,Lr).on(yn,Pr)}else Ci(et,On),(nt=et).wrapInner(mi(Dn)).wrapInner(mi(Nn)).wrapInner(mi(Pn)),ut=Ei(nt,nn+Dn),st=Ei(nt,nn+Nn),at=Ei(nt,nn+Pn),ut.on(wn,function(t){!0!==Rt&&$r((t=t.originalEvent||t).propertyName)&&Jr(Ge)});if(ti(),z?xr(st,Je,Tr):st.on(Je,Tr),g&&Ci(st,y.x&&y.y?Rn:qn),de){var l,f,h,p,v,S,P=i.mO(),N=i.now();le=new P(function(t){if(W&&!_){var e,n=!1;r.each(t,function(){if(l=(e=this).target,f=e.attributeName,n=f===c.c?Vr(e.oldValue,l.className):f!==c.s||e.oldValue!==l[c.s].cssText)return!1}),n&&We.update(Ge)}}),fe=new P(function(t){if(W&&!_){var e=!1;r.each(t,function(){return!(e=Xr(this))}),e&&(p=i.now(),v=St||Mt,S=function(){T||(N=p,I&&Gr(),v?We.update():We.update(Ge))},clearTimeout(h),pr<=0||p-N>pr||!v?S():h=setTimeout(S,pr))}})}return k&&(Ci(Z,gn),st[cn](a.l),st[un](a.t)),it=r(mi("os-resize-observer-host")),nt.prepend(it),gr(it,zr),zr(),We.update(Ge),setTimeout(function(){C&&!T&&Ci(nt,An)},333),W=!0,ci("onInitialized"),Mi(o)==s.s&&(o=[o]),r.isArray(o)?r.each(o,function(){We.addExt(this)}):r.isPlainObject(o)&&r.each(o,function(t,e){We.addExt(t,e)}),W}}return t[a]=function(e,i,s){if(0===arguments.length)return this;C();var c,l,h=[];return r.isPlainObject(i)?e&&e.length?(r.each(e,function(){(c=this)!==n&&h.push(E(c,i,s,u,f))}),l=h.length>1?h:h[0]):l=E(e,i,s,u,f):e&&(e.length&&e.length>0?(r.each(e,function(){c=o(this),"!"===i?c instanceof t[a]&&h.push(c):h.push(c)}),l=h.length>1?h:h[0]):l=o(e)),l},t[a].globals=function(){C();var t=r.extend(!0,{},u);return delete t.msie,t},t[a].defaultOptions=function(t){C();var e=u.defaultOptions;if(t===n)return r.extend(!0,{},e);u.defaultOptions=r.extend(!0,{},e,S.v(t,S.t,!0))},t[a].extension=function(t,e,n){var i=r.type(t)==s.s,o=arguments[c.l],a=0;if(o<1||!i)return r.extend(!0,{length:M[c.l]},M);if(i)if(r.type(e)==s.f)M.push({name:t,extension:e,defaultOptions:n});else for(;a1))return r.extend(!0,{},M[a]);M.splice(a,1)}},t[a]}(function(r){var i=/[^\x20\t\r\n\f]+/g,o=Object.prototype.toString,a=" ",u="",l="scrollLeft",f="scrollTop",h=[],d={animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},p={swing:function(t,e,n,r,i){return.5-Math.cos(t*Math.PI)/2},linear:function(t,e,n,r,i){return t},easeInQuad:function(t,e,n,r,i){return r*(e/=i)*e+n},easeOutQuad:function(t,e,n,r,i){return-r*(e/=i)*(e-2)+n},easeInOutQuad:function(t,e,n,r,i){return(e/=i/2)<1?r/2*e*e+n:-r/2*(--e*(e-2)-1)+n},easeInCubic:function(t,e,n,r,i){return r*(e/=i)*e*e+n},easeOutCubic:function(t,e,n,r,i){return r*((e=e/i-1)*e*e+1)+n},easeInOutCubic:function(t,e,n,r,i){return(e/=i/2)<1?r/2*e*e*e+n:r/2*((e-=2)*e*e+2)+n},easeInQuart:function(t,e,n,r,i){return r*(e/=i)*e*e*e+n},easeOutQuart:function(t,e,n,r,i){return-r*((e=e/i-1)*e*e*e-1)+n},easeInOutQuart:function(t,e,n,r,i){return(e/=i/2)<1?r/2*e*e*e*e+n:-r/2*((e-=2)*e*e*e-2)+n},easeInQuint:function(t,e,n,r,i){return r*(e/=i)*e*e*e*e+n},easeOutQuint:function(t,e,n,r,i){return r*((e=e/i-1)*e*e*e*e+1)+n},easeInOutQuint:function(t,e,n,r,i){return(e/=i/2)<1?r/2*e*e*e*e*e+n:r/2*((e-=2)*e*e*e*e+2)+n},easeInSine:function(t,e,n,r,i){return-r*Math.cos(e/i*(Math.PI/2))+r+n},easeOutSine:function(t,e,n,r,i){return r*Math.sin(e/i*(Math.PI/2))+n},easeInOutSine:function(t,e,n,r,i){return-r/2*(Math.cos(Math.PI*e/i)-1)+n},easeInExpo:function(t,e,n,r,i){return 0==e?n:r*Math.pow(2,10*(e/i-1))+n},easeOutExpo:function(t,e,n,r,i){return e==i?n+r:r*(1-Math.pow(2,-10*e/i))+n},easeInOutExpo:function(t,e,n,r,i){return 0==e?n:e==i?n+r:(e/=i/2)<1?r/2*Math.pow(2,10*(e-1))+n:r/2*(2-Math.pow(2,-10*--e))+n},easeInCirc:function(t,e,n,r,i){return-r*(Math.sqrt(1-(e/=i)*e)-1)+n},easeOutCirc:function(t,e,n,r,i){return r*Math.sqrt(1-(e=e/i-1)*e)+n},easeInOutCirc:function(t,e,n,r,i){return(e/=i/2)<1?-r/2*(Math.sqrt(1-e*e)-1)+n:r/2*(Math.sqrt(1-(e-=2)*e)+1)+n},easeInElastic:function(t,e,n,r,i){var o=1.70158,a=0,s=r;if(0==e)return n;if(1==(e/=i))return n+r;if(a||(a=.3*i),s0&&n-1 in e)}function C(t){return(t.match(i)||[]).join(a)}function A(t,n){for(var r=(t.parentNode||e).querySelectorAll(n)||[],i=r[c.l];i--;)if(r[i]==t)return!0;return!1}function z(t,e,n){if(y(n)==s.a)for(var r=0;r0?(r=t.q[0],I(t.el,r.props,r.duration,r.easing,r.complete,!0)):(n=g(t,h))>-1&&h.splice(n,1)}function T(t,e,n){e===l?t[e]=n:e===f?t[e]=n:E(t,e,n)}function I(t,e,i,o,a,s){var u,d,v,y,w,O,S=b(i),C={},A={},z=0;for(S?(o=i.easing,i.start,v=i.progress,y=i.step,w=i.specialEasing,a=i.complete,O=i.duration):O=i,w=w||{},O=O||400,o=o||"swing",s=s||!1;z0)N=r.now(),q=function(){for(u in E=r.now(),R=E-N,H=j.stop||R>=O,I=1-(Math.max(0,N+O-E)/O||0),A)k=parseFloat(C[u]),L=parseFloat(A[u]),P=(L-k)*p[w[u]||o](I,I*O,0,1,O)+k,T(t,u,P),m(y)&&y(P,{elem:t,prop:u,start:k,now:P,end:L,pos:I,options:{easing:o,speacialEasing:w,duration:O,complete:a,step:y},startTime:N});m(v)&&v({},I,Math.max(0,O-R)),H?(W(d),m(a)&&a()):j.frame=r.rAF()(q)},j.frame=r.rAF()(q);else{for(u in A)T(t,u,A[u]);W(d)}}}function k(t,e,n){for(var i,o,a,s=0;s0){if((o=i.q[0]).stop=!0,r.cAF()(o.frame),i.q.splice(0,1),n)for(a in o.props)T(t,a,o.props[a]);e?i.q=[]:W(i,!1)}break}}return M.prototype={on:function(t,e){var n,r=(t=(t||u).match(i)||[u])[c.l],o=0;return this.each(function(){n=this;try{if(n.addEventListener)for(;o0;)i=i.childNodes[0];for(e=0;n[c.l]-e;i.firstChild===n[0]&&e++)i.appendChild(n[e]);var s=a?a.nextSibling:o.firstChild;return o.insertBefore(r,s),this},wrapInner:function(t){return this.each(function(){var e=M(this),n=e.contents();n[c.l]?n.wrapAll(t):e.append(t)})},wrap:function(t){return this.each(function(){M(this).wrapAll(t)})},css:function(e,r){var i,o,a,u=t.getComputedStyle;return y(e)==s.s?r===n?(i=this[0],a=u?u(i,null):i.currentStyle[e],u&&null!=a?a.getPropertyValue(e):i[c.s][e]):this.each(function(){E(this,e,r)}):this.each(function(){for(o in e)E(this,o,e[o])})},hasClass:function(t){for(var e,n,r=0,i=a+t+a;e=this[r++];)if(n=e.classList){if(n.contains(t))return!0}else if(1===e.nodeType&&(a+C(e.className+u)+a).indexOf(i)>-1)return!0;return!1},addClass:function(t){var e,r,o,s,c,l,f,h,d=0,p=0;if(t)for(e=t.match(i)||[];r=this[d++];)if(h=r.classList,f===n&&(f=h!==n),f)for(;c=e[p++];)h.add(c);else if(s=r.className+u,o=1===r.nodeType&&a+C(s)+a){for(;c=e[p++];)o.indexOf(a+c+a)<0&&(o+=c+a);s!==(l=C(o))&&(r.className=l)}return this},removeClass:function(t){var e,r,o,s,c,l,f,h,d=0,p=0;if(t)for(e=t.match(i)||[];r=this[d++];)if(h=r.classList,f===n&&(f=h!==n),f)for(;c=e[p++];)h.remove(c);else if(s=r.className+u,o=1===r.nodeType&&a+C(s)+a){for(;c=e[p++];)for(;o.indexOf(a+c+a)>-1;)o=o.replace(a+c+a,a);s!==(l=C(o))&&(r.className=l)}return this},hide:function(){return this.each(function(){this[c.s].display="none"})},show:function(){return this.each(function(){this[c.s].display="block"})},attr:function(t,e){for(var r=0;r=0?t:this[c.l]+t])},find:function(t){var e,n=[];return this.each(function(){var r=this.querySelectorAll(t);for(e=0;e-1){if(!(n>1))return i[a][o];delete t[o],i.splice(a,1)}}}));return l&&l.fn&&(l.fn.overlayScrollbars=function(t,e){var n=this;return l.isPlainObject(t)?(l.each(n,function(){f(this,t,e)}),n):f(n,t)}),f}); \ No newline at end of file +!function(t,e){"function"==typeof define&&define.amd?define(function(){return e(t,t.document,undefined)}):"object"==typeof module&&"object"==typeof module.exports?module.exports=e(t,t.document,undefined):e(t,t.document,undefined)}("undefined"!=typeof window?window:this,function(t,e,n){"use strict";var r,i,o,a="OverlayScrollbars",s={o:"object",f:"function",a:"array",s:"string",b:"boolean",n:"number",u:"undefined",z:"null"},c={c:"class",s:"style",i:"id",l:"length",p:"prototype",oH:"offsetHeight",cH:"clientHeight",sH:"scrollHeight",oW:"offsetWidth",cW:"clientWidth",sW:"scrollWidth"},u={wW:function(){return t.innerWidth||e.documentElement[c.cW]||e.body[c.cW]},wH:function(){return t.innerHeight||e.documentElement[c.cH]||e.body[c.cH]},mO:function(){return t.MutationObserver||t.WebKitMutationObserver||t.WebkitMutationObserver||t.MozMutationObserver||n},rO:function(){return t.ResizeObserver||t.WebKitResizeObserver||t.WebkitResizeObserver||t.MozResizeObserver||n},rAF:function(){return t.requestAnimationFrame||t.webkitRequestAnimationFrame||t.mozRequestAnimationFrame||t.oRequestAnimationFrame||t.msRequestAnimationFrame||function(e){return t.setTimeout(e,1e3/60)}},cAF:function(){return t.cancelAnimationFrame||t.webkitCancelAnimationFrame||t.mozCancelAnimationFrame||t.oCancelAnimationFrame||t.msCancelAnimationFrame||function(e){return t.clearTimeout(e)}},now:function(){return Date.now()||(new Date).getTime()},stpP:function(t){t.stopPropagation?t.stopPropagation():t.cancelBubble=!0},prvD:function(t){t.preventDefault&&t.cancelable?t.preventDefault():t.returnValue=!1},page:function(t){var r="page",i="client",o="X",a="Y",s=((t=t.originalEvent||t).target||t.srcElement||e).ownerDocument||e,c=s.documentElement,u=s.body;if(t.touches!==n){var l=t.touches[0];return{x:l[r+o],y:l[r+a]}}return!t[r+o]&&t[i+o]&&null!=t[i+o]?{x:t[i+o]+(c&&c.scrollLeft||u&&u.scrollLeft||0)-(c&&c.clientLeft||u&&u.clientLeft||0),y:t[i+a]+(c&&c.scrollTop||u&&u.scrollTop||0)-(c&&c.clientTop||u&&u.clientTop||0)}:{x:t[r+o],y:t[r+a]}},mBtn:function(t){return t.which||t.button===n?t.which:1&t.button?1:2&t.button?3:4&t.button?2:0},inA:function(t,e){for(var n=0;n0?"\r\nValid strings are: [ "+W.join(", ").split(v).join(", ")+" ].":"")),delete t[c]}}};return u(c,e,a),o?r.extend(!0,a,c):!r.isEmptyObject(c)&&n&&console.warn("The following options are discarded due to invalidity:\r\n"+JSON.stringify(c,null,2)),a}});function A(){u||(u=new z(C.d)),f||(f=new E(u))}function z(a){var s=this,u="overflow",l="hidden",f="scroll",h=r("body"),d=r('
'),v=d[0],p=r(d.children("div").eq(0));h.append(d);var y,m,x,w,b,g,O,M,S,C=E(v),A={x:0===C.x,y:0===C.y};function z(t){var r=!1,i="Webkit Moz ms O".split(" "),o=e.createElement("div"),a=null,s=0;if(t=t.toLowerCase(),o[c.s][t]!==n&&(r=!0),!r)for(a=t.charAt(0).toUpperCase()+t.substr(1);s0?y=S(m[w](b+5,m[x](".",b)),10):g>0?y=S(m[w](M+3,m[x](".",M)),10):O>0&&(y=S(m[w](O+5,m[x](".",O)),10)),y),cssCalc:function(){var t,n,r=e.createElement("div"),i=["calc","-webkit-calc","-moz-calc","-o-calc"];for(t=0;t0){var t=i.wW(),u=i.wH(),v=t-n,p=u-a;if(0===v&&0===p)return;var y,m=Math.round(t/(n/100)),x=Math.round(u/(a/100)),w=e(v),b=e(p),g=e(m),O=e(x),M=f(),S=w>2&&b>2,C=!l(g,O),A=S&&C&&(M!==c&&c>0),z=s.nativeScrollbarSize;A&&(h.append(d),y=s.nativeScrollbarSize=E(d[0]),d.remove(),z.x===y.x&&z.y===y.y||r.each(o(),function(){o(this)&&o(this).update("zoom")})),n=t,a=u,c=M}};r(t).on("resize",u)}function l(t,n){var r=e(t),i=e(n);return!(r===i||r+1===i||r-1===i)}function f(){var e=t.screen.deviceXDPI||0,n=t.screen.logicalXDPI||1;return t.devicePixelRatio||e/n}}()}function E(t){var e,o=this,a="autoUpdate",s=a+"Interval",u=c.l,l=[],f=[],h=!1,d=33,v=d,p=i.now(),y=function(){if(l[u]>0&&h){e=i.rAF()(function(){y()});var t=i.now(),r=t-p;if(r>v){p=t-r%v;for(var o=d,c=0;cb&&(m.update("auto"),f[c]=new Date(g+=b)),o=Math.max(1,Math.min(o,b))}}v=o}}else v=d};o.add=function(e){-1===r.inArray(e,l)&&(l.push(e),f.push(i.now()),l[u]>0&&!h&&(h=!0,t.autoUpdateLoop=h,y()))},o.remove=function(o){var a=r.inArray(o,l);a>-1&&(f.splice(a,1),l.splice(a,1),0===l[u]&&h&&(h=!1,t.autoUpdateLoop=h,e!==n&&(i.cAF()(e),e=-1)))}}function H(u,f,h,d,v){if(fi(u)){if(o(u)){var p=o(u);return p.options(f),p}var y,m,x,w,b,g,O,M,S,A,z,E,H,W,T,I,k,L,P,N,q,R,D,j,F,B,U,_,Q,V,X,Y,K,$,G,J,Z,tt,et,nt,rt,it,ot,at,st,ct,ut,lt,ft,ht,dt,vt,pt,yt,mt,xt,wt,bt,gt,Ot,Mt,St,Ct,At,zt,Et,Ht,Wt,Tt,It,kt,Lt,Pt,Nt,qt,Rt,Dt,jt,Ft,Bt,Ut,_t,Qt,Vt,Xt,Yt,Kt,$t,Gt,Jt,Zt,te,ee,ne,re,ie,oe,ae,se,ce,ue,le,fe,he,de,ve,pe,ye,me,xe,we,be,ge,Oe,Me,Se,Ce,Ae,ze,Ee,He,We=new t[a],Te=r[c.p],Ie={},ke={},Le={},Pe={},Ne={},qe=175,Re="-hidden",De="margin-",je="padding-",Fe="border-",Be="top",Ue="right",_e="bottom",Qe="left",Ve="min-",Xe="max-",Ye="width",Ke="height",$e="float",Ge="",Je="auto",Ze="scroll",tn="100%",en="x",nn="y",rn=".",on=" ",an="scrollbar",sn="-horizontal",cn="-vertical",un=Ze+"Left",ln=Ze+"Top",fn="mousedown touchstart",hn="mouseup touchend touchcancel",dn="mousemove touchmove",vn="mouseenter",pn="mouseleave",yn="keydown",mn="keyup",xn="selectstart",wn="transitionend webkitTransitionEnd oTransitionEnd",bn="__overlayScrollbarsRO__",gn="os-",On=gn+"html",Mn=gn+"host",Sn=Mn+"-textarea",Cn=Mn+"-"+an+sn+Re,An=Mn+"-"+an+cn+Re,zn=Mn+"-transition",En=Mn+"-rtl",Hn=Mn+"-resize-disabled",Wn=Mn+"-scrolling",Tn=Mn+"-overflow",In=Tn+"-x",kn=Tn+"-y",Ln=gn+"textarea",Pn=Ln+"-cover",Nn=gn+"padding",qn=gn+"viewport",Rn=qn+"-native-scrollbars-invisible",Dn=qn+"-native-scrollbars-overlaid",jn=gn+"content",Fn=gn+"content-arrange",Bn=gn+"content-glue",Un=gn+"size-auto-observer",_n=gn+"resize-observer",Qn=gn+"resize-observer-item",Vn=Qn+"-final",Xn=gn+"text-inherit",Yn=gn+an,Kn=Yn+"-track",$n=Kn+"-off",Gn=Yn+"-handle",Jn=Gn+"-off",Zn=Yn+"-unusable",tr=Yn+"-"+Je+Re,er=Yn+"-corner",nr=er+"-resize",rr=nr+"-both",ir=nr+sn,or=nr+cn,ar=Yn+sn,sr=Yn+cn,cr=gn+"dragging",ur=gn+"theme-none",lr={},fr="added removed on contract",hr={},dr=42,vr=[],pr=11,yr=[112,113,114,115,116,117,118,119,120,121,123,33,34,37,38,39,40,16,17,18,19,20,144],mr=[],xr={},wr={};if(We.sleep=function(){_=!0},We.update=function(t){var e,n,o=Si(t)==s.s,a="img",c="load";o?0===t.indexOf(Je)?(e=$r(),n=Kr(),(e||n)&&Zr(!1,n,!1,"+"==t.slice(-1))):"zoom"===t&&Zr(!0,!0):(t=_||t,_=!1,Zr(!1,!1,t,!0)),I||ut.find(a).each(function(t,e){-1===i.inA(e,vr)&&r(e).off(c,Qr).on(c,Qr)})},We.options=function(t,e){if(r.isEmptyObject(t)||!r.isPlainObject(t)){if(Si(t)==s.s){if(arguments.length>=2){var n={};return bi(n,t,e),ti(n),void Zr()}return wi(X,t)}return X}ti(t);var i=_||!1;_=!1,Zr(),_=i},We.destroy=function(){for(var t in T=!0,v.remove(We),zr(),Mr(it),N&&Mr(rt),lr)We.removeExt(t);Ei(it),ot!==n&&Ei(ot),ct!==n&&Ei(ct),N&&Ei(rt),z?(gr(nt,dn,Tr),gr(nt,vn,Hr),gr(nt,pn,Wr)):nt.off(dn,Tr).off(vn,Hr).off(pn,Wr),Ei(ht),Ei(pt),ft&&Ei(ft),Ae||Ur(),ut.contents().unwrap().unwrap().unwrap(),k&&zi(Z,On),I?(et.off(Ze,jr).off("drop",qr).off("focus",Rr).off("focusout",Dr),b>9||!w?et.off("input",Lr):et.off(yn,Pr).off(mn,Nr),Ei(lt),zi(et,Ln+on+Xn).unwrap().removeAttr(c.s),Ei(nt)):(zi(et,Mn),zi(nt,[Mn,Hn,En,Cn,An,zn,Wn,Tn,In,kn,ur,re].join(on)));for(var e=0;e0)e.x=t[0],e.y=t[1];else if(Si(t)==s.s||Si(t)==s.n)e.x=t,e.y=t;else if(Si(t)==s.o){for(var n in E=Si(t.n)==s.b?t.n:E,t=Ci({},t),m=0,t)t.hasOwnProperty(n)&&(m>2&&delete t[n],m++);var r=function(e){var n=e?H:W;for(m=0;m2){var y=r.substr(0,2);for(m=0;m/g,(v?"-":Ge)+tn))[p](/px/g,Ge))[p](/%/g,h+f*(d&&x.n?-1:1)/100))[p](/vw/g,h+Pe.w))[p](/vh/g,h+Pe.h),o=di(t.parseFloat(t.eval(r)).toFixed())}else o=r;if(o!==n&&!isNaN(o)&&Si(o)==s.n){var w=E&&d,b=l*(w&&x.n?-1:1),g=w&&x.i,O=w&&x.n;switch(b=g?f-b:b,i){case"+=":c=b+o;break;case"-=":c=b-o;break;case"*=":c=b*o;break;case"/=":c=b/o;break;default:c=o}c=g?f-c:c,c*=O?-1:1,c=d&&x.n?Math.min(0,Math.max(f,c)):Math.max(0,Math.min(f,c))}return c===l?n:c},Z=function(t,e,n,r){var i,o,a=[n,n],c=Si(t);if(c==e)t=[t,t];else if(c==s.a){if((i=t[F])>2||i<1)t=a;else for(1===i&&(t[1]=n),m=0;m=4?tt(nt):ct:ut==s.o?tt([nt[Be],nt[Ue],nt[_e],nt[Qe]]):ct,O=$(rt,B)?rt:"xy",M=Z(it,s.s,R,Q),S=Z(ot,s.s,P,_),C=nt;var lt={l:ke.cs,t:Le.cs},ft=at.offset(),ht=z.offset(),dt={x:M.x==D||O==nn,y:M.y==D||O==en};ht[Be]-=C[0],ht[Qe]-=C[3];var vt={x:Math.round(ht[Qe]-ft[Qe]+lt.l),y:Math.round(ht[Be]-ft[Be]+lt.t)};if(U&&(x.n||x.i||(vt.x=Math.round(ft[Qe]-ht[Qe]+lt.l)),x.n&&E&&(vt.x*=-1),x.i&&E&&(vt.x=Math.round(ft[Qe]-ht[Qe]+(ke.ms-lt.l)))),S.x!=P||S.y!=P||M.x==j||M.y==j||U){var pt=z[0],yt=A?pt.getBoundingClientRect():{width:pt[c.oW],height:pt[c.oH]},mt={w:yt[Ye]+C[3]+C[1],h:yt[Ke]+C[0]+C[2]},xt=function(t){var e=ci(t),n=e._wh,r=e.lt,i=e.xy,o=S[i]==(t&&U?P:L),a=S[i]==N,s=S[i]==q,c=M[i]==D,u=M[i]==j,l=Pe[n],f=ft[r],h=mt[n],d=ht[r],v=a?2:1,p=d+h/2,y=f+l/2,m=h<=l&&d>=f&&d+h<=f+l;c?dt[i]=!0:dt[i]||((s||u)&&(dt[i]=!!u&&m,o=hy:p0||k))if(k)st.animate(I,i);else{if(g={duration:i,complete:a},Si(o)==s.a){var wt={};wt[un]=o[0],wt[ln]=o[1],g.specialEasing=wt}else g.easing=o;st.animate(I,g)}else w&&st[un](I[un]),b&&st[ln](I[ln])},We.scrollStop=function(t,e,n){return st.stop(t,e,n),We},We.getElements=function(t){var e={target:et[0],host:nt[0],padding:at[0],viewport:st[0],content:ut[0],scrollbarHorizontal:{scrollbar:ht[0],track:dt[0],handle:vt[0]},scrollbarVertical:{scrollbar:pt[0],track:yt[0],handle:mt[0]},scrollbarCorner:ft[0]};return Si(t)==s.s?wi(e,t):e},We.getState=function(t){var e=function(t){if(!r.isPlainObject(t))return t;var e=Ci(!0,{},t),n=function(t,n){e.hasOwnProperty(t)&&(e[n]=e[t],delete e[t])};return n("w",Ye),n("h",Ke),delete e.c,e},n={sleeping:e(_)||!1,autoUpdate:e(!he),widthAuto:e(Mt),heightAuto:e(St),padding:e(zt),overflowAmount:e(Nt),hideOverflow:e(Ot),hasOverflow:e(gt),contentScrollSize:e(wt),viewportSize:e(Pe),hostSize:e(xt),documentMixed:e(L)};return Si(t)==s.s?wi(n,t):n},We.ext=function(t){var e,n=fr.split(" "),r=0;if(Si(t)==s.s){if(lr.hasOwnProperty(t))for(e=Ci(!0,{},lr[t]);r9||!w){t.prepend(xi(_n,xi({className:Qn,dir:"ltr"},xi(Qn,xi(Vn))+xi(Qn,xi({className:Vn,style:"width: 200%; height: 200%"})))));var v,p,y,m,g=t[0][l][0][l][0],O=r(g[l][1]),M=r(g[l][0]),S=r(M[0][l][0]),C=g[c.oW],A=g[c.oH],z=2,H=d.nativeScrollbarSize,W=function(){M[un](o)[ln](o),O[un](o)[ln](o)},T=function(){p=0,v&&(C=y,A=m,f())},I=function(t){return y=g[c.oW],m=g[c.oH],v=y!=C||m!=A,t&&v&&!p?(i.cAF()(p),p=i.rAF()(T)):t||T(),W(),t&&(i.prvD(t),i.stpP(t)),!1},k={},L={};L[Be]=-(H.y+1)*z,L[Ue]=H.x*-z,L[_e]=H.y*-z,L[Qe]=-(H.x+1)*z,r(g).css(L),M.on(Ze,I),O.on(Ze,I),t.on(u,function(){I(!1)}),k[Ye]=o,k[Ke]=o,S.css(k),W()}else{var P=J[0],N=P.attachEvent,q=b!==n;if(N)t.prepend(xi(_n)),Hi(t,rn+_n)[0].attachEvent("onresize",f);else{var R=P.createElement(s.o);R.setAttribute("tabindex","-1"),R.setAttribute(c.c,_n),R.onload=function(){var t=this.contentDocument.defaultView;t.addEventListener("resize",f),t.document.documentElement.style.display="none"},R.type="text/html",q&&t.prepend(R),R.data="about:blank",q||t.prepend(R),t.on(u,f)}}if(t[0]===it[0]){var D=function(){var e=nt.css("direction"),n={},r=0,i=!1;return e!==Tt&&("ltr"===e?(n[Qe]=0,n[Ue]=Je,r=o):(n[Qe]=Je,n[Ue]=0,r=x.n?-o:x.i?0:o),it.children().eq(0).css(n),t[un](r)[ln](o),Tt=e,i=!0),i};D(),t.on(Ze,function(t){return D()&&Zr(),i.prvD(t),i.stpP(t),!1})}}function Mr(t){if(E){var e=t.contents()[0];e[bn].disconnect(),delete e[bn]}else Ei(t.children(rn+_n).eq(0))}function Sr(t){}function Cr(t){}function Ar(){de&&!he&&(le.observe(nt[0],{attributes:!0,attributeOldValue:!0,attributeFilter:[c.i,c.c,c.s]}),fe.observe(I?et[0]:ut[0],{attributes:!0,attributeOldValue:!0,subtree:!I,childList:!I,characterData:!I,attributeFilter:I?["wrap","cols","rows"]:[c.i,c.c,c.s]}),he=!0)}function zr(){de&&he&&(le.disconnect(),fe.disconnect(),he=!1)}function Er(){if(!_){var t=it[0],e={w:t[c.sW],h:t[c.sH]};if(W){var n=Oi(e,$t);$t=e,n&&Zr(!0,!1)}else $t=e}}function Hr(){Oe&&ii(!0)}function Wr(){Oe&&!tt.hasClass(cr)&&ii(!1)}function Tr(){ge&&(ii(!0),clearTimeout(me),me=setTimeout(function(){ge&&!T&&ii(!1)},100))}function Ir(t){_||(Q!==n?clearTimeout(Q):((be||ge)&&ii(!0),yi()||Ai(nt,Wn),ui("onScrollStart",t)),ai(!0,st[un]()),ai(!1,st[ln]()),ui("onScroll",t),Q=setTimeout(function(){T||(kr(),ui("onScrollStop",t))},qe))}function kr(){clearTimeout(Q),Q=n,(be||ge)&&ii(!1),yi()||zi(nt,Wn)}function Lr(){Jr(),We.update(Je)}function Pr(t){var e=t.keyCode;if(!pi(e)){if(0===mr.length){var n=function(){Jr(),We.update(Je)};n(),ve=setInterval(n,1e3/60)}-1===r.inArray(e,mr)&&mr.push(e)}}function Nr(t){var e=t.keyCode;if(!pi(e)){var n=r.inArray(e,mr);n>-1&&mr.splice(n,1),0===mr.length&&(Jr(),We.update(Je),clearInterval(ve))}}function qr(){setTimeout(function(){T||(Jr(),We.update(Je))},50)}function Rr(){pe=!0}function Dr(){pe=!1,clearInterval(ve),mr=[],Jr(),We.update(Je)}function jr(t){return et[un](x.i&&ne?9999999:0),et[ln](0),i.prvD(t),i.stpP(t),!1}function Fr(t){if(!_){var e=(t.originalEvent||t).touches!==n;(1===i.mBtn(t)||e)&&(he&&(Ce=!0,zr()),xr=i.page(t),wr.w=nt[0][c.oW]-(P?0:q),wr.h=nt[0][c.oH]-(P?0:R),J.on(xn,_r).on(dn,Br).on(hn,Ur),Ai(tt,cr),ft.setCapture&&ft.setCapture(),i.prvD(t),i.stpP(t))}}function Br(t){var e=i.page(t),n={};(Ee||ze)&&(n[Ye]=wr.w+e.x-xr.x),(He||ze)&&(n[Ke]=wr.h+e.y-xr.y),nt.css(n),i.stpP(t)}function Ur(t){var e=t!==n;J.off(xn,_r).off(dn,Br).off(hn,Ur),zi(tt,cr),ft.releaseCapture&&ft.releaseCapture(),e&&(Ce&&Ar(),We.update(Je)),Ce=!1}function _r(t){return i.prvD(t),!1}function Qr(){Zr()}function Vr(){var t={};return k&&ct&&(t.w=di(ct.css(Ve+Ye)),t.h=di(ct.css(Ve+Ke)),t.c=Oi(t,se),t.f=!0),se=t,t.c||!1}function Xr(t,e){var i=e!==n&&null!==e?e.split(on):Ge,o=t!==n&&null!==t?t.split(on):Ge;if(i===Ge&&o===Ge)return!1;var a,s,c,u,l=hi(o,i),f=!1,h=ie!==n&&null!==ie?ie.split(on):[Ge],d=re!==n&&null!==re?re.split(on):[Ge],v=r.inArray(ur,l),p=l[a];for(v>-1&&l.splice(v,1),a=0;a0&&W&&s-K0?G:ur)),Vt&&(!0===Qt?(zr(),v.add(We)):null===Qt&&w?(zr(),v.add(We)):(v.remove(We),Ar())),Bt)if(Tt)if(ot===n&&(ot=r(xi(Bn)),at.before(ot)),N)rt.show();else{rt=r(xi(Un)),ot.before(rt);var fe={w:-1,h:-1};Or(rt,function(){var t={w:rt[0][c.oW],h:rt[0][c.oH]};Oi(t,fe)&&(W&&St&&t.h>0||Mt&&t.w>0?Zr():(W&&!St&&0===t.h||!Mt&&0===t.w)&&Zr()),fe=t}),N=!0,null!==O&&rt.css(Ke,O+"(100% + 1px)")}else N&&rt.hide();o&&(it.find("*").trigger(Ze),N&&rt.find("*").trigger(Ze));var de,ve=nt.css("direction"),ye=gi(ve,Wt,o),me=nt.css("box-sizing"),Se=gi(me,At,o),Ce={c:o,t:di(nt.css(je+Be)),r:di(nt.css(je+Ue)),b:di(nt.css(je+_e)),l:di(nt.css(je+Qe))};try{de=N?rt[0].getBoundingClientRect():null}catch(Ri){return}P="border-box"===me;var Te=(U="rtl"===ve)?Qe:Ue,ke=U?Ue:Qe,Le=nt[0],qe=at[0],Re=!1,rn=!(!N||"none"===nt.css($e))&&(0===Math.round(de.right-de.left)&&(!!vt||Le[c.cW]-q>0));if(Tt&&!rn){var an=Le[c.oW],sn=ot.css(Ye);ot.css(Ye,Je);var cn=Le[c.oW];ot.css(Ye,sn),(Re=an!==cn)||(ot.css(Ye,an+1),cn=Le[c.oW],ot.css(Ye,sn),Re=an!==cn)}var hn=(rn||Re)&&Tt&&!l,yn=gi(hn,Mt,o),mn=!hn&&Mt,xn=!(!N||l)&&0===Math.round(de.bottom-de.top),wn=gi(xn,St,o),bn=!xn&&St,gn="-"+Ye,On=hn&&P||!P,Mn=xn&&P||!P,Sn={c:o,t:Mn?di(nt.css(Fe+Be+gn)):0,r:On?di(nt.css(Fe+Ue+gn)):0,b:Mn?di(nt.css(Fe+_e+gn)):0,l:On?di(nt.css(Fe+Qe+gn)):0},Cn={c:o,t:di(nt.css(De+Be)),r:di(nt.css(De+Ue)),b:di(nt.css(De+_e)),l:di(nt.css(De+Qe))},An={h:String(nt.css(Xe+Ke)),w:String(nt.css(Xe+Ye))},zn={},Ln={};if(q=Ce.l+Ce.r,R=Ce.t+Ce.b,Ce.ax=vt?q:0,Ce.ay=vt?R:0,Ce.c=Mi(Ce,zt),D=Sn.l+Sn.r,j=Sn.t+Sn.b,Sn.c=Mi(Sn,Et),F=Cn.l+Cn.r,B=Cn.t+Cn.b,Cn.c=Mi(Cn,Ht),An.ih=di(An.h),An.iw=di(An.w),An.ch=An.h.indexOf("px")>-1,An.cw=An.w.indexOf("px")>-1,An.c=Oi(An,Ct,o),Wt=ve,At=me,Mt=hn,St=xn,zt=Ce,Et=Sn,Ht=Cn,Ct=An,ye&&N&&rt.css($e,ke),Ce.c||ye||pt||yn||wn||Se||Bt){var Pn={},Nn={};li(Ln,De,[-Ce.t,-Ce.r,-Ce.b,-Ce.l]),vt?(li(Pn,Ge,[Ce.t,Ce.r,Ce.b,Ce.l]),li(I?Nn:zn,je)):(li(Pn,Ge),li(I?Nn:zn,je,[Ce.t,Ce.r,Ce.b,Ce.l])),at.css(Pn),et.css(Nn)}Pe={w:qe[c.oW],h:qe[c.oH]};var qn=!!I&&Jr();if(xn&&(wn||pt||Se||An.c||Ce.c||Sn.c)?(An.cw&&(zn[Xe+Ke]=An.ch?An.ih-Ce.ay+(P?-j:R):Ge),zn[Ke]=Je):(wn||pt)&&(zn[Xe+Ke]=Ge,zn[Ke]=tn),hn&&(yn||pt||Se||An.c||Ce.c||Sn.c||ye)?(An.cw&&(zn[Xe+Ye]=An.cw?An.iw-Ce.ax+(P?-D:q)+(y.y?m.y:0):Ge),zn[Ye]=Je,Ln[Xe+Ye]=tn):(yn||pt)&&(zn[Xe+Ye]=Ge,zn[Ye]=tn,zn[$e]=Ge,Ln[Xe+Ye]=Ge),hn&&(An.cw||(zn[Xe+Ye]=Ge),Ln[Ye]=I&&Kt?qn.dw:Je,zn[Ye]=Je,zn[$e]=ke),xn&&(An.ch||(zn[Xe+Ke]=Ge),Ln[Ke]=I?ce?qn.dh:Je:ut[0][c.cH]),Tt&&ot.css(Ln),ut.css(zn),zn={},Ln={},t||e||ye||Se||pt||yn||hn||wn||xn||An.c||_t||Yt||mt||tt||C||$t||le||dt||o){var Rn="overflow",Dn=Rn+"-x",jn=Rn+"-y",_n="hidden",Qn="visible",Vn=H?y.x||y.y||Pe.w0&&(Ln[Ye]=Math.max(1,Ln[Ye]),Ln[Ke]=Math.max(1,Ln[Ke])),I&<.css(lr),ot.css(Ln)}hn&&(zn[Ye]=tn),!hn||P||he||(zn[$e]="none"),ut.css(zn),zn={};var fr=$n.getBoundingClientRect(),vr={w:Math.max($n[c.sW],Gn[c.sW]),h:Math.max($n[c.sH],Gn[c.sH])};if(Vn&&ut.css(Rn,Ge),fr.width){var pr=fr.width,yr=fr.height,mr=.001;vr.w+=di(pr+mr)-pr,vr.h+=di(yr+mr)-yr}vr.c=e=Oi(vr,wt,o),wt=vr,t=Oi(er={w:Le[c.cW],h:Le[c.cH]},xt),xt=er;var xr={x:"v-s"===Xt.x,y:"v-s"===Xt.y},wr={x:"v-h"===Xt.x,y:"v-h"===Xt.y},Mr={x:"s"===Xt.x,y:"s"===Xt.y},Er={x:Math.max(0,Math.round(100*(vr.w-er.w+Ce.ax))/100),y:Math.max(0,Math.round(100*(vr.h-er.h+Ce.ay))/100)},Ir=I&&(0===Pe.w||0===Pe.h);Ir&&(Er.x=0,Er.y=0);var kr={x:Er.x>0,y:Er.y>0},Lr={x:kr.x,y:kr.y};(xr.x||wr.x)&&(Lr.x=kr.y&&!xr.y&&!wr.y),(xr.y||wr.y)&&(Lr.y=kr.x&&!xr.x&&!wr.x),Lr.xs=!!Lr.x&&(Mr.x||xr.x),Lr.ys=!!Lr.y&&(Mr.y||xr.y);var Pr={x:kr.x&&Lr.xs,y:kr.y&&Lr.ys},Nr=Nt;if(Er.c=Oi(Er,Nt,en,nn,o),Nt=Er,kr.c=Oi(kr,gt,en,nn,o),gt=kr,Lr.c=Oi(Lr,Ot,en,nn,o),Ot=Lr,y.x||y.y){var qr="px solid transparent",Rr={},Dr={},jr=o;(kr.x||kr.y)&&(Dr.w=y.y&&kr.y?vr.w+m.y:Ge,Dr.h=y.x&&kr.x?vr.h+m.x:Ge,jr=gi(Dr,bt,o),bt=Dr),(kr.c||Lr.c||vr.c||ye||yn||wn||hn||xn||_t)&&(zn[De+ke]=zn[Fe+ke]=Ge,y.x&&kr.x&&Lr.xs?(zn[De+_e]=xn?Ut?Ge:m.x:Ge,zn[Fe+_e]=xn||Ut?Ge:m.x+qr):(Dr.h=zn[De+_e]=zn[Fe+_e]=Ge,jr=!0),y.y&&kr.y&&Lr.ys?(zn[De+Te]=hn?Ut?Ge:m.y:Ge,zn[Fe+Te]=Ut?Ge:m.y+qr):(Dr.w=zn[De+Te]=zn[Fe+Te]=Ge,jr=!0)),Ut&&(Dr.w=Dr.h=Ge,jr=!0),jr&&(Rr[Ye]=Lr.y?Dr.w:Ge,Rr[Ke]=Lr.x?Dr.h:Ge,ct||(ct=r(xi(Fn)),st.prepend(ct)),ct.css(Rr)),ut.css(zn)}var Br={};Pn={};if(t||kr.c||Lr.c||vr.c||Yt||Se||_t||ye||mt||wn){Br[ke]=Ge;var Ur=function(){Br[_e]=Ge,Ie.h=0},_r=function(){Br[Te]=Ge,Ie.w=0};if(kr.x&&Lr.xs?(Br[Dn]=Ze,Ut?Ur():(Br[_e]=-(y.x?m.x:M.x),Ie.h=y.x?m.y:0)):(Br[Dn]=Ge,Ur()),kr.y&&Lr.ys?(Br[jn]=Ze,Ut?_r():(Br[Te]=-(y.y?m.y:M.y),Ie.w=y.y?m.x:0)):(Br[jn]=Ge,_r()),(Pe.h-1,qi=Pi.y>-1;(Ni||qi)&&(qi&&st[ln](Pi.y),Ni&&(U&&ne&&x.i?st[un](0):st[un](Pi.x)))}Ft=bi}else I||(U&&x.i&&y.y&&kr.x&&ne&&(h.l+=Ie.w||0),st[un](h.l),st[ln](h.t));ye&&ui("onDirectionChanged",{isRTL:U,dir:ve}),t&&ui("onHostSizeChanged",{width:xt.w,height:xt.h}),e&&ui("onContentSizeChanged",{width:wt.w,height:wt.h}),(kr.c||Lr.c)&&ui("onOverflowChanged",{x:kr.x,y:kr.y,xScrollable:Lr.xs,yScrollable:Lr.ys,clipped:Lr.x||Lr.y}),Er.c&&ui("onOverflowAmountChanged",{x:Er.x,y:Er.y})}k&&(gt.c||se.c)&&(se.f||Vr(),y.y&>.x&&ut.css(Ve+Ye,se.w+m.y),y.x&>.y&&ut.css(Ve+Ke,se.h+m.x),se.c=!1),Cr(it),Cr(rt),ui("onUpdated",{forced:o})}}function ti(t){X=Ci(!0,{},X,C.v(t,C.t,!0)),Y=Ci(!0,{},Y,C.v(t,C.t,!1,!0))}function ei(){ht=r(xi(Yn+on+ar)),dt=r(xi(Kn)),vt=r(xi(Gn)),pt=r(xi(Yn+on+sr)),yt=r(xi(Kn)),mt=r(xi(Gn)),ht.append(dt),dt.append(vt),pt.append(yt),yt.append(mt),at.after(pt),at.after(ht),S&&(ht.on(wn,function(t){t.target===ht[0]&&(oi(!0),ai(!0,st[un]()))}),pt.on(wn,function(t){t.target===pt[0]&&(oi(!1),ai(!1,st[ln]()))})),ni(!0),ni(!1),ft=r(xi(er)),nt.append(ft)}function ni(t){var e,o,a,s=ci(t),c=G.top!==G,u=s.xy,l=s.XY,f=Ze+s.LT,h="active",d=1,v=[16,17];function p(){d=.5}function y(){d=1}function m(t){r.inArray(t.keyCode,v)>-1&&p()}function w(t){r.inArray(t.keyCode,v)>-1&&y()}function g(t){var e=(t.originalEvent||t).touches!==n;return!(_||yi()||!te||e&&!Me)&&(1===i.mBtn(t)||e)}function O(n){if(g(n)){var r=s.i.tl,a=s.i.hl,h=s.i.ms*(((b&&c?n["screen"+l]:i.page(n)[u])-o)/(r-a));h=isFinite(h)?h:0,U&&t&&!x.i&&(h*=-1),st[f](e+h),z||i.prvD(n)}else M(n)}function M(t){t=t||t.originalEvent,zi(tt,cr),zi(s.h,h),zi(s.t,h),zi(s.s,h),J.off(dn,O).off(hn,M).off(yn,m).off(mn,w).off(xn,_r),y(),e=n,o=n,a!==n&&(We.scrollStop(),clearTimeout(a),a=n);var r=nt[0].getBoundingClientRect();t.clientX>=r.left&&t.clientX<=r.right&&t.clientY>=r.top&&t.clientY<=r.bottom||Wr(),(be||ge)&&ii(!1)}function S(r){e=(e=st[f]())===n?0:e,(U&&t&&!x.n||!U)&&(e=e<0?0:e),o=b&&c?r["screen"+l]:i.page(r)[u],Ai(tt,cr),Ai(s.h,h),Ai(s.s,h),J.on(dn,O).on(hn,M).on(xn,_r),!b&&L||i.prvD(r),i.stpP(r)}s.h.on(fn,function(t){g(t)&&S(t)}),s.t.on(fn,function(e){if(g(e)){var r,c,l=Pe[s._wh],v=s.t.offset()[s.lt],y=e.ctrlKey,b=e.shiftKey,O=b&&y,C=!0,A="linear",z=function(){if(!T){var i=o-v,h=s.i.tl,p=s.i.ho,y=s.i.hl,m=s.i.ms,w=270*d,g=C?Math.max(400,w):w,M=m*((i-y/2)/(h-y)),E=U&&t&&(!x.i&&!x.n||ne),H=E?pi,W={};b?(M=isFinite(M)?M:0,U&&t&&!x.i&&(M=m-M),O?(W.n=!1,W[u]=M,We.scroll(W,130,A,function(){S(e)})):(st[f](M),S(e))):(r=C?H:r,c=E?r?p+y>=i:p<=i:r?p<=i:p+y>=i,W[u]=r?"-="+l:"+="+l,We.scrollStop(),We.scroll(W,w,A),c?(clearTimeout(a),We.scrollStop(),a=n):a=setTimeout(z,g),C=!1)}};y&&p(),o=i.page(e)[u],Ai(tt,cr),Ai(s.t,h),Ai(s.s,h),J.on(hn,M).on(yn,m).on(mn,w).on(xn,_r),z(),i.prvD(e),i.stpP(e)}}).hover(function(){(be||ge)&&(Se=!0,ii(!0))},function(){(be||ge)&&(Se=!1,ii(!1))}),s.s.on(fn,function(t){i.stpP(t)})}function ri(t,e,n){var r=t?Cn:An,i=t?ht:pt;e?zi(nt,r):Ai(nt,r),n?zi(i,Zn):Ai(i,Zn)}function ii(t,e){if(clearTimeout(ye),t)zi(ht,tr),zi(pt,tr);else{var n="active",r=function(){if(!Se&&!T){var t=vt.hasClass(n)||mt.hasClass(n);!t&&(be||ge||Oe)&&Ai(ht,tr),!t&&(be||ge||Oe)&&Ai(pt,tr)}};xe>0&&!0!==e?ye=setTimeout(r,xe):r()}}function oi(t){var e={},n=ci(t),r=1e6,i=Math.min(1,(xt[n._wh]-(It?t?q:R:0))/wt[n._wh]);e[n.wh]=Math.floor(100*i*r)/r+"%",yi()||n.h.css(e),n.i.hl=n.h[0]["offset"+n.WH],n.i.hlr=i}function ai(t,e){var n,r,i,o=U&&t,a={},s=ci(t),c="translate(",u="transform",l=st[0][Ze+s.WH]-st[0]["client"+s.WH],f=s.i.hl,h=s.t[0]["offset"+s.WH],d=h-f;x.n&&o&&(l*=-1),i=e/l,i=isNaN(i)?0:Math.min(1,i),s.i.ms=l,s.i.cs=e,s.i.csr=i,d*=i,d=isNaN(d)?0:d,o&&!x.i&&(d=h-f-d),d=Math.max(0,d),A?(r=(r=o?-(h-f-d):d)/h*100*(h/f),n=t?c+r+"%, 0)":c+"0, "+r+"%)",a["-webkit-"+u]=n,a["-moz-"+u]=n,a["-ms-"+u]=n,a["-o-"+u]=n,a[u]=n):a[s.lt]=d,yi()||s.h.css(a),s.i.ho=d,s.i.tl=h}function si(t,e){var n=e?"removeClass":"addClass",r=t?yt:mt,i=t?$n:Jn;(t?dt:vt)[n](i),r[n](i)}function ci(t){return{wh:t?Ye:Ke,WH:t?"Width":"Height",lt:t?Qe:Be,LT:t?"Left":"Top",xy:t?en:nn,XY:t?"X":"Y",_wh:t?"w":"h",_lt:t?"l":"t",t:t?dt:yt,h:t?vt:mt,s:t?ht:pt,i:t?ke:Le}}function ui(t,e){if(W){var n,i=Y.callbacks[t],o=t;"on"===o.substr(0,2)&&(o=o.substr(2,1).toLowerCase()+o.substr(3)),Si(i)==s.f&&i.call(We,e),r.each(lr,function(){Si((n=this).on)==s.f&&n.on(o,e)})}}function li(t,e,r){r===n&&(r=[Ge,Ge,Ge,Ge]),t[e+Be]=r[0],t[e+Ue]=r[1],t[e+_e]=r[2],t[e+Qe]=r[3]}function fi(e){var n="ownerDocument",r="HTMLElement",i=e&&e[n]&&e[n].parentWindow||t;return typeof i[r]==s.o?e instanceof i[r]:e&&typeof e==s.o&&null!==e&&1===e.nodeType&&typeof e.nodeName==s.s}function hi(t,e){var n,r,i=[],o=[];for(n=0;nf&&(l=r+1,f=e);return{cR:h,cC:d,r:c,c:f,w:l,p:t,m:a}}}function pi(t){for(var e=0;e"+(e||Ge)+""}function wi(t,e){for(var n,r=e.split(rn),i=0;i9||!w?et.on("input",Lr):et.on(yn,Pr).on(mn,Nr)}else Ai(et,Mn),(nt=et).wrapInner(xi(jn)).wrapInner(xi(qn)).wrapInner(xi(Nn)),ut=Hi(nt,rn+jn),st=Hi(nt,rn+qn),at=Hi(nt,rn+Nn),ut.on(wn,function(t){!0!==Rt&&Gr((t=t.originalEvent||t).propertyName)&&Zr(Je)});if(ei(),z?br(st,Ze,Ir):st.on(Ze,Ir),g&&Ai(st,y.x&&y.y?Dn:Rn),de){var l,f,h,v,p,C,P=i.mO(),N=i.now();le=new P(function(t){if(W&&!_){var e,n=!1;r.each(t,function(){if(l=(e=this).target,f=e.attributeName,n=f===c.c?Xr(e.oldValue,l.className):f!==c.s||e.oldValue!==l[c.s].cssText)return!1}),n&&We.update(Je)}}),fe=new P(function(t){if(W&&!_){var e=!1;r.each(t,function(){return!(e=Yr(this))}),e&&(v=i.now(),p=St||Mt,C=function(){T||(N=v,I&&Jr(),p?Zr():We.update(Je))},clearTimeout(h),pr<=0||v-N>pr||!p?C():h=setTimeout(C,pr))}})}return k&&(Ai(Z,On),st[un](a.l),st[ln](a.t)),it=r(xi("os-resize-observer-host")),nt.prepend(it),Or(it,Er),Er(),We.update(Je),setTimeout(function(){S&&!T&&Ai(nt,zn)},333),W=!0,ui("onInitialized"),Si(o)==s.s&&(o=[o]),r.isArray(o)?r.each(o,function(){We.addExt(this)}):r.isPlainObject(o)&&r.each(o,function(t,e){We.addExt(t,e)}),W}}return t[a]=function(e,i,s){if(0===arguments.length)return this;A();var c,l,h=[];return r.isPlainObject(i)?e&&e.length?(r.each(e,function(){(c=this)!==n&&h.push(H(c,i,s,u,f))}),l=h.length>1?h:h[0]):l=H(e,i,s,u,f):e&&(e.length&&e.length>0?(r.each(e,function(){c=o(this),"!"===i?c instanceof t[a]&&h.push(c):h.push(c)}),l=h.length>1?h:h[0]):l=o(e)),l},t[a].globals=function(){A();var t=r.extend(!0,{},u);return delete t.msie,t},t[a].defaultOptions=function(t){A();var e=u.defaultOptions;if(t===n)return r.extend(!0,{},e);u.defaultOptions=r.extend(!0,{},e,C.v(t,C.t,!0))},t[a].extension=function(t,e,n){var i=r.type(t)==s.s,o=arguments[c.l],a=0;if(o<1||!i)return r.extend(!0,{length:S[c.l]},S);if(i)if(r.type(e)==s.f)S.push({name:t,extension:e,defaultOptions:n});else for(;a1))return r.extend(!0,{},S[a]);S.splice(a,1)}},t[a]}(function(r){var i=/[^\x20\t\r\n\f]+/g,o=Object[c.p].toString,a=" ",u="",l="scrollLeft",f="scrollTop",h=[],d={animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},v={swing:function(t,e,n,r,i){return.5-Math.cos(t*Math.PI)/2},linear:function(t,e,n,r,i){return t},easeInQuad:function(t,e,n,r,i){return r*(e/=i)*e+n},easeOutQuad:function(t,e,n,r,i){return-r*(e/=i)*(e-2)+n},easeInOutQuad:function(t,e,n,r,i){return(e/=i/2)<1?r/2*e*e+n:-r/2*(--e*(e-2)-1)+n},easeInCubic:function(t,e,n,r,i){return r*(e/=i)*e*e+n},easeOutCubic:function(t,e,n,r,i){return r*((e=e/i-1)*e*e+1)+n},easeInOutCubic:function(t,e,n,r,i){return(e/=i/2)<1?r/2*e*e*e+n:r/2*((e-=2)*e*e+2)+n},easeInQuart:function(t,e,n,r,i){return r*(e/=i)*e*e*e+n},easeOutQuart:function(t,e,n,r,i){return-r*((e=e/i-1)*e*e*e-1)+n},easeInOutQuart:function(t,e,n,r,i){return(e/=i/2)<1?r/2*e*e*e*e+n:-r/2*((e-=2)*e*e*e-2)+n},easeInQuint:function(t,e,n,r,i){return r*(e/=i)*e*e*e*e+n},easeOutQuint:function(t,e,n,r,i){return r*((e=e/i-1)*e*e*e*e+1)+n},easeInOutQuint:function(t,e,n,r,i){return(e/=i/2)<1?r/2*e*e*e*e*e+n:r/2*((e-=2)*e*e*e*e+2)+n},easeInSine:function(t,e,n,r,i){return-r*Math.cos(e/i*(Math.PI/2))+r+n},easeOutSine:function(t,e,n,r,i){return r*Math.sin(e/i*(Math.PI/2))+n},easeInOutSine:function(t,e,n,r,i){return-r/2*(Math.cos(Math.PI*e/i)-1)+n},easeInExpo:function(t,e,n,r,i){return 0==e?n:r*Math.pow(2,10*(e/i-1))+n},easeOutExpo:function(t,e,n,r,i){return e==i?n+r:r*(1-Math.pow(2,-10*e/i))+n},easeInOutExpo:function(t,e,n,r,i){return 0==e?n:e==i?n+r:(e/=i/2)<1?r/2*Math.pow(2,10*(e-1))+n:r/2*(2-Math.pow(2,-10*--e))+n},easeInCirc:function(t,e,n,r,i){return-r*(Math.sqrt(1-(e/=i)*e)-1)+n},easeOutCirc:function(t,e,n,r,i){return r*Math.sqrt(1-(e=e/i-1)*e)+n},easeInOutCirc:function(t,e,n,r,i){return(e/=i/2)<1?-r/2*(Math.sqrt(1-e*e)-1)+n:r/2*(Math.sqrt(1-(e-=2)*e)+1)+n},easeInElastic:function(t,e,n,r,i){var o=1.70158,a=0,s=r;if(0==e)return n;if(1==(e/=i))return n+r;if(a||(a=.3*i),s0&&n-1 in e)}function C(t){return(t.match(i)||[]).join(a)}function A(t,n){for(var r=(t.parentNode||e).querySelectorAll(n)||[],i=r[c.l];i--;)if(r[i]==t)return!0;return!1}function z(t,e,n){if(y(n)==s.a)for(var r=0;r0?(r=t.q[0],I(t.el,r.props,r.duration,r.easing,r.complete,!0)):(n=g(t,h))>-1&&h.splice(n,1)}function T(t,e,n){e===l?t[e]=n:e===f?t[e]=n:E(t,e,n)}function I(t,e,i,o,a,s){var u,d,p,y,x,O,S=b(i),C={},A={},z=0;for(S?(o=i.easing,i.start,p=i.progress,y=i.step,x=i.specialEasing,a=i.complete,O=i.duration):O=i,x=x||{},O=O||400,o=o||"swing",s=s||!1;z0)N=r.now(),q=function(){for(u in E=r.now(),R=E-N,H=j.stop||R>=O,I=1-(Math.max(0,N+O-E)/O||0),A)k=parseFloat(C[u]),L=parseFloat(A[u]),P=(L-k)*v[x[u]||o](I,I*O,0,1,O)+k,T(t,u,P),m(y)&&y(P,{elem:t,prop:u,start:k,now:P,end:L,pos:I,options:{easing:o,speacialEasing:x,duration:O,complete:a,step:y},startTime:N});m(p)&&p({},I,Math.max(0,O-R)),H?(W(d),m(a)&&a()):j.frame=r.rAF()(q)},j.frame=r.rAF()(q);else{for(u in A)T(t,u,A[u]);W(d)}}}function k(t,e,n){for(var i,o,a,s=0;s0){if((o=i.q[0]).stop=!0,r.cAF()(o.frame),i.q.splice(0,1),n)for(a in o.props)T(t,a,o.props[a]);e?i.q=[]:W(i,!1)}break}}return M[c.p]={on:function(t,e){var n,r=(t=(t||u).match(i)||[u])[c.l],o=0;return this.each(function(){n=this;try{if(n.addEventListener)for(;o0;)i=i.childNodes[0];for(e=0;n[c.l]-e;i.firstChild===n[0]&&e++)i.appendChild(n[e]);var s=a?a.nextSibling:o.firstChild;return o.insertBefore(r,s),this},wrapInner:function(t){return this.each(function(){var e=M(this),n=e.contents();n[c.l]?n.wrapAll(t):e.append(t)})},wrap:function(t){return this.each(function(){M(this).wrapAll(t)})},css:function(e,r){var i,o,a,u=t.getComputedStyle;return y(e)==s.s?r===n?(i=this[0],a=u?u(i,null):i.currentStyle[e],u&&null!=a?a.getPropertyValue(e):i[c.s][e]):this.each(function(){E(this,e,r)}):this.each(function(){for(o in e)E(this,o,e[o])})},hasClass:function(t){for(var e,n,r=0,i=a+t+a;e=this[r++];)if(n=e.classList){if(n.contains(t))return!0}else if(1===e.nodeType&&(a+C(e.className+u)+a).indexOf(i)>-1)return!0;return!1},addClass:function(t){var e,r,o,s,c,l,f,h,d=0,v=0;if(t)for(e=t.match(i)||[];r=this[d++];)if(h=r.classList,f===n&&(f=h!==n),f)for(;c=e[v++];)h.add(c);else if(s=r.className+u,o=1===r.nodeType&&a+C(s)+a){for(;c=e[v++];)o.indexOf(a+c+a)<0&&(o+=c+a);s!==(l=C(o))&&(r.className=l)}return this},removeClass:function(t){var e,r,o,s,c,l,f,h,d=0,v=0;if(t)for(e=t.match(i)||[];r=this[d++];)if(h=r.classList,f===n&&(f=h!==n),f)for(;c=e[v++];)h.remove(c);else if(s=r.className+u,o=1===r.nodeType&&a+C(s)+a){for(;c=e[v++];)for(;o.indexOf(a+c+a)>-1;)o=o.replace(a+c+a,a);s!==(l=C(o))&&(r.className=l)}return this},hide:function(){return this.each(function(){this[c.s].display="none"})},show:function(){return this.each(function(){this[c.s].display="block"})},attr:function(t,e){for(var r=0;r=0?t:this[c.l]+t])},find:function(t){var e,n=[];return this.each(function(){var r=this.querySelectorAll(t);for(e=0;e-1){if(!(n>1))return i[a][o];delete t[o],i.splice(a,1)}}}));return l&&l.fn&&(l.fn.overlayScrollbars=function(t,e){var n=this;return l.isPlainObject(t)?(l.each(n,function(){f(this,t,e)}),n):f(n,t)}),f}); \ No newline at end of file diff --git a/js/jquery.overlayScrollbars.js b/js/jquery.overlayScrollbars.js index 71dbfe2..e60eb20 100644 --- a/js/jquery.overlayScrollbars.js +++ b/js/jquery.overlayScrollbars.js @@ -2,13 +2,13 @@ * OverlayScrollbars * https://github.com/KingSora/OverlayScrollbars * - * Version: 1.5.1 + * Version: 1.5.2 * * Copyright KingSora. * https://github.com/KingSora * * Released under the MIT license. - * Date: 13.07.2018 + * Date: 09.09.2018 */ (function (global, factory) { @@ -41,6 +41,7 @@ s : 'style', i : 'id', l : 'length', + p : 'prototype', oH : 'offsetHeight', cH : 'clientHeight', sH : 'scrollHeight', @@ -159,6 +160,7 @@ // Calculate pageX/Y if not native supported if (!event[strPage + strX] && event[strClient + strX] && event[strClient + strX] != null) { + return { x : event[strClient + strX] + (doc && doc.scrollLeft || body && body.scrollLeft || 0) - @@ -211,14 +213,14 @@ // internal IsCallable function //throw new TypeError('Function.prototype.bind - what is trying to be bound is not callable'); } - - var aArgs = Array.prototype.slice.call(arguments, 2); + var proto = LEXICON.p; + var aArgs = Array[proto].slice.call(arguments, 2); var fNOP = function() {}; - var fBound = function() { return func.apply(this instanceof fNOP ? this : thisObj, aArgs.concat(Array.prototype.slice.call(arguments))); }; + var fBound = function() { return func.apply(this instanceof fNOP ? this : thisObj, aArgs.concat(Array[proto].slice.call(arguments))); }; - if (func.prototype) - fNOP.prototype = func.prototype; // Function.prototype doesn't have a prototype property - fBound.prototype = new fNOP(); + if (func[proto]) + fNOP[proto] = func[proto]; // Function.prototype doesn't have a prototype property + fBound[proto] = new fNOP(); return fBound; } @@ -286,10 +288,11 @@ var restrictedStringsSplit = " "; var restrictedStringsPossibilitiesSplit = ":"; var classNameAllowedValues = [TYPES.z, TYPES.s]; - var booleanAllowedValues = TYPES.b; var numberAllowedValues = TYPES.n; - var booleanNullAllowedValues = [TYPES.z, booleanAllowedValues]; - var callbackAllowedValues = [TYPES.z, TYPES.f]; + var booleanNullAllowedValues = [TYPES.z, TYPES.b]; + var booleanTrueTemplate = [true, TYPES.b]; + var booleanFalseTemplate = [false, TYPES.b]; + var callbackTemplate = [null, [TYPES.z, TYPES.f]]; var resizeAllowedValues = 'n:none b:both h:horizontal v:vertical'; var overflowBehaviorAllowedValues = 'v-h:visible-hidden v-s:visible-scroll s:scroll h:hidden'; var scrollbarsVisibilityAllowedValues = 'v:visible h:hidden a:auto'; @@ -297,15 +300,15 @@ var optionsDefaultsAndTemplate = { className: ['os-theme-dark', classNameAllowedValues], //null || string resize: ['none', resizeAllowedValues], //none || both || horizontal || vertical || n || b || h || v - sizeAutoCapable: [true, booleanAllowedValues], //true || false - clipAlways: [true, booleanAllowedValues], //true || false - normalizeRTL: [true, booleanAllowedValues], //true || false - paddingAbsolute: [false, booleanAllowedValues], //true || false + sizeAutoCapable: booleanTrueTemplate, //true || false + clipAlways: booleanTrueTemplate, //true || false + normalizeRTL: booleanTrueTemplate, //true || false + paddingAbsolute: booleanFalseTemplate, //true || false autoUpdate: [null, booleanNullAllowedValues], //true || false || null autoUpdateInterval: [33, numberAllowedValues], //number nativeScrollbarsOverlaid: { - showNativeScrollbars: [false, booleanAllowedValues], //true || false - initialize: [true, booleanAllowedValues] //true || false + showNativeScrollbars: booleanFalseTemplate, //true || false + initialize: booleanTrueTemplate //true || false }, overflowBehavior: { x: ['scroll', overflowBehaviorAllowedValues], //visible-hidden || visible-scroll || hidden || scroll || v-h || v-s || h || s @@ -315,27 +318,27 @@ visibility: ['auto', scrollbarsVisibilityAllowedValues], //visible || hidden || auto || v || h || a autoHide: ['never', scrollbarsAutoHideAllowedValues], //never || scroll || leave || move || n || s || l || m autoHideDelay: [800, numberAllowedValues], //number - dragScrolling: [true, booleanAllowedValues], //true || false - clickScrolling: [false, booleanAllowedValues], //true || false - touchSupport: [true, booleanAllowedValues] //true || false + dragScrolling: booleanTrueTemplate, //true || false + clickScrolling: booleanFalseTemplate, //true || false + touchSupport: booleanTrueTemplate //true || false }, textarea: { - dynWidth: [false, booleanAllowedValues], //true || false - dynHeight: [false, booleanAllowedValues] //true || false + dynWidth: booleanFalseTemplate, //true || false + dynHeight: booleanFalseTemplate //true || false }, callbacks: { - onInitialized: [null, callbackAllowedValues], //null || function - onInitializationWithdrawn: [null, callbackAllowedValues], //null || function - onDestroyed: [null, callbackAllowedValues], //null || function - onScrollStart: [null, callbackAllowedValues], //null || function - onScroll: [null, callbackAllowedValues], //null || function - onScrollStop: [null, callbackAllowedValues], //null || function - onOverflowChanged: [null, callbackAllowedValues], //null || function - onOverflowAmountChanged: [null, callbackAllowedValues], //null || function - onDirectionChanged: [null, callbackAllowedValues], //null || function - onContentSizeChanged: [null, callbackAllowedValues], //null || function - onHostSizeChanged: [null, callbackAllowedValues], //null || function - onUpdated: [null, callbackAllowedValues] //null || function + onInitialized: callbackTemplate, //null || function + onInitializationWithdrawn: callbackTemplate, //null || function + onDestroyed: callbackTemplate, //null || function + onScrollStart: callbackTemplate, //null || function + onScroll: callbackTemplate, //null || function + onScrollStop: callbackTemplate, //null || function + onOverflowChanged: callbackTemplate, //null || function + onOverflowAmountChanged: callbackTemplate, //null || function + onDirectionChanged: callbackTemplate, //null || function + onContentSizeChanged: callbackTemplate, //null || function + onHostSizeChanged: callbackTemplate, //null || function + onUpdated: callbackTemplate //null || function } }; var convert = function(template) { @@ -494,11 +497,8 @@ var scrollbarDummyElement = framework('
'); var scrollbarDummyElement0 = scrollbarDummyElement[0]; var dummyContainerChild = framework(scrollbarDummyElement.children('div').eq(0)); - var IEBUGFIX = scrollbarDummyElement0[LEXICON.oH]; //IE9 causes a bug where offsetHeight is zero for no reason bodyElement.append(scrollbarDummyElement); - if(IEBUGFIX === 0) - scrollbarDummyElement.hide().show(); var nativeScrollbarSize = calcNativeScrollbarSize(scrollbarDummyElement0); var nativeScrollbarIsOverlaid = { @@ -617,18 +617,7 @@ if(nativeScrollbarIsOverlaid.x && nativeScrollbarIsOverlaid.y) return; - function differenceIsBiggerThanOne(valOne, valTwo) { - var absValOne = Math.abs(valOne); - var absValTwo = Math.abs(valTwo); - return !(absValOne === absValTwo || absValOne + 1 === absValTwo || absValOne - 1 === absValTwo); - } - - function getWindowDPR() { - var dDPI = window.screen.deviceXDPI || 0; - var sDPI = window.screen.logicalXDPI || 1; - return window.devicePixelRatio || (dDPI / sDPI); - } - + var abs = Math.abs; var windowWidth = compatibility.wW(); var windowHeight = compatibility.wH(); var windowDpr = getWindowDPR(); @@ -644,10 +633,10 @@ var deltaWRatio = Math.round(newW / (windowWidth / 100.0)); var deltaHRatio = Math.round(newH / (windowHeight / 100.0)); - var absDeltaW = Math.abs(deltaW); - var absDeltaH = Math.abs(deltaH); - var absDeltaWRatio = Math.abs(deltaWRatio); - var absDeltaHRatio = Math.abs(deltaHRatio); + var absDeltaW = abs(deltaW); + var absDeltaH = abs(deltaH); + var absDeltaWRatio = abs(deltaWRatio); + var absDeltaHRatio = abs(deltaHRatio); var newDPR = getWindowDPR(); var deltaIsBigger = absDeltaW > 2 && absDeltaH > 2; @@ -674,6 +663,19 @@ windowDpr = newDPR; } }; + + function differenceIsBiggerThanOne(valOne, valTwo) { + var absValOne = abs(valOne); + var absValTwo = abs(valTwo); + return !(absValOne === absValTwo || absValOne + 1 === absValTwo || absValOne - 1 === absValTwo); + } + + function getWindowDPR() { + var dDPI = window.screen.deviceXDPI || 0; + var sDPI = window.screen.logicalXDPI || 1; + return window.devicePixelRatio || (dDPI / sDPI); + } + framework(window).on('resize', onResize); })(); @@ -717,6 +719,7 @@ var _base = this; var _strAutoUpdate = 'autoUpdate'; var _strAutoUpdateInterval = _strAutoUpdate + 'Interval'; + var _strLength = LEXICON.l; var _loopingInstances = [ ]; var _loopingInstancesIntervalCache = [ ]; @@ -730,7 +733,7 @@ * The auto update loop which will run every 50 milliseconds or less if the update interval of a instance is lower than 50 milliseconds. */ var loop = function() { - if(_loopingInstances.length > 0 && _loopIsActive) { + if(_loopingInstances[_strLength] > 0 && _loopIsActive) { _loopID = compatibility.rAF()(function () { loop(); }); @@ -740,7 +743,7 @@ if (timeDelta > _loopInterval) { _loopTimeOld = timeNew - (timeDelta % _loopInterval); var lowestInterval = _loopIntervalDefault; - for(var i = 0; i < _loopingInstances.length; i++) { + for(var i = 0; i < _loopingInstances[_strLength]; i++) { var instance = _loopingInstances[i]; if (instance !== undefined) { var instanceOptions = instance.options(); @@ -769,7 +772,7 @@ if(framework.inArray(instance, _loopingInstances) === -1) { _loopingInstances.push(instance); _loopingInstancesIntervalCache.push(compatibility.now()); - if (_loopingInstances.length > 0 && !_loopIsActive) { + if (_loopingInstances[_strLength] > 0 && !_loopIsActive) { _loopIsActive = true; globals.autoUpdateLoop = _loopIsActive; loop(); @@ -789,7 +792,7 @@ _loopingInstances.splice(index, 1); //correct update loop behavior - if (_loopingInstances.length === 0 && _loopIsActive) { + if (_loopingInstances[_strLength] === 0 && _loopIsActive) { _loopIsActive = false; globals.autoUpdateLoop = _loopIsActive; if(_loopID !== undefined) { @@ -825,6 +828,7 @@ //make correct instanceof var _base = new window[PLUGINNAME](); + var _frameworkProto = framework[LEXICON.p]; //globals: var _nativeScrollbarIsOverlaid; @@ -1984,14 +1988,16 @@ * @param hostSizeChanged True if this method was called due to a host size change. * @param contentSizeChanged True if this method was called due to a content size change. * @param force True if every property shall be updated and the cache shall be ignored. + * @param preventSwallowing True if this method shall be executed event if it could be swallowed. */ - function update(hostSizeChanged, contentSizeChanged, force) { + function update(hostSizeChanged, contentSizeChanged, force, preventSwallowing) { var now = compatibility.now(); - var swallow = _swallowUpdateLag > 0 && _initialized && (now - _lastUpdateTime) < _swallowUpdateLag && (!_heightAutoCache && !_widthAutoCache); + var swallow = _swallowUpdateLag > 0 && _initialized && (now - _lastUpdateTime) < _swallowUpdateLag && (!_heightAutoCache && !_widthAutoCache) && !preventSwallowing; var displayIsHidden = _hostElement.is(':hidden'); var displayIsHiddenChanged = checkCacheSingle(displayIsHidden, _displayIsHiddenCache, force); _displayIsHiddenCache = displayIsHidden; clearTimeout(_swallowedUpdateTimeout); + if (swallow) { _swallowedUpdateParams.h = hostSizeChanged; _swallowedUpdateParams.c = contentSizeChanged; @@ -2040,7 +2046,6 @@ freezeResizeObserver(_sizeObserverElement); freezeResizeObserver(_sizeAutoObserverElement); - //save current scroll offset var currScroll = { l: _viewportElement[_strScrollLeft](), @@ -2103,7 +2108,7 @@ //dynWidth: var textareaDynWidth = currentPreparedOptionsTextarea.dynWidth; - var textareaDynWidthChanged = checkCacheSingle(_textareaDynWidthCache, textareaDynHeight); + var textareaDynWidthChanged = checkCacheSingle(_textareaDynWidthCache, textareaDynWidth); //dynHeight: var textareaDynHeight = currentPreparedOptionsTextarea.dynHeight; @@ -2152,6 +2157,7 @@ _overflowBehaviorCache = extend(true, {}, overflowBehavior); _textareaDynWidthCache = textareaDynWidth; _textareaDynHeightCache = textareaDynHeight; + _hasOverflowCache = _hasOverflowCache || { x: false, y: false }; //set correct class name to the host element if (classNameChanged) { @@ -2325,8 +2331,10 @@ //set info for padding _paddingX = padding.l + padding.r; _paddingY = padding.t + padding.b; + padding.ax = paddingAbsolute ? _paddingX : 0; + padding.ay = paddingAbsolute ? _paddingY : 0; padding.c = checkCacheTRBL(padding, _cssPaddingCache); - + //set info for border _borderX = border.l + border.r; _borderY = border.t + border.b; @@ -2394,22 +2402,24 @@ if (heightAuto && (heightAutoChanged || paddingAbsoluteChanged || boxSizingChanged || cssMaxValue.c || padding.c || border.c)) { if (cssMaxValue.cw) contentElementCSS[_strMaxMinus + _strHeight] = - (cssMaxValue.ch ? (cssMaxValue.ih - (paddingAbsolute ? _paddingY : 0) + - (_isBorderBox ? -_borderY : _paddingY)) : _strEmpty); + (cssMaxValue.ch ? (cssMaxValue.ih - padding.ay + (_isBorderBox ? -_borderY : _paddingY)) + : _strEmpty); contentElementCSS[_strHeight] = _strAuto; - } else if (heightAutoChanged || paddingAbsoluteChanged) { + } + else if (heightAutoChanged || paddingAbsoluteChanged) { contentElementCSS[_strMaxMinus + _strHeight] = _strEmpty; contentElementCSS[_strHeight] = _strHundredPercent; } if (widthAuto && (widthAutoChanged || paddingAbsoluteChanged || boxSizingChanged || cssMaxValue.c || padding.c || border.c || cssDirectionChanged)) { if (cssMaxValue.cw) contentElementCSS[_strMaxMinus + _strWidth] = - (cssMaxValue.cw ? (cssMaxValue.iw - (paddingAbsolute ? _paddingX : 0) + - (_isBorderBox ? -_borderX : _paddingX)) + - (_nativeScrollbarIsOverlaid.y /*&& _hasOverflowCache.y && widthAuto */ ? _overlayScrollbarDummySize.y : 0) : _strEmpty); + (cssMaxValue.cw ? (cssMaxValue.iw - padding.ax + (_isBorderBox ? -_borderX : _paddingX)) + + (_nativeScrollbarIsOverlaid.y /*&& _hasOverflowCache.y && widthAuto */ ? _overlayScrollbarDummySize.y : 0) + : _strEmpty); contentElementCSS[_strWidth] = _strAuto; contentGlueElementCSS[_strMaxMinus + _strWidth] = _strHundredPercent; //IE Fix - } else if (widthAutoChanged || paddingAbsoluteChanged) { + } + else if (widthAutoChanged || paddingAbsoluteChanged) { contentElementCSS[_strMaxMinus + _strWidth] = _strEmpty; contentElementCSS[_strWidth] = _strHundredPercent; contentElementCSS[_strFloat] = _strEmpty; @@ -2434,14 +2444,12 @@ _contentGlueElement.css(contentGlueElementCSS); _contentElement.css(contentElementCSS); - //CHECKPOINT HERE ~ contentElementCSS = {}; contentGlueElementCSS = {}; - _hasOverflowCache = _hasOverflowCache || {x: false, y: false}; - + //if [content(host) client / scroll size, or target element direction, or content(host) max-sizes] changed, or force is true - if (hostSizeChanged || contentSizeChanged || cssDirectionChanged || boxSizingChanged || paddingAbsoluteChanged || widthAutoChanged || widthAuto || heightAutoChanged || heightAuto || cssMaxValue.c || ignoreOverlayScrollbarHidingChanged || overflowBehaviorChanged || clipAlwaysChanged || resizeChanged || scrollbarsVisibilityChanged || textareaDynWidthChanged || textareaDynHeightChanged || textareaAutoWrappingChanged || paddingAbsoluteChanged || textareaDynWidthChanged || textareaDynHeightChanged || force) { + if (hostSizeChanged || contentSizeChanged || cssDirectionChanged || boxSizingChanged || paddingAbsoluteChanged || widthAutoChanged || widthAuto || heightAutoChanged || heightAuto || cssMaxValue.c || ignoreOverlayScrollbarHidingChanged || overflowBehaviorChanged || clipAlwaysChanged || resizeChanged || scrollbarsVisibilityChanged || textareaDynWidthChanged || textareaDynHeightChanged || textareaAutoWrappingChanged || force) { var strOverflow = 'overflow'; var strOverflowX = strOverflow + '-x'; var strOverflowY = strOverflow + '-y'; @@ -2497,8 +2505,8 @@ h: hostElement[LEXICON.cH] }; var contentGlueSize = { - w: Math.max(contentClientSize.w + (paddingAbsolute ? _paddingX : 0), hostSize.w - _paddingX) - (textareaDynWidth ? (_isTextarea && widthAuto ? _marginX + (!_isBorderBox ? _paddingX + _borderX : 0) : 0) : 0), - h: Math.max(contentClientSize.h + (paddingAbsolute ? _paddingY : 0), hostSize.h - _paddingY) + w: Math.max(contentClientSize.w + padding.ax, hostSize.w - _paddingX) - (textareaDynWidth ? (_isTextarea && widthAuto ? _marginX + (!_isBorderBox ? _paddingX + _borderX : 0) : 0) : 0), + h: Math.max(contentClientSize.h + padding.ay, hostSize.h - _paddingY) }; contentGlueSize.c = checkCacheDouble(contentGlueSize, _contentGlueSizeCache, force); _contentGlueSizeCache = contentGlueSize; @@ -2604,8 +2612,8 @@ * }; */ var overflowAmount = { - x: Math.max(0, Math.round((contentScrollSize.w - hostSize.w + (paddingAbsolute ? _paddingX : 0)) * 100) / 100), - y: Math.max(0, Math.round((contentScrollSize.h - hostSize.h + (paddingAbsolute ? _paddingY : 0)) * 100) / 100) + x: Math.max(0, Math.round((contentScrollSize.w - hostSize.w + padding.ax) * 100) / 100), + y: Math.max(0, Math.round((contentScrollSize.h - hostSize.h + padding.ay) * 100) / 100) }; var hideOverflowForceTextarea = _isTextarea && (_viewportSize.w === 0 || _viewportSize.h === 0); if (hideOverflowForceTextarea) { @@ -3047,13 +3055,13 @@ } //fix body min size - if (_isBody && (hasOverflow.c || _bodyMinSizeCache.c)) { + if (_isBody && (_hasOverflowCache.c || _bodyMinSizeCache.c)) { //its possible that no min size was measured until now, because the content arrange element was just added now, in this case, measure now the min size. if (!_bodyMinSizeCache.f) bodyMinSizeChanged(); - if (_nativeScrollbarIsOverlaid.y && hasOverflow.x) + if (_nativeScrollbarIsOverlaid.y && _hasOverflowCache.x) _contentElement.css(_strMinMinus + _strWidth, _bodyMinSizeCache.w + _overlayScrollbarDummySize.y); - if (_nativeScrollbarIsOverlaid.x && hasOverflow.y) + if (_nativeScrollbarIsOverlaid.x && _hasOverflowCache.y) _contentElement.css(_strMinMinus + _strHeight, _bodyMinSizeCache.h + _overlayScrollbarDummySize.x); _bodyMinSizeCache.c = false; } @@ -3125,25 +3133,45 @@ */ function initScrollbarInteractivity(isHorizontal) { var scrollbarVars = getScrollbarVars(isHorizontal); + var insideIFrame = _windowElement.top !== _windowElement; var mouseDownScroll; var mouseDownOffset; var xy = scrollbarVars.xy; + var XY = scrollbarVars.XY; var scroll = _strScroll + scrollbarVars.LT; var strActive = 'active'; var trackTimeout; var scrollDurationFactor = 1; var increaseDecreaseScrollAmountKeyCodes = [ 16, 17 ]; //shift, ctrl - var increaseTrackScrollAmount = function () { + function increaseTrackScrollAmount() { scrollDurationFactor = 0.5; }; - var decreaseTrackScrollAmount = function () { + function decreaseTrackScrollAmount() { scrollDurationFactor = 1; }; - var handleDragMove = function (event) { + function documentKeyDown(event) { + if (framework.inArray(event.keyCode, increaseDecreaseScrollAmountKeyCodes) > -1) + increaseTrackScrollAmount(); + }; + function documentKeyUp(event) { + if (framework.inArray(event.keyCode, increaseDecreaseScrollAmountKeyCodes) > -1) + decreaseTrackScrollAmount(); + }; + function onMouseTouchDownContinue(event) { + var originalEvent = event.originalEvent || event; + var isTouchEvent = originalEvent.touches !== undefined; + return _isSleeping || nativeOverlayScrollbarsAreActive() || !_scrollbarsDragScrollingCache || (isTouchEvent && !_scrollbarsTouchSupport) ? false : compatibility.mBtn(event) === 1 || isTouchEvent; + }; + function handleDragMove(event) { + if(!onMouseTouchDownContinue(event)) { + documentMouseTouchUp(event); + return; + } + var trackLength = scrollbarVars.i.tl; var handleLength = scrollbarVars.i.hl; var scrollRange = scrollbarVars.i.ms; - var scrollRaw = compatibility.page(event)[xy] - mouseDownOffset; + var scrollRaw = (_msieVersion && insideIFrame ? event['screen' + XY] : compatibility.page(event)[xy]) - mouseDownOffset; //use screen coordinates in EDGE & IE because the page values are incorrect in frames. var scrollDeltaPercent = scrollRaw / (trackLength - handleLength); var scrollDelta = (scrollRange * scrollDeltaPercent); scrollDelta = isFinite(scrollDelta) ? scrollDelta : 0; @@ -3154,12 +3182,9 @@ if (!_supportPassiveEvents) compatibility.prvD(event); }; - var documentMouseTouchUp = function (event) { + function documentMouseTouchUp(event) { event = event || event.originalEvent; - var rect = _hostElement[0].getBoundingClientRect(); - var mouseInsideHost = event.clientX >= rect.left && event.clientX <= rect.right && event.clientY >= rect.top && event.clientY <= rect.bottom; - removeClass(_bodyElement, _classNameDragging); removeClass(scrollbarVars.h, strActive); removeClass(scrollbarVars.t, strActive); @@ -3179,32 +3204,23 @@ clearTimeout(trackTimeout); trackTimeout = undefined; } + + var rect = _hostElement[0].getBoundingClientRect(); + var mouseInsideHost = event.clientX >= rect.left && event.clientX <= rect.right && event.clientY >= rect.top && event.clientY <= rect.bottom; - //if mouse is outside host element - if (!mouseInsideHost) - hostOnMouseLeave(); + //if mouse is outside host element + if (!mouseInsideHost) + hostOnMouseLeave(); + if (_scrollbarsAutoHideScroll || _scrollbarsAutoHideMove) refreshScrollbarsAutoHide(false); }; - var documentKeyDown = function (event) { - if (framework.inArray(event.keyCode, increaseDecreaseScrollAmountKeyCodes) > -1) - increaseTrackScrollAmount(); - }; - var documentKeyUp = function (event) { - if (framework.inArray(event.keyCode, increaseDecreaseScrollAmountKeyCodes) > -1) - decreaseTrackScrollAmount(); - }; - var onMouseTouchDownContinue = function(event) { - var originalEvent = event.originalEvent || event; - var isTouchEvent = originalEvent.touches !== undefined; - return _isSleeping || nativeOverlayScrollbarsAreActive() || !_scrollbarsDragScrollingCache || (isTouchEvent && !_scrollbarsTouchSupport) ? false : compatibility.mBtn(event) === 1 || isTouchEvent; - }; - var onHandleMouseTouchDown = function(event) { + function onHandleMouseTouchDown(event) { mouseDownScroll = _viewportElement[scroll](); mouseDownScroll = mouseDownScroll === undefined ? 0 : mouseDownScroll; if (_isRTL && isHorizontal && !_rtlScrollBehavior.n || !_isRTL) mouseDownScroll = mouseDownScroll < 0 ? 0 : mouseDownScroll; - mouseDownOffset = compatibility.page(event)[xy]; + mouseDownOffset = _msieVersion && insideIFrame ? event['screen' + XY] : compatibility.page(event)[xy]; //use screen coordinates in EDGE & IE because the page values are incorrect in frames. addClass(_bodyElement, _classNameDragging); addClass(scrollbarVars.h, strActive); @@ -3218,11 +3234,11 @@ compatibility.prvD(event); compatibility.stpP(event); }; - scrollbarVars.h.on(_strMouseTouchDownEvent, function (event) { + scrollbarVars.h.on(_strMouseTouchDownEvent, function(event) { if (onMouseTouchDownContinue(event)) onHandleMouseTouchDown(event); }); - scrollbarVars.t.on(_strMouseTouchDownEvent, function (event) { + scrollbarVars.t.on(_strMouseTouchDownEvent, function(event) { if (onMouseTouchDownContinue(event)) { var scrollDistance = _viewportSize[scrollbarVars._wh]; var trackOffset = scrollbarVars.t.offset()[scrollbarVars.lt]; @@ -3253,7 +3269,7 @@ instantScrollPosition = (scrollRange - instantScrollPosition); if(instantScrollTransition) { scrollObj.n = false; - scrollObj[scrollbarVars.xy] = instantScrollPosition; + scrollObj[xy] = instantScrollPosition; _base.scroll(scrollObj, 130, easing, function() { onHandleMouseTouchDown(event); }); } else { @@ -3265,7 +3281,7 @@ decreaseScroll = isFirstIteration ? decreaseScrollCondition : decreaseScroll; finishedCondition = rtlIsNormal ? decreaseScroll ? handleOffset + handleLength >= mouseOffset : handleOffset <= mouseOffset : decreaseScroll ? handleOffset <= mouseOffset : handleOffset + handleLength >= mouseOffset; - scrollObj[scrollbarVars.xy] = decreaseScroll ? '-=' + scrollDistance : '+=' + scrollDistance; + scrollObj[xy] = decreaseScroll ? '-=' + scrollDistance : '+=' + scrollDistance; _base.scrollStop(); _base.scroll(scrollObj, scrollDuration, easing); @@ -3297,18 +3313,18 @@ compatibility.prvD(event); compatibility.stpP(event); } - }).hover(function () { //make sure both scrollbars will stay visible if one scrollbar is hovered if autoHide is "scroll". + }).hover(function() { //make sure both scrollbars will stay visible if one scrollbar is hovered if autoHide is "scroll". if (_scrollbarsAutoHideScroll || _scrollbarsAutoHideMove) { _scrollbarsAutoHideFlagScrollAndHovered = true; refreshScrollbarsAutoHide(true); } - }, function () { + }, function() { if (_scrollbarsAutoHideScroll || _scrollbarsAutoHideMove) { _scrollbarsAutoHideFlagScrollAndHovered = false; refreshScrollbarsAutoHide(false); } }); - scrollbarVars.s.on(_strMouseTouchDownEvent, function (event) { + scrollbarVars.s.on(_strMouseTouchDownEvent, function(event) { compatibility.stpP(event); }); } @@ -3795,21 +3811,21 @@ * jQuery addClass method shortcut. */ function addClass(el, classes) { - return framework.prototype.addClass.call(el, classes); + return _frameworkProto.addClass.call(el, classes); } /** * jQuery removeClass method shortcut. */ function removeClass(el, classes) { - return framework.prototype.removeClass.call(el, classes); + return _frameworkProto.removeClass.call(el, classes); } /** * jQuery remove method shortcut. */ function remove(el) { - return framework.prototype.remove.call(el); + return _frameworkProto.remove.call(el); } /** @@ -3819,7 +3835,7 @@ * @returns {*} The first element which is a child of the given element and matches the givens selector. */ function findFirst(el, selector) { - return framework.prototype.find.call(el, selector).eq(0); + return _frameworkProto.find.call(el, selector).eq(0); } @@ -3837,36 +3853,35 @@ * Updates the plugin and DOM to the current options. * This method should only be called if a update is 100% required. * @param force True if every property shall be updated and the cache shall be ignored. - * !INTERNAL USAGE! : force can be a string "auto" or "zoom" too + * !INTERNAL USAGE! : force can be a string "auto", "auto+" or "zoom" too * if this is the case then before a real update the content size and host element attributes gets checked, and if they changed only then the update method will be called. */ _base.update = function (force) { var attrsChanged; var contentSizeC; - var isZoom = force === 'zoom'; + var isString = type(force) == TYPES.s; var imgElementSelector = 'img'; var imgElementLoadEvent = 'load'; - if (force === _strAuto) { - attrsChanged = meaningfulAttrsChanged(); - contentSizeC = updateAutoContentSizeChanged(); - if (attrsChanged || contentSizeC) - update(false, contentSizeC); - } - else if (isZoom) { - update(true, true); - } + if(isString) { + if (force.indexOf(_strAuto) === 0) { + attrsChanged = meaningfulAttrsChanged(); + contentSizeC = updateAutoContentSizeChanged(); + if (attrsChanged || contentSizeC) + update(false, contentSizeC, false, force.slice(-1) == "+"); + } + else if (force === 'zoom') + update(true, true); + } else { force = _isSleeping || force; _isSleeping = false; - update(false, false, force); + update(false, false, force, true); } - if(!_isTextarea && !isZoom) { + if(!_isTextarea) { _contentElement.find(imgElementSelector).each(function(i, el) { var index = compatibility.inA(el, _imgs); - if (index === -1) { - el = framework(el); - el.off(imgElementLoadEvent, imgOnLoad).on(imgElementLoadEvent, imgOnLoad); - } + if (index === -1) + framework(el).off(imgElementLoadEvent, imgOnLoad).on(imgElementLoadEvent, imgOnLoad); }); } }; @@ -4062,7 +4077,7 @@ * } */ _base.scroll = function (coordinates, duration, easing, complete) { - if (arguments.length === 0 || coordinates === undefined) { + if (arguments.length === 0 || coordinates === undefined) { var infoX = _scrollHorizontalInfo; var infoY = _scrollVerticalInfo; var normalizeInvert = _normalizeRTLCache && _isRTL && _rtlScrollBehavior.i; @@ -4115,6 +4130,7 @@ var strAlways = 'always'; var strNever = 'never'; var strIfNeeded = 'ifneeded'; + var strLength = LEXICON.l; var settingsAxis; var settingsScroll; var settingsBlock; @@ -4128,7 +4144,7 @@ var possibleElementIsJQuery = possibleElement instanceof framework || JQUERY ? possibleElement instanceof JQUERY : false; var possibleElementIsHTMLElement = possibleElementIsJQuery ? false : isHTMLElement(possibleElement); var checkSettingsStringValue = function (currValue, allowedValues) { - for (i = 0; i < allowedValues.length; i++) { + for (i = 0; i < allowedValues[strLength]; i++) { if (currValue === allowedValues[i]) return true; } @@ -4136,7 +4152,7 @@ }; var getRawScroll = function (coordinates) { var rawScroll = {}; - if (type(coordinates) == TYPES.a && coordinates.length > 0) { + if (type(coordinates) == TYPES.a && coordinates[strLength] > 0) { rawScroll.x = coordinates[0]; rawScroll.y = coordinates[1]; } @@ -4157,7 +4173,7 @@ } var getRawScrollValue = function (isX) { var coordinateProps = isX ? coordinatesXAxisProps : coordinatesYAxisProps; - for (i = 0; i < coordinateProps.length; i++) { + for (i = 0; i < coordinateProps[strLength]; i++) { if (coordinateProps[i] in coordinates) { return coordinates[coordinateProps[i]]; } @@ -4169,6 +4185,9 @@ return rawScroll; }; var getFinalScroll = function (isX, rawScroll) { + var isString = type(rawScroll) == TYPES.s; + if(isString) + _base.update(_strAuto + "+"); var operator; var amount; var scrollInfo = isX ? _scrollHorizontalInfo : _scrollVerticalInfo; @@ -4179,11 +4198,11 @@ var isRTLisX = _isRTL && isX; var normalizeShortcuts = isRTLisX && _rtlScrollBehavior.n && !normalizeRTL; var strReplace = 'replace'; - if (type(rawScroll) == TYPES.s) { + if (isString) { //check operator - if (rawScroll.length > 2) { + if (rawScroll[strLength] > 2) { var possibleOperator = rawScroll.substr(0, 2); - for (i = 0; i < coordinatesOperators.length; i++) { + for (i = 0; i < coordinatesOperators[strLength]; i++) { if (possibleOperator === coordinatesOperators[i]) { operator = coordinatesOperators[i]; break; @@ -4203,11 +4222,11 @@ rawScroll = rawScroll[strReplace](/vh/g, mult + _viewportSize.h); amount = parseIntToZeroOrNumber(window.parseFloat(window.eval(rawScroll)).toFixed()); } - else if (type(rawScroll) == TYPES.n) { + else { amount = rawScroll; } - if (!isNaN(amount) && amount !== undefined && type(amount) == TYPES.n) { + if (amount !== undefined && !isNaN(amount) && type(amount) == TYPES.n) { var normalizeIsRTLisX = normalizeRTL && isRTLisX; var operatorCurrScroll = currScroll * (normalizeIsRTLisX && _rtlScrollBehavior.n ? -1 : 1); var invert = normalizeIsRTLisX && _rtlScrollBehavior.i; @@ -4230,23 +4249,11 @@ finalValue = amount; break; } - if (invert) - finalValue = maxScroll - finalValue; - if (negate) - finalValue *= -1; - - if (isRTLisX && _rtlScrollBehavior.n) { - finalValue = Math.max(maxScroll, finalValue); - finalValue = Math.min(0, finalValue); - } - else { - finalValue = Math.min(maxScroll, finalValue); - finalValue = Math.max(0, finalValue); - } - if (finalValue === currScroll) - finalValue = undefined; + finalValue = invert ? maxScroll - finalValue : finalValue; + finalValue *= negate ? -1 : 1; + finalValue = isRTLisX && _rtlScrollBehavior.n ? Math.min(0, Math.max(maxScroll, finalValue)) : Math.max(0, Math.min(maxScroll, finalValue)); } - return finalValue; + return finalValue === currScroll ? undefined : finalValue; }; var getPerAxisValue = function (value, valueInternalType, defaultValue, allowedValues) { var resultDefault = [ defaultValue, defaultValue ]; @@ -4259,7 +4266,7 @@ value = [value, value]; } else if (valueType == TYPES.a) { - valueArrLength = value.length; + valueArrLength = value[strLength]; if (valueArrLength > 2 || valueArrLength < 1) value = resultDefault; else { @@ -4285,24 +4292,21 @@ var currValue; var currValueType; var valueDirections = [ _strTop, _strRight, _strBottom, _strLeft ]; - for(i = 0; i < marginTopRightBottomLeftArray.length; i++) { - if(i === valueDirections.length) + for(i = 0; i < marginTopRightBottomLeftArray[strLength]; i++) { + if(i === valueDirections[strLength]) break; currValue = marginTopRightBottomLeftArray[i]; currValueType = type(currValue); if(currValueType == TYPES.b) result.push(currValue ? parseIntToZeroOrNumber(finalElement.css(_strMarginMinus + valueDirections[i])) : 0); - else if(currValueType == TYPES.n) - result.push(currValue); else - result.push(0); + result.push(currValueType == TYPES.n ? currValue : 0); } return result; }; - + if (possibleElementIsJQuery || possibleElementIsHTMLElement) { - //get settings - + //get settings var margin = coordinatesIsElementObj ? coordinates.margin : 0; var axis = coordinatesIsElementObj ? coordinates.axis : 0; var scroll = coordinatesIsElementObj ? coordinates.scroll : 0; @@ -4311,14 +4315,16 @@ var marginType = type(margin); var marginLength; finalElement = possibleElementIsJQuery ? possibleElement : framework(possibleElement); - if (finalElement.length === 0) + if (finalElement[strLength] === 0) return; + _base.update(_strAuto + "+"); + //margin can be [ boolean, number, array of 2, array of 4, object ] if (marginType == TYPES.n || marginType == TYPES.b) margin = generateMargin([margin, margin, margin, margin]); else if (marginType == TYPES.a) { - marginLength = margin.length; + marginLength = margin[strLength]; if(marginLength === 2) margin = generateMargin([margin[0], margin[1], margin[0], margin[1]]); else if(marginLength >= 4) @@ -4337,19 +4343,21 @@ settingsBlock = getPerAxisValue(block, TYPES.s, strBegin, elementObjSettingsBlockValues); settingsMargin = margin; - //get coordinates - var elementOffset = finalElement.offset(); - elementOffset[_strTop] -= settingsMargin[0]; - elementOffset[_strLeft] -= settingsMargin[3]; - var viewportOffset = _paddingElement.offset(); // use padding element instead of viewport element because padding element has never padding, margin or position applied. - var viewportScroll = { + var viewportScroll = { l: _scrollHorizontalInfo.cs, t: _scrollVerticalInfo.cs }; - var doNotScroll = { + // use padding element instead of viewport element because padding element has never padding, margin or position applied. + var viewportOffset = _paddingElement.offset(); + + //get coordinates + var elementOffset = finalElement.offset(); + var doNotScroll = { x : settingsScroll.x == strNever || settingsAxis == _strY, y : settingsScroll.y == strNever || settingsAxis == _strX }; + elementOffset[_strTop] -= settingsMargin[0]; + elementOffset[_strLeft] -= settingsMargin[3]; var elementScrollCoordinates = { x: Math.round(elementOffset[_strLeft] - viewportOffset[_strLeft] + viewportScroll.l), y: Math.round(elementOffset[_strTop] - viewportOffset[_strTop] + viewportScroll.t) @@ -4365,25 +4373,14 @@ //measuring is required if (settingsBlock.x != strBegin || settingsBlock.y != strBegin || settingsScroll.x == strIfNeeded || settingsScroll.y == strIfNeeded || _isRTL) { - var measuringElm = finalElement[0]; - var rawElementSize = {}; - var rect; - if (_supportTransform) { - rect = measuringElm.getBoundingClientRect(); - rawElementSize = { - w: rect[_strWidth], - h: rect[_strHeight] - }; - } - else { - rawElementSize = { - w: measuringElm[LEXICON.oW], - h: measuringElm[LEXICON.oH] - }; - } + var measuringElm = finalElement[0]; + var rawElementSize = _supportTransform ? measuringElm.getBoundingClientRect() : { + width : measuringElm[LEXICON.oW], + height : measuringElm[LEXICON.oH] + }; var elementSize = { - w: rawElementSize.w + settingsMargin[3] + settingsMargin[1], - h: rawElementSize.h + settingsMargin[0] + settingsMargin[2] + w: rawElementSize[_strWidth] + settingsMargin[3] + settingsMargin[1], + h: rawElementSize[_strHeight] + settingsMargin[0] + settingsMargin[2] }; var finalizeBlock = function(isX) { var vars = getScrollbarVars(isX); @@ -4414,8 +4411,7 @@ doNotScroll[xy] = scrollIfNeeded ? isInView : false; blockIsEnd = elSize < vpSize ? elementCenterOffset > viewportCenterOffset : elementCenterOffset < viewportCenterOffset; } - if (blockIsEnd || blockIsCenter) - elementScrollCoordinates[xy] -= ((vpSize / divide) - (elSize / divide)) * (isX && _isRTL && normalizeRTL ? -1 : 1); + elementScrollCoordinates[xy] -= blockIsEnd || blockIsCenter ? ((vpSize / divide) - (elSize / divide)) * (isX && _isRTL && normalizeRTL ? -1 : 1) : 0; } }; finalizeBlock(true); @@ -4429,14 +4425,14 @@ coordinates = elementScrollCoordinates; } - + finalScroll[_strScrollLeft] = getFinalScroll(true, getRawScroll(coordinates).x); finalScroll[_strScrollTop] = getFinalScroll(false, getRawScroll(coordinates).y); doScrollLeft = finalScroll[_strScrollLeft] !== undefined; doScrollTop = finalScroll[_strScrollTop] !== undefined; if ((doScrollLeft || doScrollTop) && (duration > 0 || durationIsObject)) { - if (durationIsObject) + if (durationIsObject) _viewportElement.animate(finalScroll, duration); else { animationOptions = { @@ -4804,7 +4800,7 @@ textareaUpdate(); if (sizeAuto) - _base.update(); + update(); else _base.update(_strAuto); } diff --git a/js/jquery.overlayScrollbars.min.js b/js/jquery.overlayScrollbars.min.js index 4e559a3..8bc6a2b 100644 --- a/js/jquery.overlayScrollbars.min.js +++ b/js/jquery.overlayScrollbars.min.js @@ -2,12 +2,12 @@ * OverlayScrollbars * https://github.com/KingSora/OverlayScrollbars * - * Version: 1.5.1 + * Version: 1.5.2 * * Copyright KingSora. * https://github.com/KingSora * * Released under the MIT license. - * Date: 13.07.2018 + * Date: 09.09.2018 */ -!function(t,e){"function"==typeof define&&define.amd?define(["jquery"],function(n){return e(t,t.document,undefined,n)}):"object"==typeof module&&"object"==typeof module.exports?module.exports=e(t,t.document,undefined,require("jquery")):e(t,t.document,undefined,t.jQuery)}("undefined"!=typeof window?window:this,function(t,e,n,r){"use strict";var i,o,a,s="OverlayScrollbars",c={o:"object",f:"function",a:"array",s:"string",b:"boolean",n:"number",u:"undefined",z:"null"},l={c:"class",s:"style",i:"id",l:"length",oH:"offsetHeight",cH:"clientHeight",sH:"scrollHeight",oW:"offsetWidth",cW:"clientWidth",sW:"scrollWidth"},u={wW:function(){return t.innerWidth||e.documentElement[l.cW]||e.body[l.cW]},wH:function(){return t.innerHeight||e.documentElement[l.cH]||e.body[l.cH]},mO:function(){return t.MutationObserver||t.WebKitMutationObserver||t.WebkitMutationObserver||t.MozMutationObserver||n},rO:function(){return t.ResizeObserver||t.WebKitResizeObserver||t.WebkitResizeObserver||t.MozResizeObserver||n},rAF:function(){return t.requestAnimationFrame||t.webkitRequestAnimationFrame||t.mozRequestAnimationFrame||t.oRequestAnimationFrame||t.msRequestAnimationFrame||function(e){return t.setTimeout(e,1e3/60)}},cAF:function(){return t.cancelAnimationFrame||t.webkitCancelAnimationFrame||t.mozCancelAnimationFrame||t.oCancelAnimationFrame||t.msCancelAnimationFrame||function(e){return t.clearTimeout(e)}},now:function(){return Date.now()||(new Date).getTime()},stpP:function(t){t.stopPropagation?t.stopPropagation():t.cancelBubble=!0},prvD:function(t){t.preventDefault&&t.cancelable?t.preventDefault():t.returnValue=!1},page:function(t){var r="page",i="client",o="X",a="Y",s=((t=t.originalEvent||t).target||t.srcElement||e).ownerDocument||e,c=s.documentElement,l=s.body;if(t.touches!==n){var u=t.touches[0];return{x:u[r+o],y:u[r+a]}}return!t[r+o]&&t[i+o]&&null!=t[i+o]?{x:t[i+o]+(c&&c.scrollLeft||l&&l.scrollLeft||0)-(c&&c.clientLeft||l&&l.clientLeft||0),y:t[i+a]+(c&&c.scrollTop||l&&l.scrollTop||0)-(c&&c.clientTop||l&&l.clientTop||0)}:{x:t[r+o],y:t[r+a]}},mBtn:function(t){return t.which||t.button===n?t.which:1&t.button?1:2&t.button?3:4&t.button?2:0},inA:function(t,e){for(var n=0;n0?"\r\nValid strings are: [ "+T.join(", ").split(v).join(", ")+" ].":"")),delete t[s]}}};return l(s,e,a),o?r.extend(!0,a,s):!r.isEmptyObject(s)&&n&&console.warn("The following options are discarded due to invalidity:\r\n"+JSON.stringify(s,null,2)),a}});function M(){a||(a=new W(z.d)),u||(u=new H(a))}function W(a){var s=this,c="overflow",u="hidden",f="scroll",h=r("body"),d=r('
'),v=d[0],p=r(d.children("div").eq(0)),y=v[l.oH];h.append(d),0===y&&d.hide().show();var x,m,w,b,g,S,O,z,M,W=C(v),H={x:0===W.x,y:0===W.y};function A(t){var r=!1,i="Webkit Moz ms O".split(" "),o=e.createElement("div"),a=null,s=0;if(t=t.toLowerCase(),o[l.s][t]!==n&&(r=!0),!r)for(a=t.charAt(0).toUpperCase()+t.substr(1);s0?x=M(m[b](g+5,m[w](".",g)),10):S>0?x=M(m[b](z+3,m[w](".",z)),10):O>0&&(x=M(m[b](O+5,m[w](".",O)),10)),x),cssCalc:function(){var t,n,r=e.createElement("div"),i=["calc","-webkit-calc","-moz-calc","-o-calc"];for(t=0;t0){var t=i.wW(),c=i.wH(),f=t-e,v=c-n;if(0===f&&0===v)return;var p,y=Math.round(t/(e/100)),x=Math.round(c/(n/100)),m=Math.abs(f),w=Math.abs(v),b=Math.abs(y),g=Math.abs(x),S=u(),O=m>2&&w>2,z=!l(b,g),M=O&&z&&(S!==a&&a>0),W=s.nativeScrollbarSize;M&&(h.append(d),p=s.nativeScrollbarSize=C(d[0]),d.remove(),W.x===p.x&&W.y===p.y||r.each(o(),function(){o(this)&&o(this).update("zoom")})),e=t,n=c,a=S}};r(t).on("resize",c)}function l(t,e){var n=Math.abs(t),r=Math.abs(e);return!(n===r||n+1===r||n-1===r)}function u(){var e=t.screen.deviceXDPI||0,n=t.screen.logicalXDPI||1;return t.devicePixelRatio||e/n}}()}function H(t){var e,o=this,a="autoUpdate",s=a+"Interval",c=[],l=[],u=!1,f=33,h=f,d=i.now(),v=function(){if(c.length>0&&u){e=i.rAF()(function(){v()});var t=i.now(),r=t-d;if(r>h){d=t-r%h;for(var o=f,p=0;pw&&(y.update("auto"),l[p]=new Date(b+=w)),o=Math.max(1,Math.min(o,w))}}h=o}}else h=f};o.add=function(e){-1===r.inArray(e,c)&&(c.push(e),l.push(i.now()),c.length>0&&!u&&(u=!0,t.autoUpdateLoop=u,v()))},o.remove=function(o){var a=r.inArray(o,c);a>-1&&(l.splice(a,1),c.splice(a,1),0===c.length&&u&&(u=!1,t.autoUpdateLoop=u,e!==n&&(i.cAF()(e),e=-1)))}}function A(a,u,h,d,v){if(ui(a)){if(o(a)){var p=o(a);return p.options(u),p}var y,x,m,w,b,g,S,O,M,W,H,A,C,T,k,E,L,P,D,R,N,F,I,j,U,_,q,B,V,X,Y,K,J,Q,G,Z,$,tt,et,nt,rt,it,ot,at,st,ct,lt,ut,ft,ht,dt,vt,pt,yt,xt,mt,wt,bt,gt,St,Ot,zt,Mt,Wt,Ht,At,Ct,Tt,kt,Et,Lt,Pt,Dt,Rt,Nt,Ft,It,jt,Ut,_t,qt,Bt,Vt,Xt,Yt,Kt,Jt,Qt,Gt,Zt,$t,te,ee,ne,re,ie,oe,ae,se,ce,le,ue,fe,he,de,ve,pe,ye,xe,me,we,be,ge,Se,Oe,ze,Me,We,He,Ae,Ce,Te=new t[s],ke={},Ee={},Le={},Pe={},De={},Re=175,Ne="-hidden",Fe="margin-",Ie="padding-",je="border-",Ue="top",_e="right",qe="bottom",Be="left",Ve="min-",Xe="max-",Ye="width",Ke="height",Je="float",Qe="",Ge="auto",Ze="scroll",$e="100%",tn="x",en="y",nn=".",rn=" ",on="scrollbar",an="-horizontal",sn="-vertical",cn=Ze+"Left",ln=Ze+"Top",un="mousedown touchstart",fn="mouseup touchend touchcancel",hn="mousemove touchmove",dn="mouseenter",vn="mouseleave",pn="keydown",yn="keyup",xn="selectstart",mn="transitionend webkitTransitionEnd oTransitionEnd",wn="__overlayScrollbarsRO__",bn="os-",gn=bn+"html",Sn=bn+"host",On=Sn+"-textarea",zn=Sn+"-"+on+an+Ne,Mn=Sn+"-"+on+sn+Ne,Wn=Sn+"-transition",Hn=Sn+"-rtl",An=Sn+"-resize-disabled",Cn=Sn+"-scrolling",Tn=Sn+"-overflow",kn=Tn+"-x",En=Tn+"-y",Ln=bn+"textarea",Pn=Ln+"-cover",Dn=bn+"padding",Rn=bn+"viewport",Nn=Rn+"-native-scrollbars-invisible",Fn=Rn+"-native-scrollbars-overlaid",In=bn+"content",jn=bn+"content-arrange",Un=bn+"content-glue",_n=bn+"size-auto-observer",qn=bn+"resize-observer",Bn=bn+"resize-observer-item",Vn=Bn+"-final",Xn=bn+"text-inherit",Yn=bn+on,Kn=Yn+"-track",Jn=Kn+"-off",Qn=Yn+"-handle",Gn=Qn+"-off",Zn=Yn+"-unusable",$n=Yn+"-"+Ge+Ne,tr=Yn+"-corner",er=tr+"-resize",nr=er+"-both",rr=er+an,ir=er+sn,or=Yn+an,ar=Yn+sn,sr=bn+"dragging",cr=bn+"theme-none",lr={},ur="added removed on contract",fr={},hr=42,dr=[],vr=11,pr=[112,113,114,115,116,117,118,119,120,121,123,33,34,37,38,39,40,16,17,18,19,20,144],yr=[],xr={},mr={};if(Te.sleep=function(){B=!0},Te.update=function(t){var e,n,o="zoom"===t,a="img",s="load";t===Ge?(e=Jr(),n=Kr(),(e||n)&&Zr(!1,n)):o?Zr(!0,!0):(t=B||t,B=!1,Zr(!1,!1,t)),E||o||lt.find(a).each(function(t,e){-1===i.inA(e,dr)&&(e=r(e)).off(s,Br).on(s,Br)})},Te.options=function(t,e){if(r.isEmptyObject(t)||!r.isPlainObject(t)){if(Oi(t)==c.s){if(arguments.length>=2){var n={};return wi(n,t,e),$r(n),void Zr()}return mi(Y,t)}return Y}$r(t);var i=B||!1;B=!1,Zr(),B=i},Te.destroy=function(){for(var t in k=!0,v.remove(Te),Wr(),Sr(it),R&&Sr(rt),lr)Te.removeExt(t);Hi(it),ot!==n&&Hi(ot),ct!==n&&Hi(ct),R&&Hi(rt),H?(br(nt,hn,Tr),br(nt,dn,Ar),br(nt,vn,Cr)):nt.off(hn,Tr).off(dn,Ar).off(vn,Cr),Hi(ht),Hi(pt),ft&&Hi(ft),We||_r(),lt.contents().unwrap().unwrap().unwrap(),L&&Wi($,gn),E?(et.off(Ze,Ir).off("drop",Rr).off("focus",Nr).off("focusout",Fr),b>9||!w?et.off("input",Lr):et.off(pn,Pr).off(yn,Dr),Hi(ut),Wi(et,Ln+rn+Xn).unwrap().removeAttr(l.s),Hi(nt)):(Wi(et,Sn),Wi(nt,[Sn,An,Hn,zn,Mn,Wn,Cn,Tn,kn,En,cr,re].join(rn)));for(var e=0;e0)e.x=t[0],e.y=t[1];else if(Oi(t)==c.s||Oi(t)==c.n)e.x=t,e.y=t;else if(Oi(t)==c.o){for(var n in A=Oi(t.n)==c.b?t.n:A,t=zi({},t),x=0,t)t.hasOwnProperty(n)&&(x>2&&delete t[n],x++);var r=function(e){var n=e?C:T;for(x=0;x2){var p=r.substr(0,2);for(x=0;x/g,(d?"-":Qe)+$e))[v](/px/g,Qe))[v](/%/g,f+u*(h&&m.n?-1:1)/100))[v](/vw/g,f+Pe.w))[v](/vh/g,f+Pe.h),o=hi(t.parseFloat(t.eval(r)).toFixed())}else Oi(r)==c.n&&(o=r);if(!isNaN(o)&&o!==n&&Oi(o)==c.n){var y=A&&h,w=l*(y&&m.n?-1:1),b=y&&m.i,g=y&&m.n;switch(w=b?u-w:w,i){case"+=":a=w+o;break;case"-=":a=w-o;break;case"*=":a=w*o;break;case"/=":a=w/o;break;default:a=o}b&&(a=u-a),g&&(a*=-1),h&&m.n?(a=Math.max(u,a),a=Math.min(0,a)):(a=Math.min(u,a),a=Math.max(0,a)),a===l&&(a=n)}return a},Z=function(t,e,n,r){var i,o,a=[n,n],s=Oi(t);if(s==e)t=[t,t];else if(s==c.a){if((i=t.length)>2||i<1)t=a;else for(1===i&&(t[1]=n),x=0;x=4?$(et):ot:ct==c.o?$([et[Ue],et[_e],et[qe],et[Be]]):ot,S=J(nt,U)?nt:"xy",O=Z(rt,c.s,F,B),z=Z(it,c.s,D,_),M=et;var lt=H.offset();lt[Ue]-=M[0],lt[Be]-=M[3];var ut=at.offset(),ft={l:Ee.cs,t:Le.cs},ht={x:O.x==I||S==en,y:O.y==I||S==tn},dt={x:Math.round(lt[Be]-ut[Be]+ft.l),y:Math.round(lt[Ue]-ut[Ue]+ft.t)};if(q&&(m.n||m.i||(dt.x=Math.round(ut[Be]-lt[Be]+ft.l)),m.n&&A&&(dt.x*=-1),m.i&&A&&(dt.x=Math.round(ut[Be]-lt[Be]+(Ee.ms-ft.l)))),z.x!=D||z.y!=D||O.x==j||O.y==j||q){var vt,pt=H[0],yt={},xt={w:(yt=W?{w:(vt=pt.getBoundingClientRect())[Ye],h:vt[Ke]}:{w:pt[l.oW],h:pt[l.oH]}).w+M[3]+M[1],h:yt.h+M[0]+M[2]},mt=function(t){var e=si(t),n=e._wh,r=e.lt,i=e.xy,o=z[i]==(t&&q?D:P),a=z[i]==R,s=z[i]==N,c=O[i]==I,l=O[i]==j,u=Pe[n],f=ut[r],h=xt[n],d=lt[r],v=a?2:1,p=d+h/2,y=f+u/2,x=h<=u&&d>=f&&d+h<=f+u;c?ht[i]=!0:ht[i]||((s||l)&&(ht[i]=!!l&&x,o=hy:p0||L))if(L)st.animate(E,i);else{if(g={duration:i,complete:a},Oi(o)==c.a){var wt={};wt[cn]=o[0],wt[ln]=o[1],g.specialEasing=wt}else g.easing=o;st.animate(E,g)}else w&&st[cn](E[cn]),b&&st[ln](E[ln])},Te.scrollStop=function(t,e,n){return st.stop(t,e,n),Te},Te.getElements=function(t){var e={target:et[0],host:nt[0],padding:at[0],viewport:st[0],content:lt[0],scrollbarHorizontal:{scrollbar:ht[0],track:dt[0],handle:vt[0]},scrollbarVertical:{scrollbar:pt[0],track:yt[0],handle:xt[0]},scrollbarCorner:ft[0]};return Oi(t)==c.s?mi(e,t):e},Te.getState=function(t){var e=function(t){if(!r.isPlainObject(t))return t;var e=zi(!0,{},t),n=function(t,n){e.hasOwnProperty(t)&&(e[n]=e[t],delete e[t])};return n("w",Ye),n("h",Ke),delete e.c,e},n={sleeping:e(B)||!1,autoUpdate:e(!he),widthAuto:e(Ot),heightAuto:e(zt),padding:e(Ht),overflowAmount:e(Rt),hideOverflow:e(St),hasOverflow:e(gt),contentScrollSize:e(wt),viewportSize:e(Pe),hostSize:e(mt),documentMixed:e(P)};return Oi(t)==c.s?mi(n,t):n},Te.ext=function(t){var e,n=ur.split(" "),r=0;if(Oi(t)==c.s){if(lr.hasOwnProperty(t))for(e=zi(!0,{},lr[t]);r9||!w){t.prepend(xi(qn,xi({className:Bn,dir:"ltr"},xi(Bn,xi(Vn))+xi(Bn,xi({className:Vn,style:"width: 200%; height: 200%"})))));var v,p,y,x,g=t[0][u][0][u][0],S=r(g[u][1]),O=r(g[u][0]),z=r(O[0][u][0]),M=g[l.oW],W=g[l.oH],H=2,C=d.nativeScrollbarSize,T=function(){O[cn](o)[ln](o),S[cn](o)[ln](o)},k=function(){p=0,v&&(M=y,W=x,f())},E=function(t){return y=g[l.oW],x=g[l.oH],v=y!=M||x!=W,t&&v&&!p?(i.cAF()(p),p=i.rAF()(k)):t||k(),T(),t&&(i.prvD(t),i.stpP(t)),!1},L={},P={};P[Ue]=-(C.y+1)*H,P[_e]=C.x*-H,P[qe]=C.y*-H,P[Be]=-(C.x+1)*H,r(g).css(P),O.on(Ze,E),S.on(Ze,E),t.on(s,function(){E(!1)}),L[Ye]=o,L[Ke]=o,z.css(L),T()}else{var D=Z[0],R=D.attachEvent,N=b!==n;if(R)t.prepend(xi(qn)),Ai(t,nn+qn)[0].attachEvent("onresize",f);else{var F=D.createElement(c.o);F.setAttribute("tabindex","-1"),F.setAttribute(l.c,qn),F.onload=function(){var t=this.contentDocument.defaultView;t.addEventListener("resize",f),t.document.documentElement.style.display="none"},F.type="text/html",N&&t.prepend(F),F.data="about:blank",N||t.prepend(F),t.on(s,f)}}if(t[0]===it[0]){var I=function(){var e=nt.css("direction"),n={},r=0,i=!1;return e!==kt&&("ltr"===e?(n[Be]=0,n[_e]=Ge,r=o):(n[Be]=Ge,n[_e]=0,r=m.n?-o:m.i?0:o),it.children().eq(0).css(n),t[cn](r)[ln](o),kt=e,i=!0),i};I(),t.on(Ze,function(t){return I()&&Zr(),i.prvD(t),i.stpP(t),!1})}}function Sr(t){if(A){var e=t.contents()[0];e[wn].disconnect(),delete e[wn]}else Hi(t.children(nn+qn).eq(0))}function Or(t){}function zr(t){}function Mr(){de&&!he&&(ue.observe(nt[0],{attributes:!0,attributeOldValue:!0,attributeFilter:[l.i,l.c,l.s]}),fe.observe(E?et[0]:lt[0],{attributes:!0,attributeOldValue:!0,subtree:!E,childList:!E,characterData:!E,attributeFilter:E?["wrap","cols","rows"]:[l.i,l.c,l.s]}),he=!0)}function Wr(){de&&he&&(ue.disconnect(),fe.disconnect(),he=!1)}function Hr(){if(!B){var t=it[0],e={w:t[l.sW],h:t[l.sH]};if(T){var n=gi(e,Qt);Qt=e,n&&Zr(!0,!1)}else Qt=e}}function Ar(){Se&&ri(!0)}function Cr(){Se&&!tt.hasClass(sr)&&ri(!1)}function Tr(){ge&&(ri(!0),clearTimeout(xe),xe=setTimeout(function(){ge&&!k&&ri(!1)},100))}function kr(t){B||(V!==n?clearTimeout(V):((be||ge)&&ri(!0),pi()||Mi(nt,Cn),ci("onScrollStart",t)),oi(!0,st[cn]()),oi(!1,st[ln]()),ci("onScroll",t),V=setTimeout(function(){k||(Er(),ci("onScrollStop",t))},Re))}function Er(){clearTimeout(V),V=n,(be||ge)&&ri(!1),pi()||Wi(nt,Cn)}function Lr(){Gr(),Te.update(Ge)}function Pr(t){var e=t.keyCode;if(!vi(e)){if(0===yr.length){var n=function(){Gr(),Te.update(Ge)};n(),ve=setInterval(n,1e3/60)}-1===r.inArray(e,yr)&&yr.push(e)}}function Dr(t){var e=t.keyCode;if(!vi(e)){var n=r.inArray(e,yr);n>-1&&yr.splice(n,1),0===yr.length&&(Gr(),Te.update(Ge),clearInterval(ve))}}function Rr(){setTimeout(function(){k||(Gr(),Te.update(Ge))},50)}function Nr(){pe=!0}function Fr(){pe=!1,clearInterval(ve),yr=[],Gr(),Te.update(Ge)}function Ir(t){return et[cn](m.i&&ne?9999999:0),et[ln](0),i.prvD(t),i.stpP(t),!1}function jr(t){if(!B){var e=(t.originalEvent||t).touches!==n;(1===i.mBtn(t)||e)&&(he&&(Me=!0,Wr()),xr=i.page(t),mr.w=nt[0][l.oW]-(D?0:N),mr.h=nt[0][l.oH]-(D?0:F),Z.on(xn,qr).on(hn,Ur).on(fn,_r),Mi(tt,sr),ft.setCapture&&ft.setCapture(),i.prvD(t),i.stpP(t))}}function Ur(t){var e=i.page(t),n={};(Ae||He)&&(n[Ye]=mr.w+e.x-xr.x),(Ce||He)&&(n[Ke]=mr.h+e.y-xr.y),nt.css(n),i.stpP(t)}function _r(t){var e=t!==n;Z.off(xn,qr).off(hn,Ur).off(fn,_r),Wi(tt,sr),ft.releaseCapture&&ft.releaseCapture(),e&&(Me&&Mr(),Te.update(Ge)),Me=!1}function qr(t){return i.prvD(t),!1}function Br(){Zr()}function Vr(){var t={};return L&&ct&&(t.w=hi(ct.css(Ve+Ye)),t.h=hi(ct.css(Ve+Ke)),t.c=gi(t,se),t.f=!0),se=t,t.c||!1}function Xr(t,e){var i=e!==n&&null!==e?e.split(rn):Qe,o=t!==n&&null!==t?t.split(rn):Qe;if(i===Qe&&o===Qe)return!1;var a,s,c,l,u=fi(o,i),f=!1,h=ie!==n&&null!==ie?ie.split(rn):[Qe],d=re!==n&&null!==re?re.split(rn):[Qe],v=r.inArray(cr,u),p=u[a];for(v>-1&&u.splice(v,1),a=0;a0&&T&&a-J0?Y:cr)),Vt&&(!0===Bt?(Wr(),v.add(Te)):null===Bt&&w?(Wr(),v.add(Te)):(v.remove(Te),Mr())),kt)if(xt)if(ot===n&&(ot=r(xi(Un)),at.before(ot)),R)rt.show();else{rt=r(xi(_n)),ot.before(rt);var ue={w:-1,h:-1};gr(rt,function(){var t={w:rt[0][l.oW],h:rt[0][l.oH]};gi(t,ue)&&(T&&zt&&t.h>0||Ot&&t.w>0?Zr():(T&&!zt&&0===t.h||!Ot&&0===t.w)&&Zr()),ue=t}),R=!0,null!==S&&rt.css(Ke,S+"(100% + 1px)")}else R&&rt.hide();o&&(it.find("*").trigger(Ze),R&&rt.find("*").trigger(Ze));var fe,de=nt.css("direction"),ve=bi(de,Tt,o),ye=nt.css("box-sizing"),xe=bi(ye,Wt,o),ze={c:o,t:hi(nt.css(Ie+Ue)),r:hi(nt.css(Ie+_e)),b:hi(nt.css(Ie+qe)),l:hi(nt.css(Ie+Be))};try{fe=R?rt[0].getBoundingClientRect():null}catch(Ni){return}D="border-box"===ye;var Me=(q="rtl"===de)?Be:_e,Ee=q?_e:Be,Le=nt[0],Re=at[0],Ne=!1,nn=!(!R||"none"===nt.css(Je))&&(0===Math.round(fe.right-fe.left)&&(!!dt||Le[l.cW]-N>0));if(xt&&!nn){var on=Le[l.oW],an=ot.css(Ye);ot.css(Ye,Ge);var sn=Le[l.oW];ot.css(Ye,an),(Ne=on!==sn)||(ot.css(Ye,on+1),sn=Le[l.oW],ot.css(Ye,an),Ne=on!==sn)}var fn=(nn||Ne)&&xt&&!c,pn=bi(fn,Ot,o),yn=!fn&&Ot,xn=!(!R||c)&&0===Math.round(fe.bottom-fe.top),mn=bi(xn,zt,o),wn=!xn&&zt,bn="-"+Ye,gn=fn&&D||!D,Sn=xn&&D||!D,On={c:o,t:Sn?hi(nt.css(je+Ue+bn)):0,r:gn?hi(nt.css(je+_e+bn)):0,b:Sn?hi(nt.css(je+qe+bn)):0,l:gn?hi(nt.css(je+Be+bn)):0},zn={c:o,t:hi(nt.css(Fe+Ue)),r:hi(nt.css(Fe+_e)),b:hi(nt.css(Fe+qe)),l:hi(nt.css(Fe+Be))},Mn={h:String(nt.css(Xe+Ke)),w:String(nt.css(Xe+Ye))},Wn={},Ln={};if(N=ze.l+ze.r,F=ze.t+ze.b,ze.c=Si(ze,Ht),I=On.l+On.r,j=On.t+On.b,On.c=Si(On,At),U=zn.l+zn.r,_=zn.t+zn.b,zn.c=Si(zn,Ct),Mn.ih=hi(Mn.h),Mn.iw=hi(Mn.w),Mn.ch=Mn.h.indexOf("px")>-1,Mn.cw=Mn.w.indexOf("px")>-1,Mn.c=gi(Mn,Mt,o),Tt=de,Wt=ye,Ot=fn,zt=xn,Ht=ze,At=On,Ct=zn,Mt=Mn,ve&&R&&rt.css(Je,Ee),ze.c||ve||vt||pn||mn||xe||kt){var Pn={},Dn={};li(Ln,Fe,[-ze.t,-ze.r,-ze.b,-ze.l]),dt?(li(Pn,Qe,[ze.t,ze.r,ze.b,ze.l]),li(E?Dn:Wn,Ie)):(li(Pn,Qe),li(E?Dn:Wn,Ie,[ze.t,ze.r,ze.b,ze.l])),at.css(Pn),et.css(Dn)}Pe={w:Re[l.oW],h:Re[l.oH]};var Rn=!!E&&Gr();if(xn&&(mn||vt||xe||Mn.c||ze.c||On.c)?(Mn.cw&&(Wn[Xe+Ke]=Mn.ch?Mn.ih-(dt?F:0)+(D?-j:F):Qe),Wn[Ke]=Ge):(mn||vt)&&(Wn[Xe+Ke]=Qe,Wn[Ke]=$e),fn&&(pn||vt||xe||Mn.c||ze.c||On.c||ve)?(Mn.cw&&(Wn[Xe+Ye]=Mn.cw?Mn.iw-(dt?N:0)+(D?-I:N)+(y.y?x.y:0):Qe),Wn[Ye]=Ge,Ln[Xe+Ye]=$e):(pn||vt)&&(Wn[Xe+Ye]=Qe,Wn[Ye]=$e,Wn[Je]=Qe,Ln[Xe+Ye]=Qe),fn&&(Mn.cw||(Wn[Xe+Ye]=Qe),Ln[Ye]=E&&Kt?Rn.dw:Ge,Wn[Ye]=Ge,Wn[Je]=Ee),xn&&(Mn.ch||(Wn[Xe+Ke]=Qe),Ln[Ke]=E?Qt?Rn.dh:Ge:lt[0][l.cH]),xt&&ot.css(Ln),lt.css(Wn),Wn={},Ln={},gt=gt||{x:!1,y:!1},t||e||ve||xe||vt||pn||fn||mn||xn||Mn.c||qt||Yt||yt||$||z||Jt||ce||ht||vt||Jt||ce||o){var Nn="overflow",Fn=Nn+"-x",In=Nn+"-y",qn="hidden",Bn="visible",Vn=C?y.x||y.y||Pe.w0&&(Ln[Ye]=Math.max(1,Ln[Ye]),Ln[Ke]=Math.max(1,Ln[Ke])),E&&ut.css(lr),ot.css(Ln)}fn&&(Wn[Ye]=$e),!fn||D||he||(Wn[Je]="none"),lt.css(Wn),Wn={};var ur=Jn.getBoundingClientRect(),dr={w:Math.max(Jn[l.sW],Qn[l.sW]),h:Math.max(Jn[l.sH],Qn[l.sH])};if(Vn&<.css(Nn,Qe),ur.width){var vr=ur.width,pr=ur.height,yr=.001;dr.w+=hi(vr+yr)-vr,dr.h+=hi(pr+yr)-pr}dr.c=e=gi(dr,wt,o),wt=dr,t=gi(tr={w:Le[l.cW],h:Le[l.cH]},mt),mt=tr;var xr={x:"v-s"===Xt.x,y:"v-s"===Xt.y},mr={x:"v-h"===Xt.x,y:"v-h"===Xt.y},Sr={x:"s"===Xt.x,y:"s"===Xt.y},Hr={x:Math.max(0,Math.round(100*(dr.w-tr.w+(dt?N:0)))/100),y:Math.max(0,Math.round(100*(dr.h-tr.h+(dt?F:0)))/100)},kr=E&&(0===Pe.w||0===Pe.h);kr&&(Hr.x=0,Hr.y=0);var Er={x:Hr.x>0,y:Hr.y>0},Lr={x:Er.x,y:Er.y};(xr.x||mr.x)&&(Lr.x=Er.y&&!xr.y&&!mr.y),(xr.y||mr.y)&&(Lr.y=Er.x&&!xr.x&&!mr.x),Lr.xs=!!Lr.x&&(Sr.x||xr.x),Lr.ys=!!Lr.y&&(Sr.y||xr.y);var Pr={x:Er.x&&Lr.xs,y:Er.y&&Lr.ys},Dr=Rt;if(Hr.c=gi(Hr,Rt,tn,en,o),Rt=Hr,Er.c=gi(Er,gt,tn,en,o),gt=Er,Lr.c=gi(Lr,St,tn,en,o),St=Lr,y.x||y.y){var Rr="px solid transparent",Nr={},Fr={},Ir=o;(Er.x||Er.y)&&(Fr.w=y.y&&Er.y?dr.w+x.y:Qe,Fr.h=y.x&&Er.x?dr.h+x.x:Qe,Ir=bi(Fr,bt,o),bt=Fr),(Er.c||Lr.c||dr.c||ve||pn||mn||fn||xn||qt)&&(Wn[Fe+Ee]=Wn[je+Ee]=Qe,y.x&&Er.x&&Lr.xs?(Wn[Fe+qe]=xn?_t?Qe:x.x:Qe,Wn[je+qe]=xn||_t?Qe:x.x+Rr):(Fr.h=Wn[Fe+qe]=Wn[je+qe]=Qe,Ir=!0),y.y&&Er.y&&Lr.ys?(Wn[Fe+Me]=fn?_t?Qe:x.y:Qe,Wn[je+Me]=_t?Qe:x.y+Rr):(Fr.w=Wn[Fe+Me]=Wn[je+Me]=Qe,Ir=!0)),_t&&(Fr.w=Fr.h=Qe,Ir=!0),Ir&&(Nr[Ye]=Lr.y?Fr.w:Qe,Nr[Ke]=Lr.x?Fr.h:Qe,ct||(ct=r(xi(jn)),st.prepend(ct)),ct.css(Nr)),lt.css(Wn)}var Ur={};Pn={};if(t||Er.c||Lr.c||dr.c||Yt||xe||qt||ve||yt||mn){Ur[Ee]=Qe;var _r=function(){Ur[qe]=Qe,ke.h=0},qr=function(){Ur[Me]=Qe,ke.w=0};if(Er.x&&Lr.xs?(Ur[Fn]=Ze,_t?_r():(Ur[qe]=-(y.x?x.x:O.x),ke.h=y.x?x.y:0)):(Ur[Fn]=Qe,_r()),Er.y&&Lr.ys?(Ur[In]=Ze,_t?qr():(Ur[Me]=-(y.y?x.y:O.y),ke.w=y.y?x.x:0)):(Ur[In]=Qe,qr()),(Pe.h-1,Ri=Pi.y>-1;(Di||Ri)&&(Ri&&st[ln](Pi.y),Di&&(q&&ne&&m.i?st[cn](0):st[cn](Pi.x)))}Ut=wi}else E||(q&&m.i&&y.y&&Er.x&&ne&&(f.l+=ke.w||0),st[cn](f.l),st[ln](f.t));ve&&ci("onDirectionChanged",{isRTL:q,dir:de}),t&&ci("onHostSizeChanged",{width:mt.w,height:mt.h}),e&&ci("onContentSizeChanged",{width:wt.w,height:wt.h}),(Er.c||Lr.c)&&ci("onOverflowChanged",{x:Er.x,y:Er.y,xScrollable:Lr.xs,yScrollable:Lr.ys,clipped:Lr.x||Lr.y}),Hr.c&&ci("onOverflowAmountChanged",{x:Hr.x,y:Hr.y})}L&&(Er.c||se.c)&&(se.f||Vr(),y.y&&Er.x&<.css(Ve+Ye,se.w+x.y),y.x&&Er.y&<.css(Ve+Ke,se.h+x.x),se.c=!1),zr(it),zr(rt),ci("onUpdated",{forced:o})}}function $r(t){Y=zi(!0,{},Y,z.v(t,z.t,!0)),K=zi(!0,{},K,z.v(t,z.t,!1,!0))}function ti(){ht=r(xi(Yn+rn+or)),dt=r(xi(Kn)),vt=r(xi(Qn)),pt=r(xi(Yn+rn+ar)),yt=r(xi(Kn)),xt=r(xi(Qn)),ht.append(dt),dt.append(vt),pt.append(yt),yt.append(xt),at.after(pt),at.after(ht),M&&(ht.on(mn,function(t){t.target===ht[0]&&(ii(!0),oi(!0,st[cn]()))}),pt.on(mn,function(t){t.target===pt[0]&&(ii(!1),oi(!1,st[ln]()))})),ei(!0),ei(!1),ft=r(xi(tr)),nt.append(ft)}function ei(t){var e,o,a,s=si(t),c=s.xy,l=Ze+s.LT,u="active",f=1,h=[16,17],d=function(){f=.5},v=function(){f=1},p=function(n){var r=s.i.tl,a=s.i.hl,u=s.i.ms*((i.page(n)[c]-o)/(r-a));u=isFinite(u)?u:0,q&&t&&!m.i&&(u*=-1),st[l](e+u),H||i.prvD(n)},y=function(t){t=t||t.originalEvent;var r=nt[0].getBoundingClientRect(),i=t.clientX>=r.left&&t.clientX<=r.right&&t.clientY>=r.top&&t.clientY<=r.bottom;Wi(tt,sr),Wi(s.h,u),Wi(s.t,u),Wi(s.s,u),Z.off(hn,p).off(fn,y).off(pn,x).off(yn,w).off(xn,qr),v(),e=n,o=n,a!==n&&(Te.scrollStop(),clearTimeout(a),a=n),i||Cr(),(be||ge)&&ri(!1)},x=function(t){r.inArray(t.keyCode,h)>-1&&d()},w=function(t){r.inArray(t.keyCode,h)>-1&&v()},g=function(t){var e=(t.originalEvent||t).touches!==n;return!(B||pi()||!te||e&&!Oe)&&(1===i.mBtn(t)||e)},S=function(r){e=(e=st[l]())===n?0:e,(q&&t&&!m.n||!q)&&(e=e<0?0:e),o=i.page(r)[c],Mi(tt,sr),Mi(s.h,u),Mi(s.s,u),Z.on(hn,p).on(fn,y).on(xn,qr),!b&&P||i.prvD(r),i.stpP(r)};s.h.on(un,function(t){g(t)&&S(t)}),s.t.on(un,function(e){if(g(e)){var r,h,v=Pe[s._wh],p=s.t.offset()[s.lt],b=e.ctrlKey,O=e.shiftKey,z=O&&b,M=!0,W="linear",H=function(){if(!k){var i=o-p,c=s.i.tl,u=s.i.ho,d=s.i.hl,y=s.i.ms,x=270*f,w=M?Math.max(400,x):x,b=y*((i-d/2)/(c-d)),g=q&&t&&(!m.i&&!m.n||ne),A=g?ui,C={};O?(b=isFinite(b)?b:0,q&&t&&!m.i&&(b=y-b),z?(C.n=!1,C[s.xy]=b,Te.scroll(C,130,W,function(){S(e)})):(st[l](b),S(e))):(r=M?A:r,h=g?r?u+d>=i:u<=i:r?u<=i:u+d>=i,C[s.xy]=r?"-="+v:"+="+v,Te.scrollStop(),Te.scroll(C,x,W),h?(clearTimeout(a),Te.scrollStop(),a=n):a=setTimeout(H,w),M=!1)}};b&&d(),o=i.page(e)[c],Mi(tt,sr),Mi(s.t,u),Mi(s.s,u),Z.on(fn,y).on(pn,x).on(yn,w).on(xn,qr),H(),i.prvD(e),i.stpP(e)}}).hover(function(){(be||ge)&&(ze=!0,ri(!0))},function(){(be||ge)&&(ze=!1,ri(!1))}),s.s.on(un,function(t){i.stpP(t)})}function ni(t,e,n){var r=t?zn:Mn,i=t?ht:pt;e?Wi(nt,r):Mi(nt,r),n?Wi(i,Zn):Mi(i,Zn)}function ri(t,e){if(clearTimeout(ye),t)Wi(ht,$n),Wi(pt,$n);else{var n="active",r=function(){if(!ze&&!k){var t=vt.hasClass(n)||xt.hasClass(n);!t&&(be||ge||Se)&&Mi(ht,$n),!t&&(be||ge||Se)&&Mi(pt,$n)}};me>0&&!0!==e?ye=setTimeout(r,me):r()}}function ii(t){var e={},n=si(t),r=1e6,i=Math.min(1,(mt[n._wh]-(Et?t?N:F:0))/wt[n._wh]);e[n.wh]=Math.floor(100*i*r)/r+"%",pi()||n.h.css(e),n.i.hl=n.h[0]["offset"+n.WH],n.i.hlr=i}function oi(t,e){var n,r,i,o=q&&t,a={},s=si(t),c="translate(",l="transform",u=st[0][Ze+s.WH]-st[0]["client"+s.WH],f=s.i.hl,h=s.t[0]["offset"+s.WH],d=h-f;m.n&&o&&(u*=-1),i=e/u,i=isNaN(i)?0:Math.min(1,i),s.i.ms=u,s.i.cs=e,s.i.csr=i,d*=i,d=isNaN(d)?0:d,o&&!m.i&&(d=h-f-d),d=Math.max(0,d),W?(r=(r=o?-(h-f-d):d)/h*100*(h/f),n=t?c+r+"%, 0)":c+"0, "+r+"%)",a["-webkit-"+l]=n,a["-moz-"+l]=n,a["-ms-"+l]=n,a["-o-"+l]=n,a[l]=n):a[s.lt]=d,pi()||s.h.css(a),s.i.ho=d,s.i.tl=h}function ai(t,e){var n=e?"removeClass":"addClass",r=t?yt:xt,i=t?Jn:Gn;(t?dt:vt)[n](i),r[n](i)}function si(t){return{wh:t?Ye:Ke,WH:t?"Width":"Height",lt:t?Be:Ue,LT:t?"Left":"Top",xy:t?tn:en,XY:t?"X":"Y",_wh:t?"w":"h",_lt:t?"l":"t",t:t?dt:yt,h:t?vt:xt,s:t?ht:pt,i:t?Ee:Le}}function ci(t,e){if(T){var n,i=K.callbacks[t],o=t;"on"===o.substr(0,2)&&(o=o.substr(2,1).toLowerCase()+o.substr(3)),Oi(i)==c.f&&i.call(Te,e),r.each(lr,function(){Oi((n=this).on)==c.f&&n.on(o,e)})}}function li(t,e,r){r===n&&(r=[Qe,Qe,Qe,Qe]),t[e+Ue]=r[0],t[e+_e]=r[1],t[e+qe]=r[2],t[e+Be]=r[3]}function ui(e){var n="ownerDocument",r="HTMLElement",i=e&&e[n]&&e[n].parentWindow||t;return typeof i[r]==c.o?e instanceof i[r]:e&&typeof e==c.o&&null!==e&&1===e.nodeType&&typeof e.nodeName==c.s}function fi(t,e){var n,r,i=[],o=[];for(n=0;nf&&(u=r+1,f=e);return{cR:h,cC:d,r:c,c:f,w:u,p:t,m:a}}}function vi(t){for(var e=0;e"+(e||Qe)+""}function mi(t,e){for(var n,r=e.split(nn),i=0;i9||!w?et.on("input",Lr):et.on(pn,Pr).on(yn,Dr)}else Mi(et,Sn),(nt=et).wrapInner(xi(In)).wrapInner(xi(Rn)).wrapInner(xi(Dn)),lt=Ai(nt,nn+In),st=Ai(nt,nn+Rn),at=Ai(nt,nn+Dn),lt.on(mn,function(t){!0!==Ft&&Qr((t=t.originalEvent||t).propertyName)&&Zr(Ge)});if(ti(),H?wr(st,Ze,kr):st.on(Ze,kr),g&&Mi(st,y.x&&y.y?Fn:Nn),de){var u,f,h,v,p,z,D=i.mO(),R=i.now();ue=new D(function(t){if(T&&!B){var e,n=!1;r.each(t,function(){if(u=(e=this).target,f=e.attributeName,n=f===l.c?Xr(e.oldValue,u.className):f!==l.s||e.oldValue!==u[l.s].cssText)return!1}),n&&Te.update(Ge)}}),fe=new D(function(t){if(T&&!B){var e=!1;r.each(t,function(){return!(e=Yr(this))}),e&&(v=i.now(),p=zt||Ot,z=function(){k||(R=v,E&&Gr(),p?Te.update():Te.update(Ge))},clearTimeout(h),vr<=0||v-R>vr||!p?z():h=setTimeout(z,vr))}})}return L&&(Mi($,gn),st[cn](a.l),st[ln](a.t)),it=r(xi("os-resize-observer-host")),nt.prepend(it),gr(it,Hr),Hr(),Te.update(Ge),setTimeout(function(){M&&!k&&Mi(nt,Wn)},333),T=!0,ci("onInitialized"),Oi(o)==c.s&&(o=[o]),r.isArray(o)?r.each(o,function(){Te.addExt(this)}):r.isPlainObject(o)&&r.each(o,function(t,e){Te.addExt(t,e)}),T}}return t[s]=function(e,i,c){if(0===arguments.length)return this;M();var l,f,h=[];return r.isPlainObject(i)?e&&e.length?(r.each(e,function(){(l=this)!==n&&h.push(A(l,i,c,a,u))}),f=h.length>1?h:h[0]):f=A(e,i,c,a,u):e&&(e.length&&e.length>0?(r.each(e,function(){l=o(this),"!"===i?l instanceof t[s]&&h.push(l):h.push(l)}),f=h.length>1?h:h[0]):f=o(e)),f},t[s].globals=function(){M();var t=r.extend(!0,{},a);return delete t.msie,t},t[s].defaultOptions=function(t){M();var e=a.defaultOptions;if(t===n)return r.extend(!0,{},e);a.defaultOptions=r.extend(!0,{},e,z.v(t,z.t,!0))},t[s].extension=function(t,e,n){var i=r.type(t)==c.s,o=arguments[l.l],a=0;if(o<1||!i)return r.extend(!0,{length:O[l.l]},O);if(i)if(r.type(e)==c.f)O.push({name:t,extension:e,defaultOptions:n});else for(;a1))return r.extend(!0,{},O[a]);O.splice(a,1)}},t[s]}(r,u,(i=u,o=[],a="__overlayScrollbars__",function(t,e){var n=arguments[l.l];if(n<1)return o;if(e)t[a]=e,o.push(t);else{var r=i.inA(t,o);if(r>-1){if(!(n>1))return o[r][a];delete t[a],o.splice(r,1)}}}));return f&&f.fn&&(f.fn.overlayScrollbars=function(t,e){var n=this;return f.isPlainObject(t)?(f.each(n,function(){h(this,t,e)}),n):h(n,t)}),h}); \ No newline at end of file +!function(e,t){"function"==typeof define&&define.amd?define(["jquery"],function(n){return t(e,e.document,undefined,n)}):"object"==typeof module&&"object"==typeof module.exports?module.exports=t(e,e.document,undefined,require("jquery")):t(e,e.document,undefined,e.jQuery)}("undefined"!=typeof window?window:this,function(e,t,n,r){"use strict";var i,o,a,s="OverlayScrollbars",c={o:"object",f:"function",a:"array",s:"string",b:"boolean",n:"number",u:"undefined",z:"null"},l={c:"class",s:"style",i:"id",l:"length",p:"prototype",oH:"offsetHeight",cH:"clientHeight",sH:"scrollHeight",oW:"offsetWidth",cW:"clientWidth",sW:"scrollWidth"},u={wW:function(){return e.innerWidth||t.documentElement[l.cW]||t.body[l.cW]},wH:function(){return e.innerHeight||t.documentElement[l.cH]||t.body[l.cH]},mO:function(){return e.MutationObserver||e.WebKitMutationObserver||e.WebkitMutationObserver||e.MozMutationObserver||n},rO:function(){return e.ResizeObserver||e.WebKitResizeObserver||e.WebkitResizeObserver||e.MozResizeObserver||n},rAF:function(){return e.requestAnimationFrame||e.webkitRequestAnimationFrame||e.mozRequestAnimationFrame||e.oRequestAnimationFrame||e.msRequestAnimationFrame||function(t){return e.setTimeout(t,1e3/60)}},cAF:function(){return e.cancelAnimationFrame||e.webkitCancelAnimationFrame||e.mozCancelAnimationFrame||e.oCancelAnimationFrame||e.msCancelAnimationFrame||function(t){return e.clearTimeout(t)}},now:function(){return Date.now()||(new Date).getTime()},stpP:function(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0},prvD:function(e){e.preventDefault&&e.cancelable?e.preventDefault():e.returnValue=!1},page:function(e){var r="page",i="client",o="X",a="Y",s=((e=e.originalEvent||e).target||e.srcElement||t).ownerDocument||t,c=s.documentElement,l=s.body;if(e.touches!==n){var u=e.touches[0];return{x:u[r+o],y:u[r+a]}}return!e[r+o]&&e[i+o]&&null!=e[i+o]?{x:e[i+o]+(c&&c.scrollLeft||l&&l.scrollLeft||0)-(c&&c.clientLeft||l&&l.clientLeft||0),y:e[i+a]+(c&&c.scrollTop||l&&l.scrollTop||0)-(c&&c.clientTop||l&&l.clientTop||0)}:{x:e[r+o],y:e[r+a]}},mBtn:function(e){return e.which||e.button===n?e.which:1&e.button?1:2&e.button?3:4&e.button?2:0},inA:function(e,t){for(var n=0;n0?"\r\nValid strings are: [ "+T.join(", ").split(v).join(", ")+" ].":"")),delete e[s]}}};return l(s,t,a),o?r.extend(!0,a,s):!r.isEmptyObject(s)&&n&&console.warn("The following options are discarded due to invalidity:\r\n"+JSON.stringify(s,null,2)),a}});function H(){a||(a=new M(W.d)),u||(u=new A(a))}function M(a){var s=this,c="overflow",u="hidden",f="scroll",h=r("body"),d=r('
'),v=d[0],p=r(d.children("div").eq(0));h.append(d);var y,x,m,w,b,g,S,O,z,W=A(v),H={x:0===W.x,y:0===W.y};function M(e){var r=!1,i="Webkit Moz ms O".split(" "),o=t.createElement("div"),a=null,s=0;if(e=e.toLowerCase(),o[l.s][e]!==n&&(r=!0),!r)for(a=e.charAt(0).toUpperCase()+e.substr(1);s0?y=z(x[w](b+5,x[m](".",b)),10):g>0?y=z(x[w](O+3,x[m](".",O)),10):S>0&&(y=z(x[w](S+5,x[m](".",S)),10)),y),cssCalc:function(){var e,n,r=t.createElement("div"),i=["calc","-webkit-calc","-moz-calc","-o-calc"];for(e=0;e0){var e=i.wW(),l=i.wH(),v=e-n,p=l-a;if(0===v&&0===p)return;var y,x=Math.round(e/(n/100)),m=Math.round(l/(a/100)),w=t(v),b=t(p),g=t(x),S=t(m),O=f(),z=w>2&&b>2,W=!u(g,S),H=z&&W&&(O!==c&&c>0),M=s.nativeScrollbarSize;H&&(h.append(d),y=s.nativeScrollbarSize=A(d[0]),d.remove(),M.x===y.x&&M.y===y.y||r.each(o(),function(){o(this)&&o(this).update("zoom")})),n=e,a=l,c=O}};r(e).on("resize",l)}function u(e,n){var r=t(e),i=t(n);return!(r===i||r+1===i||r-1===i)}function f(){var t=e.screen.deviceXDPI||0,n=e.screen.logicalXDPI||1;return e.devicePixelRatio||t/n}}()}function A(e){var t,o=this,a="autoUpdate",s=a+"Interval",c=l.l,u=[],f=[],h=!1,d=33,v=d,p=i.now(),y=function(){if(u[c]>0&&h){t=i.rAF()(function(){y()});var e=i.now(),r=e-p;if(r>v){p=e-r%v;for(var o=d,l=0;lb&&(x.update("auto"),f[l]=new Date(g+=b)),o=Math.max(1,Math.min(o,b))}}v=o}}else v=d};o.add=function(t){-1===r.inArray(t,u)&&(u.push(t),f.push(i.now()),u[c]>0&&!h&&(h=!0,e.autoUpdateLoop=h,y()))},o.remove=function(o){var a=r.inArray(o,u);a>-1&&(f.splice(a,1),u.splice(a,1),0===u[c]&&h&&(h=!1,e.autoUpdateLoop=h,t!==n&&(i.cAF()(t),t=-1)))}}function C(a,u,h,d,v){if(fi(a)){if(o(a)){var p=o(a);return p.options(u),p}var y,x,m,w,b,g,S,O,z,H,M,A,C,T,k,E,L,P,D,R,N,F,I,j,U,_,q,B,V,X,Y,K,J,Q,G,Z,$,ee,te,ne,re,ie,oe,ae,se,ce,le,ue,fe,he,de,ve,pe,ye,xe,me,we,be,ge,Se,Oe,ze,We,He,Me,Ae,Ce,Te,ke,Ee,Le,Pe,De,Re,Ne,Fe,Ie,je,Ue,_e,qe,Be,Ve,Xe,Ye,Ke,Je,Qe,Ge,Ze,$e,et,tt,nt,rt,it,ot,at,st,ct,lt,ut,ft,ht,dt,vt,pt,yt,xt,mt,wt,bt,gt,St,Ot,zt,Wt,Ht,Mt,At,Ct,Tt=new e[s],kt=r[l.p],Et={},Lt={},Pt={},Dt={},Rt={},Nt=175,Ft="-hidden",It="margin-",jt="padding-",Ut="border-",_t="top",qt="right",Bt="bottom",Vt="left",Xt="min-",Yt="max-",Kt="width",Jt="height",Qt="float",Gt="",Zt="auto",$t="scroll",en="100%",tn="x",nn="y",rn=".",on=" ",an="scrollbar",sn="-horizontal",cn="-vertical",ln=$t+"Left",un=$t+"Top",fn="mousedown touchstart",hn="mouseup touchend touchcancel",dn="mousemove touchmove",vn="mouseenter",pn="mouseleave",yn="keydown",xn="keyup",mn="selectstart",wn="transitionend webkitTransitionEnd oTransitionEnd",bn="__overlayScrollbarsRO__",gn="os-",Sn=gn+"html",On=gn+"host",zn=On+"-textarea",Wn=On+"-"+an+sn+Ft,Hn=On+"-"+an+cn+Ft,Mn=On+"-transition",An=On+"-rtl",Cn=On+"-resize-disabled",Tn=On+"-scrolling",kn=On+"-overflow",En=kn+"-x",Ln=kn+"-y",Pn=gn+"textarea",Dn=Pn+"-cover",Rn=gn+"padding",Nn=gn+"viewport",Fn=Nn+"-native-scrollbars-invisible",In=Nn+"-native-scrollbars-overlaid",jn=gn+"content",Un=gn+"content-arrange",_n=gn+"content-glue",qn=gn+"size-auto-observer",Bn=gn+"resize-observer",Vn=gn+"resize-observer-item",Xn=Vn+"-final",Yn=gn+"text-inherit",Kn=gn+an,Jn=Kn+"-track",Qn=Jn+"-off",Gn=Kn+"-handle",Zn=Gn+"-off",$n=Kn+"-unusable",er=Kn+"-"+Zt+Ft,tr=Kn+"-corner",nr=tr+"-resize",rr=nr+"-both",ir=nr+sn,or=nr+cn,ar=Kn+sn,sr=Kn+cn,cr=gn+"dragging",lr=gn+"theme-none",ur={},fr="added removed on contract",hr={},dr=42,vr=[],pr=11,yr=[112,113,114,115,116,117,118,119,120,121,123,33,34,37,38,39,40,16,17,18,19,20,144],xr=[],mr={},wr={};if(Tt.sleep=function(){B=!0},Tt.update=function(e){var t,n,o=zi(e)==c.s,a="img",s="load";o?0===e.indexOf(Zt)?(t=Qr(),n=Jr(),(t||n)&&$r(!1,n,!1,"+"==e.slice(-1))):"zoom"===e&&$r(!0,!0):(e=B||e,B=!1,$r(!1,!1,e,!0)),E||le.find(a).each(function(e,t){-1===i.inA(t,vr)&&r(t).off(s,Vr).on(s,Vr)})},Tt.options=function(e,t){if(r.isEmptyObject(e)||!r.isPlainObject(e)){if(zi(e)==c.s){if(arguments.length>=2){var n={};return bi(n,e,t),ei(n),void $r()}return wi(Y,e)}return Y}ei(e);var i=B||!1;B=!1,$r(),B=i},Tt.destroy=function(){for(var e in k=!0,v.remove(Tt),Mr(),Or(ie),R&&Or(re),ur)Tt.removeExt(e);Ai(ie),oe!==n&&Ai(oe),ce!==n&&Ai(ce),R&&Ai(re),M?(gr(ne,dn,kr),gr(ne,vn,Cr),gr(ne,pn,Tr)):ne.off(dn,kr).off(vn,Cr).off(pn,Tr),Ai(he),Ai(pe),fe&&Ai(fe),Ht||qr(),le.contents().unwrap().unwrap().unwrap(),L&&Mi($,Sn),E?(te.off($t,jr).off("drop",Nr).off("focus",Fr).off("focusout",Ir),b>9||!w?te.off("input",Pr):te.off(yn,Dr).off(xn,Rr),Ai(ue),Mi(te,Pn+on+Yn).unwrap().removeAttr(l.s),Ai(ne)):(Mi(te,On),Mi(ne,[On,Cn,An,Wn,Hn,Mn,Tn,kn,En,Ln,lr,rt].join(on)));for(var t=0;t0)t.x=e[0],t.y=e[1];else if(zi(e)==c.s||zi(e)==c.n)t.x=e,t.y=e;else if(zi(e)==c.o){for(var n in A=zi(e.n)==c.b?e.n:A,e=Wi({},e),x=0,e)e.hasOwnProperty(n)&&(x>2&&delete e[n],x++);var r=function(t){var n=t?C:T;for(x=0;x2){var y=r.substr(0,2);for(x=0;x/g,(v?"-":Gt)+en))[p](/px/g,Gt))[p](/%/g,h+f*(d&&m.n?-1:1)/100))[p](/vw/g,h+Dt.w))[p](/vh/g,h+Dt.h),o=di(e.parseFloat(e.eval(r)).toFixed())}else o=r;if(o!==n&&!isNaN(o)&&zi(o)==c.n){var w=A&&d,b=u*(w&&m.n?-1:1),g=w&&m.i,S=w&&m.n;switch(b=g?f-b:b,i){case"+=":s=b+o;break;case"-=":s=b-o;break;case"*=":s=b*o;break;case"/=":s=b/o;break;default:s=o}s=g?f-s:s,s*=S?-1:1,s=d&&m.n?Math.min(0,Math.max(f,s)):Math.max(0,Math.min(f,s))}return s===u?n:s},$=function(e,t,n,r){var i,o,a=[n,n],s=zi(e);if(s==t)e=[e,e];else if(s==c.a){if((i=e[U])>2||i<1)e=a;else for(1===i&&(e[1]=n),x=0;x=4?ee(ne):ce:le==c.o?ee([ne[_t],ne[qt],ne[Bt],ne[Vt]]):ce,S=Q(re,_)?re:"xy",O=$(ie,c.s,F,V),z=$(oe,c.s,D,B),W=ne;var ue={l:Lt.cs,t:Pt.cs},fe=ae.offset(),he=M.offset(),de={x:O.x==I||S==nn,y:O.y==I||S==tn};he[_t]-=W[0],he[Vt]-=W[3];var ve={x:Math.round(he[Vt]-fe[Vt]+ue.l),y:Math.round(he[_t]-fe[_t]+ue.t)};if(q&&(m.n||m.i||(ve.x=Math.round(fe[Vt]-he[Vt]+ue.l)),m.n&&A&&(ve.x*=-1),m.i&&A&&(ve.x=Math.round(fe[Vt]-he[Vt]+(Lt.ms-ue.l)))),z.x!=D||z.y!=D||O.x==j||O.y==j||q){var pe=M[0],ye=H?pe.getBoundingClientRect():{width:pe[l.oW],height:pe[l.oH]},xe={w:ye[Kt]+W[3]+W[1],h:ye[Jt]+W[0]+W[2]},me=function(e){var t=ci(e),n=t._wh,r=t.lt,i=t.xy,o=z[i]==(e&&q?D:P),a=z[i]==R,s=z[i]==N,c=O[i]==I,l=O[i]==j,u=Dt[n],f=fe[r],h=xe[n],d=he[r],v=a?2:1,p=d+h/2,y=f+u/2,x=h<=u&&d>=f&&d+h<=f+u;c?de[i]=!0:de[i]||((s||l)&&(de[i]=!!l&&x,o=hy:p0||L))if(L)se.animate(E,i);else{if(g={duration:i,complete:a},zi(o)==c.a){var we={};we[ln]=o[0],we[un]=o[1],g.specialEasing=we}else g.easing=o;se.animate(E,g)}else w&&se[ln](E[ln]),b&&se[un](E[un])},Tt.scrollStop=function(e,t,n){return se.stop(e,t,n),Tt},Tt.getElements=function(e){var t={target:te[0],host:ne[0],padding:ae[0],viewport:se[0],content:le[0],scrollbarHorizontal:{scrollbar:he[0],track:de[0],handle:ve[0]},scrollbarVertical:{scrollbar:pe[0],track:ye[0],handle:xe[0]},scrollbarCorner:fe[0]};return zi(e)==c.s?wi(t,e):t},Tt.getState=function(e){var t=function(e){if(!r.isPlainObject(e))return e;var t=Wi(!0,{},e),n=function(e,n){t.hasOwnProperty(e)&&(t[n]=t[e],delete t[e])};return n("w",Kt),n("h",Jt),delete t.c,t},n={sleeping:t(B)||!1,autoUpdate:t(!ht),widthAuto:t(Oe),heightAuto:t(ze),padding:t(Me),overflowAmount:t(Re),hideOverflow:t(Se),hasOverflow:t(ge),contentScrollSize:t(we),viewportSize:t(Dt),hostSize:t(me),documentMixed:t(P)};return zi(e)==c.s?wi(n,e):n},Tt.ext=function(e){var t,n=fr.split(" "),r=0;if(zi(e)==c.s){if(ur.hasOwnProperty(e))for(t=Wi(!0,{},ur[e]);r9||!w){e.prepend(mi(Bn,mi({className:Vn,dir:"ltr"},mi(Vn,mi(Xn))+mi(Vn,mi({className:Xn,style:"width: 200%; height: 200%"})))));var v,p,y,x,g=e[0][u][0][u][0],S=r(g[u][1]),O=r(g[u][0]),z=r(O[0][u][0]),W=g[l.oW],H=g[l.oH],M=2,C=d.nativeScrollbarSize,T=function(){O[ln](o)[un](o),S[ln](o)[un](o)},k=function(){p=0,v&&(W=y,H=x,f())},E=function(e){return y=g[l.oW],x=g[l.oH],v=y!=W||x!=H,e&&v&&!p?(i.cAF()(p),p=i.rAF()(k)):e||k(),T(),e&&(i.prvD(e),i.stpP(e)),!1},L={},P={};P[_t]=-(C.y+1)*M,P[qt]=C.x*-M,P[Bt]=C.y*-M,P[Vt]=-(C.x+1)*M,r(g).css(P),O.on($t,E),S.on($t,E),e.on(s,function(){E(!1)}),L[Kt]=o,L[Jt]=o,z.css(L),T()}else{var D=Z[0],R=D.attachEvent,N=b!==n;if(R)e.prepend(mi(Bn)),Ci(e,rn+Bn)[0].attachEvent("onresize",f);else{var F=D.createElement(c.o);F.setAttribute("tabindex","-1"),F.setAttribute(l.c,Bn),F.onload=function(){var e=this.contentDocument.defaultView;e.addEventListener("resize",f),e.document.documentElement.style.display="none"},F.type="text/html",N&&e.prepend(F),F.data="about:blank",N||e.prepend(F),e.on(s,f)}}if(e[0]===ie[0]){var I=function(){var t=ne.css("direction"),n={},r=0,i=!1;return t!==ke&&("ltr"===t?(n[Vt]=0,n[qt]=Zt,r=o):(n[Vt]=Zt,n[qt]=0,r=m.n?-o:m.i?0:o),ie.children().eq(0).css(n),e[ln](r)[un](o),ke=t,i=!0),i};I(),e.on($t,function(e){return I()&&$r(),i.prvD(e),i.stpP(e),!1})}}function Or(e){if(A){var t=e.contents()[0];t[bn].disconnect(),delete t[bn]}else Ai(e.children(rn+Bn).eq(0))}function zr(e){}function Wr(e){}function Hr(){dt&&!ht&&(ut.observe(ne[0],{attributes:!0,attributeOldValue:!0,attributeFilter:[l.i,l.c,l.s]}),ft.observe(E?te[0]:le[0],{attributes:!0,attributeOldValue:!0,subtree:!E,childList:!E,characterData:!E,attributeFilter:E?["wrap","cols","rows"]:[l.i,l.c,l.s]}),ht=!0)}function Mr(){dt&&ht&&(ut.disconnect(),ft.disconnect(),ht=!1)}function Ar(){if(!B){var e=ie[0],t={w:e[l.sW],h:e[l.sH]};if(T){var n=Si(t,Qe);Qe=t,n&&$r(!0,!1)}else Qe=t}}function Cr(){St&&ii(!0)}function Tr(){St&&!ee.hasClass(cr)&&ii(!1)}function kr(){gt&&(ii(!0),clearTimeout(xt),xt=setTimeout(function(){gt&&!k&&ii(!1)},100))}function Er(e){B||(V!==n?clearTimeout(V):((bt||gt)&&ii(!0),yi()||Hi(ne,Tn),li("onScrollStart",e)),ai(!0,se[ln]()),ai(!1,se[un]()),li("onScroll",e),V=setTimeout(function(){k||(Lr(),li("onScrollStop",e))},Nt))}function Lr(){clearTimeout(V),V=n,(bt||gt)&&ii(!1),yi()||Mi(ne,Tn)}function Pr(){Zr(),Tt.update(Zt)}function Dr(e){var t=e.keyCode;if(!pi(t)){if(0===xr.length){var n=function(){Zr(),Tt.update(Zt)};n(),vt=setInterval(n,1e3/60)}-1===r.inArray(t,xr)&&xr.push(t)}}function Rr(e){var t=e.keyCode;if(!pi(t)){var n=r.inArray(t,xr);n>-1&&xr.splice(n,1),0===xr.length&&(Zr(),Tt.update(Zt),clearInterval(vt))}}function Nr(){setTimeout(function(){k||(Zr(),Tt.update(Zt))},50)}function Fr(){pt=!0}function Ir(){pt=!1,clearInterval(vt),xr=[],Zr(),Tt.update(Zt)}function jr(e){return te[ln](m.i&&nt?9999999:0),te[un](0),i.prvD(e),i.stpP(e),!1}function Ur(e){if(!B){var t=(e.originalEvent||e).touches!==n;(1===i.mBtn(e)||t)&&(ht&&(Wt=!0,Mr()),mr=i.page(e),wr.w=ne[0][l.oW]-(D?0:N),wr.h=ne[0][l.oH]-(D?0:F),Z.on(mn,Br).on(dn,_r).on(hn,qr),Hi(ee,cr),fe.setCapture&&fe.setCapture(),i.prvD(e),i.stpP(e))}}function _r(e){var t=i.page(e),n={};(At||Mt)&&(n[Kt]=wr.w+t.x-mr.x),(Ct||Mt)&&(n[Jt]=wr.h+t.y-mr.y),ne.css(n),i.stpP(e)}function qr(e){var t=e!==n;Z.off(mn,Br).off(dn,_r).off(hn,qr),Mi(ee,cr),fe.releaseCapture&&fe.releaseCapture(),t&&(Wt&&Hr(),Tt.update(Zt)),Wt=!1}function Br(e){return i.prvD(e),!1}function Vr(){$r()}function Xr(){var e={};return L&&ce&&(e.w=di(ce.css(Xt+Kt)),e.h=di(ce.css(Xt+Jt)),e.c=Si(e,st),e.f=!0),st=e,e.c||!1}function Yr(e,t){var i=t!==n&&null!==t?t.split(on):Gt,o=e!==n&&null!==e?e.split(on):Gt;if(i===Gt&&o===Gt)return!1;var a,s,c,l,u=hi(o,i),f=!1,h=it!==n&&null!==it?it.split(on):[Gt],d=rt!==n&&null!==rt?rt.split(on):[Gt],v=r.inArray(lr,u),p=u[a];for(v>-1&&u.splice(v,1),a=0;a0&&T&&s-J0?G:lr)),Xe&&(!0===Ve?(Mr(),v.add(Tt)):null===Ve&&w?(Mr(),v.add(Tt)):(v.remove(Tt),Hr())),_e)if(ke)if(oe===n&&(oe=r(mi(_n)),ae.before(oe)),R)re.show();else{re=r(mi(qn)),oe.before(re);var ft={w:-1,h:-1};Sr(re,function(){var e={w:re[0][l.oW],h:re[0][l.oH]};Si(e,ft)&&(T&&ze&&e.h>0||Oe&&e.w>0?$r():(T&&!ze&&0===e.h||!Oe&&0===e.w)&&$r()),ft=e}),R=!0,null!==S&&re.css(Jt,S+"(100% + 1px)")}else R&&re.hide();o&&(ie.find("*").trigger($t),R&&re.find("*").trigger($t));var dt,vt=ne.css("direction"),yt=gi(vt,Te,o),xt=ne.css("box-sizing"),zt=gi(xt,He,o),Wt={c:o,t:di(ne.css(jt+_t)),r:di(ne.css(jt+qt)),b:di(ne.css(jt+Bt)),l:di(ne.css(jt+Vt))};try{dt=R?re[0].getBoundingClientRect():null}catch(Fi){return}D="border-box"===xt;var kt=(q="rtl"===vt)?Vt:qt,Lt=q?qt:Vt,Pt=ne[0],Nt=ae[0],Ft=!1,rn=!(!R||"none"===ne.css(Qt))&&(0===Math.round(dt.right-dt.left)&&(!!ve||Pt[l.cW]-N>0));if(ke&&!rn){var an=Pt[l.oW],sn=oe.css(Kt);oe.css(Kt,Zt);var cn=Pt[l.oW];oe.css(Kt,sn),(Ft=an!==cn)||(oe.css(Kt,an+1),cn=Pt[l.oW],oe.css(Kt,sn),Ft=an!==cn)}var hn=(rn||Ft)&&ke&&!u,yn=gi(hn,Oe,o),xn=!hn&&Oe,mn=!(!R||u)&&0===Math.round(dt.bottom-dt.top),wn=gi(mn,ze,o),bn=!mn&&ze,gn="-"+Kt,Sn=hn&&D||!D,On=mn&&D||!D,zn={c:o,t:On?di(ne.css(Ut+_t+gn)):0,r:Sn?di(ne.css(Ut+qt+gn)):0,b:On?di(ne.css(Ut+Bt+gn)):0,l:Sn?di(ne.css(Ut+Vt+gn)):0},Wn={c:o,t:di(ne.css(It+_t)),r:di(ne.css(It+qt)),b:di(ne.css(It+Bt)),l:di(ne.css(It+Vt))},Hn={h:String(ne.css(Yt+Jt)),w:String(ne.css(Yt+Kt))},Mn={},Pn={};if(N=Wt.l+Wt.r,F=Wt.t+Wt.b,Wt.ax=ve?N:0,Wt.ay=ve?F:0,Wt.c=Oi(Wt,Me),I=zn.l+zn.r,j=zn.t+zn.b,zn.c=Oi(zn,Ae),U=Wn.l+Wn.r,_=Wn.t+Wn.b,Wn.c=Oi(Wn,Ce),Hn.ih=di(Hn.h),Hn.iw=di(Hn.w),Hn.ch=Hn.h.indexOf("px")>-1,Hn.cw=Hn.w.indexOf("px")>-1,Hn.c=Si(Hn,We,o),Te=vt,He=xt,Oe=hn,ze=mn,Me=Wt,Ae=zn,Ce=Wn,We=Hn,yt&&R&&re.css(Qt,Lt),Wt.c||yt||pe||yn||wn||zt||_e){var Dn={},Rn={};ui(Pn,It,[-Wt.t,-Wt.r,-Wt.b,-Wt.l]),ve?(ui(Dn,Gt,[Wt.t,Wt.r,Wt.b,Wt.l]),ui(E?Rn:Mn,jt)):(ui(Dn,Gt),ui(E?Rn:Mn,jt,[Wt.t,Wt.r,Wt.b,Wt.l])),ae.css(Dn),te.css(Rn)}Dt={w:Nt[l.oW],h:Nt[l.oH]};var Nn=!!E&&Zr();if(mn&&(wn||pe||zt||Hn.c||Wt.c||zn.c)?(Hn.cw&&(Mn[Yt+Jt]=Hn.ch?Hn.ih-Wt.ay+(D?-j:F):Gt),Mn[Jt]=Zt):(wn||pe)&&(Mn[Yt+Jt]=Gt,Mn[Jt]=en),hn&&(yn||pe||zt||Hn.c||Wt.c||zn.c||yt)?(Hn.cw&&(Mn[Yt+Kt]=Hn.cw?Hn.iw-Wt.ax+(D?-I:N)+(y.y?x.y:0):Gt),Mn[Kt]=Zt,Pn[Yt+Kt]=en):(yn||pe)&&(Mn[Yt+Kt]=Gt,Mn[Kt]=en,Mn[Qt]=Gt,Pn[Yt+Kt]=Gt),hn&&(Hn.cw||(Mn[Yt+Kt]=Gt),Pn[Kt]=E&&Je?Nn.dw:Zt,Mn[Kt]=Zt,Mn[Qt]=Lt),mn&&(Hn.ch||(Mn[Yt+Jt]=Gt),Pn[Jt]=E?ct?Nn.dh:Zt:le[0][l.cH]),ke&&oe.css(Pn),le.css(Mn),Mn={},Pn={},e||t||yt||zt||pe||yn||hn||wn||mn||Hn.c||Be||Ke||xe||ee||W||Qe||ut||de||o){var Fn="overflow",In=Fn+"-x",jn=Fn+"-y",Bn="hidden",Vn="visible",Xn=C?y.x||y.y||Dt.w0&&(Pn[Kt]=Math.max(1,Pn[Kt]),Pn[Jt]=Math.max(1,Pn[Jt])),E&&ue.css(ur),oe.css(Pn)}hn&&(Mn[Kt]=en),!hn||D||ht||(Mn[Qt]="none"),le.css(Mn),Mn={};var fr=Qn.getBoundingClientRect(),vr={w:Math.max(Qn[l.sW],Gn[l.sW]),h:Math.max(Qn[l.sH],Gn[l.sH])};if(Xn&&le.css(Fn,Gt),fr.width){var pr=fr.width,yr=fr.height,xr=.001;vr.w+=di(pr+xr)-pr,vr.h+=di(yr+xr)-yr}vr.c=t=Si(vr,we,o),we=vr,e=Si(tr={w:Pt[l.cW],h:Pt[l.cH]},me),me=tr;var mr={x:"v-s"===Ye.x,y:"v-s"===Ye.y},wr={x:"v-h"===Ye.x,y:"v-h"===Ye.y},Or={x:"s"===Ye.x,y:"s"===Ye.y},Ar={x:Math.max(0,Math.round(100*(vr.w-tr.w+Wt.ax))/100),y:Math.max(0,Math.round(100*(vr.h-tr.h+Wt.ay))/100)},Er=E&&(0===Dt.w||0===Dt.h);Er&&(Ar.x=0,Ar.y=0);var Lr={x:Ar.x>0,y:Ar.y>0},Pr={x:Lr.x,y:Lr.y};(mr.x||wr.x)&&(Pr.x=Lr.y&&!mr.y&&!wr.y),(mr.y||wr.y)&&(Pr.y=Lr.x&&!mr.x&&!wr.x),Pr.xs=!!Pr.x&&(Or.x||mr.x),Pr.ys=!!Pr.y&&(Or.y||mr.y);var Dr={x:Lr.x&&Pr.xs,y:Lr.y&&Pr.ys},Rr=Re;if(Ar.c=Si(Ar,Re,tn,nn,o),Re=Ar,Lr.c=Si(Lr,ge,tn,nn,o),ge=Lr,Pr.c=Si(Pr,Se,tn,nn,o),Se=Pr,y.x||y.y){var Nr="px solid transparent",Fr={},Ir={},jr=o;(Lr.x||Lr.y)&&(Ir.w=y.y&&Lr.y?vr.w+x.y:Gt,Ir.h=y.x&&Lr.x?vr.h+x.x:Gt,jr=gi(Ir,be,o),be=Ir),(Lr.c||Pr.c||vr.c||yt||yn||wn||hn||mn||Be)&&(Mn[It+Lt]=Mn[Ut+Lt]=Gt,y.x&&Lr.x&&Pr.xs?(Mn[It+Bt]=mn?qe?Gt:x.x:Gt,Mn[Ut+Bt]=mn||qe?Gt:x.x+Nr):(Ir.h=Mn[It+Bt]=Mn[Ut+Bt]=Gt,jr=!0),y.y&&Lr.y&&Pr.ys?(Mn[It+kt]=hn?qe?Gt:x.y:Gt,Mn[Ut+kt]=qe?Gt:x.y+Nr):(Ir.w=Mn[It+kt]=Mn[Ut+kt]=Gt,jr=!0)),qe&&(Ir.w=Ir.h=Gt,jr=!0),jr&&(Fr[Kt]=Pr.y?Ir.w:Gt,Fr[Jt]=Pr.x?Ir.h:Gt,ce||(ce=r(mi(Un)),se.prepend(ce)),ce.css(Fr)),le.css(Mn)}var _r={};Dn={};if(e||Lr.c||Pr.c||vr.c||Ke||zt||Be||yt||xe||wn){_r[Lt]=Gt;var qr=function(){_r[Bt]=Gt,Et.h=0},Br=function(){_r[kt]=Gt,Et.w=0};if(Lr.x&&Pr.xs?(_r[In]=$t,qe?qr():(_r[Bt]=-(y.x?x.x:O.x),Et.h=y.x?x.y:0)):(_r[In]=Gt,qr()),Lr.y&&Pr.ys?(_r[jn]=$t,qe?Br():(_r[kt]=-(y.y?x.y:O.y),Et.w=y.y?x.x:0)):(_r[jn]=Gt,Br()),(Dt.h-1,Ni=Di.y>-1;(Ri||Ni)&&(Ni&&se[un](Di.y),Ri&&(q&&nt&&m.i?se[ln](0):se[ln](Di.x)))}Ue=bi}else E||(q&&m.i&&y.y&&Lr.x&&nt&&(h.l+=Et.w||0),se[ln](h.l),se[un](h.t));yt&&li("onDirectionChanged",{isRTL:q,dir:vt}),e&&li("onHostSizeChanged",{width:me.w,height:me.h}),t&&li("onContentSizeChanged",{width:we.w,height:we.h}),(Lr.c||Pr.c)&&li("onOverflowChanged",{x:Lr.x,y:Lr.y,xScrollable:Pr.xs,yScrollable:Pr.ys,clipped:Pr.x||Pr.y}),Ar.c&&li("onOverflowAmountChanged",{x:Ar.x,y:Ar.y})}L&&(ge.c||st.c)&&(st.f||Xr(),y.y&&ge.x&&le.css(Xt+Kt,st.w+x.y),y.x&&ge.y&&le.css(Xt+Jt,st.h+x.x),st.c=!1),Wr(ie),Wr(re),li("onUpdated",{forced:o})}}function ei(e){Y=Wi(!0,{},Y,W.v(e,W.t,!0)),K=Wi(!0,{},K,W.v(e,W.t,!1,!0))}function ti(){he=r(mi(Kn+on+ar)),de=r(mi(Jn)),ve=r(mi(Gn)),pe=r(mi(Kn+on+sr)),ye=r(mi(Jn)),xe=r(mi(Gn)),he.append(de),de.append(ve),pe.append(ye),ye.append(xe),ae.after(pe),ae.after(he),z&&(he.on(wn,function(e){e.target===he[0]&&(oi(!0),ai(!0,se[ln]()))}),pe.on(wn,function(e){e.target===pe[0]&&(oi(!1),ai(!1,se[un]()))})),ni(!0),ni(!1),fe=r(mi(tr)),ne.append(fe)}function ni(e){var t,o,a,s=ci(e),c=G.top!==G,l=s.xy,u=s.XY,f=$t+s.LT,h="active",d=1,v=[16,17];function p(){d=.5}function y(){d=1}function x(e){r.inArray(e.keyCode,v)>-1&&p()}function w(e){r.inArray(e.keyCode,v)>-1&&y()}function g(e){var t=(e.originalEvent||e).touches!==n;return!(B||yi()||!et||t&&!Ot)&&(1===i.mBtn(e)||t)}function S(n){if(g(n)){var r=s.i.tl,a=s.i.hl,h=s.i.ms*(((b&&c?n["screen"+u]:i.page(n)[l])-o)/(r-a));h=isFinite(h)?h:0,q&&e&&!m.i&&(h*=-1),se[f](t+h),M||i.prvD(n)}else O(n)}function O(e){e=e||e.originalEvent,Mi(ee,cr),Mi(s.h,h),Mi(s.t,h),Mi(s.s,h),Z.off(dn,S).off(hn,O).off(yn,x).off(xn,w).off(mn,Br),y(),t=n,o=n,a!==n&&(Tt.scrollStop(),clearTimeout(a),a=n);var r=ne[0].getBoundingClientRect();e.clientX>=r.left&&e.clientX<=r.right&&e.clientY>=r.top&&e.clientY<=r.bottom||Tr(),(bt||gt)&&ii(!1)}function z(r){t=(t=se[f]())===n?0:t,(q&&e&&!m.n||!q)&&(t=t<0?0:t),o=b&&c?r["screen"+u]:i.page(r)[l],Hi(ee,cr),Hi(s.h,h),Hi(s.s,h),Z.on(dn,S).on(hn,O).on(mn,Br),!b&&P||i.prvD(r),i.stpP(r)}s.h.on(fn,function(e){g(e)&&z(e)}),s.t.on(fn,function(t){if(g(t)){var r,c,u=Dt[s._wh],v=s.t.offset()[s.lt],y=t.ctrlKey,b=t.shiftKey,S=b&&y,W=!0,H="linear",M=function(){if(!k){var i=o-v,h=s.i.tl,p=s.i.ho,y=s.i.hl,x=s.i.ms,w=270*d,g=W?Math.max(400,w):w,O=x*((i-y/2)/(h-y)),A=q&&e&&(!m.i&&!m.n||nt),C=A?pi,T={};b?(O=isFinite(O)?O:0,q&&e&&!m.i&&(O=x-O),S?(T.n=!1,T[l]=O,Tt.scroll(T,130,H,function(){z(t)})):(se[f](O),z(t))):(r=W?C:r,c=A?r?p+y>=i:p<=i:r?p<=i:p+y>=i,T[l]=r?"-="+u:"+="+u,Tt.scrollStop(),Tt.scroll(T,w,H),c?(clearTimeout(a),Tt.scrollStop(),a=n):a=setTimeout(M,g),W=!1)}};y&&p(),o=i.page(t)[l],Hi(ee,cr),Hi(s.t,h),Hi(s.s,h),Z.on(hn,O).on(yn,x).on(xn,w).on(mn,Br),M(),i.prvD(t),i.stpP(t)}}).hover(function(){(bt||gt)&&(zt=!0,ii(!0))},function(){(bt||gt)&&(zt=!1,ii(!1))}),s.s.on(fn,function(e){i.stpP(e)})}function ri(e,t,n){var r=e?Wn:Hn,i=e?he:pe;t?Mi(ne,r):Hi(ne,r),n?Mi(i,$n):Hi(i,$n)}function ii(e,t){if(clearTimeout(yt),e)Mi(he,er),Mi(pe,er);else{var n="active",r=function(){if(!zt&&!k){var e=ve.hasClass(n)||xe.hasClass(n);!e&&(bt||gt||St)&&Hi(he,er),!e&&(bt||gt||St)&&Hi(pe,er)}};mt>0&&!0!==t?yt=setTimeout(r,mt):r()}}function oi(e){var t={},n=ci(e),r=1e6,i=Math.min(1,(me[n._wh]-(Ee?e?N:F:0))/we[n._wh]);t[n.wh]=Math.floor(100*i*r)/r+"%",yi()||n.h.css(t),n.i.hl=n.h[0]["offset"+n.WH],n.i.hlr=i}function ai(e,t){var n,r,i,o=q&&e,a={},s=ci(e),c="translate(",l="transform",u=se[0][$t+s.WH]-se[0]["client"+s.WH],f=s.i.hl,h=s.t[0]["offset"+s.WH],d=h-f;m.n&&o&&(u*=-1),i=t/u,i=isNaN(i)?0:Math.min(1,i),s.i.ms=u,s.i.cs=t,s.i.csr=i,d*=i,d=isNaN(d)?0:d,o&&!m.i&&(d=h-f-d),d=Math.max(0,d),H?(r=(r=o?-(h-f-d):d)/h*100*(h/f),n=e?c+r+"%, 0)":c+"0, "+r+"%)",a["-webkit-"+l]=n,a["-moz-"+l]=n,a["-ms-"+l]=n,a["-o-"+l]=n,a[l]=n):a[s.lt]=d,yi()||s.h.css(a),s.i.ho=d,s.i.tl=h}function si(e,t){var n=t?"removeClass":"addClass",r=e?ye:xe,i=e?Qn:Zn;(e?de:ve)[n](i),r[n](i)}function ci(e){return{wh:e?Kt:Jt,WH:e?"Width":"Height",lt:e?Vt:_t,LT:e?"Left":"Top",xy:e?tn:nn,XY:e?"X":"Y",_wh:e?"w":"h",_lt:e?"l":"t",t:e?de:ye,h:e?ve:xe,s:e?he:pe,i:e?Lt:Pt}}function li(e,t){if(T){var n,i=K.callbacks[e],o=e;"on"===o.substr(0,2)&&(o=o.substr(2,1).toLowerCase()+o.substr(3)),zi(i)==c.f&&i.call(Tt,t),r.each(ur,function(){zi((n=this).on)==c.f&&n.on(o,t)})}}function ui(e,t,r){r===n&&(r=[Gt,Gt,Gt,Gt]),e[t+_t]=r[0],e[t+qt]=r[1],e[t+Bt]=r[2],e[t+Vt]=r[3]}function fi(t){var n="ownerDocument",r="HTMLElement",i=t&&t[n]&&t[n].parentWindow||e;return typeof i[r]==c.o?t instanceof i[r]:t&&typeof t==c.o&&null!==t&&1===t.nodeType&&typeof t.nodeName==c.s}function hi(e,t){var n,r,i=[],o=[];for(n=0;nf&&(u=r+1,f=t);return{cR:h,cC:d,r:c,c:f,w:u,p:e,m:a}}}function pi(e){for(var t=0;t"+(t||Gt)+""}function wi(e,t){for(var n,r=t.split(rn),i=0;i9||!w?te.on("input",Pr):te.on(yn,Dr).on(xn,Rr)}else Hi(te,On),(ne=te).wrapInner(mi(jn)).wrapInner(mi(Nn)).wrapInner(mi(Rn)),le=Ci(ne,rn+jn),se=Ci(ne,rn+Nn),ae=Ci(ne,rn+Rn),le.on(wn,function(e){!0!==Fe&&Gr((e=e.originalEvent||e).propertyName)&&$r(Zt)});if(ti(),M?br(se,$t,Er):se.on($t,Er),g&&Hi(se,y.x&&y.y?In:Fn),dt){var u,f,h,v,p,W,D=i.mO(),R=i.now();ut=new D(function(e){if(T&&!B){var t,n=!1;r.each(e,function(){if(u=(t=this).target,f=t.attributeName,n=f===l.c?Yr(t.oldValue,u.className):f!==l.s||t.oldValue!==u[l.s].cssText)return!1}),n&&Tt.update(Zt)}}),ft=new D(function(e){if(T&&!B){var t=!1;r.each(e,function(){return!(t=Kr(this))}),t&&(v=i.now(),p=ze||Oe,W=function(){k||(R=v,E&&Zr(),p?$r():Tt.update(Zt))},clearTimeout(h),pr<=0||v-R>pr||!p?W():h=setTimeout(W,pr))}})}return L&&(Hi($,Sn),se[ln](a.l),se[un](a.t)),ie=r(mi("os-resize-observer-host")),ne.prepend(ie),Sr(ie,Ar),Ar(),Tt.update(Zt),setTimeout(function(){z&&!k&&Hi(ne,Mn)},333),T=!0,li("onInitialized"),zi(o)==c.s&&(o=[o]),r.isArray(o)?r.each(o,function(){Tt.addExt(this)}):r.isPlainObject(o)&&r.each(o,function(e,t){Tt.addExt(e,t)}),T}}return e[s]=function(t,i,c){if(0===arguments.length)return this;H();var l,f,h=[];return r.isPlainObject(i)?t&&t.length?(r.each(t,function(){(l=this)!==n&&h.push(C(l,i,c,a,u))}),f=h.length>1?h:h[0]):f=C(t,i,c,a,u):t&&(t.length&&t.length>0?(r.each(t,function(){l=o(this),"!"===i?l instanceof e[s]&&h.push(l):h.push(l)}),f=h.length>1?h:h[0]):f=o(t)),f},e[s].globals=function(){H();var e=r.extend(!0,{},a);return delete e.msie,e},e[s].defaultOptions=function(e){H();var t=a.defaultOptions;if(e===n)return r.extend(!0,{},t);a.defaultOptions=r.extend(!0,{},t,W.v(e,W.t,!0))},e[s].extension=function(e,t,n){var i=r.type(e)==c.s,o=arguments[l.l],a=0;if(o<1||!i)return r.extend(!0,{length:z[l.l]},z);if(i)if(r.type(t)==c.f)z.push({name:e,extension:t,defaultOptions:n});else for(;a1))return r.extend(!0,{},z[a]);z.splice(a,1)}},e[s]}(r,u,(i=u,o=[],a="__overlayScrollbars__",function(e,t){var n=arguments[l.l];if(n<1)return o;if(t)e[a]=t,o.push(e);else{var r=i.inA(e,o);if(r>-1){if(!(n>1))return o[r][a];delete e[a],o.splice(r,1)}}}));return f&&f.fn&&(f.fn.overlayScrollbars=function(e,t){var n=this;return f.isPlainObject(e)?(f.each(n,function(){h(this,e,t)}),n):h(n,e)}),h}); \ No newline at end of file diff --git a/package.json b/package.json index a739adf..76b2666 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "overlayscrollbars", - "version": "1.5.1", + "version": "1.5.2", "description": "A javascript scrollbar plugin which hides the native scrollbars and provides custom styleable overlay scrollbars, but keeps the native functionality and feeling.", "keywords" : [ "overlayscrollbars",