Created
November 15, 2019 19:49
-
-
Save pamo/f78eb013ffb5e782ba27544ef5c1d785 to your computer and use it in GitHub Desktop.
new relic agent
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| window.NREUM || (NREUM = {}), | |
| (__nr_require = (function(t, e, n) { | |
| function r(n) { | |
| if (!e[n]) { | |
| const o = (e[n] = { exports: {} }); | |
| t[n][0].call( | |
| o.exports, | |
| e => { | |
| const o = t[n][1][e]; | |
| return r(o || e); | |
| }, | |
| o, | |
| o.exports, | |
| ); | |
| } | |
| return e[n].exports; | |
| } | |
| if (typeof __nr_require === 'function') return __nr_require; | |
| for (let o = 0; o < n.length; o++) r(n[o]); | |
| return r; | |
| })( | |
| { | |
| 1: [ | |
| function(t, e, n) { | |
| function r(t) { | |
| try { | |
| s.console && console.log(t); | |
| } catch (e) {} | |
| } | |
| var o, | |
| i = t('ee'), | |
| a = t(21), | |
| s = {}; | |
| try { | |
| (o = localStorage.getItem('__nr_flags').split(',')), | |
| console && | |
| typeof console.log === 'function' && | |
| ((s.console = !0), | |
| o.indexOf('dev') !== -1 && (s.dev = !0), | |
| o.indexOf('nr_dev') !== -1 && (s.nrDev = !0)); | |
| } catch (c) {} | |
| s.nrDev && | |
| i.on('internal-error', t => { | |
| r(t.stack); | |
| }), | |
| s.dev && | |
| i.on('fn-err', (t, e, n) => { | |
| r(n.stack); | |
| }), | |
| s.dev && | |
| (r('NR AGENT IN DEVELOPMENT MODE'), | |
| r(`flags: ${a(s, (t, e) => t).join(', ')}`)); | |
| }, | |
| {}, | |
| ], | |
| 2: [ | |
| function(t, e, n) { | |
| function r(t, e, n, r, s) { | |
| try { | |
| l ? (l -= 1) : o(s || new UncaughtException(t, e, n), !0); | |
| } catch (f) { | |
| try { | |
| i('ierr', [f, c.now(), !0]); | |
| } catch (d) {} | |
| } | |
| return typeof u === 'function' && u.apply(this, a(arguments)); | |
| } | |
| function UncaughtException(t, e, n) { | |
| (this.message = | |
| t || 'Uncaught error with no additional information'), | |
| (this.sourceURL = e), | |
| (this.line = n); | |
| } | |
| function o(t, e) { | |
| const n = e ? null : c.now(); | |
| i('err', [t, n]); | |
| } | |
| var i = t('handle'), | |
| a = t(22), | |
| s = t('ee'), | |
| c = t('loader'), | |
| f = t('gos'), | |
| u = window.onerror, | |
| d = !1, | |
| p = 'nr@seenError', | |
| l = 0; | |
| (c.features.err = !0), t(1), (window.onerror = r); | |
| try { | |
| throw new Error(); | |
| } catch (h) { | |
| 'stack' in h && | |
| (t(13), | |
| t(12), | |
| 'addEventListener' in window && t(6), | |
| c.xhrWrappable && t(14), | |
| (d = !0)); | |
| } | |
| s.on('fn-start', (t, e, n) => { | |
| d && (l += 1); | |
| }), | |
| s.on('fn-err', function(t, e, n) { | |
| d && !n[p] && (f(n, p, () => !0), (this.thrown = !0), o(n)); | |
| }), | |
| s.on('fn-end', function() { | |
| d && !this.thrown && l > 0 && (l -= 1); | |
| }), | |
| s.on('internal-error', t => { | |
| i('ierr', [t, c.now(), !0]); | |
| }); | |
| }, | |
| {}, | |
| ], | |
| 3: [ | |
| function(t, e, n) { | |
| t('loader').features.ins = !0; | |
| }, | |
| {}, | |
| ], | |
| 4: [ | |
| function(t, e, n) { | |
| function r() { | |
| M++, (N = y.hash), (this[u] = g.now()); | |
| } | |
| function o() { | |
| M--, y.hash !== N && i(0, !0); | |
| const t = g.now(); | |
| (this[h] = ~~this[h] + t - this[u]), (this[d] = t); | |
| } | |
| function i(t, e) { | |
| E.emit('newURL', [`${y}`, e]); | |
| } | |
| function a(t, e) { | |
| t.on(e, function() { | |
| this[e] = g.now(); | |
| }); | |
| } | |
| var s = '-start', | |
| c = '-end', | |
| f = '-body', | |
| u = `fn${s}`, | |
| d = `fn${c}`, | |
| p = `cb${s}`, | |
| l = `cb${c}`, | |
| h = 'jsTime', | |
| m = 'fetch', | |
| v = 'addEventListener', | |
| w = window, | |
| y = w.location, | |
| g = t('loader'); | |
| if (w[v] && g.xhrWrappable) { | |
| var b = t(10), | |
| x = t(11), | |
| E = t(8), | |
| O = t(6), | |
| P = t(13), | |
| R = t(7), | |
| T = t(14), | |
| L = t(9), | |
| j = t('ee'), | |
| S = j.get('tracer'); | |
| t(15), (g.features.spa = !0); | |
| var N, | |
| M = 0; | |
| j.on(u, r), | |
| j.on(p, r), | |
| j.on(d, o), | |
| j.on(l, o), | |
| j.buffer([u, d, 'xhr-done', 'xhr-resolved']), | |
| O.buffer([u]), | |
| P.buffer([`setTimeout${c}`, `clearTimeout${s}`, u]), | |
| T.buffer([u, 'new-xhr', `send-xhr${s}`]), | |
| R.buffer([m + s, `${m}-done`, m + f + s, m + f + c]), | |
| E.buffer(['newURL']), | |
| b.buffer([u]), | |
| x.buffer(['propagate', p, l, 'executor-err', `resolve${s}`]), | |
| S.buffer([u, `no-${u}`]), | |
| L.buffer(['new-jsonp', 'cb-start', 'jsonp-error', 'jsonp-end']), | |
| a(T, `send-xhr${s}`), | |
| a(j, 'xhr-resolved'), | |
| a(j, 'xhr-done'), | |
| a(R, m + s), | |
| a(R, `${m}-done`), | |
| a(L, 'new-jsonp'), | |
| a(L, 'jsonp-end'), | |
| a(L, 'cb-start'), | |
| E.on('pushState-end', i), | |
| E.on('replaceState-end', i), | |
| w[v]('hashchange', i, !0), | |
| w[v]('load', i, !0), | |
| w[v]( | |
| 'popstate', | |
| () => { | |
| i(0, M > 1); | |
| }, | |
| !0, | |
| ); | |
| } | |
| }, | |
| {}, | |
| ], | |
| 5: [ | |
| function(t, e, n) { | |
| function r(t) {} | |
| if ( | |
| window.performance && | |
| window.performance.timing && | |
| window.performance.getEntriesByType | |
| ) { | |
| let o = t('ee'), | |
| i = t('handle'), | |
| a = t(13), | |
| s = t(12), | |
| c = 'learResourceTimings', | |
| f = 'addEventListener', | |
| u = 'resourcetimingbufferfull', | |
| d = 'bstResource', | |
| p = 'resource', | |
| l = '-start', | |
| h = '-end', | |
| m = `fn${l}`, | |
| v = `fn${h}`, | |
| w = 'bstTimer', | |
| y = 'pushState', | |
| g = t('loader'); | |
| (g.features.stn = !0), t(8); | |
| const b = NREUM.o.EV; | |
| o.on(m, function(t, e) { | |
| const n = t[0]; | |
| n instanceof b && (this.bstStart = g.now()); | |
| }), | |
| o.on(v, function(t, e) { | |
| const n = t[0]; | |
| n instanceof b && i('bst', [n, e, this.bstStart, g.now()]); | |
| }), | |
| a.on(m, function(t, e, n) { | |
| (this.bstStart = g.now()), (this.bstType = n); | |
| }), | |
| a.on(v, function(t, e) { | |
| i(w, [e, this.bstStart, g.now(), this.bstType]); | |
| }), | |
| s.on(m, function() { | |
| this.bstStart = g.now(); | |
| }), | |
| s.on(v, function(t, e) { | |
| i(w, [e, this.bstStart, g.now(), 'requestAnimationFrame']); | |
| }), | |
| o.on(y + l, function(t) { | |
| (this.time = g.now()), | |
| (this.startPath = location.pathname + location.hash); | |
| }), | |
| o.on(y + h, function(t) { | |
| i('bstHist', [ | |
| location.pathname + location.hash, | |
| this.startPath, | |
| this.time, | |
| ]); | |
| }), | |
| f in window.performance && | |
| (window.performance[`c${c}`] | |
| ? window.performance[f]( | |
| u, | |
| t => { | |
| i(d, [window.performance.getEntriesByType(p)]), | |
| window.performance[`c${c}`](); | |
| }, | |
| !1, | |
| ) | |
| : window.performance[f]( | |
| `webkit${u}`, | |
| t => { | |
| i(d, [window.performance.getEntriesByType(p)]), | |
| window.performance[`webkitC${c}`](); | |
| }, | |
| !1, | |
| )), | |
| document[f]('scroll', r, { passive: !0 }), | |
| document[f]('keypress', r, !1), | |
| document[f]('click', r, !1); | |
| } | |
| }, | |
| {}, | |
| ], | |
| 6: [ | |
| function(t, e, n) { | |
| function r(t) { | |
| for (var e = t; e && !e.hasOwnProperty(u); ) | |
| e = Object.getPrototypeOf(e); | |
| e && o(e); | |
| } | |
| function o(t) { | |
| s.inPlace(t, [u, d], '-', i); | |
| } | |
| function i(t, e) { | |
| return t[1]; | |
| } | |
| var a = t('ee').get('events'), | |
| s = t(24)(a, !0), | |
| c = t('gos'), | |
| f = XMLHttpRequest, | |
| u = 'addEventListener', | |
| d = 'removeEventListener'; | |
| (e.exports = a), | |
| 'getPrototypeOf' in Object | |
| ? (r(document), r(window), r(f.prototype)) | |
| : f.prototype.hasOwnProperty(u) && (o(window), o(f.prototype)), | |
| a.on(`${u}-start`, function(t, e) { | |
| let n = t[1], | |
| r = c(n, 'nr@wrapped', () => { | |
| function t() { | |
| if (typeof n.handleEvent === 'function') | |
| return n.handleEvent(...arguments); | |
| } | |
| const e = { object: t, function: n }[typeof n]; | |
| return e ? s(e, 'fn-', null, e.name || 'anonymous') : n; | |
| }); | |
| this.wrapped = t[1] = r; | |
| }), | |
| a.on(`${d}-start`, function(t) { | |
| t[1] = this.wrapped || t[1]; | |
| }); | |
| }, | |
| {}, | |
| ], | |
| 7: [ | |
| function(t, e, n) { | |
| function r(t, e, n) { | |
| const r = t[e]; | |
| typeof r === 'function' && | |
| (t[e] = function() { | |
| const t = r.apply(this, arguments); | |
| return ( | |
| o.emit(`${n}start`, arguments, t), | |
| t.then(e => o.emit(`${n}end`, [null, e], t), e, e => { | |
| throw (o.emit(`${n}end`, [e], t), e); | |
| }) | |
| ); | |
| }); | |
| } | |
| var o = t('ee').get('fetch'), | |
| i = t(21); | |
| e.exports = o; | |
| let a = window, | |
| s = 'fetch-', | |
| c = `${s}body-`, | |
| f = ['arrayBuffer', 'blob', 'json', 'text', 'formData'], | |
| u = a.Request, | |
| d = a.Response, | |
| p = a.fetch, | |
| l = 'prototype'; | |
| u && | |
| d && | |
| p && | |
| (i(f, (t, e) => { | |
| r(u[l], e, c), r(d[l], e, c); | |
| }), | |
| r(a, 'fetch', s), | |
| o.on(`${s}end`, function(t, e) { | |
| const n = this; | |
| if (e) { | |
| const r = e.headers.get('content-length'); | |
| r !== null && (n.rxSize = r), o.emit(`${s}done`, [null, e], n); | |
| } else o.emit(`${s}done`, [t], n); | |
| })); | |
| }, | |
| {}, | |
| ], | |
| 8: [ | |
| function(t, e, n) { | |
| let r = t('ee').get('history'), | |
| o = t(24)(r); | |
| (e.exports = r), | |
| o.inPlace(window.history, ['pushState', 'replaceState'], '-'); | |
| }, | |
| {}, | |
| ], | |
| 9: [ | |
| function(t, e, n) { | |
| function r(t) { | |
| function e() { | |
| c.emit('jsonp-end', [], p), | |
| t.removeEventListener('load', e, !1), | |
| t.removeEventListener('error', n, !1); | |
| } | |
| function n() { | |
| c.emit('jsonp-error', [], p), | |
| c.emit('jsonp-end', [], p), | |
| t.removeEventListener('load', e, !1), | |
| t.removeEventListener('error', n, !1); | |
| } | |
| const r = | |
| t && | |
| typeof t.nodeName === 'string' && | |
| t.nodeName.toLowerCase() === 'script'; | |
| if (r) { | |
| const o = typeof t.addEventListener === 'function'; | |
| if (o) { | |
| const a = i(t.src); | |
| if (a) { | |
| let u = s(a), | |
| d = typeof u.parent[u.key] === 'function'; | |
| if (d) { | |
| var p = {}; | |
| f.inPlace(u.parent, [u.key], 'cb-', p), | |
| t.addEventListener('load', e, !1), | |
| t.addEventListener('error', n, !1), | |
| c.emit('new-jsonp', [t.src], p); | |
| } | |
| } | |
| } | |
| } | |
| } | |
| function o() { | |
| return 'addEventListener' in window; | |
| } | |
| function i(t) { | |
| const e = t.match(u); | |
| return e ? e[1] : null; | |
| } | |
| function a(t, e) { | |
| let n = t.match(p), | |
| r = n[1], | |
| o = n[3]; | |
| return o ? a(o, e[r]) : e[r]; | |
| } | |
| function s(t) { | |
| const e = t.match(d); | |
| return e && e.length >= 3 | |
| ? { key: e[2], parent: a(e[1], window) } | |
| : { key: t, parent: window }; | |
| } | |
| var c = t('ee').get('jsonp'), | |
| f = t(24)(c); | |
| if (((e.exports = c), o())) { | |
| var u = /[?&](?:callback|cb)=([^&#]+)/, | |
| d = /(.*)\.([^.]+)/, | |
| p = /^(\w+)(\.|$)(.*)$/, | |
| l = ['appendChild', 'insertBefore', 'replaceChild']; | |
| f.inPlace(HTMLElement.prototype, l, 'dom-'), | |
| f.inPlace(HTMLHeadElement.prototype, l, 'dom-'), | |
| f.inPlace(HTMLBodyElement.prototype, l, 'dom-'), | |
| c.on('dom-start', t => { | |
| r(t[0]); | |
| }); | |
| } | |
| }, | |
| {}, | |
| ], | |
| 10: [ | |
| function(t, e, n) { | |
| let r = t('ee').get('mutation'), | |
| o = t(24)(r), | |
| i = NREUM.o.MO; | |
| (e.exports = r), | |
| i && | |
| ((window.MutationObserver = function(t) { | |
| return this instanceof i | |
| ? new i(o(t, 'fn-')) | |
| : i.apply(this, arguments); | |
| }), | |
| (MutationObserver.prototype = i.prototype)); | |
| }, | |
| {}, | |
| ], | |
| 11: [ | |
| function(t, e, n) { | |
| function r(t) { | |
| let e = a.context(), | |
| n = s(t, 'executor-', e), | |
| r = new f(n); | |
| return ( | |
| (a.context(r).getCtx = function() { | |
| return e; | |
| }), | |
| a.emit('new-promise', [r, e], e), | |
| r | |
| ); | |
| } | |
| function o(t, e) { | |
| return e; | |
| } | |
| var i = t(24), | |
| a = t('ee').get('promise'), | |
| s = i(a), | |
| c = t(21), | |
| f = NREUM.o.PR; | |
| (e.exports = a), | |
| f && | |
| ((window.Promise = r), | |
| ['all', 'race'].forEach(t => { | |
| const e = f[t]; | |
| f[t] = function(n) { | |
| function r(t) { | |
| return function() { | |
| a.emit('propagate', [null, !o], i), (o = o || !t); | |
| }; | |
| } | |
| var o = !1; | |
| c(n, (e, n) => { | |
| Promise.resolve(n).then(r(t === 'all'), r(!1)); | |
| }); | |
| var i = e.apply(f, arguments), | |
| s = f.resolve(i); | |
| return s; | |
| }; | |
| }), | |
| ['resolve', 'reject'].forEach(t => { | |
| const e = f[t]; | |
| f[t] = function(t) { | |
| const n = e.apply(f, arguments); | |
| return t !== n && a.emit('propagate', [t, !0], n), n; | |
| }; | |
| }), | |
| (f.prototype.catch = function(t) { | |
| return this.then(null, t); | |
| }), | |
| (f.prototype = Object.create(f.prototype, { | |
| constructor: { value: r }, | |
| })), | |
| c(Object.getOwnPropertyNames(f), (t, e) => { | |
| try { | |
| r[e] = f[e]; | |
| } catch (n) {} | |
| }), | |
| a.on('executor-start', function(t) { | |
| (t[0] = s(t[0], 'resolve-', this)), | |
| (t[1] = s(t[1], 'resolve-', this)); | |
| }), | |
| a.on('executor-err', (t, e, n) => { | |
| t[1](n); | |
| }), | |
| s.inPlace(f.prototype, ['then'], 'then-', o), | |
| a.on('then-start', function(t, e) { | |
| (this.promise = e), | |
| (t[0] = s(t[0], 'cb-', this)), | |
| (t[1] = s(t[1], 'cb-', this)); | |
| }), | |
| a.on('then-end', function(t, e, n) { | |
| this.nextPromise = n; | |
| const r = this.promise; | |
| a.emit('propagate', [r, !0], n); | |
| }), | |
| a.on('cb-end', function(t, e, n) { | |
| a.emit('propagate', [n, !0], this.nextPromise); | |
| }), | |
| a.on('propagate', function(t, e, n) { | |
| (this.getCtx && !e) || | |
| (this.getCtx = function() { | |
| if (t instanceof Promise) var e = a.context(t); | |
| return e && e.getCtx ? e.getCtx() : this; | |
| }); | |
| }), | |
| (r.toString = function() { | |
| return `${f}`; | |
| })); | |
| }, | |
| {}, | |
| ], | |
| 12: [ | |
| function(t, e, n) { | |
| let r = t('ee').get('raf'), | |
| o = t(24)(r), | |
| i = 'equestAnimationFrame'; | |
| (e.exports = r), | |
| o.inPlace( | |
| window, | |
| [`r${i}`, `mozR${i}`, `webkitR${i}`, `msR${i}`], | |
| 'raf-', | |
| ), | |
| r.on('raf-start', t => { | |
| t[0] = o(t[0], 'fn-'); | |
| }); | |
| }, | |
| {}, | |
| ], | |
| 13: [ | |
| function(t, e, n) { | |
| function r(t, e, n) { | |
| t[0] = a(t[0], 'fn-', null, n); | |
| } | |
| function o(t, e, n) { | |
| (this.method = n), | |
| (this.timerDuration = isNaN(t[1]) ? 0 : +t[1]), | |
| (t[0] = a(t[0], 'fn-', this, n)); | |
| } | |
| var i = t('ee').get('timer'), | |
| a = t(24)(i), | |
| s = 'setTimeout', | |
| c = 'setInterval', | |
| f = 'clearTimeout', | |
| u = '-start', | |
| d = '-'; | |
| (e.exports = i), | |
| a.inPlace(window, [s, 'setImmediate'], s + d), | |
| a.inPlace(window, [c], c + d), | |
| a.inPlace(window, [f, 'clearImmediate'], f + d), | |
| i.on(c + u, r), | |
| i.on(s + u, o); | |
| }, | |
| {}, | |
| ], | |
| 14: [ | |
| function(t, e, n) { | |
| function r(t, e) { | |
| d.inPlace(e, ['onreadystatechange'], 'fn-', s); | |
| } | |
| function o() { | |
| let t = this, | |
| e = u.context(t); | |
| t.readyState > 3 && | |
| !e.resolved && | |
| ((e.resolved = !0), u.emit('xhr-resolved', [], t)), | |
| d.inPlace(t, y, 'fn-', s); | |
| } | |
| function i(t) { | |
| g.push(t), | |
| h && (x ? x.then(a) : v ? v(a) : ((E = -E), (O.data = E))); | |
| } | |
| function a() { | |
| for (let t = 0; t < g.length; t++) r([], g[t]); | |
| g.length && (g = []); | |
| } | |
| function s(t, e) { | |
| return e; | |
| } | |
| function c(t, e) { | |
| for (const n in t) e[n] = t[n]; | |
| return e; | |
| } | |
| t(6); | |
| var f = t('ee'), | |
| u = f.get('xhr'), | |
| d = t(24)(u), | |
| p = NREUM.o, | |
| l = p.XHR, | |
| h = p.MO, | |
| m = p.PR, | |
| v = p.SI, | |
| w = 'readystatechange', | |
| y = [ | |
| 'onload', | |
| 'onerror', | |
| 'onabort', | |
| 'onloadstart', | |
| 'onloadend', | |
| 'onprogress', | |
| 'ontimeout', | |
| ], | |
| g = []; | |
| e.exports = u; | |
| const b = (window.XMLHttpRequest = function(t) { | |
| const e = new l(t); | |
| try { | |
| u.emit('new-xhr', [e], e), e.addEventListener(w, o, !1); | |
| } catch (n) { | |
| try { | |
| u.emit('internal-error', [n]); | |
| } catch (r) {} | |
| } | |
| return e; | |
| }); | |
| if ( | |
| (c(l, b), | |
| (b.prototype = l.prototype), | |
| d.inPlace(b.prototype, ['open', 'send'], '-xhr-', s), | |
| u.on('send-xhr-start', (t, e) => { | |
| r(t, e), i(e); | |
| }), | |
| u.on('open-xhr-start', r), | |
| h) | |
| ) { | |
| var x = m && m.resolve(); | |
| if (!v && !m) { | |
| var E = 1, | |
| O = document.createTextNode(E); | |
| new h(a).observe(O, { characterData: !0 }); | |
| } | |
| } else | |
| f.on('fn-end', t => { | |
| (t[0] && t[0].type === w) || a(); | |
| }); | |
| }, | |
| {}, | |
| ], | |
| 15: [ | |
| function(t, e, n) { | |
| function r(t) { | |
| let e = this.params, | |
| n = this.metrics; | |
| if (!this.ended) { | |
| this.ended = !0; | |
| for (let r = 0; r < d; r++) | |
| t.removeEventListener(u[r], this.listener, !1); | |
| if (!e.aborted) { | |
| if ( | |
| ((n.duration = a.now() - this.startTime), t.readyState === 4) | |
| ) { | |
| e.status = t.status; | |
| const i = o(t, this.lastSize); | |
| if ((i && (n.rxSize = i), this.sameOrigin)) { | |
| const c = t.getResponseHeader('X-NewRelic-App-Data'); | |
| c && (e.cat = c.split(', ').pop()); | |
| } | |
| } else e.status = 0; | |
| (n.cbTime = this.cbTime), | |
| f.emit('xhr-done', [t], t), | |
| s('xhr', [e, n, this.startTime]); | |
| } | |
| } | |
| } | |
| function o(t, e) { | |
| const n = t.responseType; | |
| if (n === 'json' && e !== null) return e; | |
| const r = | |
| n === 'arraybuffer' || n === 'blob' || n === 'json' | |
| ? t.response | |
| : t.responseText; | |
| return h(r); | |
| } | |
| function i(t, e) { | |
| let n = c(e), | |
| r = t.params; | |
| (r.host = `${n.hostname}:${n.port}`), | |
| (r.pathname = n.pathname), | |
| (t.sameOrigin = n.sameOrigin); | |
| } | |
| var a = t('loader'); | |
| if (a.xhrWrappable) { | |
| var s = t('handle'), | |
| c = t(16), | |
| f = t('ee'), | |
| u = ['load', 'error', 'abort', 'timeout'], | |
| d = u.length, | |
| p = t('id'), | |
| l = t(19), | |
| h = t(18), | |
| m = window.XMLHttpRequest; | |
| (a.features.xhr = !0), | |
| t(14), | |
| f.on('new-xhr', function(t) { | |
| const e = this; | |
| (e.totalCbs = 0), | |
| (e.called = 0), | |
| (e.cbTime = 0), | |
| (e.end = r), | |
| (e.ended = !1), | |
| (e.xhrGuids = {}), | |
| (e.lastSize = null), | |
| (l && (l > 34 || l < 10)) || | |
| window.opera || | |
| t.addEventListener( | |
| 'progress', | |
| t => { | |
| e.lastSize = t.loaded; | |
| }, | |
| !1, | |
| ); | |
| }), | |
| f.on('open-xhr-start', function(t) { | |
| (this.params = { method: t[0] }), | |
| i(this, t[1]), | |
| (this.metrics = {}); | |
| }), | |
| f.on('open-xhr-end', function(t, e) { | |
| 'loader_config' in NREUM && | |
| 'xpid' in NREUM.loader_config && | |
| this.sameOrigin && | |
| e.setRequestHeader('X-NewRelic-ID', NREUM.loader_config.xpid); | |
| }), | |
| f.on('send-xhr-start', function(t, e) { | |
| let n = this.metrics, | |
| r = t[0], | |
| o = this; | |
| if (n && r) { | |
| const i = h(r); | |
| i && (n.txSize = i); | |
| } | |
| (this.startTime = a.now()), | |
| (this.listener = function(t) { | |
| try { | |
| t.type === 'abort' && (o.params.aborted = !0), | |
| (t.type !== 'load' || | |
| (o.called === o.totalCbs && | |
| (o.onloadCalled || | |
| typeof e.onload !== 'function'))) && | |
| o.end(e); | |
| } catch (n) { | |
| try { | |
| f.emit('internal-error', [n]); | |
| } catch (r) {} | |
| } | |
| }); | |
| for (let s = 0; s < d; s++) | |
| e.addEventListener(u[s], this.listener, !1); | |
| }), | |
| f.on('xhr-cb-time', function(t, e, n) { | |
| (this.cbTime += t), | |
| e ? (this.onloadCalled = !0) : (this.called += 1), | |
| this.called !== this.totalCbs || | |
| (!this.onloadCalled && typeof n.onload === 'function') || | |
| this.end(n); | |
| }), | |
| f.on('xhr-load-added', function(t, e) { | |
| const n = `${p(t)}${!!e}`; | |
| this.xhrGuids && | |
| !this.xhrGuids[n] && | |
| ((this.xhrGuids[n] = !0), (this.totalCbs += 1)); | |
| }), | |
| f.on('xhr-load-removed', function(t, e) { | |
| const n = `${p(t)}${!!e}`; | |
| this.xhrGuids && | |
| this.xhrGuids[n] && | |
| (delete this.xhrGuids[n], (this.totalCbs -= 1)); | |
| }), | |
| f.on('addEventListener-end', (t, e) => { | |
| e instanceof m && | |
| t[0] === 'load' && | |
| f.emit('xhr-load-added', [t[1], t[2]], e); | |
| }), | |
| f.on('removeEventListener-end', (t, e) => { | |
| e instanceof m && | |
| t[0] === 'load' && | |
| f.emit('xhr-load-removed', [t[1], t[2]], e); | |
| }), | |
| f.on('fn-start', function(t, e, n) { | |
| e instanceof m && | |
| (n === 'onload' && (this.onload = !0), | |
| ((t[0] && t[0].type) === 'load' || this.onload) && | |
| (this.xhrCbStart = a.now())); | |
| }), | |
| f.on('fn-end', function(t, e) { | |
| this.xhrCbStart && | |
| f.emit( | |
| 'xhr-cb-time', | |
| [a.now() - this.xhrCbStart, this.onload, e], | |
| e, | |
| ); | |
| }); | |
| } | |
| }, | |
| {}, | |
| ], | |
| 16: [ | |
| function(t, e, n) { | |
| e.exports = function(t) { | |
| let e = document.createElement('a'), | |
| n = window.location, | |
| r = {}; | |
| (e.href = t), (r.port = e.port); | |
| const o = e.href.split('://'); | |
| !r.port && | |
| o[1] && | |
| (r.port = o[1] | |
| .split('/')[0] | |
| .split('@') | |
| .pop() | |
| .split(':')[1]), | |
| (r.port && r.port !== '0') || | |
| (r.port = o[0] === 'https' ? '443' : '80'), | |
| (r.hostname = e.hostname || n.hostname), | |
| (r.pathname = e.pathname), | |
| (r.protocol = o[0]), | |
| r.pathname.charAt(0) !== '/' && (r.pathname = `/${r.pathname}`); | |
| let i = | |
| !e.protocol || e.protocol === ':' || e.protocol === n.protocol, | |
| a = e.hostname === document.domain && e.port === n.port; | |
| return (r.sameOrigin = i && (!e.hostname || a)), r; | |
| }; | |
| }, | |
| {}, | |
| ], | |
| 17: [ | |
| function(t, e, n) { | |
| function r() {} | |
| function o(t, e, n) { | |
| return function() { | |
| return ( | |
| i(t, [f.now()].concat(s(arguments)), e ? null : this, n), | |
| e ? void 0 : this | |
| ); | |
| }; | |
| } | |
| var i = t('handle'), | |
| a = t(21), | |
| s = t(22), | |
| c = t('ee').get('tracer'), | |
| f = t('loader'), | |
| u = NREUM; | |
| typeof window.newrelic === 'undefined' && (newrelic = u); | |
| let d = [ | |
| 'setPageViewName', | |
| 'setCustomAttribute', | |
| 'setErrorHandler', | |
| 'finished', | |
| 'addToTrace', | |
| 'inlineHit', | |
| 'addRelease', | |
| ], | |
| p = 'api-', | |
| l = `${p}ixn-`; | |
| a(d, (t, e) => { | |
| u[e] = o(p + e, !0, 'api'); | |
| }), | |
| (u.addPageAction = o(`${p}addPageAction`, !0)), | |
| (u.setCurrentRouteName = o(`${p}routeName`, !0)), | |
| (e.exports = newrelic), | |
| (u.interaction = function() { | |
| return new r().get(); | |
| }); | |
| const h = (r.prototype = { | |
| createTracer(t, e) { | |
| let n = {}, | |
| r = this, | |
| o = typeof e === 'function'; | |
| return ( | |
| i(`${l}tracer`, [f.now(), t, n], r), | |
| function() { | |
| if ( | |
| (c.emit(`${o ? '' : 'no-'}fn-start`, [f.now(), r, o], n), o) | |
| ) | |
| try { | |
| return e.apply(this, arguments); | |
| } catch (t) { | |
| throw (c.emit('fn-err', [arguments, this, t], n), t); | |
| } finally { | |
| c.emit('fn-end', [f.now()], n); | |
| } | |
| } | |
| ); | |
| }, | |
| }); | |
| a( | |
| 'actionText,setName,setAttribute,save,ignore,onEnd,getContext,end,get'.split( | |
| ',', | |
| ), | |
| (t, e) => { | |
| h[e] = o(l + e); | |
| }, | |
| ), | |
| (newrelic.noticeError = function(t) { | |
| typeof t === 'string' && (t = new Error(t)), | |
| i('err', [t, f.now()]); | |
| }); | |
| }, | |
| {}, | |
| ], | |
| 18: [ | |
| function(t, e, n) { | |
| e.exports = function(t) { | |
| if (typeof t === 'string' && t.length) return t.length; | |
| if (typeof t === 'object') { | |
| if ( | |
| typeof ArrayBuffer !== 'undefined' && | |
| t instanceof ArrayBuffer && | |
| t.byteLength | |
| ) | |
| return t.byteLength; | |
| if (typeof Blob !== 'undefined' && t instanceof Blob && t.size) | |
| return t.size; | |
| if (!(typeof FormData !== 'undefined' && t instanceof FormData)) | |
| try { | |
| return JSON.stringify(t).length; | |
| } catch (e) {} | |
| } | |
| }; | |
| }, | |
| {}, | |
| ], | |
| 19: [ | |
| function(t, e, n) { | |
| let r = 0, | |
| o = navigator.userAgent.match(/Firefox[\/\s](\d+\.\d+)/); | |
| o && (r = +o[1]), (e.exports = r); | |
| }, | |
| {}, | |
| ], | |
| 20: [ | |
| function(t, e, n) { | |
| function r(t, e) { | |
| if (!o) return !1; | |
| if (t !== o) return !1; | |
| if (!e) return !0; | |
| if (!i) return !1; | |
| for ( | |
| let n = i.split('.'), r = e.split('.'), a = 0; | |
| a < r.length; | |
| a++ | |
| ) | |
| if (r[a] !== n[a]) return !1; | |
| return !0; | |
| } | |
| var o = null, | |
| i = null, | |
| a = /Version\/(\S+)\s+Safari/; | |
| if (navigator.userAgent) { | |
| let s = navigator.userAgent, | |
| c = s.match(a); | |
| c && | |
| s.indexOf('Chrome') === -1 && | |
| s.indexOf('Chromium') === -1 && | |
| ((o = 'Safari'), (i = c[1])); | |
| } | |
| e.exports = { agent: o, version: i, match: r }; | |
| }, | |
| {}, | |
| ], | |
| 21: [ | |
| function(t, e, n) { | |
| function r(t, e) { | |
| let n = [], | |
| r = '', | |
| i = 0; | |
| for (r in t) o.call(t, r) && ((n[i] = e(r, t[r])), (i += 1)); | |
| return n; | |
| } | |
| var o = Object.prototype.hasOwnProperty; | |
| e.exports = r; | |
| }, | |
| {}, | |
| ], | |
| 22: [ | |
| function(t, e, n) { | |
| function r(t, e, n) { | |
| e || (e = 0), typeof n === 'undefined' && (n = t ? t.length : 0); | |
| for ( | |
| var r = -1, o = n - e || 0, i = Array(o < 0 ? 0 : o); | |
| ++r < o; | |
| ) | |
| i[r] = t[e + r]; | |
| return i; | |
| } | |
| e.exports = r; | |
| }, | |
| {}, | |
| ], | |
| 23: [ | |
| function(t, e, n) { | |
| e.exports = { | |
| exists: | |
| typeof window.performance !== 'undefined' && | |
| window.performance.timing && | |
| typeof window.performance.timing.navigationStart !== 'undefined', | |
| }; | |
| }, | |
| {}, | |
| ], | |
| 24: [ | |
| function(t, e, n) { | |
| function r(t) { | |
| return !(t && t instanceof Function && t.apply && !t[a]); | |
| } | |
| var o = t('ee'), | |
| i = t(22), | |
| a = 'nr@original', | |
| s = Object.prototype.hasOwnProperty, | |
| c = !1; | |
| e.exports = function(t, e) { | |
| function n(t, e, n, o) { | |
| function nrWrapper() { | |
| let r, a, s, c; | |
| try { | |
| (a = this), | |
| (r = i(arguments)), | |
| (s = typeof n === 'function' ? n(r, a) : n || {}); | |
| } catch (f) { | |
| p([f, '', [r, a, o], s]); | |
| } | |
| u(`${e}start`, [r, a, o], s); | |
| try { | |
| return (c = t.apply(a, r)); | |
| } catch (d) { | |
| throw (u(`${e}err`, [r, a, d], s), d); | |
| } finally { | |
| u(`${e}end`, [r, a, c], s); | |
| } | |
| } | |
| return r(t) | |
| ? t | |
| : (e || (e = ''), | |
| (nrWrapper[a] = t), | |
| d(t, nrWrapper), | |
| nrWrapper); | |
| } | |
| function f(t, e, o, i) { | |
| o || (o = ''); | |
| let a, | |
| s, | |
| c, | |
| f = o.charAt(0) === '-'; | |
| for (c = 0; c < e.length; c++) | |
| (s = e[c]), | |
| (a = t[s]), | |
| r(a) || (t[s] = n(a, f ? s + o : o, i, s)); | |
| } | |
| function u(n, r, o) { | |
| if (!c || e) { | |
| const i = c; | |
| c = !0; | |
| try { | |
| t.emit(n, r, o, e); | |
| } catch (a) { | |
| p([a, n, r, o]); | |
| } | |
| c = i; | |
| } | |
| } | |
| function d(t, e) { | |
| if (Object.defineProperty && Object.keys) | |
| try { | |
| const n = Object.keys(t); | |
| return ( | |
| n.forEach(n => { | |
| Object.defineProperty(e, n, { | |
| get() { | |
| return t[n]; | |
| }, | |
| set(e) { | |
| return (t[n] = e), e; | |
| }, | |
| }); | |
| }), | |
| e | |
| ); | |
| } catch (r) { | |
| p([r]); | |
| } | |
| for (const o in t) s.call(t, o) && (e[o] = t[o]); | |
| return e; | |
| } | |
| function p(e) { | |
| try { | |
| t.emit('internal-error', e); | |
| } catch (n) {} | |
| } | |
| return t || (t = o), (n.inPlace = f), (n.flag = a), n; | |
| }; | |
| }, | |
| {}, | |
| ], | |
| ee: [ | |
| function(t, e, n) { | |
| function r() {} | |
| function o(t) { | |
| function e(t) { | |
| return t && t instanceof r ? t : t ? c(t, s, i) : i(); | |
| } | |
| function n(n, r, o, i) { | |
| if (!p.aborted || i) { | |
| t && t(n, r, o); | |
| for (var a = e(o), s = m(n), c = s.length, f = 0; f < c; f++) | |
| s[f].apply(a, r); | |
| const d = u[g[n]]; | |
| return d && d.push([b, n, r, a]), a; | |
| } | |
| } | |
| function l(t, e) { | |
| y[t] = m(t).concat(e); | |
| } | |
| function h(t, e) { | |
| const n = y[t]; | |
| if (n) | |
| for (let r = 0; r < n.length; r++) n[r] === e && n.splice(r, 1); | |
| } | |
| function m(t) { | |
| return y[t] || []; | |
| } | |
| function v(t) { | |
| return (d[t] = d[t] || o(n)); | |
| } | |
| function w(t, e) { | |
| f(t, (t, n) => { | |
| (e = e || 'feature'), (g[n] = e), e in u || (u[e] = []); | |
| }); | |
| } | |
| var y = {}, | |
| g = {}, | |
| b = { | |
| on: l, | |
| addEventListener: l, | |
| removeEventListener: h, | |
| emit: n, | |
| get: v, | |
| listeners: m, | |
| context: e, | |
| buffer: w, | |
| abort: a, | |
| aborted: !1, | |
| }; | |
| return b; | |
| } | |
| function i() { | |
| return new r(); | |
| } | |
| function a() { | |
| (u.api || u.feature) && ((p.aborted = !0), (u = p.backlog = {})); | |
| } | |
| var s = 'nr@context', | |
| c = t('gos'), | |
| f = t(21), | |
| u = {}, | |
| d = {}, | |
| p = (e.exports = o()); | |
| p.backlog = u; | |
| }, | |
| {}, | |
| ], | |
| gos: [ | |
| function(t, e, n) { | |
| function r(t, e, n) { | |
| if (o.call(t, e)) return t[e]; | |
| const r = n(); | |
| if (Object.defineProperty && Object.keys) | |
| try { | |
| return ( | |
| Object.defineProperty(t, e, { | |
| value: r, | |
| writable: !0, | |
| enumerable: !1, | |
| }), | |
| r | |
| ); | |
| } catch (i) {} | |
| return (t[e] = r), r; | |
| } | |
| var o = Object.prototype.hasOwnProperty; | |
| e.exports = r; | |
| }, | |
| {}, | |
| ], | |
| handle: [ | |
| function(t, e, n) { | |
| function r(t, e, n, r) { | |
| o.buffer([t], r), o.emit(t, e, n); | |
| } | |
| var o = t('ee').get('handle'); | |
| (e.exports = r), (r.ee = o); | |
| }, | |
| {}, | |
| ], | |
| id: [ | |
| function(t, e, n) { | |
| function r(t) { | |
| const e = typeof t; | |
| return !t || (e !== 'object' && e !== 'function') | |
| ? -1 | |
| : t === window | |
| ? 0 | |
| : a(t, i, () => o++); | |
| } | |
| var o = 1, | |
| i = 'nr@id', | |
| a = t('gos'); | |
| e.exports = r; | |
| }, | |
| {}, | |
| ], | |
| loader: [ | |
| function(t, e, n) { | |
| function r() { | |
| if (!E++) { | |
| let t = (x.info = NREUM.info), | |
| e = l.getElementsByTagName('script')[0]; | |
| if ( | |
| (setTimeout(u.abort, 3e4), | |
| !(t && t.licenseKey && t.applicationID && e)) | |
| ) | |
| return u.abort(); | |
| f(g, (e, n) => { | |
| t[e] || (t[e] = n); | |
| }), | |
| c('mark', ['onload', a() + x.offset], null, 'api'); | |
| const n = l.createElement('script'); | |
| (n.src = `https://${t.agent}`), e.parentNode.insertBefore(n, e); | |
| } | |
| } | |
| function o() { | |
| l.readyState === 'complete' && i(); | |
| } | |
| function i() { | |
| c('mark', ['domContent', a() + x.offset], null, 'api'); | |
| } | |
| function a() { | |
| return O.exists && performance.now | |
| ? Math.round(performance.now()) | |
| : (s = Math.max(new Date().getTime(), s)) - x.offset; | |
| } | |
| var s = new Date().getTime(), | |
| c = t('handle'), | |
| f = t(21), | |
| u = t('ee'), | |
| d = t(20), | |
| p = window, | |
| l = p.document, | |
| h = 'addEventListener', | |
| m = 'attachEvent', | |
| v = p.XMLHttpRequest, | |
| w = v && v.prototype; | |
| NREUM.o = { | |
| ST: setTimeout, | |
| SI: p.setImmediate, | |
| CT: clearTimeout, | |
| XHR: v, | |
| REQ: p.Request, | |
| EV: p.Event, | |
| PR: p.Promise, | |
| MO: p.MutationObserver, | |
| }; | |
| var y = `${location}`, | |
| g = { | |
| beacon: 'bam.nr-data.net', | |
| errorBeacon: 'bam.nr-data.net', | |
| agent: 'js-agent.newrelic.com/nr-spa-1099.min.js', | |
| }, | |
| b = v && w && w[h] && !/CriOS/.test(navigator.userAgent), | |
| x = (e.exports = { | |
| offset: s, | |
| now: a, | |
| origin: y, | |
| features: {}, | |
| xhrWrappable: b, | |
| userAgent: d, | |
| }); | |
| t(17), | |
| l[h] | |
| ? (l[h]('DOMContentLoaded', i, !1), p[h]('load', r, !1)) | |
| : (l[m]('onreadystatechange', o), p[m]('onload', r)), | |
| c('mark', ['firstbyte', s], null, 'api'); | |
| var E = 0, | |
| O = t(23); | |
| }, | |
| {}, | |
| ], | |
| }, | |
| {}, | |
| ['loader', 2, 15, 5, 3, 4], | |
| )); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment