/*! jquery migrate v3.3.0 | (c) openjs foundation and other contributors | jquery.org/license */ "undefined" == typeof jquery.migratemute && (jquery.migratemute = !0), function(t) { "use strict"; "function" == typeof define && define.amd ? define(["jquery"], function(e) { return t(e, window) }) : "object" == typeof module && module.exports ? module.exports = t(require("jquery"), window) : t(jquery, window) }(function(s, n) { "use strict"; function e(e) { return 0 <= function(e, t) { var r, n = /^(\d+)\.(\d+)\.(\d+)/, i = n.exec(e) || [], o = n.exec(t) || []; for (r = 1; r <= 3; r++) { if (+i[r] > +o[r]) return 1; if (+i[r] < +o[r]) return -1 } return 0 }(s.fn.jquery, e) } s.migrateversion = "3.3.0", n.console && n.console.log && (s && e("3.0.0") || n.console.log("jqmigrate: jquery 3.0.0+ required"), s.migratewarnings && n.console.log("jqmigrate: migrate plugin loaded multiple times"), n.console.log("jqmigrate: migrate is installed" + (s.migratemute ? "" : " with logging active") + ", version " + s.migrateversion)); var r = {}; function u(e) { var t = n.console; s.migratededuplicatewarnings && r[e] || (r[e] = !0, s.migratewarnings.push(e), t && t.warn && !s.migratemute && (t.warn("jqmigrate: " + e), s.migratetrace && t.trace && t.trace())) } function t(e, t, r, n) { object.defineproperty(e, t, { configurable: !0, enumerable: !0, get: function() { return u(n), r }, set: function(e) { u(n), r = e } }) } function i(e, t, r, n) { e[t] = function() { return u(n), r.apply(this, arguments) } } s.migratededuplicatewarnings = !0, s.migratewarnings = [], void 0 === s.migratetrace && (s.migratetrace = !0), s.migratereset = function() { r = {}, s.migratewarnings.length = 0 }, "backcompat" === n.document.compatmode && u("jquery is not compatible with quirks mode"); var o, a = {}, c = s.fn.init, d = s.find, l = /\[(\s*[-\w]+\s*)([~|^$*]?=)\s*([-\w#]*?#[-\w#]*)\s*\]/, p = /\[(\s*[-\w]+\s*)([~|^$*]?=)\s*([-\w#]*?#[-\w#]*)\s*\]/g, f = /^[\s\ufeff\xa0]+|[\s\ufeff\xa0]+$/g; for (o in s.fn.init = function(e) { var t = array.prototype.slice.call(arguments); return "string" == typeof e && "#" === e && (u("jquery( '#' ) is not a valid selector"), t[0] = []), c.apply(this, t) }, s.fn.init.prototype = s.fn, s.find = function(t) { var r = array.prototype.slice.call(arguments); if ("string" == typeof t && l.test(t)) try { n.document.queryselector(t) } catch (e) { t = t.replace(p, function(e, t, r, n) { return "[" + t + r + '"' + n + '"]' }); try { n.document.queryselector(t), u("attribute selector with '#' must be quoted: " + r[0]), r[0] = t } catch (e) { u("attribute selector with '#' was not fixed: " + r[0]) } } return d.apply(this, r) }, d) object.prototype.hasownproperty.call(d, o) && (s.find[o] = d[o]); if (i(s.fn, "size", function() { return this.length }, "jquery.fn.size() is deprecated and removed; use the .length property"), i(s, "parsejson", function() { return json.parse.apply(null, arguments) }, "jquery.parsejson is deprecated; use json.parse"), i(s, "holdready", s.holdready, "jquery.holdready is deprecated"), i(s, "unique", s.uniquesort, "jquery.unique is deprecated; use jquery.uniquesort"), t(s.expr, "filters", s.expr.pseudos, "jquery.expr.filters is deprecated; use jquery.expr.pseudos"), t(s.expr, ":", s.expr.pseudos, "jquery.expr[':'] is deprecated; use jquery.expr.pseudos"), e("3.1.1") && i(s, "trim", function(e) { return null == e ? "" : (e + "").replace(f, "") }, "jquery.trim is deprecated; use string.prototype.trim"), e("3.2.0") && i(s, "nodename", function(e, t) { return e.nodename && e.nodename.tolowercase() === t.tolowercase() }, "jquery.nodename is deprecated"), e("3.3.0") && (i(s, "isnumeric", function(e) { var t = typeof e; return ("number" == t || "string" == t) && !isnan(e - parsefloat(e)) }, "jquery.isnumeric() is deprecated"), s.each("boolean number string function array date regexp object error symbol".split(" "), function(e, t) { a["[object " + t + "]"] = t.tolowercase() }), i(s, "type", function(e) { return null == e ? e + "" : "object" == typeof e || "function" == typeof e ? a[object.prototype.tostring.call(e)] || "object" : typeof e }, "jquery.type is deprecated"), i(s, "isfunction", function(e) { return "function" == typeof e }, "jquery.isfunction() is deprecated"), i(s, "iswindow", function(e) { return null != e && e === e.window }, "jquery.iswindow() is deprecated"), i(s, "isarray", array.isarray, "jquery.isarray is deprecated; use array.isarray")), s.ajax) { var y = s.ajax; s.ajax = function() { var e = y.apply(this, arguments); return e.promise && (i(e, "success", e.done, "jqxhr.success is deprecated and removed"), i(e, "error", e.fail, "jqxhr.error is deprecated and removed"), i(e, "complete", e.always, "jqxhr.complete is deprecated and removed")), e } } var m = s.fn.removeattr, g = s.fn.toggleclass, h = /\s+/g; function v(e) { return e.replace(/-([a-z])/g, function(e, t) { return t.touppercase() }) } s.fn.removeattr = function(e) { var r = this; return s.each(e.match(h), function(e, t) { s.expr.match.bool.test(t) && (u("jquery.fn.removeattr no longer sets boolean properties: " + t), r.prop(t, !1)) }), m.apply(this, arguments) }; var j, q = !(s.fn.toggleclass = function(t) { return void 0 !== t && "boolean" != typeof t ? g.apply(this, arguments) : (u("jquery.fn.toggleclass( boolean ) is deprecated"), this.each(function() { var e = this.getattribute && this.getattribute("class") || ""; e && s.data(this, "__classname__", e), this.setattribute && this.setattribute("class", e || !1 === t ? "" : s.data(this, "__classname__") || "") })) }), b = /^[a-z]/, w = /^(?:border(?:top|right|bottom|left)?(?:width|)|(?:margin|padding)?(?:top|right|bottom|left)?|(?:min|max)?(?:width|height))$/; s.swap && s.each(["height", "width", "reliablemarginright"], function(e, t) { var r = s.csshooks[t] && s.csshooks[t].get; r && (s.csshooks[t].get = function() { var e; return q = !0, e = r.apply(this, arguments), q = !1, e }) }), s.swap = function(e, t, r, n) { var i, o, a = {}; for (o in q || u("jquery.swap() is undocumented and deprecated"), t) a[o] = e.style[o], e.style[o] = t[o]; for (o in i = r.apply(e, n || []), t) e.style[o] = a[o]; return i }, e("3.4.0") && "undefined" != typeof proxy && (s.cssprops = new proxy(s.cssprops || {}, { set: function() { return u("jqmigrate: jquery.cssprops is deprecated"), reflect.set.apply(this, arguments) } })), s.cssnumber || (s.cssnumber = {}), j = s.fn.css, s.fn.css = function(e, t) { var r = this; return "string" != typeof e && s.each(e, function(e, t) { s.fn.css.call(r, e, t) }), "number" != typeof t || function(e) { return b.test(e) && w.test(e[0].touppercase() + e.slice(1)) }(v(e)) || u("use of number-typed values is deprecated in jquery.fn.css"), j.apply(this, arguments) }; var x = s.data; if (s.data = function(e, t, r) { var n, i, o; if (t && "object" == typeof t && 2 === arguments.length) { for (o in n = s.hasdata(e) && x.call(this, e), i = {}, t) o !== v(o) ? (u("jquery.data() always sets/gets camelcased names: " + o), n[o] = t[o]) : i[o] = t[o]; return x.call(this, e, i), t } return t && "string" == typeof t && t !== v(t) && (n = s.hasdata(e) && x.call(this, e)) && t in n ? (u("jquery.data() always sets/gets camelcased names: " + t), 2 < arguments.length && (n[t] = r), n[t]) : x.apply(this, arguments) }, s.fx) { var a, k, m = s.tween.prototype.run, s = function(e) { return e }; s.tween.prototype.run = function() { 1 < s.easing[this.easing].length && (u("'jquery.easing." + this.easing.tostring() + "' should use only one argument"), s.easing[this.easing] = s), m.apply(this, arguments) }, a = s.fx.interval || 13, k = "jquery.fx.interval is deprecated", n.requestanimationframe && object.defineproperty(s.fx, "interval", { configurable: !0, enumerable: !0, get: function() { return n.document.hidden || u(k), a }, set: function(e) { u(k), a = e } }) } var h = s.fn.load, r = s.event.add, n = s.event.fix; s.event.props = [], s.event.fixhooks = {}, t(s.event.props, "concat", s.event.props.concat, "jquery.event.props.concat() is deprecated and removed"), s.event.fix = function(e) { var t, r = e.type, n = this.fixhooks[r], i = s.event.props; if (i.length) { u("jquery.event.props are deprecated and removed: " + i.join()); while (i.length) s.event.addprop(i.pop()) } if (n && !n._migrated_ && (n._migrated_ = !0, u("jquery.event.fixhooks are deprecated and removed: " + r), (i = n.props) && i.length)) while (i.length) s.event.addprop(i.pop()); return t = n.call(this, e), n && n.filter ? n.filter(t, e) : t }, s.event.add = function(e, t) { return e === n && "load" === t && "complete" === n.document.readystate && u("jquery(window).on('load'...) called after load event occurred"), r.apply(this, arguments) }, s.each(["load", "unload", "error"], function(e, t) { s.fn[t] = function() { var e = array.prototype.slice.call(arguments, 0); return "load" === t && "string" == typeof e[0] ? h.apply(this, e) : (u("jquery.fn." + t + "() is deprecated"), e.splice(0, 0, t), arguments.length ? this.on.apply(this, e) : (this.triggerhandler.apply(this, e), this)) } }), s.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "), function(e, r) { s.fn[r] = function(e, t) { return u("jquery.fn." + r + "() event shorthand is deprecated"), 0 < arguments.length ? this.on(r, null, e, t) : this.trigger(r) } }), s(function() { s(n.document).triggerhandler("ready") }), s.event.special.ready = { setup: function() { this === n.document && u("'ready' event is deprecated") } }, s.fn.extend({ bind: function(e, t, r) { return u("jquery.fn.bind() is deprecated"), this.on(e, null, t, r) }, unbind: function(e, t) { return u("jquery.fn.unbind() is deprecated"), this.off(e, null, t) }, delegate: function(e, t, r, n) { return u("jquery.fn.delegate() is deprecated"), this.on(t, e, r, n) }, undelegate: function(e, t, r) { return u("jquery.fn.undelegate() is deprecated"), 1 === arguments.length ? this.off(e, "**") : this.off(t, e || "**", r) }, hover: function(e, t) { return u("jquery.fn.hover() is deprecated"), this.on("mouseenter", e).on("mouseleave", t || e) } }); function c(e) { var t = n.document.implementation.createhtmldocument(""); return t.body.innerhtml = e, t.body && t.body.innerhtml } function t(e) { var t = e.replace(p, "<$1>"); t !== e && c(e) !== c(t) && u("html tags must be properly nested and closed: " + e) } var p = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi, q = s.htmlprefilter; s.unsafe_restorelegacyhtmlprefilter = function() { s.htmlprefilter = function(e) { return t(e), e.replace(p, "<$1>") } }, s.htmlprefilter = function(e) { return t(e), q(e) }; var d = s.fn.offset; if (s.fn.offset = function() { var e, t = this[0]; if (t && t.nodetype) return e = (t.ownerdocument || n.document).documentelement, s.contains(e, t) ? d.apply(this, arguments) : (u("jquery.fn.offset() requires an element connected to a document"), { top: 0, left: 0 }); u("jquery.fn.offset() requires a valid dom element") }, s.ajax) { var e = s.param; s.param = function(e, t) { var r = s.ajaxsettings && s.ajaxsettings.traditional; return void 0 === t && r && (u("jquery.param() no longer uses jquery.ajaxsettings.traditional"), t = r), e.call(this, e, t) } } var _ = s.fn.andself || s.fn.addback; if (s.fn.andself = function() { return u("jquery.fn.andself() is deprecated and removed, use jquery.fn.addback()"), _.apply(this, arguments) }, s.deferred) { var f = s.deferred, o = [ ["resolve", "done", s.callbacks("once memory"), s.callbacks("once memory"), "resolved"], ["reject", "fail", s.callbacks("once memory"), s.callbacks("once memory"), "rejected"], ["notify", "progress", s.callbacks("memory"), s.callbacks("memory")] ]; s.deferred = function(e) { var o = f(), a = o.promise(); return o.pipe = a.pipe = function() { var i = arguments; return u("deferred.pipe() is deprecated"), s.deferred(function(n) { s.each(o, function(e, t) { var r = "function" == typeof i[e] && i[e]; o[t[1]](function() { var e = r && r.apply(this, arguments); e && "function" == typeof e.promise ? e.promise().done(n.resolve).fail(n.reject).progress(n.notify) : n[t[0] + "with"](this === a ? n.promise() : this, r ? [e] : arguments) }) }), i = null }).promise() }, e && e.call(o, o), o }, s.deferred.exceptionhook = f.exceptionhook } return s });