! function(n, e, t) { function r(t, i) { if (!e[t]) { if (!n[t]) { var a = "function" == typeof __nr_require && __nr_require; if (!i && a) return a(t, !0); if (o) return o(t, !0); throw new Error("Cannot find module '" + t + "'") } var s = e[t] = { exports: {} }; n[t][0].call(s.exports, function(e) { var o = n[t][1][e]; return r(o || e) }, s, s.exports) } return e[t].exports } for (var o = "function" == typeof __nr_require && __nr_require, i = 0; i < t.length; i++) r(t[i]); return r }({ 1: [function(n, e, t) { e.exports = function(n, e) { return "addEventListener" in window ? window.addEventListener(n, e, !1) : "attachEvent" in window ? window.attachEvent("on" + n, e) : void 0 } }, {}], 2: [function(n, e, t) { function r(n, e, t, r, i) { d[n] || (d[n] = {}); var a = d[n][e]; return a || (a = d[n][e] = { params: t || {} }, i && (a.custom = i)), a.metrics = o(r, a.metrics), a } function o(n, e) { return e || (e = { count: 0 }), e.count += 1, f(n, function(n, t) { e[n] = i(t, e[n]) }), e } function i(n, e) { return e ? (e && !e.c && (e = { t: e.t, min: e.t, max: e.t, sos: e.t * e.t, c: 1 }), e.c += 1, e.t += n, e.sos += n * n, n > e.max && (e.max = n), n < e.min && (e.min = n), e) : { t: n } } function a(n, e) { return e ? d[n] && d[n][e] : d[n] } function s(n) { for (var e = {}, t = "", r = !1, o = 0; o < n.length; o++) t = n[o], e[t] = u(d[t]), e[t].length && (r = !0), delete d[t]; return r ? e : null } function u(n) { return "object" != typeof n ? [] : f(n, c) } function c(n, e) { return e } var f = n(31), d = {}; e.exports = { store: r, take: s, get: a } }, {}], 3: [function(n, e, t) { function r(n, e, t) { "string" == typeof e && ("/" !== e.charAt(0) && (e = "/" + e), v.customTransaction = (t || "http://custom.transaction") + e) } function o(n, e) { var t = e ? e - v.offset : n; d.store("cm", "finished", { name: "finished" }, { time: t }), i(n, { name: "finished", start: t + v.offset, origin: "nr" }), h("api-addPageAction", [t, "finished"]) } function i(n, e) { if (e && "object" == typeof e && e.name && e.start) { var t = { n: e.name, s: e.start - v.offset, e: (e.end || e.start) - v.offset, o: e.origin || "", t: "api" }; h("bstApi", [t]) } } function a(n, e, t, r, o, i, a) { if (e = window.encodeURIComponent(e), g += 1, v.info.beacon) { var s = "https://" + v.info.beacon + "/1/" + v.info.licenseKey; s += "?a=" + v.info.applicationID + "&", s += "t=" + e + "&", s += "qt=" + ~~t + "&", s += "ap=" + ~~r + "&", s += "be=" + ~~o + "&", s += "dc=" + ~~i + "&", s += "fe=" + ~~a + "&", s += "c=" + g, p.img(s) } } function s(n, e) { v.onerror = e } function u(n, e, t) { ++w > 10 || (v.releaseIds[e.slice(-200)] = ("" + t).slice(-200)) } var c = n(14), f = n(8), d = n(2), l = n(16), p = n(20), m = n(31), v = n("loader"), h = n("handle"), g = 0; f.on("jserrors", function() { return { body: d.take(["cm"]) } }); var y = { finished: l(o), setPageViewName: r, setErrorHandler: s, addToTrace: i, inlineHit: a, addRelease: u }; m(y, function(n, e) { c("api-" + n, e, "api") }); var w = 0 }, {}], 4: [function(n, e, t) { var r = /([^?#]*)[^#]*(#[^?]*|$).*/, o = /([^?#]*)().*/; e.exports = function(n, e) { return n.replace(e ? r : o, "$1$2") } }, {}], 5: [function(n, e, t) { function r(n, e) { var t = n[1]; i(e[t], function(e, t) { var r = n[0], o = t[0]; if (o === r) { var i = t[1], a = n[3], s = n[2]; i.apply(a, s) } }) } var o = n("ee"), i = n(31), a = n(14).handlers; e.exports = function(n) { var e = o.backlog[n], t = a[n]; if (t) { for (var s = 0; e && s < e.length; ++s) r(e[s], t); i(t, function(n, e) { i(e, function(e, t) { t[0].on(n, t[1]) }) }) } delete a[n], o.backlog[n] = null } }, {}], 6: [function(n, e, t) { function r(n) { return f[n] } function o(n) { return null === n || void 0 === n ? "null" : encodeURIComponent(n).replace(l, r) } function i(n, e) { for (var t = 0, r = 0; r < n.length; r++) if (t += n[r].length, t > e) return n.slice(0, r).join(""); return n.join("") } function a(n, e) { var t = 0, r = ""; return u(n, function(n, i) { var a, s, u = []; if ("string" == typeof i) a = "&" + n + "=" + o(i), t += a.length, r += a; else if (i.length) { for (t += 9, s = 0; s < i.length && (a = o(c(i[s])), t += a.length, !("undefined" != typeof e && t >= e)); s++) u.push(a); r += "&" + n + "=%5B" + u.join(",") + "%5D" } }), r } function s(n, e) { return e && "string" == typeof e ? "&" + n + "=" + o(e) : "" } var u = n(31), c = n(19), f = { "%2C": ",", "%3A": ":", "%2F": "/", "%40": "@", "%24": "$", "%3B": ";" }, d = u(f, function(n) { return n }), l = new RegExp(d.join("|"), "g"); e.exports = { obj: a, fromArray: i, qs: o, param: s } }, {}], 7: [function(n, e, t) { var r = n(31), o = n("ee"), i = n(5); e.exports = function(n) { n && "object" == typeof n && (r(n, function(n, e) { e && !a[n] && (o.emit("feat-" + n, []), a[n] = !0) }), i("feature")) }; var a = e.exports.active = {} }, {}], 8: [function(n, e, t) { function r(n) { if (n.info.beacon) { n.info.queueTime && x.store("measures", "qt", { value: n.info.queueTime }), n.info.applicationTime && x.store("measures", "ap", { value: n.info.applicationTime }), k.measure("be", "starttime", "firstbyte"), k.measure("fe", "firstbyte", "onload"), k.measure("dc", "firstbyte", "domContent"); var e = x.get("measures"), t = v(e, function(n, e) { return "&" + n + "=" + e.params.value }).join(""); if (t) { var r = "1", o = [l(n)]; if (o.push(t), o.push(g.param("tt", n.info.ttGuid)), o.push(g.param("us", n.info.user)), o.push(g.param("ac", n.info.account)), o.push(g.param("pr", n.info.product)), o.push(g.param("af", v(n.features, function(n) { return n }).join(","))), window.performance && "undefined" != typeof window.performance.timing) { var i = { timing: h.addPT(window.performance.timing, {}), navigation: h.addPN(window.performance.navigation, {}) }; o.push(g.param("perf", y(i))) } o.push(g.param("xx", n.info.extra)), o.push(g.param("ua", n.info.userAttributes)), o.push(g.param("at", n.info.atts)); var a = y(n.info.jsAttributes); o.push(g.param("ja", "{}" === a ? null : a)); var s = g.fromArray(o, n.maxBytes); w.jsonp("https://" + n.info.beacon + "/" + r + "/" + n.info.licenseKey + s, q) } } } function o(n) { var e = v(I, function(e) { return a(e, n, { unload: !0 }) }); return b(e, i) } function i(n, e) { return n || e } function a(n, e, t) { return u(e, n, s(n), t || {}) } function s(n) { for (var e = p({}), t = p({}), r = I[n] || [], o = 0; o < r.length; o++) { var i = r[o](); i.body && v(i.body, e), i.qs && v(i.qs, t) } return { body: e(), qs: t() } } function u(n, e, t, r) { if (!n.info.errorBeacon || !t.body) return !1; var o = "https://" + n.info.errorBeacon + "/" + e + "/1/" + n.info.licenseKey + l(n); t.qs && (o += g.obj(t.qs, n.maxBytes)); var i, a, s; switch (e) { case "jserrors": a = !1, i = N ? w.beacon : w.img; break; default: if (r.needResponse) a = !0, i = w.xhr; else if (r.unload) a = N, i = N ? w.beacon : w.img; else if (T) a = !0, i = w.xhr; else { if ("events" !== e) return !1; i = w.img } } var u = o; a && "events" === e ? s = t.body.e : a ? s = y(t.body) : u = o + g.obj(t.body, n.maxBytes); var c = i(u, s); return c || i !== w.beacon || (c = w.img(o + g.obj(t.body, n.maxBytes))), c } function c(n) { if (n && n.info && n.info.errorBeacon && n.ieVersion) { var e = "https://" + n.info.errorBeacon + "/jserrors/ping/" + n.info.licenseKey + l(n); w.img(e) } } function f(n) { return n.info.transactionName ? g.param("to", n.info.transactionName) : g.param("t", n.info.tNamePlain || "Unnamed Transaction") } function d(n, e) { var t = I[n] || (I[n] = []); t.push(e) } function l(n) { return ["?a=" + n.info.applicationID, g.param("sa", n.info.sa ? "" + n.info.sa : ""), g.param("v", A), f(n), g.param("ct", n.customTransaction), "&rst=" + n.now(), g.param("ref", S(E.getLocation()))].join("") } function p(n) { var e = !1; return function(t, r) { if (r && r.length && (n[t] = r, e = !0), e) return n } } var m = n(16), v = n(31), h = n(13), g = n(6), y = n(19), w = n(20), b = n(34), x = n(2), k = n(18), j = n("loader"), E = n(12), S = n(4), A = "1123.df1c7f8", q = "NREUM.setToken", I = {}, N = !!navigator.sendBeacon; n(9); var T = j.ieVersion > 9 || 0 === j.ieVersion; e.exports = { sendRUM: m(r), sendFinal: o, pingErrors: c, sendX: a, on: d, xhrUsable: T } }, {}], 9: [function(n, e, t) { var r = n("loader"), o = document.createElement("div"); o.innerHTML = ""; var i = o.getElementsByTagName("div").length; 4 === i ? r.ieVersion = 6 : 3 === i ? r.ieVersion = 7 : 2 === i ? r.ieVersion = 8 : 1 === i ? r.ieVersion = 9 : r.ieVersion = 0, e.exports = r.ieVersion }, {}], 10: [function(n, e, t) { function r(n) { c.sendFinal(l, !1), a.navCookie && (document.cookie = "NREUM=s=" + Number(new Date) + "&r=" + o(document.location.href) + "&p=" + o(document.referrer) + "; path=/") } var o = n(15), i = n(1), a = n(17), s = n(18), u = n(16), c = n(8), f = n(14), d = n(7), l = n("loader"), p = n(30), m = n(5); n(3); var v = "undefined" == typeof window.NREUM.autorun || window.NREUM.autorun; window.NREUM.setToken = d, 6 === n(9) ? l.maxBytes = 2e3 : l.maxBytes = 3e4, l.releaseIds = {}; var h = u(r); !p || navigator.sendBeacon ? i("pagehide", h) : i("beforeunload", h), i("unload", h), f("mark", s.mark, "api"), s.mark("done"), m("api"), v && c.sendRUM(l) }, {}], 11: [function(n, e, t) { e.exports = function(n, e) { setTimeout(function t() { try { n() } finally { setTimeout(t, e) } }, e) } }, {}], 12: [function(n, e, t) { function r() { return "" + location } e.exports = { getLocation: r } }, {}], 13: [function(n, e, t) { function r(n, e) { var t = n["navigation" + a]; return e.of = t, i(t, t, e, "n"), i(n[u + a], t, e, "u"), i(n[c + a], t, e, "r"), i(n[u + s], t, e, "ue"), i(n[c + s], t, e, "re"), i(n["fetch" + a], t, e, "f"), i(n[f + a], t, e, "dn"), i(n[f + s], t, e, "dne"), i(n["c" + d + a], t, e, "c"), i(n["secureC" + d + "ion" + a], t, e, "s"), i(n["c" + d + s], t, e, "ce"), i(n[l + a], t, e, "rq"), i(n[p + a], t, e, "rp"), i(n[p + s], t, e, "rpe"), i(n.domLoading, t, e, "dl"), i(n.domInteractive, t, e, "di"), i(n[v + a], t, e, "ds"), i(n[v + s], t, e, "de"), i(n.domComplete, t, e, "dc"), i(n[m + a], t, e, "l"), i(n[m + s], t, e, "le"), e } function o(n, e) { return i(n.type, 0, e, "ty"), i(n.redirectCount, 0, e, "rc"), e } function i(n, e, t, r) { var o; "number" == typeof n && n > 0 && (o = Math.round(n - e), t[r] = o), h.push(o) } var a = "Start", s = "End", u = "unloadEvent", c = "redirect", f = "domainLookup", d = "onnect", l = "request", p = "response", m = "loadEvent", v = "domContentLoadedEvent", h = []; e.exports = { addPT: r, addPN: o, nt: h } }, {}], 14: [function(n, e, t) { function r(n, e, t, r) { o(r || i, n, e, t) } function o(n, e, t, r) { r || (r = "feature"), n || (n = i); var o = a[r] = a[r] || {}, s = o[e] = o[e] || []; s.push([n, t]) } var i = n("handle").ee; e.exports = r, r.on = o; var a = r.handlers = {} }, {}], 15: [function(n, e, t) { function r(n) { var e, t = 0; for (e = 0; e < n.length; e++) t += (e + 1) * n.charCodeAt(e); return Math.abs(t) } e.exports = r }, {}], 16: [function(n, e, t) { function r(n) { var e, t = !1; return function() { return t ? e : (t = !0, e = n.apply(this, o(arguments))) } } var o = n(32); e.exports = r }, {}], 17: [function(n, e, t) { function r() { var n = o() || i(); n && (s.mark("starttime", n), u.offset = n) } function o() { if (!(c && c < 9)) { var t = n(33); return t.exists ? (e.exports.navCookie = !1, window.performance.timing.navigationStart) : void 0 } } function i() { for (var n = document.cookie.split(" "), e = 0; e < n.length; e++) if (0 === n[e].indexOf("NREUM=")) { for (var t, r, o, i, s = n[e].substring("NREUM=".length).split("&"), u = 0; u < s.length; u++) 0 === s[u].indexOf("s=") ? o = s[u].substring(2) : 0 === s[u].indexOf("p=") ? (r = s[u].substring(2), ";" === r.charAt(r.length - 1) && (r = r.substr(0, r.length - 1))) : 0 === s[u].indexOf("r=") && (t = s[u].substring(2), ";" === t.charAt(t.length - 1) && (t = t.substr(0, t.length - 1))); if (t) { var c = a(document.referrer); i = c == t, i || (i = a(document.location.href) == t && c == r) } if (i && o) { var f = (new Date).getTime(); if (f - o > 6e4) return; return o } } } var a = n(15), s = n(18), u = n("loader"), c = n(30); e.exports = { navCookie: !0 }, r() }, {}], 18: [function(n, e, t) { function r(n, e) { "undefined" == typeof e && (e = a.now() + a.offset), s[n] = e } function o(n, e, t) { var r = s[e], o = s[t]; "undefined" != typeof r && "undefined" != typeof o && i.store("measures", n, { value: o - r }) } var i = n(2), a = n("loader"), s = {}; e.exports = { mark: r, measure: o } }, {}], 19: [function(n, e, t) { function r(n) { try { return i("", { "": n }) } catch (e) { try { s.emit("internal-error", [e]) } catch (t) {} } } function o(n) { return u.lastIndex = 0, u.test(n) ? '"' + n.replace(u, function(n) { var e = c[n]; return "string" == typeof e ? e : "\\u" + ("0000" + n.charCodeAt(0).toString(16)).slice(-4) }) + '"' : '"' + n + '"' } function i(n, e) { var t = e[n]; switch (typeof t) { case "string": return o(t); case "number": return isFinite(t) ? String(t) : "null"; case "boolean": return String(t); case "object": if (!t) return "null"; var r = []; if (t instanceof window.Array || "[object Array]" === Object.prototype.toString.apply(t)) { for (var s = t.length, u = 0; u < s; u += 1) r[u] = i(u, t) || "null"; return 0 === r.length ? "[]" : "[" + r.join(",") + "]" } return a(t, function(n) { var e = i(n, t); e && r.push(o(n) + ":" + e) }), 0 === r.length ? "{}" : "{" + r.join(",") + "}" } } var a = n(31), s = n("ee"), u = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, c = { "\b": "\\b", "\t": "\\t", "\n": "\\n", "\f": "\\f", "\r": "\\r", '"': '\\"', "\\": "\\\\" }; e.exports = r }, {}], 20: [function(n, e, t) { var r = e.exports = {}; r.jsonp = function o(n, o) { var e = document.createElement("script"); e.type = "text/javascript", e.src = n + "&jsonp=" + o; var t = document.getElementsByTagName("script")[0]; return t.parentNode.insertBefore(e, t), e }, r.xhr = function(n, e, t) { var r = new XMLHttpRequest; r.open("POST", n, !t); try { "withCredentials" in r && (r.withCredentials = !0) } catch (o) {} return r.setRequestHeader("content-type", "text/plain"), r.send(e), r }, r.xhrSync = function(n, e) { return r.xhr(n, e, !0) }, r.img = function(n) { var e = new Image; return e.src = n, e }, r.beacon = function(n, e) { return navigator.sendBeacon(n, e) } }, {}], 21: [function(n, e, t) { function r(n) { if (n) { var e = n.match(o); return e ? e[1] : void 0 } } var o = /([a-z0-9]+)$/i; e.exports = r }, {}], 22: [function(n, e, t) { function r(n) { var e = null; try { if (e = d(n)) return e } catch (t) { if (h) throw t } try { if (e = o(n)) return e } catch (t) { if (h) throw t } try { if (e = l(n)) return e } catch (t) { if (h) throw t } try { if (e = s(n)) return e } catch (t) { if (h) throw t } try { if (e = u(n)) return e } catch (t) { if (h) throw t } return { mode: "failed", stackString: "", frames: [] } } function o(n) { if (!n.stack) return null; var e = p(n.stack.split("\n"), i, { frames: [], stackLines: [], wrapperSeen: !1 }); return e.frames.length ? { mode: "stack", name: n.name || c(n), message: n.message, stackString: m(e.stackLines), frames: e.frames } : null } function i(n, e) { var t = a(e); return t ? (f(t.func) ? n.wrapperSeen = !0 : n.stackLines.push(e), n.wrapperSeen || n.frames.push(t), n) : (n.stackLines.push(e), n) } function a(n) { var e = n.match(w); return e || (e = n.match(y)), e ? { url: e[2], func: "Anonymous function" !== e[1] && "global code" !== e[1] && e[1] || null, line: +e[3], column: e[4] ? +e[4] : null } : n.match(b) || n.match(x) || "anonymous" === n ? { func: "evaluated code" } : void 0 } function s(n) { if (!("line" in n)) return null; var e = n.name || c(n); if (!n.sourceURL) return { mode: "sourceline", name: e, message: n.message, stackString: c(n) + ": " + n.message + "\n in evaluated code", frames: [{ func: "evaluated code" }] }; var t = e + ": " + n.message + "\n at " + n.sourceURL; return n.line && (t += ":" + n.line, n.column && (t += ":" + n.column)), { mode: "sourceline", name: e, message: n.message, stackString: t, frames: [{ url: n.sourceURL, line: n.line, column: n.column }] } } function u(n) { var e = n.name || c(n); return e ? { mode: "nameonly", name: e, message: n.message, stackString: e + ": " + n.message, frames: [] } : null } function c(n) { var e = g.exec(String(n.constructor)); return e && e.length > 1 ? e[1] : "unknown" } function f(n) { return n && n.indexOf("nrWrapper") >= 0 } function d(n) { if (!n.stacktrace) return null; for (var e, t = n.stacktrace, r = / line (\d+), column (\d+) in (?:]+)>|([^\)]+))\(.*\) in (.*):\s*$/i, o = t.split("\n"), i = [], a = [], s = !1, u = 0, d = o.length; u < d; u += 2) if (e = r.exec(o[u])) { var l = { line: +e[1], column: +e[2], func: e[3] || e[4], url: e[5] }; f(l.func) ? s = !0 : a.push(o[u]), s || i.push(l) } else a.push(o[u]); return i.length ? { mode: "stacktrace", name: n.name || c(n), message: n.message, stackString: m(a), frames: i } : null } function l(n) { var e = n.message.split("\n"); if (e.length < 4) return null; var t, r, o, i = /^\s*Line (\d+) of linked script ((?:file|http|https)\S+)(?:: in function (\S+))?\s*$/i, a = /^\s*Line (\d+) of inline#(\d+) script in ((?:file|http|https)\S+)(?:: in function (\S+))?\s*$/i, s = /^\s*Line (\d+) of function script\s*$/i, u = [], d = [], l = document.getElementsByTagName("script"), p = [], h = !1; for (r in l) v.call(l, r) && !l[r].src && p.push(l[r]); for (r = 2, o = e.length; r < o; r += 2) { var g = null; if (t = i.exec(e[r])) g = { url: t[2], func: t[3], line: +t[1] }; else if (t = a.exec(e[r])) g = { url: t[3], func: t[4] }; else if (t = s.exec(e[r])) { var y = window.location.href.replace(/#.*$/, ""), w = t[1]; g = { url: y, line: w, func: "" } } g && (f(g.func) ? h = !0 : d.push(e[r]), h || u.push(g)) } return u.length ? { mode: "multiline", name: n.name || c(n), message: e[0], stackString: m(d), frames: u } : null } var p = n(34), m = n(23), v = Object.prototype.hasOwnProperty, h = !1, g = /function (.+?)\s*\(/, y = /^\s*at (?:((?:\[object object\])?(?:[^(]*\([^)]*\))*[^()]*(?: \[as \S+\])?) )?\(?((?:file|http|https|chrome-extension):.*?)?:(\d+)(?::(\d+))?\)?\s*$/i, w = /^\s*(?:(\S*|global code)(?:\(.*?\))?@)?((?:file|http|https|chrome|safari-extension).*?):(\d+)(?::(\d+))?\s*$/i, b = /^\s*at .+ \(eval at \S+ \((?:(?:file|http|https):[^)]+)?\)(?:, [^:]*:\d+:\d+)?\)$/i, x = /^\s*at Function code \(Function code:\d+:\d+\)\s*/i; e.exports = r }, {}], 23: [function(n, e, t) { var r = /^\n+|\n+$/g; e.exports = function(n) { var e; if (n.length > 100) { var t = n.length - 100; e = n.slice(0, 50).join("\n"), e += "\n< ...truncated " + t + " lines... >\n", e += n.slice(-50).join("\n") } else e = n.join("\n"); return e.replace(r, "") } }, {}], 24: [function(n, e, t) { function r(n) { return l(n.exceptionClass) ^ n.stackHash } function o(n, e) { if ("string" != typeof n) return ""; var t = f(n); return t === e ? "" : t } function i(n, e) { for (var t = "", r = 0; r < n.frames.length; r++) { var o = n.frames[r], i = c(o.func); t && (t += "\n"), i && (t += i + "@"), "string" == typeof o.url && (t += o.url), o.line && (t += ":" + o.line) } return t } function a(n) { for (var e = f(p.origin), t = 0; t < n.frames.length; t++) { var r = n.frames[t], i = r.url, a = o(i, e); a && a !== r.url && (r.url = a, n.stackString = n.stackString.split(i).join(a)) } return n } function s(n, e, t, o) { function s(n, e) { k[n] = e && "object" == typeof e ? b(e) : e } if (e = e || p.now(), t || !p.onerror || !p.onerror(n)) { var c = a(d(n)), f = i(c), m = { stackHash: l(f), exceptionClass: c.name, request_uri: window.location.pathname }; c.message && (m.message = "" + c.message), v[m.stackHash] ? m.browser_stack_hash = l(c.stackString) : (v[m.stackHash] = !0, m.stack_trace = c.stackString), m.releaseIds = b(p.releaseIds); var g = r(m); h[g] || (m.pageview = 1, h[g] = !0); var y = t ? "ierr" : "err", w = { time: e }; if (x("errorAgg", [y, g, m, w]), null != m._interactionId) E[m._interactionId] = E[m._interactionId] || [], E[m._interactionId].push([y, g, m, w, S, o]); else { var k = {}, S = p.info.jsAttributes; j(S, s), o && j(o, s); var A = l(b(k)), q = g + ":" + A; u.store(y, q, m, w, k) } } } var u = n(2), c = n(21), f = n(4), d = n(22), l = n(25), p = n("loader"), m = n("ee"), v = {}, h = {}, g = n(14), y = n(8), w = n(11), b = n(19), x = n("handle"), k = n("ee"), j = n(31), E = {}; if (n(17), p.features.err) { var S = !1, A = 60; y.on("jserrors", function() { var n = u.take(["err", "ierr"]), e = { body: n, qs: {} }, t = b(p.releaseIds); return "{}" !== t && (e.qs.ri = t), n && n.err && n.err.length && !S && (e.qs.pve = "1", S = !0), e }), y.pingErrors(p), w(function() { var n = y.sendX("jserrors", p); n || y.pingErrors(p) }, 1e3 * A), m.on("feat-err", function() { g("err", s), g("ierr", s) }), k.on("interactionSaved", function(n) { E[n.id] && (E[n.id].forEach(function(e) { function t(n, e) { r[n] = e && "object" == typeof e ? b(e) : e } var r = {}, o = e[4], i = e[5]; j(o, t), j(n.root.attrs.custom, t), j(i, t); var a = e[2]; a.browserInteractionId = n.root.attrs.id, delete a._interactionId, a._interactionNodeId && (a.parentNodeId = a._interactionNodeId.toString(), delete a._interactionNodeId); var s = e[1] + n.root.attrs.id, c = l(b(r)), f = s + ":" + c; u.store(e[0], f, a, e[3], r) }), delete E[n.id]) }), k.on("interactionDiscarded", function(n) { E[n.id] && (E[n.id].forEach(function(e) { function t(n, e) { r[n] = e && "object" == typeof e ? b(e) : e } var r = {}, o = e[4], i = e[5]; j(o, t), j(n.root.attrs.custom, t), j(i, t); var a = e[2]; delete a._interactionId, delete a._interactionNodeId; var s = e[1], c = l(b(r)), f = s + ":" + c; u.store(e[0], f, e[2], e[3], r) }), delete E[n.id]) }) } }, {}], 25: [function(n, e, t) { function r(n) { var e, t = 0; if (!n || !n.length) return t; for (var r = 0; r < n.length; r++) e = n.charCodeAt(r), t = (t << 5) - t + e, t = 0 | t; return t } e.exports = r }, {}], 26: [function(n, e, t) { function r(n, e, t) { function r(n, e) { f[n] = e && "object" == typeof e ? c(e) : e } if (!(g.length >= h)) { var o, a, f = {}; "undefined" != typeof window && window.document && window.document.documentElement && (o = window.document.documentElement.clientWidth, a = window.document.documentElement.clientHeight); var d = { timestamp: n + s.offset, timeSinceLoad: n / 1e3, browserWidth: o, browserHeight: a, referrerUrl: i, currentUrl: l("" + location), pageUrl: l(s.origin), eventType: "PageAction" }; u(d, r), u(y, r), t && "object" == typeof t && u(t, r), f.actionName = e || "", g.push(f) } } function o(n, e, t) { y[e] = t } var i, a = n("ee"), s = n("loader"), u = n(31), c = n(19), f = n(14), d = n(8), l = n(4), p = n(11), m = 120, v = 30, h = m * v / 60, g = [], y = s.info.jsAttributes = {}; document.referrer && (i = l(document.referrer)), f("api-setCustomAttribute", o, "api"), a.on("feat-ins", function() { f("api-addPageAction", r), d.on("ins", function() { var n = { qs: { ua: s.info.userAttributes, at: s.info.atts }, body: { ins: g } }; return g = [], n }), p(function() { d.sendX("ins", s) }, 1e3 * v), d.sendX("ins", s) }) }, {}], 27: [function(n, e, t) { function r(n) { var e, t, r, o = Date.now(); for (e in n) t = n[e], "number" == typeof t && t > 0 && t < o && (r = n[e] - b.offset, l({ n: e, s: r, e: r, o: "document", t: "timing" })) } function o(n, e, t, r) { var o = "timer"; "requestAnimationFrame" === r && (o = r); var i = { n: r, s: e, e: t, o: "window", t: o }; l(i) } function i(n, e, t, r) { if (n.type in T) return !1; var o = { n: a(n.type), s: t, e: r, t: "event" }; try { o.o = s(n.target, e) } catch (i) { o.o = s(null, e) } l(o) } function a(n) { var e = n; return j(L, function(t, r) { n in r && (e = t) }), e } function s(n, e) { var t = "unknown"; if (n && n instanceof XMLHttpRequest) { var r = C.context(n).params; t = r.status + " " + r.method + ": " + r.host + r.pathname } else n && "string" == typeof n.tagName && (t = n.tagName.toLowerCase(), n.id && (t += "#" + n.id), n.className && (t += "." + A(n.classList).join("."))); return "unknown" === t && (e === document ? t = "document" : e === window ? t = "window" : e instanceof FileReader && (t = "FileReader")), t } function u(n, e, t) { var r = { n: "history.pushState", s: t, e: t, o: n, t: e }; l(r) } function c(n) { n.forEach(function(n) { var e = q(n.name), t = { n: n.initiatorType, s: 0 | n.fetchStart, e: 0 | n.responseEnd, o: e.protocol + "://" + e.hostname + ":" + e.port + e.pathname, t: n.entryType }; t.s < B || (B = t.s, l(t)) }) } function f(n, e, t, r) { if ("err" === n) { var o = { n: "error", s: r.time, e: r.time, o: t.message, t: t.stackHash }; l(o) } } function d(n, e, t, r) { if ("xhr" === n) { var o = { n: "Ajax", s: r.time, e: r.time + r.duration, o: t.status + " " + t.method + ": " + t.host + t.pathname, t: "ajax" }; l(o) } } function l(n) { var e = R[n.n]; e || (e = R[n.n] = []), e.push(n) } function p(n) { var e = !0; return function() { return e || N ? (e = !1, n()) : {} } } function m() { c(window.performance.getEntriesByType("resource")); var n = E(j(R, function(n, e) { return n in _ ? E(j(E(e.sort(v), h(n), {}), g), y, []) : e }), y, []); if (0 === n.length) return {}; R = {}; var e = { qs: { st: "" + b.offset, ptid: N }, body: { res: n } }; if (!N) { e.qs.ua = b.info.userAttributes, e.qs.at = b.info.atts; var t = S(b.info.jsAttributes); e.qs.ja = "{}" === t ? null : t } return e } function v(n, e) { return n.s - e.s } function h(n) { var e = _[n][0], t = _[n][1], r = {}; return function(o, i) { var a = o[i.o]; a || (a = o[i.o] = []); var s = r[i.o]; return "scrolling" !== n || w(i) ? s && i.s - s.s < t && s.e > i.s - e ? s.e = i.e : (r[i.o] = i, a.push(i)) : (r[i.o] = null, i.n = "scroll", a.push(i)), o } } function g(n, e) { return e } function y(n, e) { return n.concat(e) } function w(n) { var e = 4; return !!(n && "number" == typeof n.e && "number" == typeof n.s && n.e - n.s < e) } var b = n("loader"), x = n(14), k = n(8), j = n(31), E = n(34), S = n(19), A = n(32), q = n(29), I = n(11); if (k.xhrUsable && b.xhrWrappable) { var N = "", T = { mouseup: !0, mousedown: !0 }, _ = { typing: [1e3, 2e3], scrolling: [100, 1e3], mousing: [1e3, 2e3], touching: [1e3, 2e3] }, L = { typing: { keydown: !0, keyup: !0, keypress: !0 }, mousing: { mousemove: !0, mouseenter: !0, mouseleave: !0, mouseover: !0, mouseout: !0 }, scrolling: { scroll: !0 }, touching: { touchstart: !0, touchmove: !0, touchend: !0, touchcancel: !0, touchenter: !0, touchleave: !0 } }, R = {}, C = n("ee"); if (e.exports = { _takeSTNs: m }, n(17), b.features.stn) { C.on("feat-stn", function() { r(window.performance.timing), k.on("resources", p(m)); var n = k.sendX("resources", b, { needResponse: !0 }); n.addEventListener("load", function() { N = this.responseText }, !1), x("bst", i), x("bstTimer", o), x("bstResource", c), x("bstHist", u), x("bstXhrAgg", d), x("bstApi", l), x("errorAgg", f), I(function() { var n = 0; return b.now() > 9e5 ? void(R = {}) : (j(R, function(e, t) { t && t.length && (n += t.length) }), n > 30 && k.sendX("resources", b), void(n > 1e3 && (R = {}))) }, 1e4) }); var B = 0 } } }, {}], 28: [function(n, e, t) { function r(n, e, t) { e.time = t; var r, i = "xhr"; r = s(n.cat ? [n.status, n.cat] : [n.status, n.host, n.pathname]), f("bstXhrAgg", [i, r, n, e]), o.store(i, r, n, e) } var o = n(2), i = n(14), a = n(8), s = n(19), u = n("loader"), c = n("ee"), f = n("handle"); u.features.xhr && (a.on("jserrors", function() { return { body: o.take(["xhr"]) } }), c.on("feat-err", function() { i("xhr", r) }), e.exports = r) }, {}], 29: [function(n, e, t) { e.exports = function(n) { var e = document.createElement("a"), t = window.location, r = {}; e.href = n, r.port = e.port; var o = e.href.split("://"); !r.port && o[1] && (r.port = o[1].split("/")[0].split("@").pop().split(":")[1]), r.port && "0" !== r.port || (r.port = "https" === o[0] ? "443" : "80"), r.hostname = e.hostname || t.hostname, r.pathname = e.pathname, r.protocol = o[0], "/" !== r.pathname.charAt(0) && (r.pathname = "/" + r.pathname); var i = !e.protocol || ":" === e.protocol || e.protocol === t.protocol, a = e.hostname === document.domain && e.port === t.port; return r.sameOrigin = i && (!e.hostname || a), r } }, {}], 30: [function(n, e, t) { var r = 0, o = navigator.userAgent.match(/Firefox[\/\s](\d+\.\d+)/); o && (r = +o[1]), e.exports = r }, {}], 31: [function(n, e, t) { function r(n, e) { var t = [], r = "", i = 0; for (r in n) o.call(n, r) && (t[i] = e(r, n[r]), i += 1); return t } var o = Object.prototype.hasOwnProperty; e.exports = r }, {}], 32: [function(n, e, t) { function r(n, e, t) { e || (e = 0), "undefined" == typeof t && (t = n ? n.length : 0); for (var r = -1, o = t - e || 0, i = Array(o < 0 ? 0 : o); ++r < o;) i[r] = n[e + r]; return i } e.exports = r }, {}], 33: [function(n, e, t) { e.exports = { exists: "undefined" != typeof window.performance && window.performance.timing && "undefined" != typeof window.performance.timing.navigationStart } }, {}], 34: [function(n, e, t) { function r(n, e, t) { var r = 0; for ("undefined" == typeof t && (t = n[0], r = 1), r; r < n.length; r++) t = e(t, n[r]); return t } e.exports = r }, {}] }, {}, [24, 28, 27, 26, 10]);