/*! nouislider - 9.1.0 - 2016-12-10 16:00:32 */ !(function (a) { 'function' == typeof define && define.amd ? define([], a) : 'object' == typeof exports ? (module.exports = a()) : (window.noUiSlider = a()); })(function () { 'use strict'; function a(a, b) { var c = document.createElement('div'); return j(c, b), a.appendChild(c), c; } function b(a) { return a.filter(function (a) { return !this[a] && (this[a] = !0); }, {}); } function c(a, b) { return Math.round(a / b) * b; } function d(a, b) { var c = a.getBoundingClientRect(), d = a.ownerDocument, e = d.documentElement, f = m(); return /webkit.*Chrome.*Mobile/i.test(navigator.userAgent) && (f.x = 0), b ? c.top + f.y - e.clientTop : c.left + f.x - e.clientLeft; } function e(a) { return 'number' == typeof a && !isNaN(a) && isFinite(a); } function f(a, b, c) { c > 0 && (j(a, b), setTimeout(function () { k(a, b); }, c)); } function g(a) { return Math.max(Math.min(a, 100), 0); } function h(a) { return Array.isArray(a) ? a : [a]; } function i(a) { a = String(a); var b = a.split('.'); return b.length > 1 ? b[1].length : 0; } function j(a, b) { a.classList ? a.classList.add(b) : (a.className += ' ' + b); } function k(a, b) { a.classList ? a.classList.remove(b) : (a.className = a.className.replace(new RegExp('(^|\\b)' + b.split(' ').join('|') + '(\\b|$)', 'gi'), ' ')); } function l(a, b) { return a.classList ? a.classList.contains(b) : new RegExp('\\b' + b + '\\b').test(a.className); } function m() { var a = void 0 !== window.pageXOffset, b = 'CSS1Compat' === (document.compatMode || ''), c = a ? window.pageXOffset : b ? document.documentElement.scrollLeft : document.body.scrollLeft, d = a ? window.pageYOffset : b ? document.documentElement.scrollTop : document.body.scrollTop; return { x: c, y: d }; } function n() { return window.navigator.pointerEnabled ? { start: 'pointerdown', move: 'pointermove', end: 'pointerup' } : window.navigator.msPointerEnabled ? { start: 'MSPointerDown', move: 'MSPointerMove', end: 'MSPointerUp' } : { start: 'mousedown touchstart', move: 'mousemove touchmove', end: 'mouseup touchend' }; } function o(a, b) { return 100 / (b - a); } function p(a, b) { return (100 * b) / (a[1] - a[0]); } function q(a, b) { return p(a, a[0] < 0 ? b + Math.abs(a[0]) : b - a[0]); } function r(a, b) { return (b * (a[1] - a[0])) / 100 + a[0]; } function s(a, b) { for (var c = 1; a >= b[c]; ) c += 1; return c; } function t(a, b, c) { if (c >= a.slice(-1)[0]) return 100; var d, e, f, g, h = s(c, a); return (d = a[h - 1]), (e = a[h]), (f = b[h - 1]), (g = b[h]), f + q([d, e], c) / o(f, g); } function u(a, b, c) { if (c >= 100) return a.slice(-1)[0]; var d, e, f, g, h = s(c, b); return (d = a[h - 1]), (e = a[h]), (f = b[h - 1]), (g = b[h]), r([d, e], (c - f) * o(f, g)); } function v(a, b, d, e) { if (100 === e) return e; var f, g, h = s(e, a); return d ? ((f = a[h - 1]), (g = a[h]), e - f > (g - f) / 2 ? g : f) : b[h - 1] ? a[h - 1] + c(e - a[h - 1], b[h - 1]) : e; } function w(a, b, c) { var d; if (('number' == typeof b && (b = [b]), '[object Array]' !== Object.prototype.toString.call(b))) throw new Error("noUiSlider: 'range' contains invalid value."); if (((d = 'min' === a ? 0 : 'max' === a ? 100 : parseFloat(a)), !e(d) || !e(b[0]))) throw new Error("noUiSlider: 'range' value isn't numeric."); c.xPct.push(d), c.xVal.push(b[0]), d ? c.xSteps.push(!isNaN(b[1]) && b[1]) : isNaN(b[1]) || (c.xSteps[0] = b[1]), c.xHighestCompleteStep.push(0); } function x(a, b, c) { if (!b) return !0; c.xSteps[a] = p([c.xVal[a], c.xVal[a + 1]], b) / o(c.xPct[a], c.xPct[a + 1]); var d = (c.xVal[a + 1] - c.xVal[a]) / c.xNumSteps[a], e = Math.ceil(Number(d.toFixed(3)) - 1), f = c.xVal[a] + c.xNumSteps[a] * e; c.xHighestCompleteStep[a] = f; } function y(a, b, c, d) { (this.xPct = []), (this.xVal = []), (this.xSteps = [d || !1]), (this.xNumSteps = [!1]), (this.xHighestCompleteStep = []), (this.snap = b), (this.direction = c); var e, f = []; for (e in a) a.hasOwnProperty(e) && f.push([a[e], e]); for ( f.length && 'object' == typeof f[0][0] ? f.sort(function (a, b) { return a[0][0] - b[0][0]; }) : f.sort(function (a, b) { return a[0] - b[0]; }), e = 0; e < f.length; e++ ) w(f[e][1], f[e][0], this); for (this.xNumSteps = this.xSteps.slice(0), e = 0; e < this.xNumSteps.length; e++) x(e, this.xNumSteps[e], this); } function z(a, b) { if (!e(b)) throw new Error("noUiSlider: 'step' is not numeric."); a.singleStep = b; } function A(a, b) { if ('object' != typeof b || Array.isArray(b)) throw new Error("noUiSlider: 'range' is not an object."); if (void 0 === b.min || void 0 === b.max) throw new Error("noUiSlider: Missing 'min' or 'max' in 'range'."); if (b.min === b.max) throw new Error("noUiSlider: 'range' 'min' and 'max' cannot be equal."); a.spectrum = new y(b, a.snap, a.dir, a.singleStep); } function B(a, b) { if (((b = h(b)), !Array.isArray(b) || !b.length)) throw new Error("noUiSlider: 'start' option is incorrect."); (a.handles = b.length), (a.start = b); } function C(a, b) { if (((a.snap = b), 'boolean' != typeof b)) throw new Error("noUiSlider: 'snap' option must be a boolean."); } function D(a, b) { if (((a.animate = b), 'boolean' != typeof b)) throw new Error("noUiSlider: 'animate' option must be a boolean."); } function E(a, b) { if (((a.animationDuration = b), 'number' != typeof b)) throw new Error("noUiSlider: 'animationDuration' option must be a number."); } function F(a, b) { var c, d = [!1]; if (('lower' === b ? (b = [!0, !1]) : 'upper' === b && (b = [!1, !0]), b === !0 || b === !1)) { for (c = 1; c < a.handles; c++) d.push(b); d.push(!1); } else { if (!Array.isArray(b) || !b.length || b.length !== a.handles + 1) throw new Error("noUiSlider: 'connect' option doesn't match handle count."); d = b; } a.connect = d; } function G(a, b) { switch (b) { case 'horizontal': a.ort = 0; break; case 'vertical': a.ort = 1; break; default: throw new Error("noUiSlider: 'orientation' option is invalid."); } } function H(a, b) { if (!e(b)) throw new Error("noUiSlider: 'margin' option must be numeric."); if (0 !== b && ((a.margin = a.spectrum.getMargin(b)), !a.margin)) throw new Error("noUiSlider: 'margin' option is only supported on linear sliders."); } function I(a, b) { if (!e(b)) throw new Error("noUiSlider: 'limit' option must be numeric."); if (((a.limit = a.spectrum.getMargin(b)), !a.limit || a.handles < 2)) throw new Error("noUiSlider: 'limit' option is only supported on linear sliders with 2 or more handles."); } function J(a, b) { if (!e(b)) throw new Error("noUiSlider: 'padding' option must be numeric."); if (0 !== b) { if (((a.padding = a.spectrum.getMargin(b)), !a.padding)) throw new Error("noUiSlider: 'padding' option is only supported on linear sliders."); if (a.padding < 0) throw new Error("noUiSlider: 'padding' option must be a positive number."); if (a.padding >= 50) throw new Error("noUiSlider: 'padding' option must be less than half the range."); } } function K(a, b) { switch (b) { case 'ltr': a.dir = 0; break; case 'rtl': a.dir = 1; break; default: throw new Error("noUiSlider: 'direction' option was not recognized."); } } function L(a, b) { if ('string' != typeof b) throw new Error("noUiSlider: 'behaviour' must be a string containing options."); var c = b.indexOf('tap') >= 0, d = b.indexOf('drag') >= 0, e = b.indexOf('fixed') >= 0, f = b.indexOf('snap') >= 0, g = b.indexOf('hover') >= 0; if (e) { if (2 !== a.handles) throw new Error("noUiSlider: 'fixed' behaviour must be used with 2 handles"); H(a, a.start[1] - a.start[0]); } a.events = { tap: c || f, drag: d, fixed: e, snap: f, hover: g }; } function M(a, b) { if (b !== !1) if (b === !0) { a.tooltips = []; for (var c = 0; c < a.handles; c++) a.tooltips.push(!0); } else { if (((a.tooltips = h(b)), a.tooltips.length !== a.handles)) throw new Error('noUiSlider: must pass a formatter for all handles.'); a.tooltips.forEach(function (a) { if ('boolean' != typeof a && ('object' != typeof a || 'function' != typeof a.to)) throw new Error("noUiSlider: 'tooltips' must be passed a formatter or 'false'."); }); } } function N(a, b) { if (((a.format = b), 'function' == typeof b.to && 'function' == typeof b.from)) return !0; throw new Error("noUiSlider: 'format' requires 'to' and 'from' methods."); } function O(a, b) { if (void 0 !== b && 'string' != typeof b && b !== !1) throw new Error("noUiSlider: 'cssPrefix' must be a string or `false`."); a.cssPrefix = b; } function P(a, b) { if (void 0 !== b && 'object' != typeof b) throw new Error("noUiSlider: 'cssClasses' must be an object."); if ('string' == typeof a.cssPrefix) { a.cssClasses = {}; for (var c in b) b.hasOwnProperty(c) && (a.cssClasses[c] = a.cssPrefix + b[c]); } else a.cssClasses = b; } function Q(a, b) { if (b !== !0 && b !== !1) throw new Error("noUiSlider: 'useRequestAnimationFrame' option should be true (default) or false."); a.useRequestAnimationFrame = b; } function R(a) { var b = { margin: 0, limit: 0, padding: 0, animate: !0, animationDuration: 300, format: U }, c = { step: { r: !1, t: z }, start: { r: !0, t: B }, connect: { r: !0, t: F }, direction: { r: !0, t: K }, snap: { r: !1, t: C }, animate: { r: !1, t: D }, animationDuration: { r: !1, t: E }, range: { r: !0, t: A }, orientation: { r: !1, t: G }, margin: { r: !1, t: H }, limit: { r: !1, t: I }, padding: { r: !1, t: J }, behaviour: { r: !0, t: L }, format: { r: !1, t: N }, tooltips: { r: !1, t: M }, cssPrefix: { r: !1, t: O }, cssClasses: { r: !1, t: P }, useRequestAnimationFrame: { r: !1, t: Q }, }, d = { connect: !1, direction: 'ltr', behaviour: 'tap', orientation: 'horizontal', cssPrefix: 'noUi-', cssClasses: { target: 'target', base: 'base', origin: 'origin', handle: 'handle', handleLower: 'handle-lower', handleUpper: 'handle-upper', horizontal: 'horizontal', vertical: 'vertical', background: 'background', connect: 'connect', ltr: 'ltr', rtl: 'rtl', draggable: 'draggable', drag: 'state-drag', tap: 'state-tap', active: 'active', tooltip: 'tooltip', pips: 'pips', pipsHorizontal: 'pips-horizontal', pipsVertical: 'pips-vertical', marker: 'marker', markerHorizontal: 'marker-horizontal', markerVertical: 'marker-vertical', markerNormal: 'marker-normal', markerLarge: 'marker-large', markerSub: 'marker-sub', value: 'value', valueHorizontal: 'value-horizontal', valueVertical: 'value-vertical', valueNormal: 'value-normal', valueLarge: 'value-large', valueSub: 'value-sub', }, useRequestAnimationFrame: !0, }; Object.keys(c).forEach(function (e) { if (void 0 === a[e] && void 0 === d[e]) { if (c[e].r) throw new Error("noUiSlider: '" + e + "' is required."); return !0; } c[e].t(b, void 0 === a[e] ? d[e] : a[e]); }), (b.pips = a.pips); var e = [ ['left', 'top'], ['right', 'bottom'], ]; return (b.style = e[b.dir][b.ort]), (b.styleOposite = e[b.dir ? 0 : 1][b.ort]), b; } function S(c, e, i) { function o(b, c) { var d = a(b, e.cssClasses.origin), f = a(d, e.cssClasses.handle); return ( f.setAttribute('data-handle', c), 0 === c ? j(f, e.cssClasses.handleLower) : c === e.handles - 1 && j(f, e.cssClasses.handleUpper), d ); } function p(b, c) { return !!c && a(b, e.cssClasses.connect); } function q(a, b) { (ba = []), (ca = []), ca.push(p(b, a[0])); for (var c = 0; c < e.handles; c++) ba.push(o(b, c)), (ha[c] = c), ca.push(p(b, a[c + 1])); } function r(b) { j(b, e.cssClasses.target), 0 === e.dir ? j(b, e.cssClasses.ltr) : j(b, e.cssClasses.rtl), 0 === e.ort ? j(b, e.cssClasses.horizontal) : j(b, e.cssClasses.vertical), (aa = a(b, e.cssClasses.base)); } function s(b, c) { return !!e.tooltips[c] && a(b.firstChild, e.cssClasses.tooltip); } function t() { var a = ba.map(s); Z('update', function (b, c, d) { if (a[c]) { var f = b[c]; e.tooltips[c] !== !0 && (f = e.tooltips[c].to(d[c])), (a[c].innerHTML = f); } }); } function u(a, b, c) { if ('range' === a || 'steps' === a) return ja.xVal; if ('count' === a) { var d, e = 100 / (b - 1), f = 0; for (b = []; (d = f++ * e) <= 100; ) b.push(d); a = 'positions'; } return 'positions' === a ? b.map(function (a) { return ja.fromStepping(c ? ja.getStep(a) : a); }) : 'values' === a ? c ? b.map(function (a) { return ja.fromStepping(ja.getStep(ja.toStepping(a))); }) : b : void 0; } function v(a, c, d) { function e(a, b) { return (a + b).toFixed(7) / 1; } var f = {}, g = ja.xVal[0], h = ja.xVal[ja.xVal.length - 1], i = !1, j = !1, k = 0; return ( (d = b( d.slice().sort(function (a, b) { return a - b; }) )), d[0] !== g && (d.unshift(g), (i = !0)), d[d.length - 1] !== h && (d.push(h), (j = !0)), d.forEach(function (b, g) { var h, l, m, n, o, p, q, r, s, t, u = b, v = d[g + 1]; if (('steps' === c && (h = ja.xNumSteps[g]), h || (h = v - u), u !== !1 && void 0 !== v)) for (h = Math.max(h, 1e-7), l = u; l <= v; l = e(l, h)) { for (n = ja.toStepping(l), o = n - k, r = o / a, s = Math.round(r), t = o / s, m = 1; m <= s; m += 1) (p = k + m * t), (f[p.toFixed(5)] = ['x', 0]); (q = d.indexOf(l) > -1 ? 1 : 'steps' === c ? 2 : 0), !g && i && (q = 0), (l === v && j) || (f[n.toFixed(5)] = [l, q]), (k = n); } }), f ); } function w(a, b, c) { function d(a, b) { var c = b === e.cssClasses.value, d = c ? m : n, f = c ? k : l; return b + ' ' + d[e.ort] + ' ' + f[a]; } function f(a, b, c) { return 'class="' + d(c[1], b) + '" style="' + e.style + ': ' + a + '%"'; } function g(a, d) { (d[1] = d[1] && b ? b(d[0], d[1]) : d[1]), (i += '
'), d[1] && (i += '
' + c.to(d[0]) + '
'); } var h = document.createElement('div'), i = '', k = [e.cssClasses.valueNormal, e.cssClasses.valueLarge, e.cssClasses.valueSub], l = [e.cssClasses.markerNormal, e.cssClasses.markerLarge, e.cssClasses.markerSub], m = [e.cssClasses.valueHorizontal, e.cssClasses.valueVertical], n = [e.cssClasses.markerHorizontal, e.cssClasses.markerVertical]; return ( j(h, e.cssClasses.pips), j(h, 0 === e.ort ? e.cssClasses.pipsHorizontal : e.cssClasses.pipsVertical), Object.keys(a).forEach(function (b) { g(b, a[b]); }), (h.innerHTML = i), h ); } function x(a) { var b = a.mode, c = a.density || 1, d = a.filter || !1, e = a.values || !1, f = a.stepped || !1, g = u(b, e, f), h = v(c, b, g), i = a.format || { to: Math.round }; return fa.appendChild(w(h, d, i)); } function y() { var a = aa.getBoundingClientRect(), b = 'offset' + ['Width', 'Height'][e.ort]; return 0 === e.ort ? a.width || aa[b] : a.height || aa[b]; } function z(a, b, c, d) { var f = function (b) { return ( !fa.hasAttribute('disabled') && !l(fa, e.cssClasses.tap) && !!(b = A(b, d.pageOffset)) && !(a === ea.start && void 0 !== b.buttons && b.buttons > 1) && (!d.hover || !b.buttons) && ((b.calcPoint = b.points[e.ort]), void c(b, d)) ); }, g = []; return ( a.split(' ').forEach(function (a) { b.addEventListener(a, f, !1), g.push([a, f]); }), g ); } function A(a, b) { a.preventDefault(); var c, d, e = 0 === a.type.indexOf('touch'), f = 0 === a.type.indexOf('mouse'), g = 0 === a.type.indexOf('pointer'); if ((0 === a.type.indexOf('MSPointer') && (g = !0), e)) { if (a.touches.length > 1) return !1; (c = a.changedTouches[0].pageX), (d = a.changedTouches[0].pageY); } return ( (b = b || m()), (f || g) && ((c = a.clientX + b.x), (d = a.clientY + b.y)), (a.pageOffset = b), (a.points = [c, d]), (a.cursor = f || g), a ); } function B(a) { var b = a - d(aa, e.ort), c = (100 * b) / y(); return e.dir ? 100 - c : c; } function C(a) { var b = 100, c = !1; return ( ba.forEach(function (d, e) { if (!d.hasAttribute('disabled')) { var f = Math.abs(ga[e] - a); f < b && ((c = e), (b = f)); } }), c ); } function D(a, b, c, d) { var e = c.slice(), f = [!a, a], g = [a, !a]; (d = d.slice()), a && d.reverse(), d.length > 1 ? d.forEach(function (a, c) { var d = M(e, a, e[a] + b, f[c], g[c]); d === !1 ? (b = 0) : ((b = d - e[a]), (e[a] = d)); }) : (f = g = [!0]); var h = !1; d.forEach(function (a, d) { h = Q(a, c[a] + b, f[d], g[d]) || h; }), h && d.forEach(function (a) { E('update', a), E('slide', a); }); } function E(a, b, c) { Object.keys(la).forEach(function (d) { var f = d.split('.')[0]; a === f && la[d].forEach(function (a) { a.call(da, ka.map(e.format.to), b, ka.slice(), c || !1, ga.slice()); }); }); } function F(a, b) { 'mouseout' === a.type && 'HTML' === a.target.nodeName && null === a.relatedTarget && H(a, b); } function G(a, b) { if (navigator.appVersion.indexOf('MSIE 9') === -1 && 0 === a.buttons && 0 !== b.buttonsProperty) return H(a, b); var c = (e.dir ? -1 : 1) * (a.calcPoint - b.startCalcPoint), d = (100 * c) / b.baseSize; D(c > 0, d, b.locations, b.handleNumbers); } function H(a, b) { ia && (k(ia, e.cssClasses.active), (ia = !1)), a.cursor && ((document.body.style.cursor = ''), document.body.removeEventListener('selectstart', document.body.noUiListener)), document.documentElement.noUiListeners.forEach(function (a) { document.documentElement.removeEventListener(a[0], a[1]); }), k(fa, e.cssClasses.drag), P(), b.handleNumbers.forEach(function (a) { E('set', a), E('change', a), E('end', a); }); } function I(a, b) { if (1 === b.handleNumbers.length) { var c = ba[b.handleNumbers[0]]; if (c.hasAttribute('disabled')) return !1; (ia = c.children[0]), j(ia, e.cssClasses.active); } a.preventDefault(), a.stopPropagation(); var d = z(ea.move, document.documentElement, G, { startCalcPoint: a.calcPoint, baseSize: y(), pageOffset: a.pageOffset, handleNumbers: b.handleNumbers, buttonsProperty: a.buttons, locations: ga.slice(), }), f = z(ea.end, document.documentElement, H, { handleNumbers: b.handleNumbers }), g = z('mouseout', document.documentElement, F, { handleNumbers: b.handleNumbers }); if (((document.documentElement.noUiListeners = d.concat(f, g)), a.cursor)) { (document.body.style.cursor = getComputedStyle(a.target).cursor), ba.length > 1 && j(fa, e.cssClasses.drag); var h = function () { return !1; }; (document.body.noUiListener = h), document.body.addEventListener('selectstart', h, !1); } b.handleNumbers.forEach(function (a) { E('start', a); }); } function J(a) { a.stopPropagation(); var b = B(a.calcPoint), c = C(b); return ( c !== !1 && (e.events.snap || f(fa, e.cssClasses.tap, e.animationDuration), Q(c, b, !0, !0), P(), E('slide', c, !0), E('set', c, !0), E('change', c, !0), E('update', c, !0), void (e.events.snap && I(a, { handleNumbers: [c] }))) ); } function K(a) { var b = B(a.calcPoint), c = ja.getStep(b), d = ja.fromStepping(c); Object.keys(la).forEach(function (a) { 'hover' === a.split('.')[0] && la[a].forEach(function (a) { a.call(da, d); }); }); } function L(a) { a.fixed || ba.forEach(function (a, b) { z(ea.start, a.children[0], I, { handleNumbers: [b] }); }), a.tap && z(ea.start, aa, J, {}), a.hover && z(ea.move, aa, K, { hover: !0 }), a.drag && ca.forEach(function (b, c) { if (b !== !1 && 0 !== c && c !== ca.length - 1) { var d = ba[c - 1], f = ba[c], g = [b]; j(b, e.cssClasses.draggable), a.fixed && (g.push(d.children[0]), g.push(f.children[0])), g.forEach(function (a) { z(ea.start, a, I, { handles: [d, f], handleNumbers: [c - 1, c] }); }); } }); } function M(a, b, c, d, f) { return ( ba.length > 1 && (d && b > 0 && (c = Math.max(c, a[b - 1] + e.margin)), f && b < ba.length - 1 && (c = Math.min(c, a[b + 1] - e.margin))), ba.length > 1 && e.limit && (d && b > 0 && (c = Math.min(c, a[b - 1] + e.limit)), f && b < ba.length - 1 && (c = Math.max(c, a[b + 1] - e.limit))), e.padding && (0 === b && (c = Math.max(c, e.padding)), b === ba.length - 1 && (c = Math.min(c, 100 - e.padding))), (c = ja.getStep(c)), (c = g(c)), c !== a[b] && c ); } function N(a) { return a + '%'; } function O(a, b) { (ga[a] = b), (ka[a] = ja.fromStepping(b)); var c = function () { (ba[a].style[e.style] = N(b)), S(a), S(a + 1); }; window.requestAnimationFrame && e.useRequestAnimationFrame ? window.requestAnimationFrame(c) : c(); } function P() { ha.forEach(function (a) { var b = ga[a] > 50 ? -1 : 1, c = 3 + (ba.length + b * a); ba[a].childNodes[0].style.zIndex = c; }); } function Q(a, b, c, d) { return (b = M(ga, a, b, c, d)), b !== !1 && (O(a, b), !0); } function S(a) { if (ca[a]) { var b = 0, c = 100; 0 !== a && (b = ga[a - 1]), a !== ca.length - 1 && (c = ga[a]), (ca[a].style[e.style] = N(b)), (ca[a].style[e.styleOposite] = N(100 - c)); } } function T(a, b) { null !== a && a !== !1 && ('number' == typeof a && (a = String(a)), (a = e.format.from(a)), a === !1 || isNaN(a) || Q(b, ja.toStepping(a), !1, !1)); } function U(a, b) { var c = h(a), d = void 0 === ga[0]; (b = void 0 === b || !!b), c.forEach(T), e.animate && !d && f(fa, e.cssClasses.tap, e.animationDuration), ha.forEach(function (a) { Q(a, ga[a], !0, !1); }), P(), ha.forEach(function (a) { E('update', a), null !== c[a] && b && E('set', a); }); } function V(a) { U(e.start, a); } function W() { var a = ka.map(e.format.to); return 1 === a.length ? a[0] : a; } function X() { for (var a in e.cssClasses) e.cssClasses.hasOwnProperty(a) && k(fa, e.cssClasses[a]); for (; fa.firstChild; ) fa.removeChild(fa.firstChild); delete fa.noUiSlider; } function Y() { return ga.map(function (a, b) { var c = ja.getNearbySteps(a), d = ka[b], e = c.thisStep.step, f = null; e !== !1 && d + e > c.stepAfter.startValue && (e = c.stepAfter.startValue - d), (f = d > c.thisStep.startValue ? c.thisStep.step : c.stepBefore.step !== !1 && d - c.stepBefore.highestStep), 100 === a ? (e = null) : 0 === a && (f = null); var g = ja.countStepDecimals(); return null !== e && e !== !1 && (e = Number(e.toFixed(g))), null !== f && f !== !1 && (f = Number(f.toFixed(g))), [f, e]; }); } function Z(a, b) { (la[a] = la[a] || []), la[a].push(b), 'update' === a.split('.')[0] && ba.forEach(function (a, b) { E('update', b); }); } function $(a) { var b = a && a.split('.')[0], c = b && a.substring(b.length); Object.keys(la).forEach(function (a) { var d = a.split('.')[0], e = a.substring(d.length); (b && b !== d) || (c && c !== e) || delete la[a]; }); } function _(a, b) { var c = W(), d = ['margin', 'limit', 'padding', 'range', 'animate', 'snap', 'step', 'format']; d.forEach(function (b) { void 0 !== a[b] && (i[b] = a[b]); }); var f = R(i); d.forEach(function (b) { void 0 !== a[b] && (e[b] = f[b]); }), (f.spectrum.direction = ja.direction), (ja = f.spectrum), (e.margin = f.margin), (e.limit = f.limit), (e.padding = f.padding), (ga = []), U(a.start || c, b); } var aa, ba, ca, da, ea = n(), fa = c, ga = [], ha = [], ia = !1, ja = e.spectrum, ka = [], la = {}; if (fa.noUiSlider) throw new Error('Slider was already initialized.'); return ( r(fa), q(e.connect, aa), (da = { destroy: X, steps: Y, on: Z, off: $, get: W, set: U, reset: V, __moveHandles: function (a, b, c) { D(a, b, ga, c); }, options: i, updateOptions: _, target: fa, pips: x, }), L(e.events), U(e.start), e.pips && x(e.pips), e.tooltips && t(), da ); } function T(a, b) { if (!a.nodeName) throw new Error('noUiSlider.create requires a single element.'); var c = R(b, a), d = S(a, c, b); return (a.noUiSlider = d), d; } (y.prototype.getMargin = function (a) { var b = this.xNumSteps[0]; if (b && (a / b) % 1 !== 0) throw new Error("noUiSlider: 'limit', 'margin' and 'padding' must be divisible by step."); return 2 === this.xPct.length && p(this.xVal, a); }), (y.prototype.toStepping = function (a) { return (a = t(this.xVal, this.xPct, a)); }), (y.prototype.fromStepping = function (a) { return u(this.xVal, this.xPct, a); }), (y.prototype.getStep = function (a) { return (a = v(this.xPct, this.xSteps, this.snap, a)); }), (y.prototype.getNearbySteps = function (a) { var b = s(a, this.xPct); return { stepBefore: { startValue: this.xVal[b - 2], step: this.xNumSteps[b - 2], highestStep: this.xHighestCompleteStep[b - 2] }, thisStep: { startValue: this.xVal[b - 1], step: this.xNumSteps[b - 1], highestStep: this.xHighestCompleteStep[b - 1] }, stepAfter: { startValue: this.xVal[b - 0], step: this.xNumSteps[b - 0], highestStep: this.xHighestCompleteStep[b - 0] }, }; }), (y.prototype.countStepDecimals = function () { var a = this.xNumSteps.map(i); return Math.max.apply(null, a); }), (y.prototype.convert = function (a) { return this.getStep(this.toStepping(a)); }); var U = { to: function (a) { return void 0 !== a && a.toFixed(2); }, from: Number, }; return { create: T }; });