1634 lines
81 KiB
JavaScript
1634 lines
81 KiB
JavaScript
/*! Raven.js 3.26.2 (0c2973a) | github.com/getsentry/raven-js */ ! function (a) {
|
|
if ("object" == typeof exports && "undefined" != typeof module) module.exports = a();
|
|
else if ("function" == typeof define && define.amd) define([], a);
|
|
else {
|
|
var b;
|
|
b = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof self ? self : this, b.Raven = a()
|
|
}
|
|
}(function () {
|
|
return function a(b, c, d) {
|
|
function e(g, h) {
|
|
if (!c[g]) {
|
|
if (!b[g]) {
|
|
var i = "function" == typeof require && require;
|
|
if (!h && i) return i(g, !0);
|
|
if (f) return f(g, !0);
|
|
var j = new Error("Cannot find module '" + g + "'");
|
|
throw j.code = "MODULE_NOT_FOUND", j
|
|
}
|
|
var k = c[g] = {
|
|
exports: {}
|
|
};
|
|
b[g][0].call(k.exports, function (a) {
|
|
var c = b[g][1][a];
|
|
return e(c ? c : a)
|
|
}, k, k.exports, a, b, c, d)
|
|
}
|
|
return c[g].exports
|
|
}
|
|
for (var f = "function" == typeof require && require, g = 0; g < d.length; g++) e(d[g]);
|
|
return e
|
|
}({
|
|
1: [function (a, b, c) {
|
|
function d(a) {
|
|
this.name = "RavenConfigError", this.message = a
|
|
}
|
|
d.prototype = new Error, d.prototype.constructor = d, b.exports = d
|
|
}, {}],
|
|
2: [function (a, b, c) {
|
|
var d = a(5),
|
|
e = function (a, b, c) {
|
|
var e = a[b],
|
|
f = a;
|
|
if (b in a) {
|
|
var g = "warn" === b ? "warning" : b;
|
|
a[b] = function () {
|
|
var a = [].slice.call(arguments),
|
|
h = d.safeJoin(a, " "),
|
|
i = {
|
|
level: g,
|
|
logger: "console",
|
|
extra: {
|
|
arguments: a
|
|
}
|
|
};
|
|
"assert" === b ? a[0] === !1 && (h = "Assertion failed: " + (d.safeJoin(a.slice(1), " ") || "console.assert"), i.extra.arguments = a.slice(1), c && c(h, i)) : c && c(h, i), e && Function.prototype.apply.call(e, f, a)
|
|
}
|
|
}
|
|
};
|
|
b.exports = {
|
|
wrapMethod: e
|
|
}
|
|
}, {
|
|
5: 5
|
|
}],
|
|
3: [function (a, b, c) {
|
|
(function (c) {
|
|
function d() {
|
|
return +new Date
|
|
}
|
|
|
|
function e(a, b) {
|
|
return s(b) ? function (c) {
|
|
return b(c, a)
|
|
} : b
|
|
}
|
|
|
|
function f() {
|
|
this.a = !("object" != typeof JSON || !JSON.stringify), this.b = !r(S), this.c = !r(T), this.d = null, this.e = null, this.f = null, this.g = null, this.h = null, this.i = null, this.j = {}, this.k = {
|
|
release: R.SENTRY_RELEASE && R.SENTRY_RELEASE.id,
|
|
logger: "javascript",
|
|
ignoreErrors: [],
|
|
ignoreUrls: [],
|
|
whitelistUrls: [],
|
|
includePaths: [],
|
|
headers: null,
|
|
collectWindowErrors: !0,
|
|
captureUnhandledRejections: !0,
|
|
maxMessageLength: 0,
|
|
maxUrlLength: 250,
|
|
stackTraceLimit: 50,
|
|
autoBreadcrumbs: !0,
|
|
instrument: !0,
|
|
sampleRate: 1,
|
|
sanitizeKeys: []
|
|
}, this.l = {
|
|
method: "POST",
|
|
keepalive: !0,
|
|
referrerPolicy: K() ? "origin" : ""
|
|
}, this.m = 0, this.n = !1, this.o = Error.stackTraceLimit, this.p = R.console || {}, this.q = {}, this.r = [], this.s = d(), this.t = [], this.u = [], this.v = null, this.w = R.location, this.x = this.w && this.w.href, this.y();
|
|
for (var a in this.p) this.q[a] = this.p[a]
|
|
}
|
|
var g = a(6),
|
|
h = a(7),
|
|
i = a(8),
|
|
j = a(1),
|
|
k = a(5),
|
|
l = k.isErrorEvent,
|
|
m = k.isDOMError,
|
|
n = k.isDOMException,
|
|
o = k.isError,
|
|
p = k.isObject,
|
|
q = k.isPlainObject,
|
|
r = k.isUndefined,
|
|
s = k.isFunction,
|
|
t = k.isString,
|
|
u = k.isArray,
|
|
v = k.isEmptyObject,
|
|
w = k.each,
|
|
x = k.objectMerge,
|
|
y = k.truncate,
|
|
z = k.objectFrozen,
|
|
A = k.hasKey,
|
|
B = k.joinRegExp,
|
|
C = k.urlencode,
|
|
D = k.uuid4,
|
|
E = k.htmlTreeAsString,
|
|
F = k.isSameException,
|
|
G = k.isSameStacktrace,
|
|
H = k.parseUrl,
|
|
I = k.fill,
|
|
J = k.supportsFetch,
|
|
K = k.supportsReferrerPolicy,
|
|
L = k.serializeKeysForMessage,
|
|
M = k.serializeException,
|
|
N = k.sanitize,
|
|
O = a(2).wrapMethod,
|
|
P = "source protocol user pass host port path".split(" "),
|
|
Q = /^(?:(\w+):)?\/\/(?:(\w+)(:\w+)?@)?([\w\.-]+)(?::(\d+))?(\/.*)/,
|
|
R = "undefined" != typeof window ? window : "undefined" != typeof c ? c : "undefined" != typeof self ? self : {},
|
|
S = R.document,
|
|
T = R.navigator;
|
|
f.prototype = {
|
|
VERSION: "3.26.2",
|
|
debug: !1,
|
|
TraceKit: g,
|
|
config: function (a, b) {
|
|
var c = this;
|
|
if (c.g) return this.z("error", "Error: Raven has already been configured"), c;
|
|
if (!a) return c;
|
|
var d = c.k;
|
|
b && w(b, function (a, b) {
|
|
"tags" === a || "extra" === a || "user" === a ? c.j[a] = b : d[a] = b
|
|
}), c.setDSN(a), d.ignoreErrors.push(/^Script error\.?$/), d.ignoreErrors.push(/^Javascript error: Script error\.? on line 0$/), d.ignoreErrors = B(d.ignoreErrors), d.ignoreUrls = !!d.ignoreUrls.length && B(d.ignoreUrls), d.whitelistUrls = !!d.whitelistUrls.length && B(d.whitelistUrls), d.includePaths = B(d.includePaths), d.maxBreadcrumbs = Math.max(0, Math.min(d.maxBreadcrumbs || 100, 100));
|
|
var e = {
|
|
xhr: !0,
|
|
console: !0,
|
|
dom: !0,
|
|
location: !0,
|
|
sentry: !0
|
|
},
|
|
f = d.autoBreadcrumbs;
|
|
"[object Object]" === {}.toString.call(f) ? f = x(e, f) : f !== !1 && (f = e), d.autoBreadcrumbs = f;
|
|
var h = {
|
|
tryCatch: !0
|
|
},
|
|
i = d.instrument;
|
|
return "[object Object]" === {}.toString.call(i) ? i = x(h, i) : i !== !1 && (i = h), d.instrument = i, g.collectWindowErrors = !!d.collectWindowErrors, c
|
|
},
|
|
install: function () {
|
|
var a = this;
|
|
return a.isSetup() && !a.n && (g.report.subscribe(function () {
|
|
a.A.apply(a, arguments)
|
|
}), a.k.captureUnhandledRejections && a.B(), a.C(), a.k.instrument && a.k.instrument.tryCatch && a.D(), a.k.autoBreadcrumbs && a.E(), a.F(), a.n = !0), Error.stackTraceLimit = a.k.stackTraceLimit, this
|
|
},
|
|
setDSN: function (a) {
|
|
var b = this,
|
|
c = b.G(a),
|
|
d = c.path.lastIndexOf("/"),
|
|
e = c.path.substr(1, d);
|
|
b.H = a, b.h = c.user, b.I = c.pass && c.pass.substr(1), b.i = c.path.substr(d + 1), b.g = b.J(c), b.K = b.g + "/" + e + "api/" + b.i + "/store/", this.y()
|
|
},
|
|
context: function (a, b, c) {
|
|
return s(a) && (c = b || [], b = a, a = {}), this.wrap(a, b).apply(this, c)
|
|
},
|
|
wrap: function (a, b, c) {
|
|
function d() {
|
|
var d = [],
|
|
f = arguments.length,
|
|
g = !a || a && a.deep !== !1;
|
|
for (c && s(c) && c.apply(this, arguments); f--;) d[f] = g ? e.wrap(a, arguments[f]) : arguments[f];
|
|
try {
|
|
return b.apply(this, d)
|
|
} catch (h) {
|
|
throw e.L(), e.captureException(h, a), h
|
|
}
|
|
}
|
|
var e = this;
|
|
if (r(b) && !s(a)) return a;
|
|
if (s(a) && (b = a, a = void 0), !s(b)) return b;
|
|
try {
|
|
if (b.M) return b;
|
|
if (b.N) return b.N
|
|
} catch (f) {
|
|
return b
|
|
}
|
|
for (var g in b) A(b, g) && (d[g] = b[g]);
|
|
return d.prototype = b.prototype, b.N = d, d.M = !0, d.O = b, d
|
|
},
|
|
uninstall: function () {
|
|
return g.report.uninstall(), this.P(), this.Q(), this.R(), this.S(), Error.stackTraceLimit = this.o, this.n = !1, this
|
|
},
|
|
T: function (a) {
|
|
this.z("debug", "Raven caught unhandled promise rejection:", a), this.captureException(a.reason, {
|
|
mechanism: {
|
|
type: "onunhandledrejection",
|
|
handled: !1
|
|
}
|
|
})
|
|
},
|
|
B: function () {
|
|
return this.T = this.T.bind(this), R.addEventListener && R.addEventListener("unhandledrejection", this.T), this
|
|
},
|
|
P: function () {
|
|
return R.removeEventListener && R.removeEventListener("unhandledrejection", this.T), this
|
|
},
|
|
captureException: function (a, b) {
|
|
if (b = x({
|
|
trimHeadFrames: 0
|
|
}, b ? b : {}), l(a) && a.error) a = a.error;
|
|
else {
|
|
if (m(a) || n(a)) {
|
|
var c = a.name || (m(a) ? "DOMError" : "DOMException"),
|
|
d = a.message ? c + ": " + a.message : c;
|
|
return this.captureMessage(d, x(b, {
|
|
stacktrace: !0,
|
|
trimHeadFrames: b.trimHeadFrames + 1
|
|
}))
|
|
}
|
|
if (o(a)) a = a;
|
|
else {
|
|
if (!q(a)) return this.captureMessage(a, x(b, {
|
|
stacktrace: !0,
|
|
trimHeadFrames: b.trimHeadFrames + 1
|
|
}));
|
|
b = this.U(b, a), a = new Error(b.message)
|
|
}
|
|
}
|
|
this.d = a;
|
|
try {
|
|
var e = g.computeStackTrace(a);
|
|
this.V(e, b)
|
|
} catch (f) {
|
|
if (a !== f) throw f
|
|
}
|
|
return this
|
|
},
|
|
U: function (a, b) {
|
|
var c = Object.keys(b).sort(),
|
|
d = x(a, {
|
|
message: "Non-Error exception captured with keys: " + L(c),
|
|
fingerprint: [i(c)],
|
|
extra: a.extra || {}
|
|
});
|
|
return d.extra.W = M(b), d
|
|
},
|
|
captureMessage: function (a, b) {
|
|
if (!this.k.ignoreErrors.test || !this.k.ignoreErrors.test(a)) {
|
|
b = b || {}, a += "";
|
|
var c, d = x({
|
|
message: a
|
|
}, b);
|
|
try {
|
|
throw new Error(a)
|
|
} catch (e) {
|
|
c = e
|
|
}
|
|
c.name = null;
|
|
var f = g.computeStackTrace(c),
|
|
h = u(f.stack) && f.stack[1];
|
|
h && "Raven.captureException" === h.func && (h = f.stack[2]);
|
|
var i = h && h.url || "";
|
|
if ((!this.k.ignoreUrls.test || !this.k.ignoreUrls.test(i)) && (!this.k.whitelistUrls.test || this.k.whitelistUrls.test(i))) {
|
|
if (this.k.stacktrace || b && b.stacktrace) {
|
|
d.fingerprint = null == d.fingerprint ? a : d.fingerprint, b = x({
|
|
trimHeadFrames: 0
|
|
}, b), b.trimHeadFrames += 1;
|
|
var j = this.X(f, b);
|
|
d.stacktrace = {
|
|
frames: j.reverse()
|
|
}
|
|
}
|
|
return d.fingerprint && (d.fingerprint = u(d.fingerprint) ? d.fingerprint : [d.fingerprint]), this.Y(d), this
|
|
}
|
|
}
|
|
},
|
|
captureBreadcrumb: function (a) {
|
|
var b = x({
|
|
timestamp: d() / 1e3
|
|
}, a);
|
|
if (s(this.k.breadcrumbCallback)) {
|
|
var c = this.k.breadcrumbCallback(b);
|
|
if (p(c) && !v(c)) b = c;
|
|
else if (c === !1) return this
|
|
}
|
|
return this.u.push(b), this.u.length > this.k.maxBreadcrumbs && this.u.shift(), this
|
|
},
|
|
addPlugin: function (a) {
|
|
var b = [].slice.call(arguments, 1);
|
|
return this.r.push([a, b]), this.n && this.F(), this
|
|
},
|
|
setUserContext: function (a) {
|
|
return this.j.user = a, this
|
|
},
|
|
setExtraContext: function (a) {
|
|
return this.Z("extra", a), this
|
|
},
|
|
setTagsContext: function (a) {
|
|
return this.Z("tags", a), this
|
|
},
|
|
clearContext: function () {
|
|
return this.j = {}, this
|
|
},
|
|
getContext: function () {
|
|
return JSON.parse(h(this.j))
|
|
},
|
|
setEnvironment: function (a) {
|
|
return this.k.environment = a, this
|
|
},
|
|
setRelease: function (a) {
|
|
return this.k.release = a, this
|
|
},
|
|
setDataCallback: function (a) {
|
|
var b = this.k.dataCallback;
|
|
return this.k.dataCallback = e(b, a), this
|
|
},
|
|
setBreadcrumbCallback: function (a) {
|
|
var b = this.k.breadcrumbCallback;
|
|
return this.k.breadcrumbCallback = e(b, a), this
|
|
},
|
|
setShouldSendCallback: function (a) {
|
|
var b = this.k.shouldSendCallback;
|
|
return this.k.shouldSendCallback = e(b, a), this
|
|
},
|
|
setTransport: function (a) {
|
|
return this.k.transport = a, this
|
|
},
|
|
lastException: function () {
|
|
return this.d
|
|
},
|
|
lastEventId: function () {
|
|
return this.f
|
|
},
|
|
isSetup: function () {
|
|
return !!this.a && (!!this.g || (this.ravenNotConfiguredError || (this.ravenNotConfiguredError = !0, this.z("error", "Error: Raven has not been configured.")), !1))
|
|
},
|
|
afterLoad: function () {
|
|
var a = R.RavenConfig;
|
|
a && this.config(a.dsn, a.config).install()
|
|
},
|
|
showReportDialog: function (a) {
|
|
if (S) {
|
|
a = a || {};
|
|
var b = a.eventId || this.lastEventId();
|
|
if (!b) throw new j("Missing eventId");
|
|
var c = a.dsn || this.H;
|
|
if (!c) throw new j("Missing DSN");
|
|
var d = encodeURIComponent,
|
|
e = "";
|
|
e += "?eventId=" + d(b), e += "&dsn=" + d(c);
|
|
var f = a.user || this.j.user;
|
|
f && (f.name && (e += "&name=" + d(f.name)), f.email && (e += "&email=" + d(f.email)));
|
|
var g = this.J(this.G(c)),
|
|
h = S.createElement("script");
|
|
h.async = !0, h.src = g + "/api/embed/error-page/" + e, (S.head || S.body).appendChild(h)
|
|
}
|
|
},
|
|
L: function () {
|
|
var a = this;
|
|
this.m += 1, setTimeout(function () {
|
|
a.m -= 1
|
|
})
|
|
},
|
|
$: function (a, b) {
|
|
var c, d;
|
|
if (this.b) {
|
|
b = b || {}, a = "raven" + a.substr(0, 1).toUpperCase() + a.substr(1), S.createEvent ? (c = S.createEvent("HTMLEvents"), c.initEvent(a, !0, !0)) : (c = S.createEventObject(), c.eventType = a);
|
|
for (d in b) A(b, d) && (c[d] = b[d]);
|
|
if (S.createEvent) S.dispatchEvent(c);
|
|
else try {
|
|
S.fireEvent("on" + c.eventType.toLowerCase(), c)
|
|
} catch (e) {}
|
|
}
|
|
},
|
|
_: function (a) {
|
|
var b = this;
|
|
return function (c) {
|
|
if (b.aa = null, b.v !== c) {
|
|
b.v = c;
|
|
var d;
|
|
try {
|
|
d = E(c.target)
|
|
} catch (e) {
|
|
d = "<unknown>"
|
|
}
|
|
b.captureBreadcrumb({
|
|
category: "ui." + a,
|
|
message: d
|
|
})
|
|
}
|
|
}
|
|
},
|
|
ba: function () {
|
|
var a = this,
|
|
b = 1e3;
|
|
return function (c) {
|
|
var d;
|
|
try {
|
|
d = c.target
|
|
} catch (e) {
|
|
return
|
|
}
|
|
var f = d && d.tagName;
|
|
if (f && ("INPUT" === f || "TEXTAREA" === f || d.isContentEditable)) {
|
|
var g = a.aa;
|
|
g || a._("input")(c), clearTimeout(g), a.aa = setTimeout(function () {
|
|
a.aa = null
|
|
}, b)
|
|
}
|
|
}
|
|
},
|
|
ca: function (a, b) {
|
|
var c = H(this.w.href),
|
|
d = H(b),
|
|
e = H(a);
|
|
this.x = b, c.protocol === d.protocol && c.host === d.host && (b = d.relative), c.protocol === e.protocol && c.host === e.host && (a = e.relative), this.captureBreadcrumb({
|
|
category: "navigation",
|
|
data: {
|
|
to: b,
|
|
from: a
|
|
}
|
|
})
|
|
},
|
|
C: function () {
|
|
var a = this;
|
|
a.da = Function.prototype.toString, Function.prototype.toString = function () {
|
|
return "function" == typeof this && this.M ? a.da.apply(this.O, arguments) : a.da.apply(this, arguments)
|
|
}
|
|
},
|
|
Q: function () {
|
|
this.da && (Function.prototype.toString = this.da)
|
|
},
|
|
D: function () {
|
|
function a(a) {
|
|
return function (b, d) {
|
|
for (var e = new Array(arguments.length), f = 0; f < e.length; ++f) e[f] = arguments[f];
|
|
var g = e[0];
|
|
return s(g) && (e[0] = c.wrap({
|
|
mechanism: {
|
|
type: "instrument",
|
|
data: {
|
|
"function": a.name || "<anonymous>"
|
|
}
|
|
}
|
|
}, g)), a.apply ? a.apply(this, e) : a(e[0], e[1])
|
|
}
|
|
}
|
|
|
|
function b(a) {
|
|
var b = R[a] && R[a].prototype;
|
|
b && b.hasOwnProperty && b.hasOwnProperty("addEventListener") && (I(b, "addEventListener", function (b) {
|
|
return function (d, f, g, h) {
|
|
try {
|
|
f && f.handleEvent && (f.handleEvent = c.wrap({
|
|
mechanism: {
|
|
type: "instrument",
|
|
data: {
|
|
target: a,
|
|
"function": "handleEvent",
|
|
handler: f && f.name || "<anonymous>"
|
|
}
|
|
}
|
|
}, f.handleEvent))
|
|
} catch (i) {}
|
|
var j, k, l;
|
|
return e && e.dom && ("EventTarget" === a || "Node" === a) && (k = c._("click"), l = c.ba(), j = function (a) {
|
|
if (a) {
|
|
var b;
|
|
try {
|
|
b = a.type
|
|
} catch (c) {
|
|
return
|
|
}
|
|
return "click" === b ? k(a) : "keypress" === b ? l(a) : void 0
|
|
}
|
|
}), b.call(this, d, c.wrap({
|
|
mechanism: {
|
|
type: "instrument",
|
|
data: {
|
|
target: a,
|
|
"function": "addEventListener",
|
|
handler: f && f.name || "<anonymous>"
|
|
}
|
|
}
|
|
}, f, j), g, h)
|
|
}
|
|
}, d), I(b, "removeEventListener", function (a) {
|
|
return function (b, c, d, e) {
|
|
try {
|
|
c = c && (c.N ? c.N : c)
|
|
} catch (f) {}
|
|
return a.call(this, b, c, d, e)
|
|
}
|
|
}, d))
|
|
}
|
|
var c = this,
|
|
d = c.t,
|
|
e = this.k.autoBreadcrumbs;
|
|
I(R, "setTimeout", a, d), I(R, "setInterval", a, d), R.requestAnimationFrame && I(R, "requestAnimationFrame", function (a) {
|
|
return function (b) {
|
|
return a(c.wrap({
|
|
mechanism: {
|
|
type: "instrument",
|
|
data: {
|
|
"function": "requestAnimationFrame",
|
|
handler: a && a.name || "<anonymous>"
|
|
}
|
|
}
|
|
}, b))
|
|
}
|
|
}, d);
|
|
for (var f = ["EventTarget", "Window", "Node", "ApplicationCache", "AudioTrackList", "ChannelMergerNode", "CryptoOperation", "EventSource", "FileReader", "HTMLUnknownElement", "IDBDatabase", "IDBRequest", "IDBTransaction", "KeyOperation", "MediaController", "MessagePort", "ModalWindow", "Notification", "SVGElementInstance", "Screen", "TextTrack", "TextTrackCue", "TextTrackList", "WebSocket", "WebSocketWorker", "Worker", "XMLHttpRequest", "XMLHttpRequestEventTarget", "XMLHttpRequestUpload"], g = 0; g < f.length; g++) b(f[g])
|
|
},
|
|
E: function () {
|
|
function a(a, c) {
|
|
a in c && s(c[a]) && I(c, a, function (c) {
|
|
return b.wrap({
|
|
mechanism: {
|
|
type: "instrument",
|
|
data: {
|
|
"function": a,
|
|
handler: c && c.name || "<anonymous>"
|
|
}
|
|
}
|
|
}, c)
|
|
})
|
|
}
|
|
var b = this,
|
|
c = this.k.autoBreadcrumbs,
|
|
d = b.t;
|
|
if (c.xhr && "XMLHttpRequest" in R) {
|
|
var e = R.XMLHttpRequest && R.XMLHttpRequest.prototype;
|
|
I(e, "open", function (a) {
|
|
return function (c, d) {
|
|
return t(d) && d.indexOf(b.h) === -1 && (this.ea = {
|
|
method: c,
|
|
url: d,
|
|
status_code: null
|
|
}), a.apply(this, arguments)
|
|
}
|
|
}, d), I(e, "send", function (c) {
|
|
return function () {
|
|
function d() {
|
|
if (e.ea && 4 === e.readyState) {
|
|
try {
|
|
e.ea.status_code = e.status
|
|
} catch (a) {}
|
|
b.captureBreadcrumb({
|
|
type: "http",
|
|
category: "xhr",
|
|
data: e.ea
|
|
})
|
|
}
|
|
}
|
|
for (var e = this, f = ["onload", "onerror", "onprogress"], g = 0; g < f.length; g++) a(f[g], e);
|
|
return "onreadystatechange" in e && s(e.onreadystatechange) ? I(e, "onreadystatechange", function (a) {
|
|
return b.wrap({
|
|
mechanism: {
|
|
type: "instrument",
|
|
data: {
|
|
"function": "onreadystatechange",
|
|
handler: a && a.name || "<anonymous>"
|
|
}
|
|
}
|
|
}, a, d)
|
|
}) : e.onreadystatechange = d, c.apply(this, arguments)
|
|
}
|
|
}, d)
|
|
}
|
|
c.xhr && J() && I(R, "fetch", function (a) {
|
|
return function () {
|
|
for (var c = new Array(arguments.length), d = 0; d < c.length; ++d) c[d] = arguments[d];
|
|
var e, f = c[0],
|
|
g = "GET";
|
|
if ("string" == typeof f ? e = f : "Request" in R && f instanceof R.Request ? (e = f.url, f.method && (g = f.method)) : e = "" + f, e.indexOf(b.h) !== -1) return a.apply(this, c);
|
|
c[1] && c[1].method && (g = c[1].method);
|
|
var h = {
|
|
method: g,
|
|
url: e,
|
|
status_code: null
|
|
};
|
|
return a.apply(this, c).then(function (a) {
|
|
return h.status_code = a.status, b.captureBreadcrumb({
|
|
type: "http",
|
|
category: "fetch",
|
|
data: h
|
|
}), a
|
|
})["catch"](function (a) {
|
|
throw b.captureBreadcrumb({
|
|
type: "http",
|
|
category: "fetch",
|
|
data: h,
|
|
level: "error"
|
|
}), a
|
|
})
|
|
}
|
|
}, d), c.dom && this.b && (S.addEventListener ? (S.addEventListener("click", b._("click"), !1), S.addEventListener("keypress", b.ba(), !1)) : S.attachEvent && (S.attachEvent("onclick", b._("click")), S.attachEvent("onkeypress", b.ba())));
|
|
var f = R.chrome,
|
|
g = f && f.app && f.app.runtime,
|
|
h = !g && R.history && R.history.pushState && R.history.replaceState;
|
|
if (c.location && h) {
|
|
var i = R.onpopstate;
|
|
R.onpopstate = function () {
|
|
var a = b.w.href;
|
|
if (b.ca(b.x, a), i) return i.apply(this, arguments)
|
|
};
|
|
var j = function (a) {
|
|
return function () {
|
|
var c = arguments.length > 2 ? arguments[2] : void 0;
|
|
return c && b.ca(b.x, c + ""), a.apply(this, arguments)
|
|
}
|
|
};
|
|
I(R.history, "pushState", j, d), I(R.history, "replaceState", j, d)
|
|
}
|
|
if (c.console && "console" in R && console.log) {
|
|
var k = function (a, c) {
|
|
b.captureBreadcrumb({
|
|
message: a,
|
|
level: c.level,
|
|
category: "console"
|
|
})
|
|
};
|
|
w(["debug", "info", "warn", "error", "log"], function (a, b) {
|
|
O(console, b, k)
|
|
})
|
|
}
|
|
},
|
|
R: function () {
|
|
for (var a; this.t.length;) {
|
|
a = this.t.shift();
|
|
var b = a[0],
|
|
c = a[1],
|
|
d = a[2];
|
|
b[c] = d
|
|
}
|
|
},
|
|
S: function () {
|
|
for (var a in this.q) this.p[a] = this.q[a]
|
|
},
|
|
F: function () {
|
|
var a = this;
|
|
w(this.r, function (b, c) {
|
|
var d = c[0],
|
|
e = c[1];
|
|
d.apply(a, [a].concat(e))
|
|
})
|
|
},
|
|
G: function (a) {
|
|
var b = Q.exec(a),
|
|
c = {},
|
|
d = 7;
|
|
try {
|
|
for (; d--;) c[P[d]] = b[d] || ""
|
|
} catch (e) {
|
|
throw new j("Invalid DSN: " + a)
|
|
}
|
|
if (c.pass && !this.k.allowSecretKey) throw new j("Do not specify your secret key in the DSN. See: http://bit.ly/raven-secret-key");
|
|
return c
|
|
},
|
|
J: function (a) {
|
|
var b = "//" + a.host + (a.port ? ":" + a.port : "");
|
|
return a.protocol && (b = a.protocol + ":" + b), b
|
|
},
|
|
A: function (a, b) {
|
|
b = b || {}, b.mechanism = b.mechanism || {
|
|
type: "onerror",
|
|
handled: !1
|
|
}, this.m || this.V(a, b)
|
|
},
|
|
V: function (a, b) {
|
|
var c = this.X(a, b);
|
|
this.$("handle", {
|
|
stackInfo: a,
|
|
options: b
|
|
}), this.fa(a.name, a.message, a.url, a.lineno, c, b)
|
|
},
|
|
X: function (a, b) {
|
|
var c = this,
|
|
d = [];
|
|
if (a.stack && a.stack.length && (w(a.stack, function (b, e) {
|
|
var f = c.ga(e, a.url);
|
|
f && d.push(f)
|
|
}), b && b.trimHeadFrames))
|
|
for (var e = 0; e < b.trimHeadFrames && e < d.length; e++) d[e].in_app = !1;
|
|
return d = d.slice(0, this.k.stackTraceLimit)
|
|
},
|
|
ga: function (a, b) {
|
|
var c = {
|
|
filename: a.url,
|
|
lineno: a.line,
|
|
colno: a.column,
|
|
"function": a.func || "?"
|
|
};
|
|
return a.url || (c.filename = b), c.in_app = !(this.k.includePaths.test && !this.k.includePaths.test(c.filename) || /(Raven|TraceKit)\./.test(c["function"]) || /raven\.(min\.)?js$/.test(c.filename)), c
|
|
},
|
|
fa: function (a, b, c, d, e, f) {
|
|
var g = (a ? a + ": " : "") + (b || "");
|
|
if (!this.k.ignoreErrors.test || !this.k.ignoreErrors.test(b) && !this.k.ignoreErrors.test(g)) {
|
|
var h;
|
|
if (e && e.length ? (c = e[0].filename || c, e.reverse(), h = {
|
|
frames: e
|
|
}) : c && (h = {
|
|
frames: [{
|
|
filename: c,
|
|
lineno: d,
|
|
in_app: !0
|
|
}]
|
|
}), (!this.k.ignoreUrls.test || !this.k.ignoreUrls.test(c)) && (!this.k.whitelistUrls.test || this.k.whitelistUrls.test(c))) {
|
|
var i = x({
|
|
exception: {
|
|
values: [{
|
|
type: a,
|
|
value: b,
|
|
stacktrace: h
|
|
}]
|
|
},
|
|
transaction: c
|
|
}, f);
|
|
!i.exception.mechanism && i.mechanism && (i.exception.mechanism = i.mechanism, delete i.mechanism), i.exception.mechanism = x({
|
|
type: "generic",
|
|
handled: !0
|
|
}, i.exception.mechanism || {}), this.Y(i)
|
|
}
|
|
}
|
|
},
|
|
ha: function (a) {
|
|
var b = this.k.maxMessageLength;
|
|
if (a.message && (a.message = y(a.message, b)), a.exception) {
|
|
var c = a.exception.values[0];
|
|
c.value = y(c.value, b)
|
|
}
|
|
var d = a.request;
|
|
return d && (d.url && (d.url = y(d.url, this.k.maxUrlLength)), d.Referer && (d.Referer = y(d.Referer, this.k.maxUrlLength))), a.breadcrumbs && a.breadcrumbs.values && this.ia(a.breadcrumbs), a
|
|
},
|
|
ia: function (a) {
|
|
for (var b, c, d, e = ["to", "from", "url"], f = 0; f < a.values.length; ++f)
|
|
if (c = a.values[f], c.hasOwnProperty("data") && p(c.data) && !z(c.data)) {
|
|
d = x({}, c.data);
|
|
for (var g = 0; g < e.length; ++g) b = e[g], d.hasOwnProperty(b) && d[b] && (d[b] = y(d[b], this.k.maxUrlLength));
|
|
a.values[f].data = d
|
|
}
|
|
},
|
|
ja: function () {
|
|
if (this.c || this.b) {
|
|
var a = {};
|
|
return this.c && T.userAgent && (a.headers = {
|
|
"User-Agent": T.userAgent
|
|
}), R.location && R.location.href && (a.url = R.location.href), this.b && S.referrer && (a.headers || (a.headers = {}), a.headers.Referer = S.referrer), a
|
|
}
|
|
},
|
|
y: function () {
|
|
this.ka = 0, this.la = null
|
|
},
|
|
ma: function () {
|
|
return this.ka && d() - this.la < this.ka
|
|
},
|
|
na: function (a) {
|
|
var b = this.e;
|
|
return !(!b || a.message !== b.message || a.transaction !== b.transaction) && (a.stacktrace || b.stacktrace ? G(a.stacktrace, b.stacktrace) : !a.exception && !b.exception || F(a.exception, b.exception))
|
|
},
|
|
oa: function (a) {
|
|
if (!this.ma()) {
|
|
var b = a.status;
|
|
if (400 === b || 401 === b || 429 === b) {
|
|
var c;
|
|
try {
|
|
c = J() ? a.headers.get("Retry-After") : a.getResponseHeader("Retry-After"), c = 1e3 * parseInt(c, 10)
|
|
} catch (e) {}
|
|
this.ka = c ? c : 2 * this.ka || 1e3, this.la = d()
|
|
}
|
|
}
|
|
},
|
|
Y: function (a) {
|
|
var b = this.k,
|
|
c = {
|
|
project: this.i,
|
|
logger: b.logger,
|
|
platform: "javascript"
|
|
},
|
|
e = this.ja();
|
|
if (e && (c.request = e), a.trimHeadFrames && delete a.trimHeadFrames, a = x(c, a), a.tags = x(x({}, this.j.tags), a.tags), a.extra = x(x({}, this.j.extra), a.extra), a.extra["session:duration"] = d() - this.s, this.u && this.u.length > 0 && (a.breadcrumbs = {
|
|
values: [].slice.call(this.u, 0)
|
|
}), this.j.user && (a.user = this.j.user), b.environment && (a.environment = b.environment), b.release && (a.release = b.release), b.serverName && (a.server_name = b.serverName), a = this.pa(a), Object.keys(a).forEach(function (b) {
|
|
(null == a[b] || "" === a[b] || v(a[b])) && delete a[b]
|
|
}), s(b.dataCallback) && (a = b.dataCallback(a) || a), a && !v(a) && (!s(b.shouldSendCallback) || b.shouldSendCallback(a))) return this.ma() ? void this.z("warn", "Raven dropped error due to backoff: ", a) : void("number" == typeof b.sampleRate ? Math.random() < b.sampleRate && this.qa(a) : this.qa(a))
|
|
},
|
|
pa: function (a) {
|
|
return N(a, this.k.sanitizeKeys)
|
|
},
|
|
ra: function () {
|
|
return D()
|
|
},
|
|
qa: function (a, b) {
|
|
var c = this,
|
|
d = this.k;
|
|
if (this.isSetup()) {
|
|
if (a = this.ha(a), !this.k.allowDuplicates && this.na(a)) return void this.z("warn", "Raven dropped repeat event: ", a);
|
|
this.f = a.event_id || (a.event_id = this.ra()), this.e = a, this.z("debug", "Raven about to send:", a);
|
|
var e = {
|
|
sentry_version: "7",
|
|
sentry_client: "raven-js/" + this.VERSION,
|
|
sentry_key: this.h
|
|
};
|
|
this.I && (e.sentry_secret = this.I);
|
|
var f = a.exception && a.exception.values[0];
|
|
this.k.autoBreadcrumbs && this.k.autoBreadcrumbs.sentry && this.captureBreadcrumb({
|
|
category: "sentry",
|
|
message: f ? (f.type ? f.type + ": " : "") + f.value : a.message,
|
|
event_id: a.event_id,
|
|
level: a.level || "error"
|
|
});
|
|
var g = this.K;
|
|
(d.transport || this._makeRequest).call(this, {
|
|
url: g,
|
|
auth: e,
|
|
data: a,
|
|
options: d,
|
|
onSuccess: function () {
|
|
c.y(), c.$("success", {
|
|
data: a,
|
|
src: g
|
|
}), b && b()
|
|
},
|
|
onError: function (d) {
|
|
c.z("error", "Raven transport failed to send: ", d), d.request && c.oa(d.request), c.$("failure", {
|
|
data: a,
|
|
src: g
|
|
}), d = d || new Error("Raven send failed (no additional details provided)"), b && b(d)
|
|
}
|
|
})
|
|
}
|
|
},
|
|
_makeRequest: function (a) {
|
|
var b = a.url + "?" + C(a.auth),
|
|
c = null,
|
|
d = {};
|
|
if (a.options.headers && (c = this.sa(a.options.headers)), a.options.fetchParameters && (d = this.sa(a.options.fetchParameters)), J()) {
|
|
d.body = h(a.data);
|
|
var e = x({}, this.l),
|
|
f = x(e, d);
|
|
return c && (f.headers = c), R.fetch(b, f).then(function (b) {
|
|
if (b.ok) a.onSuccess && a.onSuccess();
|
|
else {
|
|
var c = new Error("Sentry error code: " + b.status);
|
|
c.request = b, a.onError && a.onError(c)
|
|
}
|
|
})["catch"](function () {
|
|
a.onError && a.onError(new Error("Sentry error code: network unavailable"))
|
|
})
|
|
}
|
|
var g = R.XMLHttpRequest && new R.XMLHttpRequest;
|
|
if (g) {
|
|
var i = "withCredentials" in g || "undefined" != typeof XDomainRequest;
|
|
i && ("withCredentials" in g ? g.onreadystatechange = function () {
|
|
if (4 === g.readyState)
|
|
if (200 === g.status) a.onSuccess && a.onSuccess();
|
|
else if (a.onError) {
|
|
var b = new Error("Sentry error code: " + g.status);
|
|
b.request = g, a.onError(b)
|
|
}
|
|
} : (g = new XDomainRequest, b = b.replace(/^https?:/, ""), a.onSuccess && (g.onload = a.onSuccess), a.onError && (g.onerror = function () {
|
|
var b = new Error("Sentry error code: XDomainRequest");
|
|
b.request = g, a.onError(b)
|
|
})), g.open("POST", b), c && w(c, function (a, b) {
|
|
g.setRequestHeader(a, b)
|
|
}), g.send(h(a.data)))
|
|
}
|
|
},
|
|
sa: function (a) {
|
|
var b = {};
|
|
for (var c in a)
|
|
if (a.hasOwnProperty(c)) {
|
|
var d = a[c];
|
|
b[c] = "function" == typeof d ? d() : d
|
|
} return b
|
|
},
|
|
z: function (a) {
|
|
this.q[a] && (this.debug || this.k.debug) && Function.prototype.apply.call(this.q[a], this.p, [].slice.call(arguments, 1))
|
|
},
|
|
Z: function (a, b) {
|
|
r(b) ? delete this.j[a] : this.j[a] = x(this.j[a] || {}, b)
|
|
}
|
|
}, f.prototype.setUser = f.prototype.setUserContext, f.prototype.setReleaseContext = f.prototype.setRelease, b.exports = f
|
|
}).call(this, "undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : {})
|
|
}, {
|
|
1: 1,
|
|
2: 2,
|
|
5: 5,
|
|
6: 6,
|
|
7: 7,
|
|
8: 8
|
|
}],
|
|
4: [function (a, b, c) {
|
|
(function (c) {
|
|
var d = a(3),
|
|
e = "undefined" != typeof window ? window : "undefined" != typeof c ? c : "undefined" != typeof self ? self : {},
|
|
f = e.Raven,
|
|
g = new d;
|
|
g.noConflict = function () {
|
|
return e.Raven = f, g
|
|
}, g.afterLoad(), b.exports = g, b.exports.Client = d
|
|
}).call(this, "undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : {})
|
|
}, {
|
|
3: 3
|
|
}],
|
|
5: [function (a, b, c) {
|
|
(function (c) {
|
|
function d(a) {
|
|
return "object" == typeof a && null !== a
|
|
}
|
|
|
|
function e(a) {
|
|
switch (Object.prototype.toString.call(a)) {
|
|
case "[object Error]":
|
|
return !0;
|
|
case "[object Exception]":
|
|
return !0;
|
|
case "[object DOMException]":
|
|
return !0;
|
|
default:
|
|
return a instanceof Error
|
|
}
|
|
}
|
|
|
|
function f(a) {
|
|
return "[object ErrorEvent]" === Object.prototype.toString.call(a)
|
|
}
|
|
|
|
function g(a) {
|
|
return "[object DOMError]" === Object.prototype.toString.call(a)
|
|
}
|
|
|
|
function h(a) {
|
|
return "[object DOMException]" === Object.prototype.toString.call(a)
|
|
}
|
|
|
|
function i(a) {
|
|
return void 0 === a
|
|
}
|
|
|
|
function j(a) {
|
|
return "function" == typeof a
|
|
}
|
|
|
|
function k(a) {
|
|
return "[object Object]" === Object.prototype.toString.call(a)
|
|
}
|
|
|
|
function l(a) {
|
|
return "[object String]" === Object.prototype.toString.call(a)
|
|
}
|
|
|
|
function m(a) {
|
|
return "[object Array]" === Object.prototype.toString.call(a)
|
|
}
|
|
|
|
function n(a) {
|
|
if (!k(a)) return !1;
|
|
for (var b in a)
|
|
if (a.hasOwnProperty(b)) return !1;
|
|
return !0
|
|
}
|
|
|
|
function o() {
|
|
try {
|
|
return new ErrorEvent(""), !0
|
|
} catch (a) {
|
|
return !1
|
|
}
|
|
}
|
|
|
|
function p() {
|
|
try {
|
|
return new DOMError(""), !0
|
|
} catch (a) {
|
|
return !1
|
|
}
|
|
}
|
|
|
|
function q() {
|
|
try {
|
|
return new DOMException(""), !0
|
|
} catch (a) {
|
|
return !1
|
|
}
|
|
}
|
|
|
|
function r() {
|
|
if (!("fetch" in U)) return !1;
|
|
try {
|
|
return new Headers, new Request(""), new Response, !0
|
|
} catch (a) {
|
|
return !1
|
|
}
|
|
}
|
|
|
|
function s() {
|
|
if (!r()) return !1;
|
|
try {
|
|
return new Request("pickleRick", {
|
|
referrerPolicy: "origin"
|
|
}), !0
|
|
} catch (a) {
|
|
return !1
|
|
}
|
|
}
|
|
|
|
function t() {
|
|
return "function" == typeof PromiseRejectionEvent
|
|
}
|
|
|
|
function u(a) {
|
|
function b(b, c) {
|
|
var d = a(b) || b;
|
|
return c ? c(d) || d : d
|
|
}
|
|
return b
|
|
}
|
|
|
|
function v(a, b) {
|
|
var c, d;
|
|
if (i(a.length))
|
|
for (c in a) z(a, c) && b.call(null, c, a[c]);
|
|
else if (d = a.length)
|
|
for (c = 0; c < d; c++) b.call(null, c, a[c])
|
|
}
|
|
|
|
function w(a, b) {
|
|
return b ? (v(b, function (b, c) {
|
|
a[b] = c
|
|
}), a) : a
|
|
}
|
|
|
|
function x(a) {
|
|
return !!Object.isFrozen && Object.isFrozen(a)
|
|
}
|
|
|
|
function y(a, b) {
|
|
if ("number" != typeof b) throw new Error("2nd argument to `truncate` function should be a number");
|
|
return "string" != typeof a || 0 === b ? a : a.length <= b ? a : a.substr(0, b) + "…"
|
|
}
|
|
|
|
function z(a, b) {
|
|
return Object.prototype.hasOwnProperty.call(a, b)
|
|
}
|
|
|
|
function A(a) {
|
|
for (var b, c = [], d = 0, e = a.length; d < e; d++) b = a[d], l(b) ? c.push(b.replace(/([.*+?^=!:${}()|\[\]\/\\])/g, "\\$1")) : b && b.source && c.push(b.source);
|
|
return new RegExp(c.join("|"), "i")
|
|
}
|
|
|
|
function B(a) {
|
|
var b = [];
|
|
return v(a, function (a, c) {
|
|
b.push(encodeURIComponent(a) + "=" + encodeURIComponent(c))
|
|
}), b.join("&")
|
|
}
|
|
|
|
function C(a) {
|
|
if ("string" != typeof a) return {};
|
|
var b = a.match(/^(([^:\/?#]+):)?(\/\/([^\/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?$/),
|
|
c = b[6] || "",
|
|
d = b[8] || "";
|
|
return {
|
|
protocol: b[2],
|
|
host: b[4],
|
|
path: b[5],
|
|
relative: b[5] + c + d
|
|
}
|
|
}
|
|
|
|
function D() {
|
|
var a = U.crypto || U.msCrypto;
|
|
if (!i(a) && a.getRandomValues) {
|
|
var b = new Uint16Array(8);
|
|
a.getRandomValues(b), b[3] = 4095 & b[3] | 16384, b[4] = 16383 & b[4] | 32768;
|
|
var c = function (a) {
|
|
for (var b = a.toString(16); b.length < 4;) b = "0" + b;
|
|
return b
|
|
};
|
|
return c(b[0]) + c(b[1]) + c(b[2]) + c(b[3]) + c(b[4]) + c(b[5]) + c(b[6]) + c(b[7])
|
|
}
|
|
return "xxxxxxxxxxxx4xxxyxxxxxxxxxxxxxxx".replace(/[xy]/g, function (a) {
|
|
var b = 16 * Math.random() | 0,
|
|
c = "x" === a ? b : 3 & b | 8;
|
|
return c.toString(16)
|
|
})
|
|
}
|
|
|
|
function E(a) {
|
|
for (var b, c = 5, d = 80, e = [], f = 0, g = 0, h = " > ", i = h.length; a && f++ < c && (b = F(a), !("html" === b || f > 1 && g + e.length * i + b.length >= d));) e.push(b), g += b.length, a = a.parentNode;
|
|
return e.reverse().join(h)
|
|
}
|
|
|
|
function F(a) {
|
|
var b, c, d, e, f, g = [];
|
|
if (!a || !a.tagName) return "";
|
|
if (g.push(a.tagName.toLowerCase()), a.id && g.push("#" + a.id), b = a.className, b && l(b))
|
|
for (c = b.split(/\s+/), f = 0; f < c.length; f++) g.push("." + c[f]);
|
|
var h = ["type", "name", "title", "alt"];
|
|
for (f = 0; f < h.length; f++) d = h[f], e = a.getAttribute(d), e && g.push("[" + d + '="' + e + '"]');
|
|
return g.join("")
|
|
}
|
|
|
|
function G(a, b) {
|
|
return !!(!!a ^ !!b)
|
|
}
|
|
|
|
function H(a, b) {
|
|
return i(a) && i(b)
|
|
}
|
|
|
|
function I(a, b) {
|
|
return !G(a, b) && (a = a.values[0], b = b.values[0], a.type === b.type && a.value === b.value && (!H(a.stacktrace, b.stacktrace) && J(a.stacktrace, b.stacktrace)))
|
|
}
|
|
|
|
function J(a, b) {
|
|
if (G(a, b)) return !1;
|
|
var c = a.frames,
|
|
d = b.frames;
|
|
if (void 0 === c || void 0 === d) return !1;
|
|
if (c.length !== d.length) return !1;
|
|
for (var e, f, g = 0; g < c.length; g++)
|
|
if (e = c[g], f = d[g], e.filename !== f.filename || e.lineno !== f.lineno || e.colno !== f.colno || e["function"] !== f["function"]) return !1;
|
|
return !0
|
|
}
|
|
|
|
function K(a, b, c, d) {
|
|
if (null != a) {
|
|
var e = a[b];
|
|
a[b] = c(e), a[b].M = !0, a[b].O = e, d && d.push([a, b, e])
|
|
}
|
|
}
|
|
|
|
function L(a, b) {
|
|
if (!m(a)) return "";
|
|
for (var c = [], d = 0; d < a.length; d++) try {
|
|
c.push(String(a[d]))
|
|
} catch (e) {
|
|
c.push("[value cannot be serialized]")
|
|
}
|
|
return c.join(b)
|
|
}
|
|
|
|
function M(a) {
|
|
return ~-encodeURI(a).split(/%..|./).length
|
|
}
|
|
|
|
function N(a) {
|
|
return M(JSON.stringify(a))
|
|
}
|
|
|
|
function O(a) {
|
|
if ("string" == typeof a) {
|
|
var b = 40;
|
|
return y(a, b)
|
|
}
|
|
if ("number" == typeof a || "boolean" == typeof a || "undefined" == typeof a) return a;
|
|
var c = Object.prototype.toString.call(a);
|
|
return "[object Object]" === c ? "[Object]" : "[object Array]" === c ? "[Array]" : "[object Function]" === c ? a.name ? "[Function: " + a.name + "]" : "[Function]" : a
|
|
}
|
|
|
|
function P(a, b) {
|
|
return 0 === b ? O(a) : k(a) ? Object.keys(a).reduce(function (c, d) {
|
|
return c[d] = P(a[d], b - 1), c
|
|
}, {}) : Array.isArray(a) ? a.map(function (a) {
|
|
return P(a, b - 1)
|
|
}) : O(a)
|
|
}
|
|
|
|
function Q(a, b, c) {
|
|
if (!k(a)) return a;
|
|
b = "number" != typeof b ? V : b, c = "number" != typeof b ? W : c;
|
|
var d = P(a, b);
|
|
return N(T(d)) > c ? Q(a, b - 1) : d
|
|
}
|
|
|
|
function R(a, b) {
|
|
if ("number" == typeof a || "string" == typeof a) return a.toString();
|
|
if (!Array.isArray(a)) return "";
|
|
if (a = a.filter(function (a) {
|
|
return "string" == typeof a
|
|
}), 0 === a.length) return "[object has no keys]";
|
|
if (b = "number" != typeof b ? X : b, a[0].length >= b) return a[0];
|
|
for (var c = a.length; c > 0; c--) {
|
|
var d = a.slice(0, c).join(", ");
|
|
if (!(d.length > b)) return c === a.length ? d : d + "…"
|
|
}
|
|
return ""
|
|
}
|
|
|
|
function S(a, b) {
|
|
function c(a) {
|
|
return m(a) ? a.map(function (a) {
|
|
return c(a)
|
|
}) : k(a) ? Object.keys(a).reduce(function (b, d) {
|
|
return b[d] = e.test(d) ? f : c(a[d]), b
|
|
}, {}) : a
|
|
}
|
|
if (!m(b) || m(b) && 0 === b.length) return a;
|
|
var d, e = A(b),
|
|
f = "********";
|
|
try {
|
|
d = JSON.parse(T(a))
|
|
} catch (g) {
|
|
return a
|
|
}
|
|
return c(d)
|
|
}
|
|
var T = a(7),
|
|
U = "undefined" != typeof window ? window : "undefined" != typeof c ? c : "undefined" != typeof self ? self : {},
|
|
V = 3,
|
|
W = 51200,
|
|
X = 40;
|
|
b.exports = {
|
|
isObject: d,
|
|
isError: e,
|
|
isErrorEvent: f,
|
|
isDOMError: g,
|
|
isDOMException: h,
|
|
isUndefined: i,
|
|
isFunction: j,
|
|
isPlainObject: k,
|
|
isString: l,
|
|
isArray: m,
|
|
isEmptyObject: n,
|
|
supportsErrorEvent: o,
|
|
supportsDOMError: p,
|
|
supportsDOMException: q,
|
|
supportsFetch: r,
|
|
supportsReferrerPolicy: s,
|
|
supportsPromiseRejectionEvent: t,
|
|
wrappedCallback: u,
|
|
each: v,
|
|
objectMerge: w,
|
|
truncate: y,
|
|
objectFrozen: x,
|
|
hasKey: z,
|
|
joinRegExp: A,
|
|
urlencode: B,
|
|
uuid4: D,
|
|
htmlTreeAsString: E,
|
|
htmlElementAsString: F,
|
|
isSameException: I,
|
|
isSameStacktrace: J,
|
|
parseUrl: C,
|
|
fill: K,
|
|
safeJoin: L,
|
|
serializeException: Q,
|
|
serializeKeysForMessage: R,
|
|
sanitize: S
|
|
}
|
|
}).call(this, "undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : {})
|
|
}, {
|
|
7: 7
|
|
}],
|
|
6: [function (a, b, c) {
|
|
(function (c) {
|
|
function d() {
|
|
return "undefined" == typeof document || null == document.location ? "" : document.location.href
|
|
}
|
|
|
|
function e() {
|
|
return "undefined" == typeof document || null == document.location ? "" : document.location.origin ? document.location.origin : document.location.protocol + "//" + document.location.hostname + (document.location.port ? ":" + document.location.port : "")
|
|
}
|
|
var f = a(5),
|
|
g = {
|
|
collectWindowErrors: !0,
|
|
debug: !1
|
|
},
|
|
h = "undefined" != typeof window ? window : "undefined" != typeof c ? c : "undefined" != typeof self ? self : {},
|
|
i = [].slice,
|
|
j = "?",
|
|
k = /^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/;
|
|
g.report = function () {
|
|
function a(a) {
|
|
m(), s.push(a)
|
|
}
|
|
|
|
function b(a) {
|
|
for (var b = s.length - 1; b >= 0; --b) s[b] === a && s.splice(b, 1)
|
|
}
|
|
|
|
function c() {
|
|
n(), s = []
|
|
}
|
|
|
|
function e(a, b) {
|
|
var c = null;
|
|
if (!b || g.collectWindowErrors) {
|
|
for (var d in s)
|
|
if (s.hasOwnProperty(d)) try {
|
|
s[d].apply(null, [a].concat(i.call(arguments, 2)))
|
|
} catch (e) {
|
|
c = e
|
|
}
|
|
if (c) throw c
|
|
}
|
|
}
|
|
|
|
function l(a, b, c, h, i) {
|
|
var l = null,
|
|
m = f.isErrorEvent(i) ? i.error : i,
|
|
n = f.isErrorEvent(a) ? a.message : a;
|
|
if (v) g.computeStackTrace.augmentStackTraceWithInitialElement(v, b, c, n), o();
|
|
else if (m && f.isError(m)) l = g.computeStackTrace(m), e(l, !0);
|
|
else {
|
|
var p, r = {
|
|
url: b,
|
|
line: c,
|
|
column: h
|
|
},
|
|
s = void 0;
|
|
if ("[object String]" === {}.toString.call(n)) {
|
|
var p = n.match(k);
|
|
p && (s = p[1], n = p[2])
|
|
}
|
|
r.func = j, l = {
|
|
name: s,
|
|
message: n,
|
|
url: d(),
|
|
stack: [r]
|
|
}, e(l, !0)
|
|
}
|
|
return !!q && q.apply(this, arguments)
|
|
}
|
|
|
|
function m() {
|
|
r || (q = h.onerror, h.onerror = l, r = !0)
|
|
}
|
|
|
|
function n() {
|
|
r && (h.onerror = q, r = !1, q = void 0)
|
|
}
|
|
|
|
function o() {
|
|
var a = v,
|
|
b = t;
|
|
t = null, v = null, u = null, e.apply(null, [a, !1].concat(b))
|
|
}
|
|
|
|
function p(a, b) {
|
|
var c = i.call(arguments, 1);
|
|
if (v) {
|
|
if (u === a) return;
|
|
o()
|
|
}
|
|
var d = g.computeStackTrace(a);
|
|
if (v = d, u = a, t = c, setTimeout(function () {
|
|
u === a && o()
|
|
}, d.incomplete ? 2e3 : 0), b !== !1) throw a
|
|
}
|
|
var q, r, s = [],
|
|
t = null,
|
|
u = null,
|
|
v = null;
|
|
return p.subscribe = a, p.unsubscribe = b, p.uninstall = c, p
|
|
}(), g.computeStackTrace = function () {
|
|
function a(a) {
|
|
if ("undefined" != typeof a.stack && a.stack) {
|
|
for (var b, c, f, g = /^\s*at (?:(.*?) ?\()?((?:file|https?|blob|chrome-extension|native|eval|webpack|<anonymous>|[a-z]:|\/).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i, h = /^\s*at (?:((?:\[object object\])?.+) )?\(?((?:file|ms-appx(?:-web)|https?|webpack|blob):.*?):(\d+)(?::(\d+))?\)?\s*$/i, i = /^\s*(.*?)(?:\((.*?)\))?(?:^|@)((?:file|https?|blob|chrome|webpack|resource|moz-extension).*?:\/.*?|\[native code\]|[^@]*bundle)(?::(\d+))?(?::(\d+))?\s*$/i, k = /(\S+) line (\d+)(?: > eval line \d+)* > eval/i, l = /\((\S*)(?::(\d+))(?::(\d+))\)/, m = a.stack.split("\n"), n = [], o = (/^(.*) is undefined$/.exec(a.message), 0), p = m.length; o < p; ++o) {
|
|
if (c = g.exec(m[o])) {
|
|
var q = c[2] && 0 === c[2].indexOf("native"),
|
|
r = c[2] && 0 === c[2].indexOf("eval");
|
|
r && (b = l.exec(c[2])) && (c[2] = b[1], c[3] = b[2], c[4] = b[3]), f = {
|
|
url: q ? null : c[2],
|
|
func: c[1] || j,
|
|
args: q ? [c[2]] : [],
|
|
line: c[3] ? +c[3] : null,
|
|
column: c[4] ? +c[4] : null
|
|
}
|
|
} else if (c = h.exec(m[o])) f = {
|
|
url: c[2],
|
|
func: c[1] || j,
|
|
args: [],
|
|
line: +c[3],
|
|
column: c[4] ? +c[4] : null
|
|
};
|
|
else {
|
|
if (!(c = i.exec(m[o]))) continue;
|
|
var r = c[3] && c[3].indexOf(" > eval") > -1;
|
|
r && (b = k.exec(c[3])) ? (c[3] = b[1], c[4] = b[2], c[5] = null) : 0 !== o || c[5] || "undefined" == typeof a.columnNumber || (n[0].column = a.columnNumber + 1), f = {
|
|
url: c[3],
|
|
func: c[1] || j,
|
|
args: c[2] ? c[2].split(",") : [],
|
|
line: c[4] ? +c[4] : null,
|
|
column: c[5] ? +c[5] : null
|
|
}
|
|
}
|
|
if (!f.func && f.line && (f.func = j), f.url && "blob:" === f.url.substr(0, 5)) {
|
|
var s = new XMLHttpRequest;
|
|
if (s.open("GET", f.url, !1), s.send(null), 200 === s.status) {
|
|
var t = s.responseText || "";
|
|
t = t.slice(-300);
|
|
var u = t.match(/\/\/# sourceMappingURL=(.*)$/);
|
|
if (u) {
|
|
var v = u[1];
|
|
"~" === v.charAt(0) && (v = e() + v.slice(1)), f.url = v.slice(0, -4)
|
|
}
|
|
}
|
|
}
|
|
n.push(f)
|
|
}
|
|
return n.length ? {
|
|
name: a.name,
|
|
message: a.message,
|
|
url: d(),
|
|
stack: n
|
|
} : null
|
|
}
|
|
}
|
|
|
|
function b(a, b, c, d) {
|
|
var e = {
|
|
url: b,
|
|
line: c
|
|
};
|
|
if (e.url && e.line) {
|
|
if (a.incomplete = !1, e.func || (e.func = j), a.stack.length > 0 && a.stack[0].url === e.url) {
|
|
if (a.stack[0].line === e.line) return !1;
|
|
if (!a.stack[0].line && a.stack[0].func === e.func) return a.stack[0].line = e.line, !1
|
|
}
|
|
return a.stack.unshift(e), a.partial = !0, !0
|
|
}
|
|
return a.incomplete = !0, !1
|
|
}
|
|
|
|
function c(a, e) {
|
|
for (var h, i, k = /function\s+([_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*)?\s*\(/i, l = [], m = {}, n = !1, o = c.caller; o && !n; o = o.caller)
|
|
if (o !== f && o !== g.report) {
|
|
if (i = {
|
|
url: null,
|
|
func: j,
|
|
line: null,
|
|
column: null
|
|
}, o.name ? i.func = o.name : (h = k.exec(o.toString())) && (i.func = h[1]), "undefined" == typeof i.func) try {
|
|
i.func = h.input.substring(0, h.input.indexOf("{"))
|
|
} catch (p) {}
|
|
m["" + o] ? n = !0 : m["" + o] = !0, l.push(i)
|
|
} e && l.splice(0, e);
|
|
var q = {
|
|
name: a.name,
|
|
message: a.message,
|
|
url: d(),
|
|
stack: l
|
|
};
|
|
return b(q, a.sourceURL || a.fileName, a.line || a.lineNumber, a.message || a.description), q
|
|
}
|
|
|
|
function f(b, e) {
|
|
var f = null;
|
|
e = null == e ? 0 : +e;
|
|
try {
|
|
if (f = a(b)) return f
|
|
} catch (h) {
|
|
if (g.debug) throw h
|
|
}
|
|
try {
|
|
if (f = c(b, e + 1)) return f
|
|
} catch (h) {
|
|
if (g.debug) throw h
|
|
}
|
|
return {
|
|
name: b.name,
|
|
message: b.message,
|
|
url: d()
|
|
}
|
|
}
|
|
return f.augmentStackTraceWithInitialElement = b, f.computeStackTraceFromStackProp = a, f
|
|
}(), b.exports = g
|
|
}).call(this, "undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : {})
|
|
}, {
|
|
5: 5
|
|
}],
|
|
7: [function (a, b, c) {
|
|
function d(a, b) {
|
|
for (var c = 0; c < a.length; ++c)
|
|
if (a[c] === b) return c;
|
|
return -1
|
|
}
|
|
|
|
function e(a, b, c, d) {
|
|
return JSON.stringify(a, g(b, d), c)
|
|
}
|
|
|
|
function f(a) {
|
|
var b = {
|
|
stack: a.stack,
|
|
message: a.message,
|
|
name: a.name
|
|
};
|
|
for (var c in a) Object.prototype.hasOwnProperty.call(a, c) && (b[c] = a[c]);
|
|
return b
|
|
}
|
|
|
|
function g(a, b) {
|
|
var c = [],
|
|
e = [];
|
|
return null == b && (b = function (a, b) {
|
|
return c[0] === b ? "[Circular ~]" : "[Circular ~." + e.slice(0, d(c, b)).join(".") + "]"
|
|
}),
|
|
function (g, h) {
|
|
if (c.length > 0) {
|
|
var i = d(c, this);
|
|
~i ? c.splice(i + 1) : c.push(this), ~i ? e.splice(i, 1 / 0, g) : e.push(g), ~d(c, h) && (h = b.call(this, g, h))
|
|
} else c.push(h);
|
|
return null == a ? h instanceof Error ? f(h) : h : a.call(this, g, h)
|
|
}
|
|
}
|
|
c = b.exports = e, c.getSerialize = g
|
|
}, {}],
|
|
8: [function (a, b, c) {
|
|
function d(a, b) {
|
|
var c = (65535 & a) + (65535 & b),
|
|
d = (a >> 16) + (b >> 16) + (c >> 16);
|
|
return d << 16 | 65535 & c
|
|
}
|
|
|
|
function e(a, b) {
|
|
return a << b | a >>> 32 - b
|
|
}
|
|
|
|
function f(a, b, c, f, g, h) {
|
|
return d(e(d(d(b, a), d(f, h)), g), c)
|
|
}
|
|
|
|
function g(a, b, c, d, e, g, h) {
|
|
return f(b & c | ~b & d, a, b, e, g, h)
|
|
}
|
|
|
|
function h(a, b, c, d, e, g, h) {
|
|
return f(b & d | c & ~d, a, b, e, g, h)
|
|
}
|
|
|
|
function i(a, b, c, d, e, g, h) {
|
|
return f(b ^ c ^ d, a, b, e, g, h)
|
|
}
|
|
|
|
function j(a, b, c, d, e, g, h) {
|
|
return f(c ^ (b | ~d), a, b, e, g, h)
|
|
}
|
|
|
|
function k(a, b) {
|
|
a[b >> 5] |= 128 << b % 32, a[(b + 64 >>> 9 << 4) + 14] = b;
|
|
var c, e, f, k, l, m = 1732584193,
|
|
n = -271733879,
|
|
o = -1732584194,
|
|
p = 271733878;
|
|
for (c = 0; c < a.length; c += 16) e = m, f = n, k = o, l = p, m = g(m, n, o, p, a[c], 7, -680876936), p = g(p, m, n, o, a[c + 1], 12, -389564586), o = g(o, p, m, n, a[c + 2], 17, 606105819), n = g(n, o, p, m, a[c + 3], 22, -1044525330), m = g(m, n, o, p, a[c + 4], 7, -176418897), p = g(p, m, n, o, a[c + 5], 12, 1200080426), o = g(o, p, m, n, a[c + 6], 17, -1473231341), n = g(n, o, p, m, a[c + 7], 22, -45705983), m = g(m, n, o, p, a[c + 8], 7, 1770035416), p = g(p, m, n, o, a[c + 9], 12, -1958414417), o = g(o, p, m, n, a[c + 10], 17, -42063), n = g(n, o, p, m, a[c + 11], 22, -1990404162), m = g(m, n, o, p, a[c + 12], 7, 1804603682), p = g(p, m, n, o, a[c + 13], 12, -40341101), o = g(o, p, m, n, a[c + 14], 17, -1502002290), n = g(n, o, p, m, a[c + 15], 22, 1236535329), m = h(m, n, o, p, a[c + 1], 5, -165796510), p = h(p, m, n, o, a[c + 6], 9, -1069501632), o = h(o, p, m, n, a[c + 11], 14, 643717713), n = h(n, o, p, m, a[c], 20, -373897302), m = h(m, n, o, p, a[c + 5], 5, -701558691), p = h(p, m, n, o, a[c + 10], 9, 38016083), o = h(o, p, m, n, a[c + 15], 14, -660478335), n = h(n, o, p, m, a[c + 4], 20, -405537848), m = h(m, n, o, p, a[c + 9], 5, 568446438), p = h(p, m, n, o, a[c + 14], 9, -1019803690), o = h(o, p, m, n, a[c + 3], 14, -187363961), n = h(n, o, p, m, a[c + 8], 20, 1163531501), m = h(m, n, o, p, a[c + 13], 5, -1444681467), p = h(p, m, n, o, a[c + 2], 9, -51403784), o = h(o, p, m, n, a[c + 7], 14, 1735328473), n = h(n, o, p, m, a[c + 12], 20, -1926607734), m = i(m, n, o, p, a[c + 5], 4, -378558), p = i(p, m, n, o, a[c + 8], 11, -2022574463), o = i(o, p, m, n, a[c + 11], 16, 1839030562), n = i(n, o, p, m, a[c + 14], 23, -35309556), m = i(m, n, o, p, a[c + 1], 4, -1530992060), p = i(p, m, n, o, a[c + 4], 11, 1272893353), o = i(o, p, m, n, a[c + 7], 16, -155497632), n = i(n, o, p, m, a[c + 10], 23, -1094730640), m = i(m, n, o, p, a[c + 13], 4, 681279174), p = i(p, m, n, o, a[c], 11, -358537222), o = i(o, p, m, n, a[c + 3], 16, -722521979), n = i(n, o, p, m, a[c + 6], 23, 76029189), m = i(m, n, o, p, a[c + 9], 4, -640364487), p = i(p, m, n, o, a[c + 12], 11, -421815835), o = i(o, p, m, n, a[c + 15], 16, 530742520), n = i(n, o, p, m, a[c + 2], 23, -995338651), m = j(m, n, o, p, a[c], 6, -198630844), p = j(p, m, n, o, a[c + 7], 10, 1126891415), o = j(o, p, m, n, a[c + 14], 15, -1416354905), n = j(n, o, p, m, a[c + 5], 21, -57434055), m = j(m, n, o, p, a[c + 12], 6, 1700485571), p = j(p, m, n, o, a[c + 3], 10, -1894986606), o = j(o, p, m, n, a[c + 10], 15, -1051523), n = j(n, o, p, m, a[c + 1], 21, -2054922799), m = j(m, n, o, p, a[c + 8], 6, 1873313359), p = j(p, m, n, o, a[c + 15], 10, -30611744), o = j(o, p, m, n, a[c + 6], 15, -1560198380), n = j(n, o, p, m, a[c + 13], 21, 1309151649), m = j(m, n, o, p, a[c + 4], 6, -145523070), p = j(p, m, n, o, a[c + 11], 10, -1120210379), o = j(o, p, m, n, a[c + 2], 15, 718787259), n = j(n, o, p, m, a[c + 9], 21, -343485551), m = d(m, e), n = d(n, f), o = d(o, k), p = d(p, l);
|
|
return [m, n, o, p]
|
|
}
|
|
|
|
function l(a) {
|
|
var b, c = "",
|
|
d = 32 * a.length;
|
|
for (b = 0; b < d; b += 8) c += String.fromCharCode(a[b >> 5] >>> b % 32 & 255);
|
|
return c
|
|
}
|
|
|
|
function m(a) {
|
|
var b, c = [];
|
|
for (c[(a.length >> 2) - 1] = void 0, b = 0; b < c.length; b += 1) c[b] = 0;
|
|
var d = 8 * a.length;
|
|
for (b = 0; b < d; b += 8) c[b >> 5] |= (255 & a.charCodeAt(b / 8)) << b % 32;
|
|
return c
|
|
}
|
|
|
|
function n(a) {
|
|
return l(k(m(a), 8 * a.length))
|
|
}
|
|
|
|
function o(a, b) {
|
|
var c, d, e = m(a),
|
|
f = [],
|
|
g = [];
|
|
for (f[15] = g[15] = void 0, e.length > 16 && (e = k(e, 8 * a.length)), c = 0; c < 16; c += 1) f[c] = 909522486 ^ e[c], g[c] = 1549556828 ^ e[c];
|
|
return d = k(f.concat(m(b)), 512 + 8 * b.length), l(k(g.concat(d), 640))
|
|
}
|
|
|
|
function p(a) {
|
|
var b, c, d = "0123456789abcdef",
|
|
e = "";
|
|
for (c = 0; c < a.length; c += 1) b = a.charCodeAt(c), e += d.charAt(b >>> 4 & 15) + d.charAt(15 & b);
|
|
return e
|
|
}
|
|
|
|
function q(a) {
|
|
return unescape(encodeURIComponent(a))
|
|
}
|
|
|
|
function r(a) {
|
|
return n(q(a))
|
|
}
|
|
|
|
function s(a) {
|
|
return p(r(a))
|
|
}
|
|
|
|
function t(a, b) {
|
|
return o(q(a), q(b))
|
|
}
|
|
|
|
function u(a, b) {
|
|
return p(t(a, b))
|
|
}
|
|
|
|
function v(a, b, c) {
|
|
return b ? c ? t(b, a) : u(b, a) : c ? r(a) : s(a)
|
|
}
|
|
b.exports = v
|
|
}, {}]
|
|
}, {}, [4])(4)
|
|
});
|
|
//# sourceMappingURL=raven.min.js.map
|