/*! * Materialize v1.0.0 (http://materializecss.com) * Copyright 2014-2017 Materialize * MIT License (https://raw.githubusercontent.com/Dogfalo/materialize/master/LICENSE) */ var _get = function t(e, i, n) { null === e && (e = Function.prototype); var s = Object.getOwnPropertyDescriptor(e, i); if (void 0 === s) { var o = Object.getPrototypeOf(e); return null === o ? void 0 : t(o, i, n) } if ("value" in s) return s.value; var a = s.get; return void 0 !== a ? a.call(n) : void 0 }, _createClass = function() { function n(t, e) { for (var i = 0; i < e.length; i++) { var n = e[i]; n.enumerable = n.enumerable || !1, n.configurable = !0, "value" in n && (n.writable = !0), Object.defineProperty(t, n.key, n) } } return function(t, e, i) { return e && n(t.prototype, e), i && n(t, i), t } }(); function _possibleConstructorReturn(t, e) { if (!t) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return !e || "object" != typeof e && "function" != typeof e ? t : e } function _inherits(t, e) { if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function, not " + typeof e); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, enumerable: !1, writable: !0, configurable: !0 } }), e && (Object.setPrototypeOf ? Object.setPrototypeOf(t, e) : t.__proto__ = e) } function _classCallCheck(t, e) { if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function") } window.cash = function() { var i, o = document, a = window, t = Array.prototype, r = t.slice, n = t.filter, s = t.push, e = function() {}, h = function(t) { return typeof t == typeof e && t.call }, d = function(t) { return "string" == typeof t }, l = /^#[\w-]*$/, u = /^\.[\w-]*$/, c = /<.+>/, p = /^\w+$/; function v(t, e) { e = e || o; var i = u.test(t) ? e.getElementsByClassName(t.slice(1)) : p.test(t) ? e.getElementsByTagName(t) : e.querySelectorAll(t); return i } function f(t) { if (!i) { var e = (i = o.implementation.createHTMLDocument(null)).createElement("base"); e.href = o.location.href, i.head.appendChild(e) } return i.body.innerHTML = t, i.body.childNodes } function m(t) { "loading" !== o.readyState ? t() : o.addEventListener("DOMContentLoaded", t) } function g(t, e) { if (!t) return this; if (t.cash && t !== a) return t; var i, n = t, s = 0; if (d(t)) n = l.test(t) ? o.getElementById(t.slice(1)) : c.test(t) ? f(t) : v(t, e); else if (h(t)) return m(t), this; if (!n) return this; if (n.nodeType || n === a) this[0] = n, this.length = 1; else for (i = this.length = n.length; s < i; s++) this[s] = n[s]; return this } function _(t, e) { return new g(t, e) } var y = _.fn = _.prototype = g.prototype = { cash: !0, length: 0, push: s, splice: t.splice, map: t.map, init: g }; function k(t, e) { for (var i = t.length, n = 0; n < i && !1 !== e.call(t[n], t[n], n, t); n++); } function b(t, e) { var i = t && (t.matches || t.webkitMatchesSelector || t.mozMatchesSelector || t.msMatchesSelector || t.oMatchesSelector); return !!i && i.call(t, e) } function w(e) { return d(e) ? b : e.cash ? function(t) { return e.is(t) } : function(t, e) { return t === e } } function C(t) { return _(r.call(t).filter(function(t, e, i) { return i.indexOf(t) === e })) } Object.defineProperty(y, "constructor", { value: _ }), _.parseHTML = f, _.noop = e, _.isFunction = h, _.isString = d, _.extend = y.extend = function(t) { t = t || {}; var e = r.call(arguments), i = e.length, n = 1; for (1 === e.length && (t = this, n = 0); n < i; n++) if (e[n]) for (var s in e[n]) e[n].hasOwnProperty(s) && (t[s] = e[n][s]); return t }, _.extend({ merge: function(t, e) { for (var i = +e.length, n = t.length, s = 0; s < i; n++, s++) t[n] = e[s]; return t.length = n, t }, each: k, matches: b, unique: C, isArray: Array.isArray, isNumeric: function(t) { return !isNaN(parseFloat(t)) && isFinite(t) } }); var E = _.uid = "_cash" + Date.now(); function M(t) { return t[E] = t[E] || {} } function O(t, e, i) { return M(t)[e] = i } function x(t, e) { var i = M(t); return void 0 === i[e] && (i[e] = t.dataset ? t.dataset[e] : _(t).attr("data-" + e)), i[e] } y.extend({ data: function(e, i) { if (d(e)) return void 0 === i ? x(this[0], e) : this.each(function(t) { return O(t, e, i) }); for (var t in e) this.data(t, e[t]); return this }, removeData: function(s) { return this.each(function(t) { return i = s, void((n = M(e = t)) ? delete n[i] : e.dataset ? delete e.dataset[i] : _(e).removeAttr("data-" + name)); var e, i, n }) } }); var L = /\S+/g; function T(t) { return d(t) && t.match(L) } function $(t, e) { return t.classList ? t.classList.contains(e) : new RegExp("(^| )" + e + "( |$)", "gi").test(t.className) } function B(t, e, i) { t.classList ? t.classList.add(e) : i.indexOf(" " + e + " ") && (t.className += " " + e) } function D(t, e) { t.classList ? t.classList.remove(e) : t.className = t.className.replace(e, "") } y.extend({ addClass: function(t) { var n = T(t); return n ? this.each(function(e) { var i = " " + e.className + " "; k(n, function(t) { B(e, t, i) }) }) : this }, attr: function(e, i) { if (e) { if (d(e)) return void 0 === i ? this[0] ? this[0].getAttribute ? this[0].getAttribute(e) : this[0][e] : void 0 : this.each(function(t) { t.setAttribute ? t.setAttribute(e, i) : t[e] = i }); for (var t in e) this.attr(t, e[t]); return this } }, hasClass: function(t) { var e = !1, i = T(t); return i && i.length && this.each(function(t) { return !(e = $(t, i[0])) }), e }, prop: function(e, i) { if (d(e)) return void 0 === i ? this[0][e] : this.each(function(t) { t[e] = i }); for (var t in e) this.prop(t, e[t]); return this }, removeAttr: function(e) { return this.each(function(t) { t.removeAttribute ? t.removeAttribute(e) : delete t[e] }) }, removeClass: function(t) { if (!arguments.length) return this.attr("class", ""); var i = T(t); return i ? this.each(function(e) { k(i, function(t) { D(e, t) }) }) : this }, removeProp: function(e) { return this.each(function(t) { delete t[e] }) }, toggleClass: function(t, e) { if (void 0 !== e) return this[e ? "addClass" : "removeClass"](t); var n = T(t); return n ? this.each(function(e) { var i = " " + e.className + " "; k(n, function(t) { $(e, t) ? D(e, t) : B(e, t, i) }) }) : this } }), y.extend({ add: function(t, e) { return C(_.merge(this, _(t, e))) }, each: function(t) { return k(this, t), this }, eq: function(t) { return _(this.get(t)) }, filter: function(e) { if (!e) return this; var i = h(e) ? e : w(e); return _(n.call(this, function(t) { return i(t, e) })) }, first: function() { return this.eq(0) }, get: function(t) { return void 0 === t ? r.call(this) : t < 0 ? this[t + this.length] : this[t] }, index: function(t) { var e = t ? _(t)[0] : this[0], i = t ? this : _(e).parent().children(); return r.call(i).indexOf(e) }, last: function() { return this.eq(-1) } }); var S, I, A, R, H, P, W = (H = /(?:^\w|[A-Z]|\b\w)/g, P = /[\s-_]+/g, function(t) { return t.replace(H, function(t, e) { return t[0 === e ? "toLowerCase" : "toUpperCase"]() }).replace(P, "") }), j = (S = {}, I = document, A = I.createElement("div"), R = A.style, function(e) { if (e = W(e), S[e]) return S[e]; var t = e.charAt(0).toUpperCase() + e.slice(1), i = (e + " " + ["webkit", "moz", "ms", "o"].join(t + " ") + t).split(" "); return k(i, function(t) { if (t in R) return S[t] = e = S[e] = t, !1 }), S[e] }); function F(t, e) { return parseInt(a.getComputedStyle(t[0], null)[e], 10) || 0 } function q(e, i, t) { var n, s = x(e, "_cashEvents"), o = s && s[i]; o && (t ? (e.removeEventListener(i, t), 0 <= (n = o.indexOf(t)) && o.splice(n, 1)) : (k(o, function(t) { e.removeEventListener(i, t) }), o = [])) } function N(t, e) { return "&" + encodeURIComponent(t) + "=" + encodeURIComponent(e).replace(/%20/g, "+") } function z(t) { var e, i, n, s = t.type; if (!s) return null; switch (s.toLowerCase()) { case "select-one": return 0 <= (n = (i = t).selectedIndex) ? i.options[n].value : null; case "select-multiple": return e = [], k(t.options, function(t) { t.selected && e.push(t.value) }), e.length ? e : null; case "radio": case "checkbox": return t.checked ? t.value : null; default: return t.value ? t.value : null } } function V(e, i, n) { var t = d(i); t || !i.length ? k(e, t ? function(t) { return t.insertAdjacentHTML(n ? "afterbegin" : "beforeend", i) } : function(t, e) { return function(t, e, i) { if (i) { var n = t.childNodes[0]; t.insertBefore(e, n) } else t.appendChild(e) }(t, 0 === e ? i : i.cloneNode(!0), n) }) : k(i, function(t) { return V(e, t, n) }) } _.prefixedProp = j, _.camelCase = W, y.extend({ css: function(e, i) { if (d(e)) return e = j(e), 1 < arguments.length ? this.each(function(t) { return t.style[e] = i }) : a.getComputedStyle(this[0])[e]; for (var t in e) this.css(t, e[t]); return this } }), k(["Width", "Height"], function(e) { var t = e.toLowerCase(); y[t] = function() { return this[0].getBoundingClientRect()[t] }, y["inner" + e] = function() { return this[0]["client" + e] }, y["outer" + e] = function(t) { return this[0]["offset" + e] + (t ? F(this, "margin" + ("Width" === e ? "Left" : "Top")) + F(this, "margin" + ("Width" === e ? "Right" : "Bottom")) : 0) } }), y.extend({ off: function(e, i) { return this.each(function(t) { return q(t, e, i) }) }, on: function(a, i, r, l) { var n; if (!d(a)) { for (var t in a) this.on(t, i, a[t]); return this } return h(i) && (r = i, i = null), "ready" === a ? (m(r), this) : (i && (n = r, r = function(t) { for (var e = t.target; !b(e, i);) { if (e === this || null === e) return e = !1; e = e.parentNode } e && n.call(e, t) }), this.each(function(t) { var e, i, n, s, o = r; l && (o = function() { r.apply(this, arguments), q(t, a, o) }), i = a, n = o, (s = x(e = t, "_cashEvents") || O(e, "_cashEvents", {}))[i] = s[i] || [], s[i].push(n), e.addEventListener(i, n) })) }, one: function(t, e, i) { return this.on(t, e, i, !0) }, ready: m, trigger: function(t, e) { if (document.createEvent) { var i = document.createEvent("HTMLEvents"); return i.initEvent(t, !0, !1), i = this.extend(i, e), this.each(function(t) { return t.dispatchEvent(i) }) } } }), y.extend({ serialize: function() { var s = ""; return k(this[0].elements || this, function(t) { if (!t.disabled && "FIELDSET" !== t.tagName) { var e = t.name; switch (t.type.toLowerCase()) { case "file": case "reset": case "submit": case "button": break; case "select-multiple": var i = z(t); null !== i && k(i, function(t) { s += N(e, t) }); break; default: var n = z(t); null !== n && (s += N(e, n)) } } }), s.substr(1) }, val: function(e) { return void 0 === e ? z(this[0]) : this.each(function(t) { return t.value = e }) } }), y.extend({ after: function(t) { return _(t).insertAfter(this), this }, append: function(t) { return V(this, t), this }, appendTo: function(t) { return V(_(t), this), this }, before: function(t) { return _(t).insertBefore(this), this }, clone: function() { return _(this.map(function(t) { return t.cloneNode(!0) })) }, empty: function() { return this.html(""), this }, html: function(t) { if (void 0 === t) return this[0].innerHTML; var e = t.nodeType ? t[0].outerHTML : t; return this.each(function(t) { return t.innerHTML = e }) }, insertAfter: function(t) { var s = this; return _(t).each(function(t, e) { var i = t.parentNode, n = t.nextSibling; s.each(function(t) { i.insertBefore(0 === e ? t : t.cloneNode(!0), n) }) }), this }, insertBefore: function(t) { var s = this; return _(t).each(function(e, i) { var n = e.parentNode; s.each(function(t) { n.insertBefore(0 === i ? t : t.cloneNode(!0), e) }) }), this }, prepend: function(t) { return V(this, t, !0), this }, prependTo: function(t) { return V(_(t), this, !0), this }, remove: function() { return this.each(function(t) { if (t.parentNode) return t.parentNode.removeChild(t) }) }, text: function(e) { return void 0 === e ? this[0].textContent : this.each(function(t) { return t.textContent = e }) } }); var X = o.documentElement; return y.extend({ position: function() { var t = this[0]; return { left: t.offsetLeft, top: t.offsetTop } }, offset: function() { var t = this[0].getBoundingClientRect(); return { top: t.top + a.pageYOffset - X.clientTop, left: t.left + a.pageXOffset - X.clientLeft } }, offsetParent: function() { return _(this[0].offsetParent) } }), y.extend({ children: function(e) { var i = []; return this.each(function(t) { s.apply(i, t.children) }), i = C(i), e ? i.filter(function(t) { return b(t, e) }) : i }, closest: function(t) { return !t || this.length < 1 ? _() : this.is(t) ? this.filter(t) : this.parent().closest(t) }, is: function(e) { if (!e) return !1; var i = !1, n = w(e); return this.each(function(t) { return !(i = n(t, e)) }), i }, find: function(e) { if (!e || e.nodeType) return _(e && this.has(e).length ? e : null); var i = []; return this.each(function(t) { s.apply(i, v(e, t)) }), C(i) }, has: function(e) { var t = d(e) ? function(t) { return 0 !== v(e, t).length } : function(t) { return t.contains(e) }; return this.filter(t) }, next: function() { return _(this[0].nextElementSibling) }, not: function(e) { if (!e) return this; var i = w(e); return this.filter(function(t) { return !i(t, e) }) }, parent: function() { var e = []; return this.each(function(t) { t && t.parentNode && e.push(t.parentNode) }), C(e) }, parents: function(e) { var i, n = []; return this.each(function(t) { for (i = t; i && i.parentNode && i !== o.body.parentNode;) i = i.parentNode, (!e || e && b(i, e)) && n.push(i) }), C(n) }, prev: function() { return _(this[0].previousElementSibling) }, siblings: function(t) { var e = this.parent().children(t), i = this[0]; return e.filter(function(t) { return t !== i }) } }), _ }(); var Component = function() { function s(t, e, i) { _classCallCheck(this, s), e instanceof Element || console.error(Error(e + " is not an HTML Element")); var n = t.getInstance(e); n && n.destroy(), this.el = e, this.$el = cash(e) } return _createClass(s, null, [{ key: "init", value: function(t, e, i) { var n = null; if (e instanceof Element) n = new t(e, i); else if (e && (e.jquery || e.cash || e instanceof NodeList)) { for (var s = [], o = 0; o < e.length; o++) s.push(new t(e[o], i)); n = s } return n } }]), s }(); ! function(t) { t.Package ? M = {} : t.M = {}, M.jQueryLoaded = !!t.jQuery }(window), "function" == typeof define && define.amd ? define("M", [], function() { return M }) : "undefined" == typeof exports || exports.nodeType || ("undefined" != typeof module && !module.nodeType && module.exports && (exports = module.exports = M), exports.default = M), M.version = "1.0.0", M.keys = { TAB: 9, ENTER: 13, ESC: 27, ARROW_UP: 38, ARROW_DOWN: 40 }, M.tabPressed = !1, M.keyDown = !1; var docHandleKeydown = function(t) { M.keyDown = !0, t.which !== M.keys.TAB && t.which !== M.keys.ARROW_DOWN && t.which !== M.keys.ARROW_UP || (M.tabPressed = !0) }, docHandleKeyup = function(t) { M.keyDown = !1, t.which !== M.keys.TAB && t.which !== M.keys.ARROW_DOWN && t.which !== M.keys.ARROW_UP || (M.tabPressed = !1) }, docHandleFocus = function(t) { M.keyDown && document.body.classList.add("keyboard-focused") }, docHandleBlur = function(t) { document.body.classList.remove("keyboard-focused") }; document.addEventListener("keydown", docHandleKeydown, !0), document.addEventListener("keyup", docHandleKeyup, !0), document.addEventListener("focus", docHandleFocus, !0), document.addEventListener("blur", docHandleBlur, !0), M.initializeJqueryWrapper = function(n, s, o) { jQuery.fn[s] = function(e) { if (n.prototype[e]) { var i = Array.prototype.slice.call(arguments, 1); if ("get" === e.slice(0, 3)) { var t = this.first()[0][o]; return t[e].apply(t, i) } return this.each(function() { var t = this[o]; t[e].apply(t, i) }) } if ("object" == typeof e || !e) return n.init(this, e), this; jQuery.error("Method " + e + " does not exist on jQuery." + s) } }, M.AutoInit = function(t) { var e = t || document.body, i = { Autocomplete: e.querySelectorAll(".autocomplete:not(.no-autoinit)"), Carousel: e.querySelectorAll(".carousel:not(.no-autoinit)"), Chips: e.querySelectorAll(".chips:not(.no-autoinit)"), Collapsible: e.querySelectorAll(".collapsible:not(.no-autoinit)"), Datepicker: e.querySelectorAll(".datepicker:not(.no-autoinit)"), Dropdown: e.querySelectorAll(".dropdown-trigger:not(.no-autoinit)"), Materialbox: e.querySelectorAll(".materialboxed:not(.no-autoinit)"), Modal: e.querySelectorAll(".modal:not(.no-autoinit)"), Parallax: e.querySelectorAll(".parallax:not(.no-autoinit)"), Pushpin: e.querySelectorAll(".pushpin:not(.no-autoinit)"), ScrollSpy: e.querySelectorAll(".scrollspy:not(.no-autoinit)"), FormSelect: e.querySelectorAll("select:not(.no-autoinit)"), Sidenav: e.querySelectorAll(".sidenav:not(.no-autoinit)"), Tabs: e.querySelectorAll(".tabs:not(.no-autoinit)"), TapTarget: e.querySelectorAll(".tap-target:not(.no-autoinit)"), Timepicker: e.querySelectorAll(".timepicker:not(.no-autoinit)"), Tooltip: e.querySelectorAll(".tooltipped:not(.no-autoinit)"), FloatingActionButton: e.querySelectorAll(".fixed-action-btn:not(.no-autoinit)") }; for (var n in i) { M[n].init(i[n]) } }, M.objectSelectorString = function(t) { return ((t.prop("tagName") || "") + (t.attr("id") || "") + (t.attr("class") || "")).replace(/\s/g, "") }, M.guid = function() { function t() { return Math.floor(65536 * (1 + Math.random())).toString(16).substring(1) } return function() { return t() + t() + "-" + t() + "-" + t() + "-" + t() + "-" + t() + t() + t() } }(), M.escapeHash = function(t) { return t.replace(/(:|\.|\[|\]|,|=|\/)/g, "\\$1") }, M.elementOrParentIsFixed = function(t) { var e = $(t), i = e.add(e.parents()), n = !1; return i.each(function() { if ("fixed" === $(this).css("position")) return !(n = !0) }), n }, M.checkWithinContainer = function(t, e, i) { var n = { top: !1, right: !1, bottom: !1, left: !1 }, s = t.getBoundingClientRect(), o = t === document.body ? Math.max(s.bottom, window.innerHeight) : s.bottom, a = t.scrollLeft, r = t.scrollTop, l = e.left - a, h = e.top - r; return (l < s.left + i || l < i) && (n.left = !0), (l + e.width > s.right - i || l + e.width > window.innerWidth - i) && (n.right = !0), (h < s.top + i || h < i) && (n.top = !0), (h + e.height > o - i || h + e.height > window.innerHeight - i) && (n.bottom = !0), n }, M.checkPossibleAlignments = function(t, e, i, n) { var s = { top: !0, right: !0, bottom: !0, left: !0, spaceOnTop: null, spaceOnRight: null, spaceOnBottom: null, spaceOnLeft: null }, o = "visible" === getComputedStyle(e).overflow, a = e.getBoundingClientRect(), r = Math.min(a.height, window.innerHeight), l = Math.min(a.width, window.innerWidth), h = t.getBoundingClientRect(), d = e.scrollLeft, u = e.scrollTop, c = i.left - d, p = i.top - u, v = i.top + h.height - u; return s.spaceOnRight = o ? window.innerWidth - (h.left + i.width) : l - (c + i.width), s.spaceOnRight < 0 && (s.left = !1), s.spaceOnLeft = o ? h.right - i.width : c - i.width + h.width, s.spaceOnLeft < 0 && (s.right = !1), s.spaceOnBottom = o ? window.innerHeight - (h.top + i.height + n) : r - (p + i.height + n), s.spaceOnBottom < 0 && (s.top = !1), s.spaceOnTop = o ? h.bottom - (i.height + n) : v - (i.height - n), s.spaceOnTop < 0 && (s.bottom = !1), s }, M.getOverflowParent = function(t) { return null == t ? null : t === document.body || "visible" !== getComputedStyle(t).overflow ? t : M.getOverflowParent(t.parentElement) }, M.getIdFromTrigger = function(t) { var e = t.getAttribute("data-target"); return e || (e = (e = t.getAttribute("href")) ? e.slice(1) : ""), e }, M.getDocumentScrollTop = function() { return window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0 }, M.getDocumentScrollLeft = function() { return window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft || 0 }; var getTime = Date.now || function() { return (new Date).getTime() }; M.throttle = function(i, n, s) { var o = void 0, a = void 0, r = void 0, l = null, h = 0; s || (s = {}); var d = function() { h = !1 === s.leading ? 0 : getTime(), l = null, r = i.apply(o, a), o = a = null }; return function() { var t = getTime(); h || !1 !== s.leading || (h = t); var e = n - (t - h); return o = this, a = arguments, e <= 0 ? (clearTimeout(l), l = null, h = t, r = i.apply(o, a), o = a = null) : l || !1 === s.trailing || (l = setTimeout(d, e)), r } }; var $jscomp = { scope: {} }; $jscomp.defineProperty = "function" == typeof Object.defineProperties ? Object.defineProperty : function(t, e, i) { if (i.get || i.set) throw new TypeError("ES3 does not support getters and setters."); t != Array.prototype && t != Object.prototype && (t[e] = i.value) }, $jscomp.getGlobal = function(t) { return "undefined" != typeof window && window === t ? t : "undefined" != typeof global && null != global ? global : t }, $jscomp.global = $jscomp.getGlobal(this), $jscomp.SYMBOL_PREFIX = "jscomp_symbol_", $jscomp.initSymbol = function() { $jscomp.initSymbol = function() {}, $jscomp.global.Symbol || ($jscomp.global.Symbol = $jscomp.Symbol) }, $jscomp.symbolCounter_ = 0, $jscomp.Symbol = function(t) { return $jscomp.SYMBOL_PREFIX + (t || "") + $jscomp.symbolCounter_++ }, $jscomp.initSymbolIterator = function() { $jscomp.initSymbol(); var t = $jscomp.global.Symbol.iterator; t || (t = $jscomp.global.Symbol.iterator = $jscomp.global.Symbol("iterator")), "function" != typeof Array.prototype[t] && $jscomp.defineProperty(Array.prototype, t, { configurable: !0, writable: !0, value: function() { return $jscomp.arrayIterator(this) } }), $jscomp.initSymbolIterator = function() {} }, $jscomp.arrayIterator = function(t) { var e = 0; return $jscomp.iteratorPrototype(function() { return e < t.length ? { done: !1, value: t[e++] } : { done: !0 } }) }, $jscomp.iteratorPrototype = function(t) { return $jscomp.initSymbolIterator(), (t = { next: t })[$jscomp.global.Symbol.iterator] = function() { return this }, t }, $jscomp.array = $jscomp.array || {}, $jscomp.iteratorFromArray = function(e, i) { $jscomp.initSymbolIterator(), e instanceof String && (e += ""); var n = 0, s = { next: function() { if (n < e.length) { var t = n++; return { value: i(t, e[t]), done: !1 } } return s.next = function() { return { done: !0, value: void 0 } }, s.next() } }; return s[Symbol.iterator] = function() { return s }, s }, $jscomp.polyfill = function(t, e, i, n) { if (e) { for (i = $jscomp.global, t = t.split("."), n = 0; n < t.length - 1; n++) { var s = t[n]; s in i || (i[s] = {}), i = i[s] }(e = e(n = i[t = t[t.length - 1]])) != n && null != e && $jscomp.defineProperty(i, t, { configurable: !0, writable: !0, value: e }) } }, $jscomp.polyfill("Array.prototype.keys", function(t) { return t || function() { return $jscomp.iteratorFromArray(this, function(t) { return t }) } }, "es6-impl", "es3"); var $jscomp$this = this; M.anime = function() { function s(t) { if (!B.col(t)) try { return document.querySelectorAll(t) } catch (t) {} } function b(t, e) { for (var i = t.length, n = 2 <= arguments.length ? e : void 0, s = [], o = 0; o < i; o++) if (o in t) { var a = t[o]; e.call(n, a, o, t) && s.push(a) } return s } function d(t) { return t.reduce(function(t, e) { return t.concat(B.arr(e) ? d(e) : e) }, []) } function o(t) { return B.arr(t) ? t : (B.str(t) && (t = s(t) || t), t instanceof NodeList || t instanceof HTMLCollection ? [].slice.call(t) : [t]) } function a(t, e) { return t.some(function(t) { return t === e }) } function r(t) { var e, i = {}; for (e in t) i[e] = t[e]; return i } function u(t, e) { var i, n = r(t); for (i in t) n[i] = e.hasOwnProperty(i) ? e[i] : t[i]; return n } function c(t, e) { var i, n = r(t); for (i in e) n[i] = B.und(t[i]) ? e[i] : t[i]; return n } function l(t) { if (t = /([\+\-]?[0-9#\.]+)(%|px|pt|em|rem|in|cm|mm|ex|ch|pc|vw|vh|vmin|vmax|deg|rad|turn)?$/.exec(t)) return t[2] } function h(t, e) { return B.fnc(t) ? t(e.target, e.id, e.total) : t } function w(t, e) { if (e in t.style) return getComputedStyle(t).getPropertyValue(e.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase()) || "0" } function p(t, e) { return B.dom(t) && a($, e) ? "transform" : B.dom(t) && (t.getAttribute(e) || B.svg(t) && t[e]) ? "attribute" : B.dom(t) && "transform" !== e && w(t, e) ? "css" : null != t[e] ? "object" : void 0 } function v(t, e) { switch (p(t, e)) { case "transform": return function(t, i) { var e, n = -1 < (e = i).indexOf("translate") || "perspective" === e ? "px" : -1 < e.indexOf("rotate") || -1 < e.indexOf("skew") ? "deg" : void 0, n = -1 < i.indexOf("scale") ? 1 : 0 + n; if (!(t = t.style.transform)) return n; for (var s = [], o = [], a = [], r = /(\w+)\((.+?)\)/g; s = r.exec(t);) o.push(s[1]), a.push(s[2]); return (t = b(a, function(t, e) { return o[e] === i })).length ? t[0] : n }(t, e); case "css": return w(t, e); case "attribute": return t.getAttribute(e) } return t[e] || 0 } function f(t, e) { var i = /^(\*=|\+=|-=)/.exec(t); if (!i) return t; var n = l(t) || 0; switch (e = parseFloat(e), t = parseFloat(t.replace(i[0], "")), i[0][0]) { case "+": return e + t + n; case "-": return e - t + n; case "*": return e * t + n } } function m(t, e) { return Math.sqrt(Math.pow(e.x - t.x, 2) + Math.pow(e.y - t.y, 2)) } function i(t) { t = t.points; for (var e, i = 0, n = 0; n < t.numberOfItems; n++) { var s = t.getItem(n); 0 < n && (i += m(e, s)), e = s } return i } function g(t) { if (t.getTotalLength) return t.getTotalLength(); switch (t.tagName.toLowerCase()) { case "circle": return 2 * Math.PI * t.getAttribute("r"); case "rect": return 2 * t.getAttribute("width") + 2 * t.getAttribute("height"); case "line": return m({ x: t.getAttribute("x1"), y: t.getAttribute("y1") }, { x: t.getAttribute("x2"), y: t.getAttribute("y2") }); case "polyline": return i(t); case "polygon": var e = t.points; return i(t) + m(e.getItem(e.numberOfItems - 1), e.getItem(0)) } } function C(e, i) { function t(t) { return t = void 0 === t ? 0 : t, e.el.getPointAtLength(1 <= i + t ? i + t : 0) } var n = t(), s = t(-1), o = t(1); switch (e.property) { case "x": return n.x; case "y": return n.y; case "angle": return 180 * Math.atan2(o.y - s.y, o.x - s.x) / Math.PI } } function _(t, e) { var i, n = /-?\d*\.?\d+/g; if (i = B.pth(t) ? t.totalLength : t, B.col(i)) if (B.rgb(i)) { var s = /rgb\((\d+,\s*[\d]+,\s*[\d]+)\)/g.exec(i); i = s ? "rgba(" + s[1] + ",1)" : i } else i = B.hex(i) ? function(t) { t = t.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i, function(t, e, i, n) { return e + e + i + i + n + n }); var e = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t); t = parseInt(e[1], 16); var i = parseInt(e[2], 16), e = parseInt(e[3], 16); return "rgba(" + t + "," + i + "," + e + ",1)" }(i) : B.hsl(i) ? function(t) { function e(t, e, i) { return i < 0 && (i += 1), 1 < i && --i, i < 1 / 6 ? t + 6 * (e - t) * i : i < .5 ? e : i < 2 / 3 ? t + (e - t) * (2 / 3 - i) * 6 : t } var i = /hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.exec(t) || /hsla\((\d+),\s*([\d.]+)%,\s*([\d.]+)%,\s*([\d.]+)\)/g.exec(t); t = parseInt(i[1]) / 360; var n = parseInt(i[2]) / 100, s = parseInt(i[3]) / 100, i = i[4] || 1; if (0 == n) s = n = t = s; else { var o = s < .5 ? s * (1 + n) : s + n - s * n, a = 2 * s - o, s = e(a, o, t + 1 / 3), n = e(a, o, t); t = e(a, o, t - 1 / 3) } return "rgba(" + 255 * s + "," + 255 * n + "," + 255 * t + "," + i + ")" }(i) : void 0; else s = (s = l(i)) ? i.substr(0, i.length - s.length) : i, i = e && !/\s/g.test(i) ? s + e : s; return { original: i += "", numbers: i.match(n) ? i.match(n).map(Number) : [0], strings: B.str(t) || e ? i.split(n) : [] } } function y(t) { return b(t = t ? d(B.arr(t) ? t.map(o) : o(t)) : [], function(t, e, i) { return i.indexOf(t) === e }) } function k(t, i) { var e = r(i); if (B.arr(t)) { var n = t.length; 2 !== n || B.obj(t[0]) ? B.fnc(i.duration) || (e.duration = i.duration / n) : t = { value: t } } return o(t).map(function(t, e) { return e = e ? 0 : i.delay, t = B.obj(t) && !B.pth(t) ? t : { value: t }, B.und(t.delay) && (t.delay = e), t }).map(function(t) { return c(t, e) }) } function E(o, a) { var r; return o.tweens.map(function(t) { var e = (t = function(t, e) { var i, n = {}; for (i in t) { var s = h(t[i], e); B.arr(s) && 1 === (s = s.map(function(t) { return h(t, e) })).length && (s = s[0]), n[i] = s } return n.duration = parseFloat(n.duration), n.delay = parseFloat(n.delay), n }(t, a)).value, i = v(a.target, o.name), n = r ? r.to.original : i, n = B.arr(e) ? e[0] : n, s = f(B.arr(e) ? e[1] : e, n), i = l(s) || l(n) || l(i); return t.from = _(n, i), t.to = _(s, i), t.start = r ? r.end : o.offset, t.end = t.start + t.delay + t.duration, t.easing = function(t) { return B.arr(t) ? D.apply(this, t) : S[t] }(t.easing), t.elasticity = (1e3 - Math.min(Math.max(t.elasticity, 1), 999)) / 1e3, t.isPath = B.pth(e), t.isColor = B.col(t.from.original), t.isColor && (t.round = 1), r = t }) } function M(e, t, i, n) { var s = "delay" === e; return t.length ? (s ? Math.min : Math.max).apply(Math, t.map(function(t) { return t[e] })) : s ? n.delay : i.offset + n.delay + n.duration } function n(t) { var e, i, n, s, o = u(L, t), a = u(T, t), r = (i = t.targets, (n = y(i)).map(function(t, e) { return { target: t, id: e, total: n.length } })), l = [], h = c(o, a); for (e in t) h.hasOwnProperty(e) || "targets" === e || l.push({ name: e, offset: h.offset, tweens: k(t[e], a) }); return s = l, t = b(d(r.map(function(n) { return s.map(function(t) { var e = p(n.target, t.name); if (e) { var i = E(t, n); t = { type: e, property: t.name, animatable: n, tweens: i, duration: i[i.length - 1].end, delay: i[0].delay } } else t = void 0; return t }) })), function(t) { return !B.und(t) }), c(o, { children: [], animatables: r, animations: t, duration: M("duration", t, o, a), delay: M("delay", t, o, a) }) } function O(t) { function d() { return window.Promise && new Promise(function(t) { return _ = t }) } function u(t) { return k.reversed ? k.duration - t : t } function c(e) { for (var t = 0, i = {}, n = k.animations, s = n.length; t < s;) { var o = n[t], a = o.animatable, r = o.tweens, l = r.length - 1, h = r[l]; l && (h = b(r, function(t) { return e < t.end })[0] || h); for (var r = Math.min(Math.max(e - h.start - h.delay, 0), h.duration) / h.duration, d = isNaN(r) ? 1 : h.easing(r, h.elasticity), r = h.to.strings, u = h.round, l = [], c = void 0, c = h.to.numbers.length, p = 0; p < c; p++) { var v = void 0, v = h.to.numbers[p], f = h.from.numbers[p], v = h.isPath ? C(h.value, d * v) : f + d * (v - f); u && (h.isColor && 2 < p || (v = Math.round(v * u) / u)), l.push(v) } if (h = r.length) for (c = r[0], d = 0; d < h; d++) u = r[d + 1], p = l[d], isNaN(p) || (c = u ? c + (p + u) : c + (p + " ")); else c = l[0]; I[o.type](a.target, o.property, c, i, a.id), o.currentValue = c, t++ } if (t = Object.keys(i).length) for (n = 0; n < t; n++) x || (x = w(document.body, "transform") ? "transform" : "-webkit-transform"), k.animatables[n].target.style[x] = i[n].join(" "); k.currentTime = e, k.progress = e / k.duration * 100 } function p(t) { k[t] && k[t](k) } function v() { k.remaining && !0 !== k.remaining && k.remaining-- } function e(t) { var e = k.duration, i = k.offset, n = i + k.delay, s = k.currentTime, o = k.reversed, a = u(t); if (k.children.length) { var r = k.children, l = r.length; if (a >= k.currentTime) for (var h = 0; h < l; h++) r[h].seek(a); else for (; l--;) r[l].seek(a) }(n <= a || !e) && (k.began || (k.began = !0, p("begin")), p("run")), i < a && a < e ? c(a) : (a <= i && 0 !== s && (c(0), o && v()), (e <= a && s !== e || !e) && (c(e), o || v())), p("update"), e <= t && (k.remaining ? (m = f, "alternate" === k.direction && (k.reversed = !k.reversed)) : (k.pause(), k.completed || (k.completed = !0, p("complete"), "Promise" in window && (_(), y = d()))), g = 0) } t = void 0 === t ? {} : t; var f, m, g = 0, _ = null, y = d(), k = n(t); return k.reset = function() { var t = k.direction, e = k.loop; for (k.currentTime = 0, k.progress = 0, k.paused = !0, k.began = !1, k.completed = !1, k.reversed = "reverse" === t, k.remaining = "alternate" === t && 1 === e ? 2 : e, c(0), t = k.children.length; t--;) k.children[t].reset() }, k.tick = function(t) { f = t, m || (m = f), e((g + f - m) * O.speed) }, k.seek = function(t) { e(u(t)) }, k.pause = function() { var t = A.indexOf(k); - 1 < t && A.splice(t, 1), k.paused = !0 }, k.play = function() { k.paused && (k.paused = !1, m = 0, g = u(k.currentTime), A.push(k), R || H()) }, k.reverse = function() { k.reversed = !k.reversed, m = 0, g = u(k.currentTime) }, k.restart = function() { k.pause(), k.reset(), k.play() }, k.finished = y, k.reset(), k.autoplay && k.play(), k } var x, L = { update: void 0, begin: void 0, run: void 0, complete: void 0, loop: 1, direction: "normal", autoplay: !0, offset: 0 }, T = { duration: 1e3, delay: 0, easing: "easeOutElastic", elasticity: 500, round: 0 }, $ = "translateX translateY translateZ rotate rotateX rotateY rotateZ scale scaleX scaleY scaleZ skewX skewY perspective".split(" "), B = { arr: function(t) { return Array.isArray(t) }, obj: function(t) { return -1 < Object.prototype.toString.call(t).indexOf("Object") }, pth: function(t) { return B.obj(t) && t.hasOwnProperty("totalLength") }, svg: function(t) { return t instanceof SVGElement }, dom: function(t) { return t.nodeType || B.svg(t) }, str: function(t) { return "string" == typeof t }, fnc: function(t) { return "function" == typeof t }, und: function(t) { return void 0 === t }, hex: function(t) { return /(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(t) }, rgb: function(t) { return /^rgb/.test(t) }, hsl: function(t) { return /^hsl/.test(t) }, col: function(t) { return B.hex(t) || B.rgb(t) || B.hsl(t) } }, D = function() { function u(t, e, i) { return (((1 - 3 * i + 3 * e) * t + (3 * i - 6 * e)) * t + 3 * e) * t } return function(a, r, l, h) { if (0 <= a && a <= 1 && 0 <= l && l <= 1) { var d = new Float32Array(11); if (a !== r || l !== h) for (var t = 0; t < 11; ++t) d[t] = u(.1 * t, a, l); return function(t) { if (a === r && l === h) return t; if (0 === t) return 0; if (1 === t) return 1; for (var e = 0, i = 1; 10 !== i && d[i] <= t; ++i) e += .1; var i = e + (t - d[--i]) / (d[i + 1] - d[i]) * .1, n = 3 * (1 - 3 * l + 3 * a) * i * i + 2 * (3 * l - 6 * a) * i + 3 * a; if (.001 <= n) { for (e = 0; e < 4 && 0 != (n = 3 * (1 - 3 * l + 3 * a) * i * i + 2 * (3 * l - 6 * a) * i + 3 * a); ++e) var s = u(i, a, l) - t, i = i - s / n; t = i } else if (0 === n) t = i; else { for (var i = e, e = e + .1, o = 0; 0 < (n = u(s = i + (e - i) / 2, a, l) - t) ? e = s : i = s, 1e-7 < Math.abs(n) && ++o < 10;); t = s } return u(t, r, h) } } } }(), S = function() { function i(t, e) { return 0 === t || 1 === t ? t : -Math.pow(2, 10 * (t - 1)) * Math.sin(2 * (t - 1 - e / (2 * Math.PI) * Math.asin(1)) * Math.PI / e) } var t, n = "Quad Cubic Quart Quint Sine Expo Circ Back Elastic".split(" "), e = { In: [ [.55, .085, .68, .53], [.55, .055, .675, .19], [.895, .03, .685, .22], [.755, .05, .855, .06], [.47, 0, .745, .715], [.95, .05, .795, .035], [.6, .04, .98, .335], [.6, -.28, .735, .045], i ], Out: [ [.25, .46, .45, .94], [.215, .61, .355, 1], [.165, .84, .44, 1], [.23, 1, .32, 1], [.39, .575, .565, 1], [.19, 1, .22, 1], [.075, .82, .165, 1], [.175, .885, .32, 1.275], function(t, e) { return 1 - i(1 - t, e) } ], InOut: [ [.455, .03, .515, .955], [.645, .045, .355, 1], [.77, 0, .175, 1], [.86, 0, .07, 1], [.445, .05, .55, .95], [1, 0, 0, 1], [.785, .135, .15, .86], [.68, -.55, .265, 1.55], function(t, e) { return t < .5 ? i(2 * t, e) / 2 : 1 - i(-2 * t + 2, e) / 2 } ] }, s = { linear: D(.25, .25, .75, .75) }, o = {}; for (t in e) o.type = t, e[o.type].forEach(function(i) { return function(t, e) { s["ease" + i.type + n[e]] = B.fnc(t) ? t : D.apply($jscomp$this, t) } }(o)), o = { type: o.type }; return s }(), I = { css: function(t, e, i) { return t.style[e] = i }, attribute: function(t, e, i) { return t.setAttribute(e, i) }, object: function(t, e, i) { return t[e] = i }, transform: function(t, e, i, n, s) { n[s] || (n[s] = []), n[s].push(e + "(" + i + ")") } }, A = [], R = 0, H = function() { function n() { R = requestAnimationFrame(t) } function t(t) { var e = A.length; if (e) { for (var i = 0; i < e;) A[i] && A[i].tick(t), i++; n() } else cancelAnimationFrame(R), R = 0 } return n }(); return O.version = "2.2.0", O.speed = 1, O.running = A, O.remove = function(t) { t = y(t); for (var e = A.length; e--;) for (var i = A[e], n = i.animations, s = n.length; s--;) a(t, n[s].animatable.target) && (n.splice(s, 1), n.length || i.pause()) }, O.getValue = v, O.path = function(t, e) { var i = B.str(t) ? s(t)[0] : t, n = e || 100; return function(t) { return { el: i, property: t, totalLength: g(i) * (n / 100) } } }, O.setDashoffset = function(t) { var e = g(t); return t.setAttribute("stroke-dasharray", e), e }, O.bezier = D, O.easings = S, O.timeline = function(n) { var s = O(n); return s.pause(), s.duration = 0, s.add = function(t) { return s.children.forEach(function(t) { t.began = !0, t.completed = !0 }), o(t).forEach(function(t) { var e = c(t, u(T, n || {})); e.targets = e.targets || n.targets, t = s.duration; var i = e.offset; e.autoplay = !1, e.direction = s.direction, e.offset = B.und(i) ? t : f(i, t), s.began = !0, s.completed = !0, s.seek(e.offset), (e = O(e)).began = !0, e.completed = !0, e.duration > t && (s.duration = e.duration), s.children.push(e) }), s.seek(0), s.reset(), s.autoplay && s.restart(), s }, s }, O.random = function(t, e) { return Math.floor(Math.random() * (e - t + 1)) + t }, O }(), function(r, l) { "use strict"; var e = { accordion: !0, onOpenStart: void 0, onOpenEnd: void 0, onCloseStart: void 0, onCloseEnd: void 0, inDuration: 300, outDuration: 300 }, t = function(t) { function s(t, e) { _classCallCheck(this, s); var i = _possibleConstructorReturn(this, (s.__proto__ || Object.getPrototypeOf(s)).call(this, s, t, e)); (i.el.M_Collapsible = i).options = r.extend({}, s.defaults, e), i.$headers = i.$el.children("li").children(".collapsible-header"), i.$headers.attr("tabindex", 0), i._setupEventHandlers(); var n = i.$el.children("li.active").children(".collapsible-body"); return i.options.accordion ? n.first().css("display", "block") : n.css("display", "block"), i } return _inherits(s, Component), _createClass(s, [{ key: "destroy", value: function() { this._removeEventHandlers(), this.el.M_Collapsible = void 0 } }, { key: "_setupEventHandlers", value: function() { var e = this; this._handleCollapsibleClickBound = this._handleCollapsibleClick.bind(this), this._handleCollapsibleKeydownBound = this._handleCollapsibleKeydown.bind(this), this.el.addEventListener("click", this._handleCollapsibleClickBound), this.$headers.each(function(t) { t.addEventListener("keydown", e._handleCollapsibleKeydownBound) }) } }, { key: "_removeEventHandlers", value: function() { var e = this; this.el.removeEventListener("click", this._handleCollapsibleClickBound), this.$headers.each(function(t) { t.removeEventListener("keydown", e._handleCollapsibleKeydownBound) }) } }, { key: "_handleCollapsibleClick", value: function(t) { var e = r(t.target).closest(".collapsible-header"); if (t.target && e.length) { var i = e.closest(".collapsible"); if (i[0] === this.el) { var n = e.closest("li"), s = i.children("li"), o = n[0].classList.contains("active"), a = s.index(n); o ? this.close(a) : this.open(a) } } } }, { key: "_handleCollapsibleKeydown", value: function(t) { 13 === t.keyCode && this._handleCollapsibleClickBound(t) } }, { key: "_animateIn", value: function(t) { var e = this, i = this.$el.children("li").eq(t); if (i.length) { var n = i.children(".collapsible-body"); l.remove(n[0]), n.css({ display: "block", overflow: "hidden", height: 0, paddingTop: "", paddingBottom: "" }); var s = n.css("padding-top"), o = n.css("padding-bottom"), a = n[0].scrollHeight; n.css({ paddingTop: 0, paddingBottom: 0 }), l({ targets: n[0], height: a, paddingTop: s, paddingBottom: o, duration: this.options.inDuration, easing: "easeInOutCubic", complete: function(t) { n.css({ overflow: "", paddingTop: "", paddingBottom: "", height: "" }), "function" == typeof e.options.onOpenEnd && e.options.onOpenEnd.call(e, i[0]) } }) } } }, { key: "_animateOut", value: function(t) { var e = this, i = this.$el.children("li").eq(t); if (i.length) { var n = i.children(".collapsible-body"); l.remove(n[0]), n.css("overflow", "hidden"), l({ targets: n[0], height: 0, paddingTop: 0, paddingBottom: 0, duration: this.options.outDuration, easing: "easeInOutCubic", complete: function() { n.css({ height: "", overflow: "", padding: "", display: "" }), "function" == typeof e.options.onCloseEnd && e.options.onCloseEnd.call(e, i[0]) } }) } } }, { key: "open", value: function(t) { var i = this, e = this.$el.children("li").eq(t); if (e.length && !e[0].classList.contains("active")) { if ("function" == typeof this.options.onOpenStart && this.options.onOpenStart.call(this, e[0]), this.options.accordion) { var n = this.$el.children("li"); this.$el.children("li.active").each(function(t) { var e = n.index(r(t)); i.close(e) }) } e[0].classList.add("active"), this._animateIn(t) } } }, { key: "close", value: function(t) { var e = this.$el.children("li").eq(t); e.length && e[0].classList.contains("active") && ("function" == typeof this.options.onCloseStart && this.options.onCloseStart.call(this, e[0]), e[0].classList.remove("active"), this._animateOut(t)) } }], [{ key: "init", value: function(t, e) { return _get(s.__proto__ || Object.getPrototypeOf(s), "init", this).call(this, this, t, e) } }, { key: "getInstance", value: function(t) { return (t.jquery ? t[0] : t).M_Collapsible } }, { key: "defaults", get: function() { return e } }]), s }(); M.Collapsible = t, M.jQueryLoaded && M.initializeJqueryWrapper(t, "collapsible", "M_Collapsible") }(cash, M.anime), function(h, i) { "use strict"; var e = { alignment: "left", autoFocus: !0, constrainWidth: !0, container: null, coverTrigger: !0, closeOnClick: !0, hover: !1, inDuration: 150, outDuration: 250, onOpenStart: null, onOpenEnd: null, onCloseStart: null, onCloseEnd: null, onItemClick: null }, t = function(t) { function n(t, e) { _classCallCheck(this, n); var i = _possibleConstructorReturn(this, (n.__proto__ || Object.getPrototypeOf(n)).call(this, n, t, e)); return i.el.M_Dropdown = i, n._dropdowns.push(i), i.id = M.getIdFromTrigger(t), i.dropdownEl = document.getElementById(i.id), i.$dropdownEl = h(i.dropdownEl), i.options = h.extend({}, n.defaults, e), i.isOpen = !1, i.isScrollable = !1, i.isTouchMoving = !1, i.focusedIndex = -1, i.filterQuery = [], i.options.container ? h(i.options.container).append(i.dropdownEl) : i.$el.after(i.dropdownEl), i._makeDropdownFocusable(), i._resetFilterQueryBound = i._resetFilterQuery.bind(i), i._handleDocumentClickBound = i._handleDocumentClick.bind(i), i._handleDocumentTouchmoveBound = i._handleDocumentTouchmove.bind(i), i._handleDropdownClickBound = i._handleDropdownClick.bind(i), i._handleDropdownKeydownBound = i._handleDropdownKeydown.bind(i), i._handleTriggerKeydownBound = i._handleTriggerKeydown.bind(i), i._setupEventHandlers(), i } return _inherits(n, Component), _createClass(n, [{ key: "destroy", value: function() { this._resetDropdownStyles(), this._removeEventHandlers(), n._dropdowns.splice(n._dropdowns.indexOf(this), 1), this.el.M_Dropdown = void 0 } }, { key: "_setupEventHandlers", value: function() { this.el.addEventListener("keydown", this._handleTriggerKeydownBound), this.dropdownEl.addEventListener("click", this._handleDropdownClickBound), this.options.hover ? (this._handleMouseEnterBound = this._handleMouseEnter.bind(this), this.el.addEventListener("mouseenter", this._handleMouseEnterBound), this._handleMouseLeaveBound = this._handleMouseLeave.bind(this), this.el.addEventListener("mouseleave", this._handleMouseLeaveBound), this.dropdownEl.addEventListener("mouseleave", this._handleMouseLeaveBound)) : (this._handleClickBound = this._handleClick.bind(this), this.el.addEventListener("click", this._handleClickBound)) } }, { key: "_removeEventHandlers", value: function() { this.el.removeEventListener("keydown", this._handleTriggerKeydownBound), this.dropdownEl.removeEventListener("click", this._handleDropdownClickBound), this.options.hover ? (this.el.removeEventListener("mouseenter", this._handleMouseEnterBound), this.el.removeEventListener("mouseleave", this._handleMouseLeaveBound), this.dropdownEl.removeEventListener("mouseleave", this._handleMouseLeaveBound)) : this.el.removeEventListener("click", this._handleClickBound) } }, { key: "_setupTemporaryEventHandlers", value: function() { document.body.addEventListener("click", this._handleDocumentClickBound, !0), document.body.addEventListener("touchend", this._handleDocumentClickBound), document.body.addEventListener("touchmove", this._handleDocumentTouchmoveBound), this.dropdownEl.addEventListener("keydown", this._handleDropdownKeydownBound) } }, { key: "_removeTemporaryEventHandlers", value: function() { document.body.removeEventListener("click", this._handleDocumentClickBound, !0), document.body.removeEventListener("touchend", this._handleDocumentClickBound), document.body.removeEventListener("touchmove", this._handleDocumentTouchmoveBound), this.dropdownEl.removeEventListener("keydown", this._handleDropdownKeydownBound) } }, { key: "_handleClick", value: function(t) { t.preventDefault(), this.open() } }, { key: "_handleMouseEnter", value: function() { this.open() } }, { key: "_handleMouseLeave", value: function(t) { var e = t.toElement || t.relatedTarget, i = !!h(e).closest(".dropdown-content").length, n = !1, s = h(e).closest(".dropdown-trigger"); s.length && s[0].M_Dropdown && s[0].M_Dropdown.isOpen && (n = !0), n || i || this.close() } }, { key: "_handleDocumentClick", value: function(t) { var e = this, i = h(t.target); this.options.closeOnClick && i.closest(".dropdown-content").length && !this.isTouchMoving ? setTimeout(function() { e.close() }, 0) : !i.closest(".dropdown-trigger").length && i.closest(".dropdown-content").length || setTimeout(function() { e.close() }, 0), this.isTouchMoving = !1 } }, { key: "_handleTriggerKeydown", value: function(t) { t.which !== M.keys.ARROW_DOWN && t.which !== M.keys.ENTER || this.isOpen || (t.preventDefault(), this.open()) } }, { key: "_handleDocumentTouchmove", value: function(t) { h(t.target).closest(".dropdown-content").length && (this.isTouchMoving = !0) } }, { key: "_handleDropdownClick", value: function(t) { if ("function" == typeof this.options.onItemClick) { var e = h(t.target).closest("li")[0]; this.options.onItemClick.call(this, e) } } }, { key: "_handleDropdownKeydown", value: function(t) { if (t.which === M.keys.TAB) t.preventDefault(), this.close(); else if (t.which !== M.keys.ARROW_DOWN && t.which !== M.keys.ARROW_UP || !this.isOpen) if (t.which === M.keys.ENTER && this.isOpen) { var e = this.dropdownEl.children[this.focusedIndex], i = h(e).find("a, button").first(); i.length ? i[0].click() : e && e.click() } else t.which === M.keys.ESC && this.isOpen && (t.preventDefault(), this.close()); else { t.preventDefault(); var n = t.which === M.keys.ARROW_DOWN ? 1 : -1, s = this.focusedIndex, o = !1; do { if (s += n, this.dropdownEl.children[s] && -1 !== this.dropdownEl.children[s].tabIndex) { o = !0; break } } while (s < this.dropdownEl.children.length && 0 <= s); o && (this.focusedIndex = s, this._focusFocusedItem()) } var a = String.fromCharCode(t.which).toLowerCase(); if (a && -1 === [9, 13, 27, 38, 40].indexOf(t.which)) { this.filterQuery.push(a); var r = this.filterQuery.join(""), l = h(this.dropdownEl).find("li").filter(function(t) { return 0 === h(t).text().toLowerCase().indexOf(r) })[0]; l && (this.focusedIndex = h(l).index(), this._focusFocusedItem()) } this.filterTimeout = setTimeout(this._resetFilterQueryBound, 1e3) } }, { key: "_resetFilterQuery", value: function() { this.filterQuery = [] } }, { key: "_resetDropdownStyles", value: function() { this.$dropdownEl.css({ display: "", width: "", height: "", left: "", top: "", "transform-origin": "", transform: "", opacity: "" }) } }, { key: "_makeDropdownFocusable", value: function() { this.dropdownEl.tabIndex = 0, h(this.dropdownEl).children().each(function(t) { t.getAttribute("tabindex") || t.setAttribute("tabindex", 0) }) } }, { key: "_focusFocusedItem", value: function() { 0 <= this.focusedIndex && this.focusedIndex < this.dropdownEl.children.length && this.options.autoFocus && this.dropdownEl.children[this.focusedIndex].focus() } }, { key: "_getDropdownPosition", value: function() { this.el.offsetParent.getBoundingClientRect(); var t = this.el.getBoundingClientRect(), e = this.dropdownEl.getBoundingClientRect(), i = e.height, n = e.width, s = t.left - e.left, o = t.top - e.top, a = { left: s, top: o, height: i, width: n }, r = this.dropdownEl.offsetParent ? this.dropdownEl.offsetParent : this.dropdownEl.parentNode, l = M.checkPossibleAlignments(this.el, r, a, this.options.coverTrigger ? 0 : t.height), h = "top", d = this.options.alignment; if (o += this.options.coverTrigger ? 0 : t.height, this.isScrollable = !1, l.top || (l.bottom ? h = "bottom" : (this.isScrollable = !0, l.spaceOnTop > l.spaceOnBottom ? (h = "bottom", i += l.spaceOnTop, o -= l.spaceOnTop) : i += l.spaceOnBottom)), !l[d]) { var u = "left" === d ? "right" : "left"; l[u] ? d = u : l.spaceOnLeft > l.spaceOnRight ? (d = "right", n += l.spaceOnLeft, s -= l.spaceOnLeft) : (d = "left", n += l.spaceOnRight) } return "bottom" === h && (o = o - e.height + (this.options.coverTrigger ? t.height : 0)), "right" === d && (s = s - e.width + t.width), { x: s, y: o, verticalAlignment: h, horizontalAlignment: d, height: i, width: n } } }, { key: "_animateIn", value: function() { var e = this; i.remove(this.dropdownEl), i({ targets: this.dropdownEl, opacity: { value: [0, 1], easing: "easeOutQuad" }, scaleX: [.3, 1], scaleY: [.3, 1], duration: this.options.inDuration, easing: "easeOutQuint", complete: function(t) { e.options.autoFocus && e.dropdownEl.focus(), "function" == typeof e.options.onOpenEnd && e.options.onOpenEnd.call(e, e.el) } }) } }, { key: "_animateOut", value: function() { var e = this; i.remove(this.dropdownEl), i({ targets: this.dropdownEl, opacity: { value: 0, easing: "easeOutQuint" }, scaleX: .3, scaleY: .3, duration: this.options.outDuration, easing: "easeOutQuint", complete: function(t) { e._resetDropdownStyles(), "function" == typeof e.options.onCloseEnd && e.options.onCloseEnd.call(e, e.el) } }) } }, { key: "_placeDropdown", value: function() { var t = this.options.constrainWidth ? this.el.getBoundingClientRect().width : this.dropdownEl.getBoundingClientRect().width; this.dropdownEl.style.width = t + "px"; var e = this._getDropdownPosition(); this.dropdownEl.style.left = e.x + "px", this.dropdownEl.style.top = e.y + "px", this.dropdownEl.style.height = e.height + "px", this.dropdownEl.style.width = e.width + "px", this.dropdownEl.style.transformOrigin = ("left" === e.horizontalAlignment ? "0" : "100%") + " " + ("top" === e.verticalAlignment ? "0" : "100%") } }, { key: "open", value: function() { this.isOpen || (this.isOpen = !0, "function" == typeof this.options.onOpenStart && this.options.onOpenStart.call(this, this.el), this._resetDropdownStyles(), this.dropdownEl.style.display = "block", this._placeDropdown(), this._animateIn(), this._setupTemporaryEventHandlers()) } }, { key: "close", value: function() { this.isOpen && (this.isOpen = !1, this.focusedIndex = -1, "function" == typeof this.options.onCloseStart && this.options.onCloseStart.call(this, this.el), this._animateOut(), this._removeTemporaryEventHandlers(), this.options.autoFocus && this.el.focus()) } }, { key: "recalculateDimensions", value: function() { this.isOpen && (this.$dropdownEl.css({ width: "", height: "", left: "", top: "", "transform-origin": "" }), this._placeDropdown()) } }], [{ key: "init", value: function(t, e) { return _get(n.__proto__ || Object.getPrototypeOf(n), "init", this).call(this, this, t, e) } }, { key: "getInstance", value: function(t) { return (t.jquery ? t[0] : t).M_Dropdown } }, { key: "defaults", get: function() { return e } }]), n }(); t._dropdowns = [], M.Dropdown = t, M.jQueryLoaded && M.initializeJqueryWrapper(t, "dropdown", "M_Dropdown") }(cash, M.anime), function(s, i) { "use strict"; var e = { opacity: .5, inDuration: 250, outDuration: 250, onOpenStart: null, onOpenEnd: null, onCloseStart: null, onCloseEnd: null, preventScrolling: !0, dismissible: !0, startingTop: "4%", endingTop: "10%" }, t = function(t) { function n(t, e) { _classCallCheck(this, n); var i = _possibleConstructorReturn(this, (n.__proto__ || Object.getPrototypeOf(n)).call(this, n, t, e)); return (i.el.M_Modal = i).options = s.extend({}, n.defaults, e), i.isOpen = !1, i.id = i.$el.attr("id"), i._openingTrigger = void 0, i.$overlay = s('
'), i.el.tabIndex = 0, i._nthModalOpened = 0, n._count++, i._setupEventHandlers(), i } return _inherits(n, Component), _createClass(n, [{ key: "destroy", value: function() { n._count--, this._removeEventHandlers(), this.el.removeAttribute("style"), this.$overlay.remove(), this.el.M_Modal = void 0 } }, { key: "_setupEventHandlers", value: function() { this._handleOverlayClickBound = this._handleOverlayClick.bind(this), this._handleModalCloseClickBound = this._handleModalCloseClick.bind(this), 1 === n._count && document.body.addEventListener("click", this._handleTriggerClick), this.$overlay[0].addEventListener("click", this._handleOverlayClickBound), this.el.addEventListener("click", this._handleModalCloseClickBound) } }, { key: "_removeEventHandlers", value: function() { 0 === n._count && document.body.removeEventListener("click", this._handleTriggerClick), this.$overlay[0].removeEventListener("click", this._handleOverlayClickBound), this.el.removeEventListener("click", this._handleModalCloseClickBound) } }, { key: "_handleTriggerClick", value: function(t) { var e = s(t.target).closest(".modal-trigger"); if (e.length) { var i = M.getIdFromTrigger(e[0]), n = document.getElementById(i).M_Modal; n && n.open(e), t.preventDefault() } } }, { key: "_handleOverlayClick", value: function() { this.options.dismissible && this.close() } }, { key: "_handleModalCloseClick", value: function(t) { s(t.target).closest(".modal-close").length && this.close() } }, { key: "_handleKeydown", value: function(t) { 27 === t.keyCode && this.options.dismissible && this.close() } }, { key: "_handleFocus", value: function(t) { this.el.contains(t.target) || this._nthModalOpened !== n._modalsOpen || this.el.focus() } }, { key: "_animateIn", value: function() { var t = this; s.extend(this.el.style, { display: "block", opacity: 0 }), s.extend(this.$overlay[0].style, { display: "block", opacity: 0 }), i({ targets: this.$overlay[0], opacity: this.options.opacity, duration: this.options.inDuration, easing: "easeOutQuad" }); var e = { targets: this.el, duration: this.options.inDuration, easing: "easeOutCubic", complete: function() { "function" == typeof t.options.onOpenEnd && t.options.onOpenEnd.call(t, t.el, t._openingTrigger) } }; this.el.classList.contains("bottom-sheet") ? s.extend(e, { bottom: 0, opacity: 1 }) : s.extend(e, { top: [this.options.startingTop, this.options.endingTop], opacity: 1, scaleX: [.8, 1], scaleY: [.8, 1] }), i(e) } }, { key: "_animateOut", value: function() { var t = this; i({ targets: this.$overlay[0], opacity: 0, duration: this.options.outDuration, easing: "easeOutQuart" }); var e = { targets: this.el, duration: this.options.outDuration, easing: "easeOutCubic", complete: function() { t.el.style.display = "none", t.$overlay.remove(), "function" == typeof t.options.onCloseEnd && t.options.onCloseEnd.call(t, t.el) } }; this.el.classList.contains("bottom-sheet") ? s.extend(e, { bottom: "-100%", opacity: 0 }) : s.extend(e, { top: [this.options.endingTop, this.options.startingTop], opacity: 0, scaleX: .8, scaleY: .8 }), i(e) } }, { key: "open", value: function(t) { if (!this.isOpen) return this.isOpen = !0, n._modalsOpen++, this._nthModalOpened = n._modalsOpen, this.$overlay[0].style.zIndex = 1e3 + 2 * n._modalsOpen, this.el.style.zIndex = 1e3 + 2 * n._modalsOpen + 1, this._openingTrigger = t ? t[0] : void 0, "function" == typeof this.options.onOpenStart && this.options.onOpenStart.call(this, this.el, this._openingTrigger), this.options.preventScrolling && (document.body.style.overflow = "hidden"), this.el.classList.add("open"), this.el.insertAdjacentElement("afterend", this.$overlay[0]), this.options.dismissible && (this._handleKeydownBound = this._handleKeydown.bind(this), this._handleFocusBound = this._handleFocus.bind(this), document.addEventListener("keydown", this._handleKeydownBound), document.addEventListener("focus", this._handleFocusBound, !0)), i.remove(this.el), i.remove(this.$overlay[0]), this._animateIn(), this.el.focus(), this } }, { key: "close", value: function() { if (this.isOpen) return this.isOpen = !1, n._modalsOpen--, this._nthModalOpened = 0, "function" == typeof this.options.onCloseStart && this.options.onCloseStart.call(this, this.el), this.el.classList.remove("open"), 0 === n._modalsOpen && (document.body.style.overflow = ""), this.options.dismissible && (document.removeEventListener("keydown", this._handleKeydownBound), document.removeEventListener("focus", this._handleFocusBound, !0)), i.remove(this.el), i.remove(this.$overlay[0]), this._animateOut(), this } }], [{ key: "init", value: function(t, e) { return _get(n.__proto__ || Object.getPrototypeOf(n), "init", this).call(this, this, t, e) } }, { key: "getInstance", value: function(t) { return (t.jquery ? t[0] : t).M_Modal } }, { key: "defaults", get: function() { return e } }]), n }(); t._modalsOpen = 0, t._count = 0, M.Modal = t, M.jQueryLoaded && M.initializeJqueryWrapper(t, "modal", "M_Modal") }(cash, M.anime), function(o, a) { "use strict"; var e = { inDuration: 275, outDuration: 200, onOpenStart: null, onOpenEnd: null, onCloseStart: null, onCloseEnd: null }, t = function(t) { function n(t, e) { _classCallCheck(this, n); var i = _possibleConstructorReturn(this, (n.__proto__ || Object.getPrototypeOf(n)).call(this, n, t, e)); return (i.el.M_Materialbox = i).options = o.extend({}, n.defaults, e), i.overlayActive = !1, i.doneAnimating = !0, i.placeholder = o("").addClass("material-placeholder"), i.originalWidth = 0, i.originalHeight = 0, i.originInlineStyles = i.$el.attr("style"), i.caption = i.el.getAttribute("data-caption") || "", i.$el.before(i.placeholder), i.placeholder.append(i.$el), i._setupEventHandlers(), i } return _inherits(n, Component), _createClass(n, [{ key: "destroy", value: function() { this._removeEventHandlers(), this.el.M_Materialbox = void 0, o(this.placeholder).after(this.el).remove(), this.$el.removeAttr("style") } }, { key: "_setupEventHandlers", value: function() { this._handleMaterialboxClickBound = this._handleMaterialboxClick.bind(this), this.el.addEventListener("click", this._handleMaterialboxClickBound) } }, { key: "_removeEventHandlers", value: function() { this.el.removeEventListener("click", this._handleMaterialboxClickBound) } }, { key: "_handleMaterialboxClick", value: function(t) { !1 === this.doneAnimating || this.overlayActive && this.doneAnimating ? this.close() : this.open() } }, { key: "_handleWindowScroll", value: function() { this.overlayActive && this.close() } }, { key: "_handleWindowResize", value: function() { this.overlayActive && this.close() } }, { key: "_handleWindowEscape", value: function(t) { 27 === t.keyCode && this.doneAnimating && this.overlayActive && this.close() } }, { key: "_makeAncestorsOverflowVisible", value: function() { this.ancestorsChanged = o(); for (var t = this.placeholder[0].parentNode; null !== t && !o(t).is(document);) { var e = o(t); "visible" !== e.css("overflow") && (e.css("overflow", "visible"), void 0 === this.ancestorsChanged ? this.ancestorsChanged = e : this.ancestorsChanged = this.ancestorsChanged.add(e)), t = t.parentNode } } }, { key: "_animateImageIn", value: function() { var t = this, e = { targets: this.el, height: [this.originalHeight, this.newHeight], width: [this.originalWidth, this.newWidth], left: M.getDocumentScrollLeft() + this.windowWidth / 2 - this.placeholder.offset().left - this.newWidth / 2, top: M.getDocumentScrollTop() + this.windowHeight / 2 - this.placeholder.offset().top - this.newHeight / 2, duration: this.options.inDuration, easing: "easeOutQuad", complete: function() { t.doneAnimating = !0, "function" == typeof t.options.onOpenEnd && t.options.onOpenEnd.call(t, t.el) } }; this.maxWidth = this.$el.css("max-width"), this.maxHeight = this.$el.css("max-height"), "none" !== this.maxWidth && (e.maxWidth = this.newWidth), "none" !== this.maxHeight && (e.maxHeight = this.newHeight), a(e) } }, { key: "_animateImageOut", value: function() { var t = this, e = { targets: this.el, width: this.originalWidth, height: this.originalHeight, left: 0, top: 0, duration: this.options.outDuration, easing: "easeOutQuad", complete: function() { t.placeholder.css({ height: "", width: "", position: "", top: "", left: "" }), t.attrWidth && t.$el.attr("width", t.attrWidth), t.attrHeight && t.$el.attr("height", t.attrHeight), t.$el.removeAttr("style"), t.originInlineStyles && t.$el.attr("style", t.originInlineStyles), t.$el.removeClass("active"), t.doneAnimating = !0, t.ancestorsChanged.length && t.ancestorsChanged.css("overflow", ""), "function" == typeof t.options.onCloseEnd && t.options.onCloseEnd.call(t, t.el) } }; a(e) } }, { key: "_updateVars", value: function() { this.windowWidth = window.innerWidth, this.windowHeight = window.innerHeight, this.caption = this.el.getAttribute("data-caption") || "" } }, { key: "open", value: function() { var t = this; this._updateVars(), this.originalWidth = this.el.getBoundingClientRect().width, this.originalHeight = this.el.getBoundingClientRect().height, this.doneAnimating = !1, this.$el.addClass("active"), this.overlayActive = !0, "function" == typeof this.options.onOpenStart && this.options.onOpenStart.call(this, this.el), this.placeholder.css({ width: this.placeholder[0].getBoundingClientRect().width + "px", height: this.placeholder[0].getBoundingClientRect().height + "px", position: "relative", top: 0, left: 0 }), this._makeAncestorsOverflowVisible(), this.$el.css({ position: "absolute", "z-index": 1e3, "will-change": "left, top, width, height" }), this.attrWidth = this.$el.attr("width"), this.attrHeight = this.$el.attr("height"), this.attrWidth && (this.$el.css("width", this.attrWidth + "px"), this.$el.removeAttr("width")), this.attrHeight && (this.$el.css("width", this.attrHeight + "px"), this.$el.removeAttr("height")), this.$overlay = o('').css({ opacity: 0 }).one("click", function() { t.doneAnimating && t.close() }), this.$el.before(this.$overlay); var e = this.$overlay[0].getBoundingClientRect(); this.$overlay.css({ width: this.windowWidth + "px", height: this.windowHeight + "px", left: -1 * e.left + "px", top: -1 * e.top + "px" }), a.remove(this.el), a.remove(this.$overlay[0]), a({ targets: this.$overlay[0], opacity: 1, duration: this.options.inDuration, easing: "easeOutQuad" }), "" !== this.caption && (this.$photocaption && a.remove(this.$photoCaption[0]), this.$photoCaption = o(''), this.$photoCaption.text(this.caption), o("body").append(this.$photoCaption), this.$photoCaption.css({ display: "inline" }), a({ targets: this.$photoCaption[0], opacity: 1, duration: this.options.inDuration, easing: "easeOutQuad" })); var i = 0, n = this.originalWidth / this.windowWidth, s = this.originalHeight / this.windowHeight; this.newWidth = 0, this.newHeight = 0, s < n ? (i = this.originalHeight / this.originalWidth, this.newWidth = .9 * this.windowWidth, this.newHeight = .9 * this.windowWidth * i) : (i = this.originalWidth / this.originalHeight, this.newWidth = .9 * this.windowHeight * i, this.newHeight = .9 * this.windowHeight), this._animateImageIn(), this._handleWindowScrollBound = this._handleWindowScroll.bind(this), this._handleWindowResizeBound = this._handleWindowResize.bind(this), this._handleWindowEscapeBound = this._handleWindowEscape.bind(this), window.addEventListener("scroll", this._handleWindowScrollBound), window.addEventListener("resize", this._handleWindowResizeBound), window.addEventListener("keyup", this._handleWindowEscapeBound) } }, { key: "close", value: function() { var t = this; this._updateVars(), this.doneAnimating = !1, "function" == typeof this.options.onCloseStart && this.options.onCloseStart.call(this, this.el), a.remove(this.el), a.remove(this.$overlay[0]), "" !== this.caption && a.remove(this.$photoCaption[0]), window.removeEventListener("scroll", this._handleWindowScrollBound), window.removeEventListener("resize", this._handleWindowResizeBound), window.removeEventListener("keyup", this._handleWindowEscapeBound), a({ targets: this.$overlay[0], opacity: 0, duration: this.options.outDuration, easing: "easeOutQuad", complete: function() { t.overlayActive = !1, t.$overlay.remove() } }), this._animateImageOut(), "" !== this.caption && a({ targets: this.$photoCaption[0], opacity: 0, duration: this.options.outDuration, easing: "easeOutQuad", complete: function() { t.$photoCaption.remove() } }) } }], [{ key: "init", value: function(t, e) { return _get(n.__proto__ || Object.getPrototypeOf(n), "init", this).call(this, this, t, e) } }, { key: "getInstance", value: function(t) { return (t.jquery ? t[0] : t).M_Materialbox } }, { key: "defaults", get: function() { return e } }]), n }(); M.Materialbox = t, M.jQueryLoaded && M.initializeJqueryWrapper(t, "materialbox", "M_Materialbox") }(cash, M.anime), function(s) { "use strict"; var e = { responsiveThreshold: 0 }, t = function(t) { function n(t, e) { _classCallCheck(this, n); var i = _possibleConstructorReturn(this, (n.__proto__ || Object.getPrototypeOf(n)).call(this, n, t, e)); return (i.el.M_Parallax = i).options = s.extend({}, n.defaults, e), i._enabled = window.innerWidth > i.options.responsiveThreshold, i.$img = i.$el.find("img").first(), i.$img.each(function() { this.complete && s(this).trigger("load") }), i._updateParallax(), i._setupEventHandlers(), i._setupStyles(), n._parallaxes.push(i), i } return _inherits(n, Component), _createClass(n, [{ key: "destroy", value: function() { n._parallaxes.splice(n._parallaxes.indexOf(this), 1), this.$img[0].style.transform = "", this._removeEventHandlers(), this.$el[0].M_Parallax = void 0 } }, { key: "_setupEventHandlers", value: function() { this._handleImageLoadBound = this._handleImageLoad.bind(this), this.$img[0].addEventListener("load", this._handleImageLoadBound), 0 === n._parallaxes.length && (n._handleScrollThrottled = M.throttle(n._handleScroll, 5), window.addEventListener("scroll", n._handleScrollThrottled), n._handleWindowResizeThrottled = M.throttle(n._handleWindowResize, 5), window.addEventListener("resize", n._handleWindowResizeThrottled)) } }, { key: "_removeEventHandlers", value: function() { this.$img[0].removeEventListener("load", this._handleImageLoadBound), 0 === n._parallaxes.length && (window.removeEventListener("scroll", n._handleScrollThrottled), window.removeEventListener("resize", n._handleWindowResizeThrottled)) } }, { key: "_setupStyles", value: function() { this.$img[0].style.opacity = 1 } }, { key: "_handleImageLoad", value: function() { this._updateParallax() } }, { key: "_updateParallax", value: function() { var t = 0 < this.$el.height() ? this.el.parentNode.offsetHeight : 500, e = this.$img[0].offsetHeight - t, i = this.$el.offset().top + t, n = this.$el.offset().top, s = M.getDocumentScrollTop(), o = window.innerHeight, a = e * ((s + o - n) / (t + o)); this._enabled ? s < i && n < s + o && (this.$img[0].style.transform = "translate3D(-50%, " + a + "px, 0)") : this.$img[0].style.transform = "" } }], [{ key: "init", value: function(t, e) { return _get(n.__proto__ || Object.getPrototypeOf(n), "init", this).call(this, this, t, e) } }, { key: "getInstance", value: function(t) { return (t.jquery ? t[0] : t).M_Parallax } }, { key: "_handleScroll", value: function() { for (var t = 0; t < n._parallaxes.length; t++) { var e = n._parallaxes[t]; e._updateParallax.call(e) } } }, { key: "_handleWindowResize", value: function() { for (var t = 0; t < n._parallaxes.length; t++) { var e = n._parallaxes[t]; e._enabled = window.innerWidth > e.options.responsiveThreshold } } }, { key: "defaults", get: function() { return e } }]), n }(); t._parallaxes = [], M.Parallax = t, M.jQueryLoaded && M.initializeJqueryWrapper(t, "parallax", "M_Parallax") }(cash), function(a, s) { "use strict"; var e = { duration: 300, onShow: null, swipeable: !1, responsiveThreshold: 1 / 0 }, t = function(t) { function n(t, e) { _classCallCheck(this, n); var i = _possibleConstructorReturn(this, (n.__proto__ || Object.getPrototypeOf(n)).call(this, n, t, e)); return (i.el.M_Tabs = i).options = a.extend({}, n.defaults, e), i.$tabLinks = i.$el.children("li.tab").children("a"), i.index = 0, i._setupActiveTabLink(), i.options.swipeable ? i._setupSwipeableTabs() : i._setupNormalTabs(), i._setTabsAndTabWidth(), i._createIndicator(), i._setupEventHandlers(), i } return _inherits(n, Component), _createClass(n, [{ key: "destroy", value: function() { this._removeEventHandlers(), this._indicator.parentNode.removeChild(this._indicator), this.options.swipeable ? this._teardownSwipeableTabs() : this._teardownNormalTabs(), this.$el[0].M_Tabs = void 0 } }, { key: "_setupEventHandlers", value: function() { this._handleWindowResizeBound = this._handleWindowResize.bind(this), window.addEventListener("resize", this._handleWindowResizeBound), this._handleTabClickBound = this._handleTabClick.bind(this), this.el.addEventListener("click", this._handleTabClickBound) } }, { key: "_removeEventHandlers", value: function() { window.removeEventListener("resize", this._handleWindowResizeBound), this.el.removeEventListener("click", this._handleTabClickBound) } }, { key: "_handleWindowResize", value: function() { this._setTabsAndTabWidth(), 0 !== this.tabWidth && 0 !== this.tabsWidth && (this._indicator.style.left = this._calcLeftPos(this.$activeTabLink) + "px", this._indicator.style.right = this._calcRightPos(this.$activeTabLink) + "px") } }, { key: "_handleTabClick", value: function(t) { var e = this, i = a(t.target).closest("li.tab"), n = a(t.target).closest("a"); if (n.length && n.parent().hasClass("tab")) if (i.hasClass("disabled")) t.preventDefault(); else if (!n.attr("target")) { this.$activeTabLink.removeClass("active"); var s = this.$content; this.$activeTabLink = n, this.$content = a(M.escapeHash(n[0].hash)), this.$tabLinks = this.$el.children("li.tab").children("a"), this.$activeTabLink.addClass("active"); var o = this.index; this.index = Math.max(this.$tabLinks.index(n), 0), this.options.swipeable ? this._tabsCarousel && this._tabsCarousel.set(this.index, function() { "function" == typeof e.options.onShow && e.options.onShow.call(e, e.$content[0]) }) : this.$content.length && (this.$content[0].style.display = "block", this.$content.addClass("active"), "function" == typeof this.options.onShow && this.options.onShow.call(this, this.$content[0]), s.length && !s.is(this.$content) && (s[0].style.display = "none", s.removeClass("active"))), this._setTabsAndTabWidth(), this._animateIndicator(o), t.preventDefault() } } }, { key: "_createIndicator", value: function() { var t = this, e = document.createElement("li"); e.classList.add("indicator"), this.el.appendChild(e), this._indicator = e, setTimeout(function() { t._indicator.style.left = t._calcLeftPos(t.$activeTabLink) + "px", t._indicator.style.right = t._calcRightPos(t.$activeTabLink) + "px" }, 0) } }, { key: "_setupActiveTabLink", value: function() { this.$activeTabLink = a(this.$tabLinks.filter('[href="' + location.hash + '"]')), 0 === this.$activeTabLink.length && (this.$activeTabLink = this.$el.children("li.tab").children("a.active").first()), 0 === this.$activeTabLink.length && (this.$activeTabLink = this.$el.children("li.tab").children("a").first()), this.$tabLinks.removeClass("active"), this.$activeTabLink[0].classList.add("active"), this.index = Math.max(this.$tabLinks.index(this.$activeTabLink), 0), this.$activeTabLink.length && (this.$content = a(M.escapeHash(this.$activeTabLink[0].hash)), this.$content.addClass("active")) } }, { key: "_setupSwipeableTabs", value: function() { var i = this; window.innerWidth > this.options.responsiveThreshold && (this.options.swipeable = !1); var n = a(); this.$tabLinks.each(function(t) { var e = a(M.escapeHash(t.hash)); e.addClass("carousel-item"), n = n.add(e) }); var t = a(''); n.first().before(t), t.append(n), n[0].style.display = ""; var e = this.$activeTabLink.closest(".tab").index(); this._tabsCarousel = M.Carousel.init(t[0], { fullWidth: !0, noWrap: !0, onCycleTo: function(t) { var e = i.index; i.index = a(t).index(), i.$activeTabLink.removeClass("active"), i.$activeTabLink = i.$tabLinks.eq(i.index), i.$activeTabLink.addClass("active"), i._animateIndicator(e), "function" == typeof i.options.onShow && i.options.onShow.call(i, i.$content[0]) } }), this._tabsCarousel.set(e) } }, { key: "_teardownSwipeableTabs", value: function() { var t = this._tabsCarousel.$el; this._tabsCarousel.destroy(), t.after(t.children()), t.remove() } }, { key: "_setupNormalTabs", value: function() { this.$tabLinks.not(this.$activeTabLink).each(function(t) { if (t.hash) { var e = a(M.escapeHash(t.hash)); e.length && (e[0].style.display = "none") } }) } }, { key: "_teardownNormalTabs", value: function() { this.$tabLinks.each(function(t) { if (t.hash) { var e = a(M.escapeHash(t.hash)); e.length && (e[0].style.display = "") } }) } }, { key: "_setTabsAndTabWidth", value: function() { this.tabsWidth = this.$el.width(), this.tabWidth = Math.max(this.tabsWidth, this.el.scrollWidth) / this.$tabLinks.length } }, { key: "_calcRightPos", value: function(t) { return Math.ceil(this.tabsWidth - t.position().left - t[0].getBoundingClientRect().width) } }, { key: "_calcLeftPos", value: function(t) { return Math.floor(t.position().left) } }, { key: "updateTabIndicator", value: function() { this._setTabsAndTabWidth(), this._animateIndicator(this.index) } }, { key: "_animateIndicator", value: function(t) { var e = 0, i = 0; 0 <= this.index - t ? e = 90 : i = 90; var n = { targets: this._indicator, left: { value: this._calcLeftPos(this.$activeTabLink), delay: e }, right: { value: this._calcRightPos(this.$activeTabLink), delay: i }, duration: this.options.duration, easing: "easeOutQuad" }; s.remove(this._indicator), s(n) } }, { key: "select", value: function(t) { var e = this.$tabLinks.filter('[href="#' + t + '"]'); e.length && e.trigger("click") } }], [{ key: "init", value: function(t, e) { return _get(n.__proto__ || Object.getPrototypeOf(n), "init", this).call(this, this, t, e) } }, { key: "getInstance", value: function(t) { return (t.jquery ? t[0] : t).M_Tabs } }, { key: "defaults", get: function() { return e } }]), n }(); M.Tabs = t, M.jQueryLoaded && M.initializeJqueryWrapper(t, "tabs", "M_Tabs") }(cash, M.anime), function(d, e) { "use strict"; var i = { exitDelay: 200, enterDelay: 0, html: null, margin: 5, inDuration: 250, outDuration: 200, position: "bottom", transitionMovement: 10 }, t = function(t) { function n(t, e) { _classCallCheck(this, n); var i = _possibleConstructorReturn(this, (n.__proto__ || Object.getPrototypeOf(n)).call(this, n, t, e)); return (i.el.M_Tooltip = i).options = d.extend({}, n.defaults, e), i.isOpen = !1, i.isHovered = !1, i.isFocused = !1, i._appendTooltipEl(), i._setupEventHandlers(), i } return _inherits(n, Component), _createClass(n, [{ key: "destroy", value: function() { d(this.tooltipEl).remove(), this._removeEventHandlers(), this.el.M_Tooltip = void 0 } }, { key: "_appendTooltipEl", value: function() { var t = document.createElement("div"); t.classList.add("material-tooltip"), this.tooltipEl = t; var e = document.createElement("div"); e.classList.add("tooltip-content"), e.innerHTML = this.options.html, t.appendChild(e), document.body.appendChild(t) } }, { key: "_updateTooltipContent", value: function() { this.tooltipEl.querySelector(".tooltip-content").innerHTML = this.options.html } }, { key: "_setupEventHandlers", value: function() { this._handleMouseEnterBound = this._handleMouseEnter.bind(this), this._handleMouseLeaveBound = this._handleMouseLeave.bind(this), this._handleFocusBound = this._handleFocus.bind(this), this._handleBlurBound = this._handleBlur.bind(this), this.el.addEventListener("mouseenter", this._handleMouseEnterBound), this.el.addEventListener("mouseleave", this._handleMouseLeaveBound), this.el.addEventListener("focus", this._handleFocusBound, !0), this.el.addEventListener("blur", this._handleBlurBound, !0) } }, { key: "_removeEventHandlers", value: function() { this.el.removeEventListener("mouseenter", this._handleMouseEnterBound), this.el.removeEventListener("mouseleave", this._handleMouseLeaveBound), this.el.removeEventListener("focus", this._handleFocusBound, !0), this.el.removeEventListener("blur", this._handleBlurBound, !0) } }, { key: "open", value: function(t) { this.isOpen || (t = void 0 === t || void 0, this.isOpen = !0, this.options = d.extend({}, this.options, this._getAttributeOptions()), this._updateTooltipContent(), this._setEnterDelayTimeout(t)) } }, { key: "close", value: function() { this.isOpen && (this.isHovered = !1, this.isFocused = !1, this.isOpen = !1, this._setExitDelayTimeout()) } }, { key: "_setExitDelayTimeout", value: function() { var t = this; clearTimeout(this._exitDelayTimeout), this._exitDelayTimeout = setTimeout(function() { t.isHovered || t.isFocused || t._animateOut() }, this.options.exitDelay) } }, { key: "_setEnterDelayTimeout", value: function(t) { var e = this; clearTimeout(this._enterDelayTimeout), this._enterDelayTimeout = setTimeout(function() { (e.isHovered || e.isFocused || t) && e._animateIn() }, this.options.enterDelay) } }, { key: "_positionTooltip", value: function() { var t, e = this.el, i = this.tooltipEl, n = e.offsetHeight, s = e.offsetWidth, o = i.offsetHeight, a = i.offsetWidth, r = this.options.margin, l = void 0, h = void 0; this.xMovement = 0, this.yMovement = 0, l = e.getBoundingClientRect().top + M.getDocumentScrollTop(), h = e.getBoundingClientRect().left + M.getDocumentScrollLeft(), "top" === this.options.position ? (l += -o - r, h += s / 2 - a / 2, this.yMovement = -this.options.transitionMovement) : "right" === this.options.position ? (l += n / 2 - o / 2, h += s + r, this.xMovement = this.options.transitionMovement) : "left" === this.options.position ? (l += n / 2 - o / 2, h += -a - r, this.xMovement = -this.options.transitionMovement) : (l += n + r, h += s / 2 - a / 2, this.yMovement = this.options.transitionMovement), t = this._repositionWithinScreen(h, l, a, o), d(i).css({ top: t.y + "px", left: t.x + "px" }) } }, { key: "_repositionWithinScreen", value: function(t, e, i, n) { var s = M.getDocumentScrollLeft(), o = M.getDocumentScrollTop(), a = t - s, r = e - o, l = { left: a, top: r, width: i, height: n }, h = this.options.margin + this.options.transitionMovement, d = M.checkWithinContainer(document.body, l, h); return d.left ? a = h : d.right && (a -= a + i - window.innerWidth), d.top ? r = h : d.bottom && (r -= r + n - window.innerHeight), { x: a + s, y: r + o } } }, { key: "_animateIn", value: function() { this._positionTooltip(), this.tooltipEl.style.visibility = "visible", e.remove(this.tooltipEl), e({ targets: this.tooltipEl, opacity: 1, translateX: this.xMovement, translateY: this.yMovement, duration: this.options.inDuration, easing: "easeOutCubic" }) } }, { key: "_animateOut", value: function() { e.remove(this.tooltipEl), e({ targets: this.tooltipEl, opacity: 0, translateX: 0, translateY: 0, duration: this.options.outDuration, easing: "easeOutCubic" }) } }, { key: "_handleMouseEnter", value: function() { this.isHovered = !0, this.isFocused = !1, this.open(!1) } }, { key: "_handleMouseLeave", value: function() { this.isHovered = !1, this.isFocused = !1, this.close() } }, { key: "_handleFocus", value: function() { M.tabPressed && (this.isFocused = !0, this.open(!1)) } }, { key: "_handleBlur", value: function() { this.isFocused = !1, this.close() } }, { key: "_getAttributeOptions", value: function() { var t = {}, e = this.el.getAttribute("data-tooltip"), i = this.el.getAttribute("data-position"); return e && (t.html = e), i && (t.position = i), t } }], [{ key: "init", value: function(t, e) { return _get(n.__proto__ || Object.getPrototypeOf(n), "init", this).call(this, this, t, e) } }, { key: "getInstance", value: function(t) { return (t.jquery ? t[0] : t).M_Tooltip } }, { key: "defaults", get: function() { return i } }]), n }(); M.Tooltip = t, M.jQueryLoaded && M.initializeJqueryWrapper(t, "tooltip", "M_Tooltip") }(cash, M.anime), function(i) { "use strict"; var t = t || {}, e = document.querySelectorAll.bind(document); function m(t) { var e = ""; for (var i in t) t.hasOwnProperty(i) && (e += i + ":" + t[i] + ";"); return e } var g = { duration: 750, show: function(t, e) { if (2 === t.button) return !1; var i = e || this, n = document.createElement("div"); n.className = "waves-ripple", i.appendChild(n); var s, o, a, r, l, h, d, u = (h = { top: 0, left: 0 }, d = (s = i) && s.ownerDocument, o = d.documentElement, void 0 !== s.getBoundingClientRect && (h = s.getBoundingClientRect()), a = null !== (l = r = d) && l === l.window ? r : 9 === r.nodeType && r.defaultView, { top: h.top + a.pageYOffset - o.clientTop, left: h.left + a.pageXOffset - o.clientLeft }), c = t.pageY - u.top, p = t.pageX - u.left, v = "scale(" + i.clientWidth / 100 * 10 + ")"; "touches" in t && (c = t.touches[0].pageY - u.top, p = t.touches[0].pageX - u.left), n.setAttribute("data-hold", Date.now()), n.setAttribute("data-scale", v), n.setAttribute("data-x", p), n.setAttribute("data-y", c); var f = { top: c + "px", left: p + "px" }; n.className = n.className + " waves-notransition", n.setAttribute("style", m(f)), n.className = n.className.replace("waves-notransition", ""), f["-webkit-transform"] = v, f["-moz-transform"] = v, f["-ms-transform"] = v, f["-o-transform"] = v, f.transform = v, f.opacity = "1", f["-webkit-transition-duration"] = g.duration + "ms", f["-moz-transition-duration"] = g.duration + "ms", f["-o-transition-duration"] = g.duration + "ms", f["transition-duration"] = g.duration + "ms", f["-webkit-transition-timing-function"] = "cubic-bezier(0.250, 0.460, 0.450, 0.940)", f["-moz-transition-timing-function"] = "cubic-bezier(0.250, 0.460, 0.450, 0.940)", f["-o-transition-timing-function"] = "cubic-bezier(0.250, 0.460, 0.450, 0.940)", f["transition-timing-function"] = "cubic-bezier(0.250, 0.460, 0.450, 0.940)", n.setAttribute("style", m(f)) }, hide: function(t) { l.touchup(t); var e = this, i = (e.clientWidth, null), n = e.getElementsByClassName("waves-ripple"); if (!(0 < n.length)) return !1; var s = (i = n[n.length - 1]).getAttribute("data-x"), o = i.getAttribute("data-y"), a = i.getAttribute("data-scale"), r = 350 - (Date.now() - Number(i.getAttribute("data-hold"))); r < 0 && (r = 0), setTimeout(function() { var t = { top: o + "px", left: s + "px", opacity: "0", "-webkit-transition-duration": g.duration + "ms", "-moz-transition-duration": g.duration + "ms", "-o-transition-duration": g.duration + "ms", "transition-duration": g.duration + "ms", "-webkit-transform": a, "-moz-transform": a, "-ms-transform": a, "-o-transform": a, transform: a }; i.setAttribute("style", m(t)), setTimeout(function() { try { e.removeChild(i) } catch (t) { return !1 } }, g.duration) }, r) }, wrapInput: function(t) { for (var e = 0; e < t.length; e++) { var i = t[e]; if ("input" === i.tagName.toLowerCase()) { var n = i.parentNode; if ("i" === n.tagName.toLowerCase() && -1 !== n.className.indexOf("waves-effect")) continue; var s = document.createElement("i"); s.className = i.className + " waves-input-wrapper"; var o = i.getAttribute("style"); o || (o = ""), s.setAttribute("style", o), i.className = "waves-button-input", i.removeAttribute("style"), n.replaceChild(s, i), s.appendChild(i) } } } }, l = { touches: 0, allowEvent: function(t) { var e = !0; return "touchstart" === t.type ? l.touches += 1 : "touchend" === t.type || "touchcancel" === t.type ? setTimeout(function() { 0 < l.touches && (l.touches -= 1) }, 500) : "mousedown" === t.type && 0 < l.touches && (e = !1), e }, touchup: function(t) { l.allowEvent(t) } }; function n(t) { var e = function(t) { if (!1 === l.allowEvent(t)) return null; for (var e = null, i = t.target || t.srcElement; null !== i.parentNode;) { if (!(i instanceof SVGElement) && -1 !== i.className.indexOf("waves-effect")) { e = i; break } i = i.parentNode } return e }(t); null !== e && (g.show(t, e), "ontouchstart" in i && (e.addEventListener("touchend", g.hide, !1), e.addEventListener("touchcancel", g.hide, !1)), e.addEventListener("mouseup", g.hide, !1), e.addEventListener("mouseleave", g.hide, !1), e.addEventListener("dragend", g.hide, !1)) } t.displayEffect = function(t) { "duration" in (t = t || {}) && (g.duration = t.duration), g.wrapInput(e(".waves-effect")), "ontouchstart" in i && document.body.addEventListener("touchstart", n, !1), document.body.addEventListener("mousedown", n, !1) }, t.attach = function(t) { "input" === t.tagName.toLowerCase() && (g.wrapInput([t]), t = t.parentNode), "ontouchstart" in i && t.addEventListener("touchstart", n, !1), t.addEventListener("mousedown", n, !1) }, i.Waves = t, document.addEventListener("DOMContentLoaded", function() { t.displayEffect() }, !1) }(window), function(i, n) { "use strict"; var t = { html: "", displayLength: 4e3, inDuration: 300, outDuration: 375, classes: "", completeCallback: null, activationPercent: .8 }, e = function() { function s(t) { _classCallCheck(this, s), this.options = i.extend({}, s.defaults, t), this.message = this.options.html, this.panning = !1, this.timeRemaining = this.options.displayLength, 0 === s._toasts.length && s._createContainer(), s._toasts.push(this); var e = this._createToast(); (e.M_Toast = this).el = e, this.$el = i(e), this._animateIn(), this._setTimer() } return _createClass(s, [{ key: "_createToast", value: function() { var t = document.createElement("div"); return t.classList.add("toast"), this.options.classes.length && i(t).addClass(this.options.classes), ("object" == typeof HTMLElement ? this.message instanceof HTMLElement : this.message && "object" == typeof this.message && null !== this.message && 1 === this.message.nodeType && "string" == typeof this.message.nodeName) ? t.appendChild(this.message) : this.message.jquery ? i(t).append(this.message[0]) : t.innerHTML = this.message, s._container.appendChild(t), t } }, { key: "_animateIn", value: function() { n({ targets: this.el, top: 0, opacity: 1, duration: this.options.inDuration, easing: "easeOutCubic" }) } }, { key: "_setTimer", value: function() { var t = this; this.timeRemaining !== 1 / 0 && (this.counterInterval = setInterval(function() { t.panning || (t.timeRemaining -= 20), t.timeRemaining <= 0 && t.dismiss() }, 20)) } }, { key: "dismiss", value: function() { var t = this; window.clearInterval(this.counterInterval); var e = this.el.offsetWidth * this.options.activationPercent; this.wasSwiped && (this.el.style.transition = "transform .05s, opacity .05s", this.el.style.transform = "translateX(" + e + "px)", this.el.style.opacity = 0), n({ targets: this.el, opacity: 0, marginTop: -40, duration: this.options.outDuration, easing: "easeOutExpo", complete: function() { "function" == typeof t.options.completeCallback && t.options.completeCallback(), t.$el.remove(), s._toasts.splice(s._toasts.indexOf(t), 1), 0 === s._toasts.length && s._removeContainer() } }) } }], [{ key: "getInstance", value: function(t) { return (t.jquery ? t[0] : t).M_Toast } }, { key: "_createContainer", value: function() { var t = document.createElement("div"); t.setAttribute("id", "toast-container"), t.addEventListener("touchstart", s._onDragStart), t.addEventListener("touchmove", s._onDragMove), t.addEventListener("touchend", s._onDragEnd), t.addEventListener("mousedown", s._onDragStart), document.addEventListener("mousemove", s._onDragMove), document.addEventListener("mouseup", s._onDragEnd), document.body.appendChild(t), s._container = t } }, { key: "_removeContainer", value: function() { document.removeEventListener("mousemove", s._onDragMove), document.removeEventListener("mouseup", s._onDragEnd), i(s._container).remove(), s._container = null } }, { key: "_onDragStart", value: function(t) { if (t.target && i(t.target).closest(".toast").length) { var e = i(t.target).closest(".toast")[0].M_Toast; e.panning = !0, (s._draggedToast = e).el.classList.add("panning"), e.el.style.transition = "", e.startingXPos = s._xPos(t), e.time = Date.now(), e.xPos = s._xPos(t) } } }, { key: "_onDragMove", value: function(t) { if (s._draggedToast) { t.preventDefault(); var e = s._draggedToast; e.deltaX = Math.abs(e.xPos - s._xPos(t)), e.xPos = s._xPos(t), e.velocityX = e.deltaX / (Date.now() - e.time), e.time = Date.now(); var i = e.xPos - e.startingXPos, n = e.el.offsetWidth * e.options.activationPercent; e.el.style.transform = "translateX(" + i + "px)", e.el.style.opacity = 1 - Math.abs(i / n) } } }, { key: "_onDragEnd", value: function() { if (s._draggedToast) { var t = s._draggedToast; t.panning = !1, t.el.classList.remove("panning"); var e = t.xPos - t.startingXPos, i = t.el.offsetWidth * t.options.activationPercent; Math.abs(e) > i || 1 < t.velocityX ? (t.wasSwiped = !0, t.dismiss()) : (t.el.style.transition = "transform .2s, opacity .2s", t.el.style.transform = "", t.el.style.opacity = ""), s._draggedToast = null } } }, { key: "_xPos", value: function(t) { return t.targetTouches && 1 <= t.targetTouches.length ? t.targetTouches[0].clientX : t.clientX } }, { key: "dismissAll", value: function() { for (var t in s._toasts) s._toasts[t].dismiss() } }, { key: "defaults", get: function() { return t } }]), s }(); e._toasts = [], e._container = null, e._draggedToast = null, M.Toast = e, M.toast = function(t) { return new e(t) } }(cash, M.anime), function(s, o) { "use strict"; var e = { edge: "left", draggable: !0, inDuration: 250, outDuration: 200, onOpenStart: null, onOpenEnd: null, onCloseStart: null, onCloseEnd: null, preventScrolling: !0 }, t = function(t) { function n(t, e) { _classCallCheck(this, n); var i = _possibleConstructorReturn(this, (n.__proto__ || Object.getPrototypeOf(n)).call(this, n, t, e)); return (i.el.M_Sidenav = i).id = i.$el.attr("id"), i.options = s.extend({}, n.defaults, e), i.isOpen = !1, i.isFixed = i.el.classList.contains("sidenav-fixed"), i.isDragged = !1, i.lastWindowWidth = window.innerWidth, i.lastWindowHeight = window.innerHeight, i._createOverlay(), i._createDragTarget(), i._setupEventHandlers(), i._setupClasses(), i._setupFixed(), n._sidenavs.push(i), i } return _inherits(n, Component), _createClass(n, [{ key: "destroy", value: function() { this._removeEventHandlers(), this._enableBodyScrolling(), this._overlay.parentNode.removeChild(this._overlay), this.dragTarget.parentNode.removeChild(this.dragTarget), this.el.M_Sidenav = void 0, this.el.style.transform = ""; var t = n._sidenavs.indexOf(this); 0 <= t && n._sidenavs.splice(t, 1) } }, { key: "_createOverlay", value: function() { var t = document.createElement("div"); this._closeBound = this.close.bind(this), t.classList.add("sidenav-overlay"), t.addEventListener("click", this._closeBound), document.body.appendChild(t), this._overlay = t } }, { key: "_setupEventHandlers", value: function() { 0 === n._sidenavs.length && document.body.addEventListener("click", this._handleTriggerClick), this._handleDragTargetDragBound = this._handleDragTargetDrag.bind(this), this._handleDragTargetReleaseBound = this._handleDragTargetRelease.bind(this), this._handleCloseDragBound = this._handleCloseDrag.bind(this), this._handleCloseReleaseBound = this._handleCloseRelease.bind(this), this._handleCloseTriggerClickBound = this._handleCloseTriggerClick.bind(this), this.dragTarget.addEventListener("touchmove", this._handleDragTargetDragBound), this.dragTarget.addEventListener("touchend", this._handleDragTargetReleaseBound), this._overlay.addEventListener("touchmove", this._handleCloseDragBound), this._overlay.addEventListener("touchend", this._handleCloseReleaseBound), this.el.addEventListener("touchmove", this._handleCloseDragBound), this.el.addEventListener("touchend", this._handleCloseReleaseBound), this.el.addEventListener("click", this._handleCloseTriggerClickBound), this.isFixed && (this._handleWindowResizeBound = this._handleWindowResize.bind(this), window.addEventListener("resize", this._handleWindowResizeBound)) } }, { key: "_removeEventHandlers", value: function() { 1 === n._sidenavs.length && document.body.removeEventListener("click", this._handleTriggerClick), this.dragTarget.removeEventListener("touchmove", this._handleDragTargetDragBound), this.dragTarget.removeEventListener("touchend", this._handleDragTargetReleaseBound), this._overlay.removeEventListener("touchmove", this._handleCloseDragBound), this._overlay.removeEventListener("touchend", this._handleCloseReleaseBound), this.el.removeEventListener("touchmove", this._handleCloseDragBound), this.el.removeEventListener("touchend", this._handleCloseReleaseBound), this.el.removeEventListener("click", this._handleCloseTriggerClickBound), this.isFixed && window.removeEventListener("resize", this._handleWindowResizeBound) } }, { key: "_handleTriggerClick", value: function(t) { var e = s(t.target).closest(".sidenav-trigger"); if (t.target && e.length) { var i = M.getIdFromTrigger(e[0]), n = document.getElementById(i).M_Sidenav; n && n.open(e), t.preventDefault() } } }, { key: "_startDrag", value: function(t) { var e = t.targetTouches[0].clientX; this.isDragged = !0, this._startingXpos = e, this._xPos = this._startingXpos, this._time = Date.now(), this._width = this.el.getBoundingClientRect().width, this._overlay.style.display = "block", this._initialScrollTop = this.isOpen ? this.el.scrollTop : M.getDocumentScrollTop(), this._verticallyScrolling = !1, o.remove(this.el), o.remove(this._overlay) } }, { key: "_dragMoveUpdate", value: function(t) { var e = t.targetTouches[0].clientX, i = this.isOpen ? this.el.scrollTop : M.getDocumentScrollTop(); this.deltaX = Math.abs(this._xPos - e), this._xPos = e, this.velocityX = this.deltaX / (Date.now() - this._time), this._time = Date.now(), this._initialScrollTop !== i && (this._verticallyScrolling = !0) } }, { key: "_handleDragTargetDrag", value: function(t) { if (this.options.draggable && !this._isCurrentlyFixed() && !this._verticallyScrolling) { this.isDragged || this._startDrag(t), this._dragMoveUpdate(t); var e = this._xPos - this._startingXpos, i = 0 < e ? "right" : "left"; e = Math.min(this._width, Math.abs(e)), this.options.edge === i && (e = 0); var n = e, s = "translateX(-100%)"; "right" === this.options.edge && (s = "translateX(100%)", n = -n), this.percentOpen = Math.min(1, e / this._width), this.el.style.transform = s + " translateX(" + n + "px)", this._overlay.style.opacity = this.percentOpen } } }, { key: "_handleDragTargetRelease", value: function() { this.isDragged && (.2 < this.percentOpen ? this.open() : this._animateOut(), this.isDragged = !1, this._verticallyScrolling = !1) } }, { key: "_handleCloseDrag", value: function(t) { if (this.isOpen) { if (!this.options.draggable || this._isCurrentlyFixed() || this._verticallyScrolling) return; this.isDragged || this._startDrag(t), this._dragMoveUpdate(t); var e = this._xPos - this._startingXpos, i = 0 < e ? "right" : "left"; e = Math.min(this._width, Math.abs(e)), this.options.edge !== i && (e = 0); var n = -e; "right" === this.options.edge && (n = -n), this.percentOpen = Math.min(1, 1 - e / this._width), this.el.style.transform = "translateX(" + n + "px)", this._overlay.style.opacity = this.percentOpen } } }, { key: "_handleCloseRelease", value: function() { this.isOpen && this.isDragged && (.8 < this.percentOpen ? this._animateIn() : this.close(), this.isDragged = !1, this._verticallyScrolling = !1) } }, { key: "_handleCloseTriggerClick", value: function(t) { s(t.target).closest(".sidenav-close").length && !this._isCurrentlyFixed() && this.close() } }, { key: "_handleWindowResize", value: function() { this.lastWindowWidth !== window.innerWidth && (992 < window.innerWidth ? this.open() : this.close()), this.lastWindowWidth = window.innerWidth, this.lastWindowHeight = window.innerHeight } }, { key: "_setupClasses", value: function() { "right" === this.options.edge && (this.el.classList.add("right-aligned"), this.dragTarget.classList.add("right-aligned")) } }, { key: "_removeClasses", value: function() { this.el.classList.remove("right-aligned"), this.dragTarget.classList.remove("right-aligned") } }, { key: "_setupFixed", value: function() { this._isCurrentlyFixed() && this.open() } }, { key: "_isCurrentlyFixed", value: function() { return this.isFixed && 992 < window.innerWidth } }, { key: "_createDragTarget", value: function() { var t = document.createElement("div"); t.classList.add("drag-target"), document.body.appendChild(t), this.dragTarget = t } }, { key: "_preventBodyScrolling", value: function() { document.body.style.overflow = "hidden" } }, { key: "_enableBodyScrolling", value: function() { document.body.style.overflow = "" } }, { key: "open", value: function() { !0 !== this.isOpen && (this.isOpen = !0, "function" == typeof this.options.onOpenStart && this.options.onOpenStart.call(this, this.el), this._isCurrentlyFixed() ? (o.remove(this.el), o({ targets: this.el, translateX: 0, duration: 0, easing: "easeOutQuad" }), this._enableBodyScrolling(), this._overlay.style.display = "none") : (this.options.preventScrolling && this._preventBodyScrolling(), this.isDragged && 1 == this.percentOpen || this._animateIn())) } }, { key: "close", value: function() { if (!1 !== this.isOpen) if (this.isOpen = !1, "function" == typeof this.options.onCloseStart && this.options.onCloseStart.call(this, this.el), this._isCurrentlyFixed()) { var t = "left" === this.options.edge ? "-105%" : "105%"; this.el.style.transform = "translateX(" + t + ")" } else this._enableBodyScrolling(), this.isDragged && 0 == this.percentOpen ? this._overlay.style.display = "none" : this._animateOut() } }, { key: "_animateIn", value: function() { this._animateSidenavIn(), this._animateOverlayIn() } }, { key: "_animateSidenavIn", value: function() { var t = this, e = "left" === this.options.edge ? -1 : 1; this.isDragged && (e = "left" === this.options.edge ? e + this.percentOpen : e - this.percentOpen), o.remove(this.el), o({ targets: this.el, translateX: [100 * e + "%", 0], duration: this.options.inDuration, easing: "easeOutQuad", complete: function() { "function" == typeof t.options.onOpenEnd && t.options.onOpenEnd.call(t, t.el) } }) } }, { key: "_animateOverlayIn", value: function() { var t = 0; this.isDragged ? t = this.percentOpen : s(this._overlay).css({ display: "block" }), o.remove(this._overlay), o({ targets: this._overlay, opacity: [t, 1], duration: this.options.inDuration, easing: "easeOutQuad" }) } }, { key: "_animateOut", value: function() { this._animateSidenavOut(), this._animateOverlayOut() } }, { key: "_animateSidenavOut", value: function() { var t = this, e = "left" === this.options.edge ? -1 : 1, i = 0; this.isDragged && (i = "left" === this.options.edge ? e + this.percentOpen : e - this.percentOpen), o.remove(this.el), o({ targets: this.el, translateX: [100 * i + "%", 105 * e + "%"], duration: this.options.outDuration, easing: "easeOutQuad", complete: function() { "function" == typeof t.options.onCloseEnd && t.options.onCloseEnd.call(t, t.el) } }) } }, { key: "_animateOverlayOut", value: function() { var t = this; o.remove(this._overlay), o({ targets: this._overlay, opacity: 0, duration: this.options.outDuration, easing: "easeOutQuad", complete: function() { s(t._overlay).css("display", "none") } }) } }], [{ key: "init", value: function(t, e) { return _get(n.__proto__ || Object.getPrototypeOf(n), "init", this).call(this, this, t, e) } }, { key: "getInstance", value: function(t) { return (t.jquery ? t[0] : t).M_Sidenav } }, { key: "defaults", get: function() { return e } }]), n }(); t._sidenavs = [], M.Sidenav = t, M.jQueryLoaded && M.initializeJqueryWrapper(t, "sidenav", "M_Sidenav") }(cash, M.anime), function(o, a) { "use strict"; var e = { throttle: 100, scrollOffset: 200, activeClass: "active", getActiveElement: function(t) { return 'a[href="#' + t + '"]' } }, t = function(t) { function c(t, e) { _classCallCheck(this, c); var i = _possibleConstructorReturn(this, (c.__proto__ || Object.getPrototypeOf(c)).call(this, c, t, e)); return (i.el.M_ScrollSpy = i).options = o.extend({}, c.defaults, e), c._elements.push(i), c._count++, c._increment++, i.tickId = -1, i.id = c._increment, i._setupEventHandlers(), i._handleWindowScroll(), i } return _inherits(c, Component), _createClass(c, [{ key: "destroy", value: function() { c._elements.splice(c._elements.indexOf(this), 1), c._elementsInView.splice(c._elementsInView.indexOf(this), 1), c._visibleElements.splice(c._visibleElements.indexOf(this.$el), 1), c._count--, this._removeEventHandlers(), o(this.options.getActiveElement(this.$el.attr("id"))).removeClass(this.options.activeClass), this.el.M_ScrollSpy = void 0 } }, { key: "_setupEventHandlers", value: function() { var t = M.throttle(this._handleWindowScroll, 200); this._handleThrottledResizeBound = t.bind(this), this._handleWindowScrollBound = this._handleWindowScroll.bind(this), 1 === c._count && (window.addEventListener("scroll", this._handleWindowScrollBound), window.addEventListener("resize", this._handleThrottledResizeBound), document.body.addEventListener("click", this._handleTriggerClick)) } }, { key: "_removeEventHandlers", value: function() { 0 === c._count && (window.removeEventListener("scroll", this._handleWindowScrollBound), window.removeEventListener("resize", this._handleThrottledResizeBound), document.body.removeEventListener("click", this._handleTriggerClick)) } }, { key: "_handleTriggerClick", value: function(t) { for (var e = o(t.target), i = c._elements.length - 1; 0 <= i; i--) { var n = c._elements[i]; if (e.is('a[href="#' + n.$el.attr("id") + '"]')) { t.preventDefault(); var s = n.$el.offset().top + 1; a({ targets: [document.documentElement, document.body], scrollTop: s - n.options.scrollOffset, duration: 400, easing: "easeOutCubic" }); break } } } }, { key: "_handleWindowScroll", value: function() { c._ticks++; for (var t = M.getDocumentScrollTop(), e = M.getDocumentScrollLeft(), i = e + window.innerWidth, n = t + window.innerHeight, s = c._findElements(t, i, n, e), o = 0; o < s.length; o++) { var a = s[o]; a.tickId < 0 && a._enter(), a.tickId = c._ticks } for (var r = 0; r < c._elementsInView.length; r++) { var l = c._elementsInView[r], h = l.tickId; 0 <= h && h !== c._ticks && (l._exit(), l.tickId = -1) } c._elementsInView = s } }, { key: "_enter", value: function() { (c._visibleElements = c._visibleElements.filter(function(t) { return 0 != t.height() }))[0] ? (o(this.options.getActiveElement(c._visibleElements[0].attr("id"))).removeClass(this.options.activeClass), c._visibleElements[0][0].M_ScrollSpy && this.id < c._visibleElements[0][0].M_ScrollSpy.id ? c._visibleElements.unshift(this.$el) : c._visibleElements.push(this.$el)) : c._visibleElements.push(this.$el), o(this.options.getActiveElement(c._visibleElements[0].attr("id"))).addClass(this.options.activeClass) } }, { key: "_exit", value: function() { var e = this; (c._visibleElements = c._visibleElements.filter(function(t) { return 0 != t.height() }))[0] && (o(this.options.getActiveElement(c._visibleElements[0].attr("id"))).removeClass(this.options.activeClass), (c._visibleElements = c._visibleElements.filter(function(t) { return t.attr("id") != e.$el.attr("id") }))[0] && o(this.options.getActiveElement(c._visibleElements[0].attr("id"))).addClass(this.options.activeClass)) } }], [{ key: "init", value: function(t, e) { return _get(c.__proto__ || Object.getPrototypeOf(c), "init", this).call(this, this, t, e) } }, { key: "getInstance", value: function(t) { return (t.jquery ? t[0] : t).M_ScrollSpy } }, { key: "_findElements", value: function(t, e, i, n) { for (var s = [], o = 0; o < c._elements.length; o++) { var a = c._elements[o], r = t + a.options.scrollOffset || 200; if (0 < a.$el.height()) { var l = a.$el.offset().top, h = a.$el.offset().left, d = h + a.$el.width(), u = l + a.$el.height(); !(e < h || d < n || i < l || u < r) && s.push(a) } } return s } }, { key: "defaults", get: function() { return e } }]), c }(); t._elements = [], t._elementsInView = [], t._visibleElements = [], t._count = 0, t._increment = 0, t._ticks = 0, M.ScrollSpy = t, M.jQueryLoaded && M.initializeJqueryWrapper(t, "scrollSpy", "M_ScrollSpy") }(cash, M.anime), function(h) { "use strict"; var e = { data: {}, limit: 1 / 0, onAutocomplete: null, minLength: 1, sortFunction: function(t, e, i) { return t.indexOf(i) - e.indexOf(i) } }, t = function(t) { function s(t, e) { _classCallCheck(this, s); var i = _possibleConstructorReturn(this, (s.__proto__ || Object.getPrototypeOf(s)).call(this, s, t, e)); return (i.el.M_Autocomplete = i).options = h.extend({}, s.defaults, e), i.isOpen = !1, i.count = 0, i.activeIndex = -1, i.oldVal, i.$inputField = i.$el.closest(".input-field"), i.$active = h(), i._mousedown = !1, i._setupDropdown(), i._setupEventHandlers(), i } return _inherits(s, Component), _createClass(s, [{ key: "destroy", value: function() { this._removeEventHandlers(), this._removeDropdown(), this.el.M_Autocomplete = void 0 } }, { key: "_setupEventHandlers", value: function() { this._handleInputBlurBound = this._handleInputBlur.bind(this), this._handleInputKeyupAndFocusBound = this._handleInputKeyupAndFocus.bind(this), this._handleInputKeydownBound = this._handleInputKeydown.bind(this), this._handleInputClickBound = this._handleInputClick.bind(this), this._handleContainerMousedownAndTouchstartBound = this._handleContainerMousedownAndTouchstart.bind(this), this._handleContainerMouseupAndTouchendBound = this._handleContainerMouseupAndTouchend.bind(this), this.el.addEventListener("blur", this._handleInputBlurBound), this.el.addEventListener("keyup", this._handleInputKeyupAndFocusBound), this.el.addEventListener("focus", this._handleInputKeyupAndFocusBound), this.el.addEventListener("keydown", this._handleInputKeydownBound), this.el.addEventListener("click", this._handleInputClickBound), this.container.addEventListener("mousedown", this._handleContainerMousedownAndTouchstartBound), this.container.addEventListener("mouseup", this._handleContainerMouseupAndTouchendBound), void 0 !== window.ontouchstart && (this.container.addEventListener("touchstart", this._handleContainerMousedownAndTouchstartBound), this.container.addEventListener("touchend", this._handleContainerMouseupAndTouchendBound)) } }, { key: "_removeEventHandlers", value: function() { this.el.removeEventListener("blur", this._handleInputBlurBound), this.el.removeEventListener("keyup", this._handleInputKeyupAndFocusBound), this.el.removeEventListener("focus", this._handleInputKeyupAndFocusBound), this.el.removeEventListener("keydown", this._handleInputKeydownBound), this.el.removeEventListener("click", this._handleInputClickBound), this.container.removeEventListener("mousedown", this._handleContainerMousedownAndTouchstartBound), this.container.removeEventListener("mouseup", this._handleContainerMouseupAndTouchendBound), void 0 !== window.ontouchstart && (this.container.removeEventListener("touchstart", this._handleContainerMousedownAndTouchstartBound), this.container.removeEventListener("touchend", this._handleContainerMouseupAndTouchendBound)) } }, { key: "_setupDropdown", value: function() { var e = this; this.container = document.createElement("ul"), this.container.id = "autocomplete-options-" + M.guid(), h(this.container).addClass("autocomplete-content dropdown-content"), this.$inputField.append(this.container), this.el.setAttribute("data-target", this.container.id), this.dropdown = M.Dropdown.init(this.el, { autoFocus: !1, closeOnClick: !1, coverTrigger: !1, onItemClick: function(t) { e.selectOption(h(t)) } }), this.el.removeEventListener("click", this.dropdown._handleClickBound) } }, { key: "_removeDropdown", value: function() { this.container.parentNode.removeChild(this.container) } }, { key: "_handleInputBlur", value: function() { this._mousedown || (this.close(), this._resetAutocomplete()) } }, { key: "_handleInputKeyupAndFocus", value: function(t) { "keyup" === t.type && (s._keydown = !1), this.count = 0; var e = this.el.value.toLowerCase(); 13 !== t.keyCode && 38 !== t.keyCode && 40 !== t.keyCode && (this.oldVal === e || !M.tabPressed && "focus" === t.type || this.open(), this.oldVal = e) } }, { key: "_handleInputKeydown", value: function(t) { s._keydown = !0; var e = t.keyCode, i = void 0, n = h(this.container).children("li").length; e === M.keys.ENTER && 0 <= this.activeIndex ? (i = h(this.container).children("li").eq(this.activeIndex)).length && (this.selectOption(i), t.preventDefault()) : e !== M.keys.ARROW_UP && e !== M.keys.ARROW_DOWN || (t.preventDefault(), e === M.keys.ARROW_UP && 0 < this.activeIndex && this.activeIndex--, e === M.keys.ARROW_DOWN && this.activeIndex < n - 1 && this.activeIndex++, this.$active.removeClass("active"), 0 <= this.activeIndex && (this.$active = h(this.container).children("li").eq(this.activeIndex), this.$active.addClass("active"))) } }, { key: "_handleInputClick", value: function(t) { this.open() } }, { key: "_handleContainerMousedownAndTouchstart", value: function(t) { this._mousedown = !0 } }, { key: "_handleContainerMouseupAndTouchend", value: function(t) { this._mousedown = !1 } }, { key: "_highlight", value: function(t, e) { var i = e.find("img"), n = e.text().toLowerCase().indexOf("" + t.toLowerCase()), s = n + t.length - 1, o = e.text().slice(0, n), a = e.text().slice(n, s + 1), r = e.text().slice(s + 1); e.html("" + o + "" + a + "" + r + ""), i.length && e.prepend(i) } }, { key: "_resetCurrentElement", value: function() { this.activeIndex = -1, this.$active.removeClass("active") } }, { key: "_resetAutocomplete", value: function() { h(this.container).empty(), this._resetCurrentElement(), this.oldVal = null, this.isOpen = !1, this._mousedown = !1 } }, { key: "selectOption", value: function(t) { var e = t.text().trim(); this.el.value = e, this.$el.trigger("change"), this._resetAutocomplete(), this.close(), "function" == typeof this.options.onAutocomplete && this.options.onAutocomplete.call(this, e) } }, { key: "_renderDropdown", value: function(t, i) { var n = this; this._resetAutocomplete(); var e = []; for (var s in t) if (t.hasOwnProperty(s) && -1 !== s.toLowerCase().indexOf(i)) { if (this.count >= this.options.limit) break; var o = { data: t[s], key: s }; e.push(o), this.count++ } if (this.options.sortFunction) { e.sort(function(t, e) { return n.options.sortFunction(t.key.toLowerCase(), e.key.toLowerCase(), i.toLowerCase()) }) } for (var a = 0; a < e.length; a++) { var r = e[a], l = h(""); r.data ? l.append('