1window.NREUM || (NREUM = {}); 2NREUM.init = { 3 session_replay: { 4 enabled: true, 5 block_selector: '', 6 mask_text_selector: '*', 7 sampling_rate: 10.0, 8 error_sampling_rate: 100.0, 9 mask_all_inputs: true, 10 collect_fonts: true, 11 inline_images: false, 12 inline_stylesheet: true, 13 fix_stylesheets: true, 14 preload: false, 15 mask_input_options: {} 16 }, 17 distributed_tracing: { enabled: true }, 18 performance: { capture_measures: true }, 19 browser_consent_mode: { enabled: false }, 20 privacy: { cookies_enabled: true }, 21 ajax: { deny_list: ['bam.nr-data.net'] } 22}; 23 24NREUM.loader_config = { 25 accountID: '3274939', 26 trustKey: '2848815', 27 agentID: '1588979774', 28 licenseKey: 'NRBR-0b6286f0d9c722277fc', 29 applicationID: '1588979774' 30}; 31NREUM.info = { 32 beacon: 'bam.nr-data.net', 33 errorBeacon: 'bam.nr-data.net', 34 licenseKey: 'NRBR-0b6286f0d9c722277fc', 35 applicationID: '1588979774', 36 sa: 1 37}; /*! For license information please see nr-loader-spa-1.309.0.min.js.LICENSE.txt */ 38(() => { 39 var e, 40 t, 41 r = { 42 384: (e, t, r) => { 43 'use strict'; 44 r.d(t, { NT: () => o, US: () => l, Zm: () => c, bQ: () => u, dV: () => d, pV: () => h }); 45 var n = r(6154), 46 i = r(1863), 47 s = r(944), 48 a = r(1910); 49 const o = { beacon: 'bam.nr-data.net', errorBeacon: 'bam.nr-data.net' }; 50 function c() { 51 return n.gm.NREUM || (n.gm.NREUM = {}), void 0 === n.gm.newrelic && (n.gm.newrelic = n.gm.NREUM), n.gm.NREUM; 52 } 53 function d() { 54 let e = c(); 55 return ( 56 e.o || 57 ((e.o = { 58 ST: n.gm.setTimeout, 59 SI: n.gm.setImmediate || n.gm.setInterval, 60 CT: n.gm.clearTimeout, 61 XHR: n.gm.XMLHttpRequest, 62 REQ: n.gm.Request, 63 EV: n.gm.Event, 64 PR: n.gm.Promise, 65 MO: n.gm.MutationObserver, 66 FETCH: n.gm.fetch, 67 WS: n.gm.WebSocket 68 }), 69 (0, a.i)(...Object.values(e.o))), 70 e 71 ); 72 } 73 function u(e, t) { 74 let r = c(); 75 (r.initializedAgents ??= {}), 76 (t.initializedAt = { ms: (0, i.t)(), date: new Date() }), 77 (r.initializedAgents[e] = t), 78 2 === Object.keys(r.initializedAgents).length && (0, s.R)(69); 79 } 80 function l(e, t) { 81 c()[e] = t; 82 } 83 function h() { 84 return ( 85 (function () { 86 let e = c(); 87 const t = e.info || {}; 88 e.info = { beacon: o.beacon, errorBeacon: o.errorBeacon, ...t }; 89 })(), 90 (function () { 91 let e = c(); 92 const t = e.init || {}; 93 e.init = { ...t }; 94 })(), 95 d(), 96 (function () { 97 let e = c(); 98 const t = e.loader_config || {}; 99 e.loader_config = { ...t }; 100 })(), 101 c() 102 ); 103 } 104 }, 105 782: (e, t, r) => { 106 'use strict'; 107 r.d(t, { T: () => n }); 108 const n = r(860).K7.pageViewTiming; 109 }, 110 860: (e, t, r) => { 111 'use strict'; 112 r.d(t, { $J: () => u, K7: () => c, P3: () => d, XX: () => i, Yy: () => o, df: () => s, qY: () => n, v4: () => a }); 113 const n = 'events', 114 i = 'jserrors', 115 s = 'browser/blobs', 116 a = 'rum', 117 o = 'browser/logs', 118 c = { 119 ajax: 'ajax', 120 genericEvents: 'generic_events', 121 jserrors: i, 122 logging: 'logging', 123 metrics: 'metrics', 124 pageAction: 'page_action', 125 pageViewEvent: 'page_view_event', 126 pageViewTiming: 'page_view_timing', 127 sessionReplay: 'session_replay', 128 sessionTrace: 'session_trace', 129 softNav: 'soft_navigations', 130 spa: 'spa' 131 }, 132 d = { 133 [c.pageViewEvent]: 1, 134 [c.pageViewTiming]: 2, 135 [c.metrics]: 3, 136 [c.jserrors]: 4, 137 [c.spa]: 5, 138 [c.ajax]: 6, 139 [c.sessionTrace]: 7, 140 [c.softNav]: 8, 141 [c.sessionReplay]: 9, 142 [c.logging]: 10, 143 [c.genericEvents]: 11 144 }, 145 u = { 146 [c.pageViewEvent]: a, 147 [c.pageViewTiming]: n, 148 [c.ajax]: n, 149 [c.spa]: n, 150 [c.softNav]: n, 151 [c.metrics]: i, 152 [c.jserrors]: i, 153 [c.sessionTrace]: s, 154 [c.sessionReplay]: s, 155 [c.logging]: o, 156 [c.genericEvents]: 'ins' 157 }; 158 }, 159 944: (e, t, r) => { 160 'use strict'; 161 r.d(t, { R: () => i }); 162 var n = r(3241); 163 function i(e, t) { 164 'function' == typeof console.debug && 165 (console.debug(
166 'New Relic Warning: https://github.com/newrelic/newrelic-browser-agent/blob/main/docs/warning-codes.md#'.concat(e), 167 t 168 ), 169 (0, n.W)({ 170 agentIdentifier: null, 171 drained: null, 172 type: 'data', 173 name: 'warn', 174 feature: 'warn', 175 data: { code: e, secondary: t } 176 })); 177 } 178 }, 179 993: (e, t, r) => { 180 'use strict'; 181 r.d(t, { A$: () => s, ET: () => a, TZ: () => o, p_: () => i }); 182 var n = r(860); 183 const i = { ERROR: 'ERROR', WARN: 'WARN', INFO: 'INFO', DEBUG: 'DEBUG', TRACE: 'TRACE' }, 184 s = { OFF: 0, ERROR: 1, WARN: 2, INFO: 3, DEBUG: 4, TRACE: 5 }, 185 a = 'log', 186 o = n.K7.logging; 187 }, 188 1541: (e, t, r) => { 189 'use strict'; 190 r.d(t, { U: () => i, f: () => n }); 191 const n = { MFE: 'MFE', BA: 'BA' }; 192 function i(e, t) { 193 if (2 !== t?.harvestEndpointVersion) return {}; 194 const r = t.agentRef.runtime.appMetadata.agents[0].entityGuid; 195 return e 196 ? { 197 'source.id': e.id, 198 'source.name': e.name, 199 'source.type': e.type, 200 'parent.id': e.parent?.id || r, 201 'parent.type': e.parent?.type || n.BA 202 } 203 : { 'entity.guid': r, appId: t.agentRef.info.applicationID }; 204 } 205 }, 206 1687: (e, t, r) => { 207 'use strict'; 208 r.d(t, { Ak: () => d, Ze: () => h, x3: () => u }); 209 var n = r(3241), 210 i = r(7836), 211 s = r(3606), 212 a = r(860), 213 o = r(2646); 214 const c = {}; 215 function d(e, t) { 216 const r = { staged: !1, priority: a.P3[t] || 0 }; 217 l(e), c[e].get(t) || c[e].set(t, r); 218 } 219 function u(e, t) { 220 e && c[e] && (c[e].get(t) && c[e].delete(t), p(e, t, !1), c[e].size && f(e)); 221 } 222 function l(e) { 223 if (!e) throw new Error('agentIdentifier required'); 224 c[e] || (c[e] = new Map()); 225 } 226 function h(e = '', t = 'feature', r = !1) { 227 if ((l(e), !e || !c[e].get(t) || r)) return p(e, t); 228 (c[e].get(t).staged = !0), f(e); 229 } 230 function f(e) { 231 const t = Array.from(c[e]); 232 t.every(([e, t]) => t.staged) && 233 (t.sort((e, t) => e[1].priority - t[1].priority), 234 t.forEach(([t]) => { 235 c[e].delete(t), p(e, t); 236 })); 237 } 238 function p(e, t, r = !0) { 239 const a = e ? i.ee.get(e) : i.ee, 240 c = s.i.handlers; 241 if (!a.aborted && a.backlog && c) { 242 if (((0, n.W)({ agentIdentifier: e, type: 'lifecycle', name: 'drain', feature: t }), r)) { 243 const e = a.backlog[t], 244 r = c[t]; 245 if (r) { 246 for (let t = 0; e && t < e.length; ++t) g(e[t], r); 247 Object.entries(r).forEach(([e, t]) => { 248 Object.values(t || {}).forEach(t => { 249 t[0]?.on && t[0].context() instanceof o.y && !t[0].listeners(e).includes(t[1]) && t[0].on(e, t[1]); 250 }); 251 }); 252 } 253 } 254 a.isolatedBacklog || delete c[t], (a.backlog[t] = null), a.emit('drain-' + t, []); 255 } 256 } 257 function g(e, t) { 258 var r = e[1]; 259 Object.values(t[r] || {}).forEach(t => { 260 var r = e[0]; 261 if (t[0] === r) { 262 var n = t[1], 263 i = e[3], 264 s = e[2]; 265 n.apply(i, s); 266 } 267 }); 268 } 269 }, 270 1738: (e, t, r) => { 271 'use strict'; 272 r.d(t, { U: () => f, Y: () => h }); 273 var n = r(3241), 274 i = r(9908), 275 s = r(1863), 276 a = r(944), 277 o = r(5701), 278 c = r(3969), 279 d = r(8362), 280 u = r(860), 281 l = r(4261); 282 function h(e, t, r, s) { 283 const h = s || r; 284 !h || 285 (h[e] && h[e] !== d.d.prototype[e]) || 286 (h[e] = function () { 287 (0, i.p)(c.xV, ['API/' + e + '/called'], void 0, u.K7.metrics, r.ee), 288 (0, n.W)({ 289 agentIdentifier: r.agentIdentifier, 290 drained: !!o.B?.[r.agentIdentifier], 291 type: 'data', 292 name: 'api', 293 feature: l.Pl + e, 294 data: {} 295 }); 296 try { 297 return t.apply(this, arguments); 298 } catch (e) { 299 (0, a.R)(23, e); 300 } 301 }); 302 } 303 function f(e, t, r, n, a) { 304 const o = e.info; 305 null === r ? delete o.jsAttributes[t] : (o.jsAttributes[t] = r), 306 (a || null === r) && (0, i.p)(l.Pl + n, [(0, s.t)(), t, r], void 0, 'session', e.ee); 307 } 308 }, 309 1741: (e, t, r) => { 310 'use strict'; 311 r.d(t, { W: () => s }); 312 var n = r(944), 313 i = r(4261); 314 class s { 315 #e(e, ...t) { 316 if (this[e] !== s.prototype[e]) return this[e](...t); 317 (0, n.R)(35, e); 318 } 319 addPageAction(e, t) { 320 return this.#e(i.hG, e, t); 321 } 322 register(e) { 323 return this.#e(i.eY, e); 324 }
325 recordCustomEvent(e, t) { 326 return this.#e(i.fF, e, t); 327 } 328 setPageViewName(e, t) { 329 return this.#e(i.Fw, e, t); 330 } 331 setCustomAttribute(e, t, r) { 332 return this.#e(i.cD, e, t, r); 333 } 334 noticeError(e, t) { 335 return this.#e(i.o5, e, t); 336 } 337 setUserId(e, t = !1) { 338 return this.#e(i.Dl, e, t); 339 } 340 setApplicationVersion(e) { 341 return this.#e(i.nb, e); 342 } 343 setErrorHandler(e) { 344 return this.#e(i.bt, e); 345 } 346 addRelease(e, t) { 347 return this.#e(i.k6, e, t); 348 } 349 log(e, t) { 350 return this.#e(i.$9, e, t); 351 } 352 start() { 353 return this.#e(i.d3); 354 } 355 finished(e) { 356 return this.#e(i.BL, e); 357 } 358 recordReplay() { 359 return this.#e(i.CH); 360 } 361 pauseReplay() { 362 return this.#e(i.Tb); 363 } 364 addToTrace(e) { 365 return this.#e(i.U2, e); 366 } 367 setCurrentRouteName(e) { 368 return this.#e(i.PA, e); 369 } 370 interaction(e) { 371 return this.#e(i.dT, e); 372 } 373 wrapLogger(e, t, r) { 374 return this.#e(i.Wb, e, t, r); 375 } 376 measure(e, t) { 377 return this.#e(i.V1, e, t); 378 } 379 consent(e) { 380 return this.#e(i.Pv, e); 381 } 382 } 383 }, 384 1863: (e, t, r) => { 385 'use strict'; 386 function n() { 387 return Math.floor(performance.now()); 388 } 389 r.d(t, { t: () => n }); 390 }, 391 1910: (e, t, r) => { 392 'use strict'; 393 r.d(t, { i: () => s }); 394 var n = r(944); 395 const i = new Map(); 396 function s(...e) { 397 return e.every(e => { 398 if (i.has(e)) return i.get(e); 399 const t = 'function' == typeof e ? e.toString() : '', 400 r = t.includes('[native code]'), 401 s = t.includes('nrWrapper'); 402 return r || s || (0, n.R)(64, e?.name || t), i.set(e, r), r; 403 }); 404 } 405 }, 406 2555: (e, t, r) => { 407 'use strict'; 408 r.d(t, { D: () => o, f: () => a }); 409 var n = r(384), 410 i = r(8122); 411 const s = { 412 beacon: n.NT.beacon, 413 errorBeacon: n.NT.errorBeacon, 414 licenseKey: void 0, 415 applicationID: void 0, 416 sa: void 0, 417 queueTime: void 0, 418 applicationTime: void 0, 419 ttGuid: void 0, 420 user: void 0, 421 account: void 0, 422 product: void 0, 423 extra: void 0, 424 jsAttributes: {}, 425 userAttributes: void 0, 426 atts: void 0, 427 transactionName: void 0, 428 tNamePlain: void 0 429 }; 430 function a(e) { 431 try { 432 return !!e.licenseKey && !!e.errorBeacon && !!e.applicationID; 433 } catch (e) { 434 return !1; 435 } 436 } 437 const o = e => (0, i.a)(e, s); 438 }, 439 2614: (e, t, r) => { 440 'use strict'; 441 r.d(t, { BB: () => a, H3: () => n, g: () => d, iL: () => c, tS: () => o, uh: () => i, wk: () => s }); 442 const n = 'NRBA', 443 i = 'SESSION', 444 s = 144e5, 445 a = 18e5, 446 o = { 447 STARTED: 'session-started', 448 PAUSE: 'session-pause', 449 RESET: 'session-reset', 450 RESUME: 'session-resume', 451 UPDATE: 'session-update' 452 }, 453 c = { SAME_TAB: 'same-tab', CROSS_TAB: 'cross-tab' }, 454 d = { OFF: 0, FULL: 1, ERROR: 2 }; 455 }, 456 2646: (e, t, r) => { 457 'use strict'; 458 r.d(t, { y: () => n }); 459 class n { 460 constructor(e) { 461 this.contextId = e; 462 } 463 } 464 }, 465 2843: (e, t, r) => { 466 'use strict'; 467 r.d(t, { G: () => s, u: () => i }); 468 var n = r(3878); 469 function i(e, t = !1, r, i) { 470 (0, n.DD)( 471 'visibilitychange', 472 function () { 473 if (t) return void ('hidden' === document.visibilityState && e()); 474 e(document.visibilityState); 475 }, 476 r, 477 i 478 ); 479 } 480 function s(e, t, r) { 481 (0, n.sp)('pagehide', e, t, r); 482 } 483 }, 484 3241: (e, t, r) => { 485 'use strict'; 486 r.d(t, { W: () => s }); 487 var n = r(6154); 488 const i = 'newrelic'; 489 function s(e = {}) { 490 try { 491 n.gm.dispatchEvent(new CustomEvent(i, { detail: e })); 492 } catch (e) {} 493 } 494 }, 495 3304: (e, t, r) => { 496 'use strict'; 497 r.d(t, { A: () => s }); 498 var n = r(7836); 499 const i = () => { 500 const e = new WeakSet(); 501 return (t, r) => { 502 if ('object' == typeof r && null !== r) { 503 if (e.has(r)) return; 504 e.add(r); 505 } 506 return r; 507 }; 508 }; 509 function s(e) { 510 try { 511 return JSON.stringify(e, i()) ?? ''; 512 } catch (e) { 513 try { 514 n.ee.emit('internal-error', [e]); 515 } catch (e) {} 516 return ''; 517 } 518 } 519 }, 520 3333: (e, t, r) => { 521 'use strict'; 522 r.d(t, { $v: () => u, TZ: () => n, Xh: () => c, Zp: () => i, kd: () => d, mq: () => o, nf: () => a, qN: () => s }); 523 const n = r(860).K7.genericEvents, 524 i = ['auxclick', 'click', 'copy', 'keydown', 'paste', 'scrollend'], 525 s = ['focus', 'blur'], 526 a = 4, 527 o = 1e3, 528 c = 2e3, 529 d = ['PageAction', 'UserAction', 'BrowserPerformance'], 530 u = { RESOURCES: 'experimental.resources', REGISTER: 'register' }; 531 }, 532 3434: (e, t, r) => { 533 'use strict'; 534 r.d(t, { Jt: () => s, YM: () => d }); 535 var n = r(7836), 536 i = r(5607); 537 const s = 'nr@original:'.concat(i.W), 538 a = 50; 539 var o = Object.prototype.hasOwnProperty, 540 c = !1; 541 function d(e, t) { 542 return ( 543 e || (e = n.ee), 544 (r.inPlace = function (e, t, n, i, s) { 545 n || (n = ''); 546 const a = '-' === n.charAt(0); 547 for (let o = 0; o < t.length; o++) { 548 const c = t[o], 549 d = e[c]; 550 l(d) || (e[c] = r(d, a ? c + n : n, i, c, s)); 551 } 552 }), 553 (r.flag = s), 554 r 555 ); 556 function r(t, r, n, c, d) { 557 return l(t) 558 ? t 559 : (r || (r = ''), 560 (nrWrapper[s] = t), 561 (function (e, t, r) { 562 if (Object.defineProperty && Object.keys) 563 try { 564 return ( 565 Object.keys(e).forEach(function (r) { 566 Object.defineProperty(t, r, { 567 get: function () { 568 return e[r]; 569 }, 570 set: function (t) { 571 return (e[r] = t), t; 572 } 573 }); 574 }), 575 t 576 ); 577 } catch (e) { 578 u([e], r); 579 } 580 for (var n in e) o.call(e, n) && (t[n] = e[n]); 581 })(t, nrWrapper, e), 582 nrWrapper); 583 function nrWrapper() { 584 var s, o, l, h; 585 let f; 586 try { 587 (o = this), (s = [...arguments]), (l = 'function' == typeof n ? n(s, o) : n || {}); 588 } catch (t) { 589 u([t, '', [s, o, c], l], e); 590 } 591 i(r + 'start', [s, o, c], l, d); 592 const p = performance.now(); 593 let g; 594 try { 595 return (h = t.apply(o, s)), (g = performance.now()), h; 596 } catch (e) { 597 throw ((g = performance.now()), i(r + 'err', [s, o, e], l, d), (f = e), f); 598 } finally { 599 const e = g - p, 600 t = { start: p, end: g, duration: e, isLongTask: e >= a, methodName: c, thrownError: f }; 601 t.isLongTask && i('long-task', [t, o], l, d), i(r + 'end', [s, o, h], l, d); 602 } 603 } 604 } 605 function i(r, n, i, s) { 606 if (!c || t) { 607 var a = c; 608 c = !0; 609 try { 610 e.emit(r, n, i, t, s); 611 } catch (t) { 612 u([t, r, n, i], e); 613 } 614 c = a; 615 } 616 } 617 } 618 function u(e, t) { 619 t || (t = n.ee); 620 try { 621 t.emit('internal-error', e); 622 } catch (e) {} 623 } 624 function l(e) { 625 return !(e && 'function' == typeof e && e.apply && !e[s]); 626 } 627 }, 628 3606: (e, t, r) => { 629 'use strict'; 630 r.d(t, { i: () => s }); 631 var n = r(9908); 632 s.on = a; 633 var i = (s.handlers = {}); 634 function s(e, t, r, s) { 635 a(s || n.d, i, e, t, r); 636 } 637 function a(e, t, r, i, s) { 638 s || (s = 'feature'), e || (e = n.d); 639 var a = (t[s] = t[s] || {}); 640 (a[r] = a[r] || []).push([e, i]); 641 } 642 }, 643 3738: (e, t, r) => { 644 'use strict'; 645 r.d(t, { 646 He: () => i, 647 Kp: () => o, 648 Lc: () => d, 649 Rz: () => u, 650 TZ: () => n, 651 bD: () => s, 652 d3: () => a, 653 jx: () => l, 654 sl: () => h,
655 uP: () => c 656 }); 657 const n = r(860).K7.sessionTrace, 658 i = 'bstResource', 659 s = 'resource', 660 a = '-start', 661 o = '-end', 662 c = 'fn' + a, 663 d = 'fn' + o, 664 u = 'pushState', 665 l = 1e3, 666 h = 3e4; 667 }, 668 3785: (e, t, r) => { 669 'use strict'; 670 r.d(t, { R: () => c, b: () => d }); 671 var n = r(9908), 672 i = r(1863), 673 s = r(860), 674 a = r(3969), 675 o = r(993); 676 function c(e, t, r = {}, c = o.p_.INFO, d = !0, u, l = (0, i.t)()) { 677 (0, n.p)(a.xV, ['API/logging/'.concat(c.toLowerCase(), '/called')], void 0, s.K7.metrics, e), 678 (0, n.p)(o.ET, [l, t, r, c, d, u], void 0, s.K7.logging, e); 679 } 680 function d(e) { 681 return 'string' == typeof e && Object.values(o.p_).some(t => t === e.toUpperCase().trim()); 682 } 683 }, 684 3878: (e, t, r) => { 685 'use strict'; 686 function n(e, t) { 687 return { capture: e, passive: !1, signal: t }; 688 } 689 function i(e, t, r = !1, i) { 690 window.addEventListener(e, t, n(r, i)); 691 } 692 function s(e, t, r = !1, i) { 693 document.addEventListener(e, t, n(r, i)); 694 } 695 r.d(t, { DD: () => s, jT: () => n, sp: () => i }); 696 }, 697 3962: (e, t, r) => { 698 'use strict'; 699 r.d(t, { 700 AM: () => a, 701 O2: () => l, 702 OV: () => s, 703 Qu: () => h, 704 TZ: () => c, 705 ih: () => f, 706 pP: () => o, 707 t1: () => u, 708 tC: () => i, 709 wD: () => d 710 }); 711 var n = r(860); 712 const i = ['click', 'keydown', 'submit'], 713 s = 'popstate', 714 a = 'api', 715 o = 'initialPageLoad', 716 c = n.K7.softNav, 717 d = 5e3, 718 u = 500, 719 l = { INITIAL_PAGE_LOAD: '', ROUTE_CHANGE: 1, UNSPECIFIED: 2 }, 720 h = { INTERACTION: 1, AJAX: 2, CUSTOM_END: 3, CUSTOM_TRACER: 4 }, 721 f = { IP: 'in progress', PF: 'pending finish', FIN: 'finished', CAN: 'cancelled' }; 722 }, 723 3969: (e, t, r) => { 724 'use strict'; 725 r.d(t, { TZ: () => n, XG: () => o, rs: () => i, xV: () => a, z_: () => s }); 726 const n = r(860).K7.metrics, 727 i = 'sm', 728 s = 'cm', 729 a = 'storeSupportabilityMetrics', 730 o = 'storeEventMetrics'; 731 }, 732 4234: (e, t, r) => { 733 'use strict'; 734 r.d(t, { W: () => s }); 735 var n = r(7836), 736 i = r(1687); 737 class s { 738 constructor(e, t) { 739 (this.agentIdentifier = e), (this.ee = n.ee.get(e)), (this.featureName = t), (this.blocked = !1); 740 } 741 deregisterDrain() { 742 (0, i.x3)(this.agentIdentifier, this.featureName); 743 } 744 } 745 }, 746 4261: (e, t, r) => { 747 'use strict'; 748 r.d(t, { 749 $9: () => u, 750 BL: () => c, 751 CH: () => p, 752 Dl: () => R, 753 Fw: () => w, 754 PA: () => v, 755 Pl: () => n, 756 Pv: () => A, 757 Tb: () => h, 758 U2: () => a, 759 V1: () => E, 760 Wb: () => T, 761 bt: () => y, 762 cD: () => b, 763 d3: () => x, 764 dT: () => d, 765 eY: () => g, 766 fF: () => f, 767 hG: () => s, 768 hw: () => i, 769 k6: () => o, 770 nb: () => m, 771 o5: () => l 772 }); 773 const n = 'api-', 774 i = n + 'ixn-', 775 s = 'addPageAction', 776 a = 'addToTrace', 777 o = 'addRelease', 778 c = 'finished', 779 d = 'interaction', 780 u = 'log', 781 l = 'noticeError', 782 h = 'pauseReplay', 783 f = 'recordCustomEvent', 784 p = 'recordReplay', 785 g = 'register', 786 m = 'setApplicationVersion', 787 v = 'setCurrentRouteName', 788 b = 'setCustomAttribute', 789 y = 'setErrorHandler', 790 w = 'setPageViewName', 791 R = 'setUserId', 792 x = 'start', 793 T = 'wrapLogger', 794 E = 'measure', 795 A = 'consent'; 796 }, 797 5205: (e, t, r) => { 798 'use strict'; 799 r.d(t, { j: () => S }); 800 var n = r(384), 801 i = r(1741); 802 var s = r(2555), 803 a = r(3333); 804 const o = e => { 805 if (!e || 'string' != typeof e) return !1; 806 try { 807 document.createDocumentFragment().querySelector(e); 808 } catch { 809 return !1; 810 } 811 return !0; 812 }; 813 var c = r(2614), 814 d = r(944), 815 u = r(8122); 816 const l = '[data-nr-mask]', 817 h = e => 818 (0, u.a)( 819 e, 820 (() => { 821 const e = { 822 feature_flags: [], 823 experimental: { allow_registered_children: !1, resources: !1 }, 824 mask_selector: '*', 825 block_selector: '[data-nr-block]', 826 mask_input_options: { 827 color: !1, 828 date: !1, 829 'datetime-local': !1, 830 email: !1, 831 month: !1, 832 number: !1, 833 range: !1, 834 search: !1, 835 tel: !1, 836 text: !1, 837 time: !1, 838 url: !1, 839 week: !1, 840 textarea: !1, 841 select: !1, 842 password: !0 843 } 844 }; 845 return { 846 ajax: { deny_list: void 0, block_internal: !0, enabled: !0, autoStart: !0 }, 847 api: { 848 get allow_registered_children() { 849 return e.feature_flags.includes(a.$v.REGIST
849ER) || e.experimental.allow_registered_children; 850 }, 851 set allow_registered_children(t) { 852 e.experimental.allow_registered_children = t; 853 }, 854 duplicate_registered_data: !1 855 }, 856 browser_consent_mode: { enabled: !1 }, 857 distributed_tracing: { 858 enabled: void 0, 859 exclude_newrelic_header: void 0, 860 cors_use_newrelic_header: void 0, 861 cors_use_tracecontext_headers: void 0, 862 allowed_origins: void 0 863 }, 864 get feature_flags() { 865 return e.feature_flags; 866 }, 867 set feature_flags(t) { 868 e.feature_flags = t; 869 }, 870 generic_events: { enabled: !0, autoStart: !0 }, 871 harvest: { interval: 30 }, 872 jserrors: { enabled: !0, autoStart: !0 }, 873 logging: { enabled: !0, autoStart: !0 }, 874 metrics: { enabled: !0, autoStart: !0 }, 875 obfuscate: void 0, 876 page_action: { enabled: !0 }, 877 page_view_event: { enabled: !0, autoStart: !0 }, 878 page_view_timing: { enabled: !0, autoStart: !0 }, 879 performance: { 880 capture_marks: !1, 881 capture_measures: !1, 882 capture_detail: !0, 883 resources: { 884 get enabled() { 885 return e.feature_flags.includes(a.$v.RESOURCES) || e.experimental.resources; 886 }, 887 set enabled(t) { 888 e.experimental.resources = t; 889 }, 890 asset_types: [], 891 first_party_domains: [], 892 ignore_newrelic: !0 893 } 894 }, 895 privacy: { cookies_enabled: !0 }, 896 proxy: { assets: void 0, beacon: void 0 }, 897 session: { expiresMs: c.wk, inactiveMs: c.BB }, 898 session_replay: { 899 autoStart: !0, 900 enabled: !1, 901 preload: !1, 902 sampling_rate: 10, 903 error_sampling_rate: 100, 904 collect_fonts: !1, 905 inline_images: !1, 906 fix_stylesheets: !0, 907 mask_all_inputs: !0, 908 get mask_text_selector() { 909 return e.mask_selector; 910 }, 911 set mask_text_selector(t) { 912 o(t) 913 ? (e.mask_selector = ''.concat(t, ',').concat(l)) 914 : '' === t || null === t 915 ? (e.mask_selector = l) 916 : (0, d.R)(5, t); 917 }, 918 get block_class() { 919 return 'nr-block'; 920 }, 921 get ignore_class() { 922 return 'nr-ignore'; 923 }, 924 get mask_text_class() { 925 return 'nr-mask'; 926 }, 927 get block_selector() { 928 return e.block_selector; 929 }, 930 set block_selector(t) { 931 o(t) ? (e.block_selector += ','.concat(t)) : '' !== t && (0, d.R)(6, t); 932 }, 933 get mask_input_options() { 934 return e.mask_input_options; 935 }, 936 set mask_input_options(t) { 937 t && 'object' == typeof t ? (e.mask_input_options = { ...t, password: !0 }) : (0, d.R)(7, t); 938 } 939 }, 940 session_trace: { enabled: !0, autoStart: !0 }, 941 soft_navigations: { enabled: !0, autoStart: !0 }, 942 spa: { enabled: !0, autoStart: !0 }, 943 ssl: void 0, 944 user_actions: { enabled: !0, elementAttributes: ['id', 'className', 'tagName', 'type'] } 945 }; 946 })() 947 );
948 var f = r(6154), 949 p = r(9324); 950 let g = 0; 951 const m = { buildEnv: p.F3, distMethod: p.Xs, version: p.xv, originTime: f.WN }, 952 v = { consented: !1 }, 953 b = { 954 appMetadata: {}, 955 get consented() { 956 return this.session?.state?.consent || v.consented; 957 }, 958 set consented(e) { 959 v.consented = e; 960 }, 961 customTransaction: void 0, 962 denyList: void 0, 963 disabled: !1, 964 harvester: void 0, 965 isolatedBacklog: !1, 966 isRecording: !1, 967 loaderType: void 0, 968 maxBytes: 3e4, 969 obfuscator: void 0, 970 onerror: void 0, 971 ptid: void 0, 972 releaseIds: {}, 973 session: void 0, 974 timeKeeper: void 0, 975 registeredEntities: [], 976 jsAttributesMetadata: { bytes: 0 }, 977 get harvestCount() { 978 return ++g; 979 } 980 }, 981 y = e => { 982 const t = (0, u.a)(e, b), 983 r = Object.keys(m).reduce((e, t) => ((e[t] = { value: m[t], writable: !1, configurable: !0, enumerable: !0 }), e), {}); 984 return Object.defineProperties(t, r); 985 }; 986 var w = r(5701); 987 const R = e => { 988 const t = e.startsWith('http'); 989 (e += '/'), (r.p = t ? e : 'https://' + e); 990 }; 991 var x = r(7836), 992 T = r(3241); 993 const E = { accountID: void 0, trustKey: void 0, agentID: void 0, licenseKey: void 0, applicationID: void 0, xpid: void 0 }, 994 A = e => (0, u.a)(e, E), 995 _ = new Set(); 996 function S(e, t = {}, r, a) { 997 let { init: o, info: c, loader_config: d, runtime: u = {}, exposed: l = !0 } = t; 998 if (!c) { 999 const e = (0, n.pV)(); 1000 (o = e.init), (c = e.info), (d = e.loader_config); 1001 } 1002 (e.init = h(o || {})), 1003 (e.loader_config = A(d || {})), 1004 (c.jsAttributes ??= {}), 1005 f.bv && (c.jsAttributes.isWorker = !0), 1006 (e.info = (0, s.D)(c)); 1007 const p = e.init, 1008 g = [c.beacon, c.errorBeacon]; 1009 _.has(e.agentIdentifier) || 1010 (p.proxy.assets && (R(p.proxy.assets), g.push(p.proxy.assets)), 1011 p.proxy.beacon && g.push(p.proxy.beacon), 1012 (e.beacons = [...g]), 1013 (function (e) { 1014 const t = (0, n.pV)(); 1015 Object.getOwnPropertyNames(i.W.prototype).forEach(r => { 1016 const n = i.W.prototype[r]; 1017 if ('function' != typeof n || 'constructor' === n) return; 1018 let s = t[r]; 1019 e[r] && 1020 !1 !== e.exposed && 1021 'micro-agent' !== e.runtime?.loaderType && 1022 (t[r] = (...t) => { 1023 const n = e[r](...t); 1024 return s ? s(...t) : n; 1025 }); 1026 }); 1027 })(e), 1028 (0, n.US)('activatedFeatures', w.B)), 1029 (u.denyList = [...(p.ajax.deny_list || []), ...(p.ajax.block_internal ? g : [])]), 1030 (u.ptid = e.agentIdentifier), 1031 (u.loaderType = r), 1032 (e.runtime = y(u)), 1033 _.has(e.agentIdentifier) || 1034 ((e.ee = x.ee.get(e.agentIdentifier)), 1035 (e.exposed = l), 1036 (0, T.W)({ 1037 agentIdentifier: e.agentIdentifier, 1038 drained: !!w.B?.[e.agentIdentifier], 1039 type: 'lifecycle', 1040 name: 'initialize', 1041 feature: void 0, 1042 data: e.config 1043 })), 1044 _.add(e.agentIdentifier); 1045 } 1046 }, 1047 5270: (e, t, r) => { 1048 'use strict'; 1049 r.d(t, { Aw: () => a, SR: () => s, rF: () => o }); 1050 var n = r(384), 1051 i = r(7767); 1052 function s(e) { 1053 return !!(0, n.dV)().o.MO && (0, i.V)(e) && !0 === e?.session_trace.enabled; 1054 } 1055 function a(e) { 1056 return !0 === e?.session_replay.preload && s(e); 1057 } 1058 function o(e, t) { 1059 try { 1060 if ('string' == typeof t?.type) { 1061 if ('password' === t.type.toLowerCase()) return '*'.repeat(e?.length || 0); 1062 if (void 0 !== t?.dataset?.nrUnmask || t?.classList?.contains('nr-unmask')) return e; 1063 } 1064 } catch (e) {} 1065 return 'string' == typeof e ? e.replace(/[\S]/g, '*') : '*'.repeat(e?.length || 0); 1066 } 1067 }, 1068 5289: (e, t, r) => { 1069 'use strict'; 1070 r.d(t, { GG: () => a, Qr: () => c, sB: () => o }); 1071 var n = r(3878), 1072 i = r(6389); 1073 function s() { 1074 return 'undefined' == typeof document || 'complete' === document.readyState; 1075 } 1076 function a(e, t) { 1077 if (s()) return e(); 1078 const r = (0, i.J)(e), 1079 a = setInterval(() => { 1080 s() && (clearInterval(a), r()); 1081 }, 500); 1082 (0, n.sp)('load', r, t); 1083 } 1084 function o(e) { 1085 if (s()) return e(); 1086 (0, n.DD)('DOMContentLoaded', e); 1087 } 1088 function c(e) { 1089 if (s()) return e(); 1090 (0, n.sp)('popstate', e); 1091 } 1092 }, 1093 5607: (e, t, r) => { 1094 'use strict'; 1095 r.d(t, { W: () => n }); 1096 const n = (0, r(9566).bz)(); 1097 }, 1098 5701: (e, t, r) => { 1099 'use strict'; 1100 r.d(t, { B: () => s, t: () => a }); 1101 var n = r(3241); 1102 const i = new Set(), 1103 s = {}; 1104 function a(e, t) { 1105 const r = t.agentIdentifier; 1106 (s[r] ??= {}), 1107 e && 1108 'object' == typeof e && 1109 (i.has(r) || 1110 (t.ee.emit('rumresp', [e]), 1111 (s[r] = e), 1112 i.add(r), 1113 (0, n.W)({ agentIdentifier: r, loaded: !0, drained: !0, type: 'lifecycle', name: 'load', feature: void 0, data: e }))); 1114 } 1115 }, 1116 6154: (e, t, r) => { 1117 'use strict'; 1118 r.d(t, { 1119 OF: () => d, 1120 RI: () => i, 1121 WN: () => h,
1122 bv: () => s, 1123 eN: () => f, 1124 gm: () => a, 1125 lR: () => l, 1126 m: () => c, 1127 mw: () => o, 1128 sb: () => u 1129 }); 1130 var n = r(1863); 1131 const i = 'undefined' != typeof window && !!window.document, 1132 s = 1133 'undefined' != typeof WorkerGlobalScope && 1134 (('undefined' != typeof self && self instanceof WorkerGlobalScope && self.navigator instanceof WorkerNavigator) || 1135 ('undefined' != typeof globalThis && 1136 globalThis instanceof WorkerGlobalScope && 1137 globalThis.navigator instanceof WorkerNavigator)), 1138 a = i 1139 ? window 1140 : 'undefined' != typeof WorkerGlobalScope && 1141 (('undefined' != typeof self && self instanceof WorkerGlobalScope && self) || 1142 ('undefined' != typeof globalThis && globalThis instanceof WorkerGlobalScope && globalThis)), 1143 o = Boolean('hidden' === a?.document?.visibilityState), 1144 c = '' + a?.location, 1145 d = /iPad|iPhone|iPod/.test(a.navigator?.userAgent), 1146 u = d && 'undefined' == typeof SharedWorker, 1147 l = (() => { 1148 const e = a.navigator?.userAgent?.match(/Firefox[/\s](\d+\.\d+)/); 1149 return Array.isArray(e) && e.length >= 2 ? +e[1] : 0; 1150 })(), 1151 h = Date.now() - (0, n.t)(), 1152 f = () => 'undefined' != typeof PerformanceNavigationTiming && a?.performance?.getEntriesByType('navigation')?.[0]?.responseStart; 1153 }, 1154 6344: (e, t, r) => { 1155 'use strict'; 1156 r.d(t, { BB: () => u, Qb: () => l, TZ: () => i, Ug: () => a, Vh: () => s, _s: () => o, bc: () => d, yP: () => c }); 1157 var n = r(2614); 1158 const i = r(860).K7.sessionReplay, 1159 s = 'errorDuringReplay', 1160 a = 0.12, 1161 o = { DomContentLoaded: 0, Load: 1, FullSnapshot: 2, IncrementalSnapshot: 3, Meta: 4, Custom: 5 }, 1162 c = { [n.g.ERROR]: 15e3, [n.g.FULL]: 3e5, [n.g.OFF]: 0 }, 1163 d = { 1164 RESET: { message: 'Session was reset', sm: 'Reset' }, 1165 IMPORT: { message: 'Recorder failed to import', sm: 'Import' }, 1166 TOO_MANY: { message: '429: Too Many Requests', sm: 'Too-Many' }, 1167 TOO_BIG: { message: 'Payload was too large', sm: 'Too-Big' }, 1168 CROSS_TAB: { message: 'Session Entity was set to OFF on another tab', sm: 'Cross-Tab' }, 1169 ENTITLEMENTS: { message: 'Session Replay is not allowed and will not be started', sm: 'Entitlement' } 1170 }, 1171 u = 5e3, 1172 l = { API: 'api', RESUME: 'resume', SWITCH_TO_FULL: 'switchToFull', INITIALIZE: 'initialize', PRELOAD: 'preload' }; 1173 }, 1174 6389: (e, t, r) => { 1175 'use strict'; 1176 function n(e, t = 500, r = {}) { 1177 const n = r?.leading || !1; 1178 let i; 1179 return (...r) => { 1180 n && 1181 void 0 === i && 1182 (e.apply(this, r), 1183 (i = setTimeout(() => { 1184 i = clearTimeout(i); 1185 }, t))), 1186 n || 1187 (clearTimeout(i), 1188 (i = setTimeout(() => { 1189 e.apply(this, r); 1190 }, t))); 1191 }; 1192 } 1193 function i(e) { 1194 let t = !1; 1195 return (...r) => { 1196 t || ((t = !0), e.apply(this, r)); 1197 }; 1198 } 1199 r.d(t, { J: () => i, s: () => n }); 1200 }, 1201 6630: (e, t, r) => { 1202 'use strict'; 1203 r.d(t, { T: () => n }); 1204 const n = r(860).K7.pageViewEvent; 1205 }, 1206 6774: (e, t, r) => { 1207 'use strict'; 1208 r.d(t, { T: () => n }); 1209 const n = r(860).K7.jserrors; 1210 }, 1211 7295: (e, t, r) => { 1212 'use strict'; 1213 r.d(t, { Xv: () => a, gX: () => i, iW: () => s }); 1214 var n = []; 1215 function i(e) { 1216 if (!e || s(e)) return !1; 1217 if (0 === n.length) return !0; 1218 if ('*' === n[0].hostname) return !1; 1219 for (var t = 0; t < n.length; t++) { 1220 var r = n[t]; 1221 if (r.hostname.test(e.hostname) && r.pathname.test(e.pathname)) return !1; 1222 } 1223 return !0; 1224 } 1225 function s(e) { 1226 return void 0 === e.hostname; 1227 } 1228 function a(e) { 1229 if (((n = []), e && e.length)) 1230 for (var t = 0; t < e.length; t++) { 1231 let r = e[t]; 1232 if (!r) continue; 1233 if ('*' === r) return void (n = [{ hostname: '*' }]); 1234 0 === r.indexOf('http://') ? (r = r.substring(7)) : 0 === r.indexOf('https://') && (r = r.substring(8)); 1235 const i = r.indexOf('/'); 1236 let s, a; 1237 i > 0 ? ((s = r.substring(0, i)), (a = r.substring(i))) : ((s = r), (a = '*')); 1238 let [c] = s.split(':'); 1239 n.push({ hostname: o(c), pathname: o(a, !0) }); 1240 } 1241 } 1242 function o(e, t = !1) { 1243 const r = e.replace(/[.+?^${}()|[\]\\]/g, e => '\\' + e).replace(/\*/g, '.*?'); 1244 return new RegExp((t ? '^' : '') + r + '$'); 1245 } 1246 }, 1247 7485: (e, t, r) => { 1248 'use strict'; 1249 r.d(t, { D: () => i }); 1250 var n = r(6154); 1251 function i(e) { 1252 if (0 === (e || '').indexOf('data:')) return { protocol: 'data' }; 1253 try { 1254 const t = new URL(e, location.href), 1255 r = { 1256 port: t.port, 1257 hostname: t.hostname, 1258 pathname: t.pathname, 1259 search: t.search, 1260 protocol: t.protocol.slice(0, t.protocol.indexOf(':')), 1261 sameOrigin: t.protocol === n.gm?.location?.protocol && t.host === n.gm?.location?.host 1262 }; 1263 return ( 1264 (r.port && '' !== r.port) || ('http:' === t.protocol && (r.port = '8
12640'), 'https:' === t.protocol && (r.port = '443')), 1265 r.pathname && '' !== r.pathname ? r.pathname.startsWith('/') || (r.pathname = '/'.concat(r.pathname)) : (r.pathname = '/'), 1266 r 1267 ); 1268 } catch (e) { 1269 return {}; 1270 } 1271 } 1272 }, 1273 7699: (e, t, r) => { 1274 'use strict'; 1275 r.d(t, { It: () => s, KC: () => o, No: () => i, qh: () => a }); 1276 var n = r(860); 1277 const i = 16e3, 1278 s = 1e6, 1279 a = 'SESSION_ERROR', 1280 o = { [n.K7.logging]: !0, [n.K7.genericEvents]: !1, [n.K7.jserrors]: !1, [n.K7.ajax]: !1 }; 1281 }, 1282 7767: (e, t, r) => { 1283 'use strict'; 1284 r.d(t, { V: () => i }); 1285 var n = r(6154); 1286 const i = e => n.RI && !0 === e?.privacy.cookies_enabled; 1287 }, 1288 7836: (e, t, r) => { 1289 'use strict'; 1290 r.d(t, { P: () => o, ee: () => c }); 1291 var n = r(384), 1292 i = r(8990), 1293 s = r(2646), 1294 a = r(5607); 1295 const o = 'nr@context:'.concat(a.W), 1296 c = (function e(t, r) { 1297 var n = {}, 1298 a = {}, 1299 u = {}, 1300 l = !1; 1301 try { 1302 l = 16 === r.length && d.initializedAgents?.[r]?.runtime.isolatedBacklog; 1303 } catch (e) {} 1304 var h = { 1305 on: p, 1306 addEventListener: p, 1307 removeEventListener: function (e, t) { 1308 var r = n[e]; 1309 if (!r) return; 1310 for (var i = 0; i < r.length; i++) r[i] === t && r.splice(i, 1); 1311 }, 1312 emit: function (e, r, n, i, s) { 1313 !1 !== s && (s = !0); 1314 if (c.aborted && !i) return; 1315 t && s && t.emit(e, r, n); 1316 var o = f(n); 1317 g(e).forEach(e => { 1318 e.apply(o, r); 1319 }); 1320 var d = v()[a[e]]; 1321 d && d.push([h, e, r, o]); 1322 return o; 1323 }, 1324 get: m, 1325 listeners: g, 1326 context: f, 1327 buffer: function (e, t) { 1328 const r = v(); 1329 if (((t = t || 'feature'), h.aborted)) return; 1330 Object.entries(e || {}).forEach(([e, n]) => { 1331 (a[n] = t), t in r || (r[t] = []); 1332 }); 1333 }, 1334 abort: function () { 1335 (h._aborted = !0), 1336 Object.keys(h.backlog).forEach(e => { 1337 delete h.backlog[e]; 1338 }); 1339 }, 1340 isBuffering: function (e) { 1341 return !!v()[a[e]]; 1342 }, 1343 debugId: r, 1344 backlog: l ? {} : t && 'object' == typeof t.backlog ? t.backlog : {}, 1345 isolatedBacklog: l 1346 }; 1347 return ( 1348 Object.defineProperty(h, 'aborted', { 1349 get: () => { 1350 let e = h._aborted || !1; 1351 return e || (t && (e = t.aborted), e); 1352 } 1353 }), 1354 h 1355 ); 1356 function f(e) { 1357 return e && e instanceof s.y ? e : e ? (0, i.I)(e, o, () => new s.y(o)) : new s.y(o); 1358 } 1359 function p(e, t) { 1360 n[e] = g(e).concat(t); 1361 } 1362 function g(e) { 1363 return n[e] || []; 1364 } 1365 function m(t) { 1366 return (u[t] = u[t] || e(h, t)); 1367 } 1368 function v() { 1369 return h.backlog; 1370 } 1371 })(void 0, 'globalEE'), 1372 d = (0, n.Zm)(); 1373 d.ee || (d.ee = c); 1374 }, 1375 8122: (e, t, r) => { 1376 'use strict'; 1377 r.d(t, { a: () => i }); 1378 var n = r(944); 1379 function i(e, t) { 1380 try { 1381 if (!e || 'object' != typeof e) return (0, n.R)(3); 1382 if (!t || 'object' != typeof t) return (0, n.R)(4); 1383 const r = Object.create(Object.getPrototypeOf(t), Object.getOwnPropertyDescriptors(t)), 1384 s = 0 === Object.keys(r).length ? e : r; 1385 for (let a in s) 1386 if (void 0 !== e[a]) 1387 try { 1388 if (null === e[a]) { 1389 r[a] = null; 1390 continue; 1391 } 1392 Array.isArray(e[a]) && Array.isArray(t[a])
1393 ? (r[a] = Array.from(new Set([...e[a], ...t[a]]))) 1394 : 'object' == typeof e[a] && 'object' == typeof t[a] 1395 ? (r[a] = i(e[a], t[a])) 1396 : (r[a] = e[a]); 1397 } catch (e) { 1398 r[a] || (0, n.R)(1, e); 1399 } 1400 return r; 1401 } catch (e) { 1402 (0, n.R)(2, e); 1403 } 1404 } 1405 }, 1406 8139: (e, t, r) => { 1407 'use strict'; 1408 r.d(t, { u: () => h }); 1409 var n = r(7836), 1410 i = r(3434), 1411 s = r(8990), 1412 a = r(6154); 1413 const o = {}, 1414 c = a.gm.XMLHttpRequest, 1415 d = 'addEventListener', 1416 u = 'removeEventListener', 1417 l = 'nr@wrapped:'.concat(n.P); 1418 function h(e) { 1419 var t = (function (e) { 1420 return (e || n.ee).get('events'); 1421 })(e); 1422 if (o[t.debugId]++) return t; 1423 o[t.debugId] = 1; 1424 var r = (0, i.YM)(t, !0); 1425 function h(e) { 1426 r.inPlace(e, [d, u], '-', p); 1427 } 1428 function p(e, t) { 1429 return e[1]; 1430 } 1431 return ( 1432 'getPrototypeOf' in Object && (a.RI && f(document, h), c && f(c.prototype, h), f(a.gm, h)), 1433 t.on(d + '-start', function (e, t) { 1434 var n = e[1]; 1435 if (null !== n && ('function' == typeof n || 'object' == typeof n) && 'newrelic' !== e[0]) { 1436 var i = (0, s.I)(n, l, function () { 1437 var e = { 1438 object: function () { 1439 if ('function' != typeof n.handleEvent) return; 1440 return n.handleEvent.apply(n, arguments); 1441 }, 1442 function: n 1443 }[typeof n]; 1444 return e ? r(e, 'fn-', null, e.name || 'anonymous') : n; 1445 }); 1446 this.wrapped = e[1] = i; 1447 } 1448 }), 1449 t.on(u + '-start', function (e) { 1450 e[1] = this.wrapped || e[1]; 1451 }), 1452 t 1453 ); 1454 } 1455 function f(e, t, ...r) { 1456 let n = e; 1457 for (; 'object' == typeof n && !Object.prototype.hasOwnProperty.call(n, d); ) n = Object.getPrototypeOf(n); 1458 n && t(n, ...r); 1459 } 1460 }, 1461 8362: (e, t, r) => { 1462 'use strict'; 1463 r.d(t, { d: () => s }); 1464 var n = r(9566), 1465 i = r(1741); 1466 class s extends i.W { 1467 agentIdentifier = (0, n.LA)(16); 1468 } 1469 }, 1470 8374: (e, t, r) => { 1471 r.nc = (() => { 1472 try { 1473 return document?.currentScript?.nonce; 1474 } catch (e) {} 1475 return ''; 1476 })(); 1477 }, 1478 8990: (e, t, r) => { 1479 'use strict'; 1480 r.d(t, { I: () => i }); 1481 var n = Object.prototype.hasOwnProperty; 1482 function i(e, t, r) { 1483 if (n.call(e, t)) return e[t]; 1484 var i = r(); 1485 if (Object.defineProperty && Object.keys) 1486 try { 1487 return Object.defineProperty(e, t, { value: i, writable: !0, enumerable: !1 }), i; 1488 } catch (e) {} 1489 return (e[t] = i), i; 1490 } 1491 }, 1492 9119: (e, t, r) => { 1493 'use strict'; 1494 r.d(t, { L: () => s }); 1495 var n = /([^?#]*)[^#]*(#[^?]*|$).*/, 1496 i = /([^?#]*)().*/; 1497 function s(e, t) { 1498 return e ? e.replace(t ? n : i, '$1$2') : e; 1499 } 1500 }, 1501 9300: (e, t, r) => { 1502 'use strict'; 1503 r.d(t, { T: () => n }); 1504 const n = r(860).K7.ajax; 1505 }, 1506 9324: (e, t, r) => { 1507 'use strict'; 1508 r.d(t, { AJ: () => a, F3: () => i, Xs: () => s, Yq: () => o, xv: () => n }); 1509 const n = '1.309.0', 1510 i = 'PROD', 1511 s = 'CDN', 1512 a = '@newrelic/rrweb', 1513 o = '1.0.1'; 1514 }, 1515 9566: (e, t, r) => { 1516 'use strict'; 1517 r.d(t, { LA: () => o, ZF: () => c, bz: () => a, el: () => d }); 1518 var n = r(6154); 1519 const i = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'; 1520 function s(e, t) { 1521 return e ? 15 & e[t] : (16 * Math.random()) | 0; 1522 } 1523 function a() { 1524 const e = n.gm?.crypto || n.gm?.msCrypto; 1525 let t, 1526 r = 0; 1527 return ( 1528 e && e.getRandomValues && (t = e.getRandomValues(new Uint8Array(30))), 1529 i 1530 .split('') 1531 .map(e => ('x' === e ? s(t, r++).toString(16) : 'y' === e ? ((3 & s()) | 8).toString(16) : e)) 1532 .join('') 1533 ); 1534 } 1535 function o(e) { 1536 const t = n.gm?.crypto || n.gm?.msCrypto; 1537 let r, 1538 i = 0; 1539 t && t.getRandomValues && (r = t.getRandomValues(new Uint8Array(e))); 1540 const a = []; 1541 for (var o = 0; o < e; o++) a.push(s(r, i++).toString(16)); 1542 return a.join(''); 1543 } 1544 function c() { 1545 return o(16); 1546 } 1547 function d() { 1548 return o(32); 1549 } 1550 }, 1551 9908: (e, t, r) => { 1552 'use strict'; 1553 r.d(t, { d: () => n, p: () => i }); 1554 var n = r(7836).ee.get('handle'); 1555 function i(e, t, r, i, s) { 1556 s ? (s.buffer([e], i), s.emit(e, t, r)) : (n.buffer([e], i), n.emit(e, t, r)); 1557 } 1558 } 1559 }, 1560 n = {}; 1561 function i(e) { 1562 var t = n[e]; 1563 if (void 0 !== t) return t.exports; 1564 var s = (n[e] = { exports: {} }); 1565 return r[e](s, s.exports, i), s.exports; 1566 } 1567 (i.m = r), 1568 (i.d = (e, t) => { 1569 for (var r in t) i.o(t, r) && !i.o(e, r) && Object.defineProperty(e, r, { enumerable: !0, get: t[r] }); 1570 }), 1571 (i.f = {}), 1572 (i.e = e => Promise.all(Object.keys(i.f).reduce((t, r) => (i.f[r](e, t), t), []))), 1573 (i.u = e => ({ 212: 'nr-spa-compressor', 249: 'nr-spa-recorder', 478: 'nr-spa' }[e] + '-1.309.0.min.js')), 1574 (i.o = (e, t) => Object.prototype.hasOwnProperty.call(e, t)), 1575 (e = {}), 1576 (t = 'NRBA-1.309.0.PROD:'), 1577 (i.l = (r, n, s, a) => { 1578 if (e[r]) e[r].push(n); 1579 else { 1580 var o, c; 1581 if (void 0 !== s) 1582 for (var d = document.getElementsByTagName('script'), u = 0; u < d.length; u++) { 1583 var l = d[u]; 1584 if (l.getAttribute('src') == r || l.getAttribute('data-webpack') == t + s) { 1585 o = l; 1586 break; 1587 } 1588 } 1589 if (!o) { 1590 c = !0; 1591 var h = { 1592 478: 'sha512-t+FHZOrUgx9rkcooc81PHyp8WYSuQSHeu6DbfA2qo7oVl3vV+SDc5UHYmQ3Y+ngsc+y6sVT3LlrYrBTbaWeXMQ==', 1593 249: 'sha512-SfCYLPa8nAq9RImR3pAFU4+qiEzNQqH/yBjFxMh1akKZuGb/dRAcYlyEcCa5vGsGvW2S4bkq4ERRIvHQkR7yVg==', 1594 212: 'sha512-g7KDPPY5ueQ7sFl33IoLOwV4aCwdj8Nk4vqVAfjXOZuY6gIppy4bYmzJeFrLWJ/WXK/oGTOTYgRqXrB9dsnf0w==' 1595 }; 1596 ((o = document.createElement('script')).charset = 'utf-8'), 1597 i.nc && o.setAttribute('nonce', i.nc), 1598 o.setAttribute('data-webpack', t + s), 1599 (o.src = r), 1600 0 !== o.src.indexOf(window.location.origin + '/') && (o.crossOrigin = 'anonymous'), 1601 h[a] && (o.integrity = h[a]); 1602 } 1603 e[r] = [n]; 1604 var f = (t, n) => { 1605 (o.onerror = o.onload = null), clearTimeout(p); 1606 var i = e[r]; 1607 if ((delete e[r], o.parentNode && o.parentNode.removeChild(o), i && i.forEac
1607h(e => e(n)), t)) return t(n); 1608 }, 1609 p = setTimeout(f.bind(null, void 0, { type: 'timeout', target: o }), 12e4); 1610 (o.onerror = f.bind(null, o.onerror)), (o.onload = f.bind(null, o.onload)), c && document.head.appendChild(o); 1611 } 1612 }), 1613 (i.r = e => { 1614 'undefined' != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, { value: 'Module' }), 1615 Object.defineProperty(e, '__esModule', { value: !0 }); 1616 }), 1617 (i.p = 'https://js-agent.newrelic.com/'), 1618 (() => { 1619 var e = { 38: 0, 788: 0 }; 1620 i.f.j = (t, r) => { 1621 var n = i.o(e, t) ? e[t] : void 0; 1622 if (0 !== n) 1623 if (n) r.push(n[2]); 1624 else { 1625 var s = new Promise((r, i) => (n = e[t] = [r, i])); 1626 r.push((n[2] = s)); 1627 var a = i.p + i.u(t), 1628 o = new Error(); 1629 i.l( 1630 a, 1631 r => { 1632 if (i.o(e, t) && (0 !== (n = e[t]) && (e[t] = void 0), n)) { 1633 var s = r && ('load' === r.type ? 'missing' : r.type), 1634 a = r && r.target && r.target.src; 1635 (o.message = 'Loading chunk ' + t + ' failed: (' + s + ': ' + a + ')'), 1636 (o.name = 'ChunkLoadError'), 1637 (o.type = s), 1638 (o.request = a), 1639 n[1](o); 1640 } 1641 }, 1642 'chunk-' + t, 1643 t 1644 ); 1645 } 1646 }; 1647 var t = (t, r) => { 1648 var n, 1649 s, 1650 [a, o, c] = r, 1651 d = 0; 1652 if (a.some(t => 0 !== e[t])) { 1653 for (n in o) i.o(o, n) && (i.m[n] = o[n]); 1654 if (c) c(i); 1655 } 1656 for (t && t(r); d < a.length; d++) (s = a[d]), i.o(e, s) && e[s] && e[s][0](), (e[s] = 0); 1657 }, 1658 r = (self['webpackChunk:NRBA-1.309.0.PROD'] = self['webpackChunk:NRBA-1.309.0.PROD'] || []); 1659 r.forEach(t.bind(null, 0)), (r.push = t.bind(null, r.push.bind(r))); 1660 })(), 1661 (() => { 1662 'use strict'; 1663 i(8374); 1664 var e = i(8362), 1665 t = i(860); 1666 const r = Object.values(t.K7); 1667 var n = i(5205); 1668 var s = i(9908), 1669 a = i(1863), 1670 o = i(4261), 1671 c = i(1738); 1672 var d = i(1687), 1673 u = i(4234), 1674 l = i(5289), 1675 h = i(6154), 1676 f = i(944), 1677 p = i(5270), 1678 g = i(7767), 1679 m = i(6389), 1680 v = i(7699); 1681 class b extends u.W { 1682 constructor(e, t) { 1683 super(e.agentIdentifier, t), 1684 (this.agentRef = e), 1685 (this.abortHandler = void 0), 1686 (this.featAggregate = void 0), 1687 (this.loadedSuccessfully = void 0), 1688 (this.onAggregateImported = new Promise(e => { 1689 this.loadedSuccessfully = e; 1690 })), 1691 (this.deferred = Promise.resolve()), 1692 !1 === e.init[this.featureName].autoStart 1693 ? (this.deferred = new Promise((t, r) => { 1694 this.ee.on( 1695 'manual-start-all', 1696 (0, m.J)(() => { 1697 (0, d.Ak)(e.agentIdentifier, this.featureName), t(); 1698 }) 1699 ); 1700 })) 1701 : (0, d.Ak)(e.agentIdentifier, t); 1702 } 1703 importAggregator(e, t, r = {}) { 1704 if (this.featAggregate) return; 1705 const n = async () => { 1706 let n; 1707 await this.deferred; 1708 try { 1709 if ((0, g.V)(e.init)) { 1710 const { setupAgentSession: t } = await i.e(478).then(i.bind(i, 8766)); 1711 n = t(e); 1712 } 1713 } catch (e) { 1714 (0, f.R)(20, e), this.ee.emit('internal-error', [e]), (0, s.p)(v.qh, [e], void 0, this.featureName, this.ee); 1715 } 1716 try { 1717 if (!this.#t(this.featureName, n, e.init)) 1718 return (0, d.Ze)(this.agentIdentifier, this.featureName), void this.loadedSuccessfully(!1); 1719 const { Aggregate: i } = await t(); 1720 (this.featAggregate = new i(e, r)), 1721 e.runtime.harvester.initializedAggregates.push(this.featAggregate), 1722 this.loadedSuccessfully(!0); 1723 } catch (e) { 1724 (0, f.R)(34, e), 1725 this.abortHandler?.(), 1726 (0, d.Ze)(this.agentIdentifier, this.featureName, !0), 1727 this.loadedSuccessfully(!1), 1728 this.ee && this.ee.abort(); 1729 } 1730 }; 1731 h.RI ? (0, l.GG)(() => n(), !0) : n(); 1732 } 1733 #t(e, r, n) { 1734 if (this.blocked) return !1; 1735 switch (e) { 1736 case t.K7.sessionReplay: 1737 return (0, p.SR)(n) && !!r; 1738 case t.K7.sessionTrace: 1739 return !!r; 1740 default: 1741 return !0; 1742 } 1743 } 1744 } 1745 var y = i(6630), 1746 w = i(2614), 1747 R = i(3241); 1748 class x extends b { 1749 static featureName = y.T; 1750 constructor(e) { 1751 var t; 1752 super(e, y.T),
1753 this.setupInspectionEvents(e.agentIdentifier), 1754 (t = e), 1755 (0, c.Y)( 1756 o.Fw, 1757 function (e, r) { 1758 'string' == typeof e && 1759 ('/' !== e.charAt(0) && (e = '/' + e), 1760 (t.runtime.customTransaction = (r || 'http://custom.transaction') + e), 1761 (0, s.p)(o.Pl + o.Fw, [(0, a.t)()], void 0, void 0, t.ee)); 1762 }, 1763 t 1764 ), 1765 this.importAggregator(e, () => i.e(478).then(i.bind(i, 2467))); 1766 } 1767 setupInspectionEvents(e) { 1768 const t = (t, r) => { 1769 t && 1770 (0, R.W)({ 1771 agentIdentifier: e, 1772 timeStamp: t.timeStamp, 1773 loaded: 'complete' === t.target.readyState, 1774 type: 'window', 1775 name: r, 1776 data: t.target.location + '' 1777 }); 1778 }; 1779 (0, l.sB)(e => { 1780 t(e, 'DOMContentLoaded'); 1781 }), 1782 (0, l.GG)(e => { 1783 t(e, 'load'); 1784 }), 1785 (0, l.Qr)(e => { 1786 t(e, 'navigate'); 1787 }), 1788 this.ee.on(w.tS.UPDATE, (t, r) => { 1789 (0, R.W)({ agentIdentifier: e, type: 'lifecycle', name: 'session', data: r }); 1790 }); 1791 } 1792 } 1793 var T = i(384); 1794 class E extends e.d { 1795 constructor(e) { 1796 var t; 1797 (super(), h.gm) 1798 ? ((this.features = {}), 1799 (0, T.bQ)(this.agentIdentifier, this), 1800 (this.desiredFeatures = new Set(e.features || [])), 1801 this.desiredFeatures.add(x), 1802 (0, n.j)(this, e, e.loaderType || 'agent'), 1803 (t = this), 1804 (0, c.Y)( 1805 o.cD, 1806 function (e, r, n = !1) { 1807 if ('string' == typeof e) { 1808 if (['string', 'number', 'boolean'].includes(typeof r) || null === r) return (0, c.U)(t, e, r, o.cD, n); 1809 (0, f.R)(40, typeof r); 1810 } else (0, f.R)(39, typeof e); 1811 }, 1812 t 1813 ), 1814 (function (e) { 1815 (0, c.Y)( 1816 o.Dl, 1817 function (t, r = !1) { 1818 if ('string' != typeof t && null !== t) return void (0, f.R)(41, typeof t); 1819 const n = e.info.jsAttributes['enduser.id']; 1820 r && null != n && n !== t 1821 ? (0, s.p)(o.Pl + 'setUserIdAndResetSession', [t], void 0, 'session', e.ee) 1822 : (0, c.U)(e, 'enduser.id', t, o.Dl, !0); 1823 }, 1824 e 1825 ); 1826 })(this), 1827 (function (e) { 1828 (0, c.Y)( 1829 o.nb, 1830 function (t) { 1831 if ('string' == typeof t || null === t) return (0, c.U)(e, 'application.version', t, o.nb, !1); 1832 (0, f.R)(42, typeof t); 1833 }, 1834 e 1835 ); 1836 })(this), 1837 (function (e) { 1838 (0, c.Y)( 1839 o.d3, 1840 function () { 1841 e.ee.emit('manual-start-all'); 1842 }, 1843 e 1844 ); 1845 })(this), 1846 (function (e) { 1847 (0, c.Y)( 1848 o.Pv, 1849 function (t = !0) { 1850 if ('boolean' == typeof t) { 1851 if (((0, s.p)(o.Pl + o.Pv, [t], void 0, 'session', e.ee), (e.runtime.consented = t), t)) { 1852 const t = e.features.page_view_event; 1853 t.onAggregateImported.then(e => { 1854 const r = t.featAggregate; 1855 e && !r.sentRum && r.sendRum(); 1856 }); 1857 } 1858 } else (0, f.R)(65, typeof t); 1859 }, 1860 e 1861 ); 1862 })(this), 1863 this.run()) 1864 : (0, f.R)(21); 1865 } 1866 get config() { 1867 return { info: this.info, init: this.init, loader_config: this.loader_config, runtime: this.runtime }; 1868 } 1869 get api() { 1870 return this; 1871 } 1872 run() { 1873 try { 1874 const e = (function (e) { 1875 const t = {}; 1876 return ( 1877 r.forEach(r => { 1878 t[r] = !!e[r]?.enabled; 1879 }), 1880 t 1881 ); 1882 })(this.init),
1883 n = [...this.desiredFeatures]; 1884 n.sort((e, r) => t.P3[e.featureName] - t.P3[r.featureName]), 1885 n.forEach(r => { 1886 if (!e[r.featureName] && r.featureName !== t.K7.pageViewEvent) return; 1887 if (r.featureName === t.K7.spa) return void (0, f.R)(67); 1888 const n = (function (e) { 1889 switch (e) { 1890 case t.K7.ajax: 1891 return [t.K7.jserrors]; 1892 case t.K7.sessionTrace: 1893 return [t.K7.ajax, t.K7.pageViewEvent]; 1894 case t.K7.sessionReplay: 1895 return [t.K7.sessionTrace]; 1896 case t.K7.pageViewTiming: 1897 return [t.K7.pageViewEvent]; 1898 default: 1899 return []; 1900 } 1901 })(r.featureName).filter(e => !(e in this.features)); 1902 n.length > 0 && (0, f.R)(36, { targetFeature: r.featureName, missingDependencies: n }), 1903 (this.features[r.featureName] = new r(this)); 1904 }); 1905 } catch (e) { 1906 (0, f.R)(22, e); 1907 for (const e in this.features) this.features[e].abortHandler?.(); 1908 const t = (0, T.Zm)(); 1909 delete t.initializedAgents[this.agentIdentifier]?.features, delete this.sharedAggregator; 1910 return t.ee.get(this.agentIdentifier).abort(), !1; 1911 } 1912 } 1913 } 1914 var A = i(2843), 1915 _ = i(782); 1916 class S extends b { 1917 static featureName = _.T; 1918 constructor(e) { 1919 super(e, _.T), 1920 h.RI && 1921 ((0, A.u)(() => (0, s.p)('docHidden', [(0, a.t)()], void 0, _.T, this.ee), !0), 1922 (0, A.G)(() => (0, s.p)('winPagehide', [(0, a.t)()], void 0, _.T, this.ee)), 1923 this.importAggregator(e, () => i.e(478).then(i.bind(i, 9917)))); 1924 } 1925 } 1926 var O = i(3969); 1927 class I extends b { 1928 static featureName = O.TZ; 1929 constructor(e) { 1930 super(e, O.TZ), 1931 h.RI && 1932 document.addEventListener('securitypolicyviolation', e => { 1933 (0, s.p)(O.xV, ['Generic/CSPViolation/Detected'], void 0, this.featureName, this.ee); 1934 }), 1935 this.importAggregator(e, () => i.e(478).then(i.bind(i, 6555))); 1936 } 1937 } 1938 var N = i(6774), 1939 P = i(3878), 1940 k = i(3304); 1941 class D { 1942 constructor(e, t, r, n, i) { 1943 (this.name = 'UncaughtError'), 1944 (this.message = 'string' == typeof e ? e : (0, k.A)(e)), 1945 (this.sourceURL = t), 1946 (this.line = r), 1947 (this.column = n), 1948 (this.__newrelic = i); 1949 } 1950 } 1951 function C(e) { 1952 return M(e) 1953 ? e 1954 : new D( 1955 void 0 !== e?.message ? e.message : e, 1956 e?.filename || e?.sourceURL, 1957 e?.lineno || e?.line, 1958 e?.colno || e?.col, 1959 e?.__newrelic, 1960 e?.cause 1961 ); 1962 } 1963 function j(e) { 1964 const t = 'Unhandled Promise Rejection: '; 1965 if (!e?.reason) return; 1966 if (M(e.reason)) { 1967 try { 1968 e.reason.message.startsWith(t) || (e.reason.message = t + e.reason.message); 1969 } catch (e) {} 1970 return C(e.reason); 1971 } 1972 const r = C(e.reason); 1973 return (r.message || '').startsWith(t) || (r.message = t + r.message), r; 1974 } 1975 function L(e) { 1976 if (e.error instanceof SyntaxError && !/:\d+$/.test(e.error.stack?.trim())) { 1977 const t = new D(e.message, e.filename, e.lineno, e.colno, e.error.__newrelic, e.cause); 1978 return (t.name = SyntaxError.name), t; 1979 } 1980 return M(e.error) ? e.error : C(e); 1981 } 1982 function M(e) { 1983 return e instanceof Error && !!e.stack; 1984 } 1985 function H(e, r, n, i, o = (0, a.t)()) { 1986 'string' == typeof e && (e = new Error(e)), 1987 (0, s.p)('err', [e, o, !1, r, n.runtime.isRecording, void 0, i], void 0, t.K7.jserrors, n.ee), 1988 (0, s.p)('uaErr', [], void 0, t.K7.genericEvents, n.ee); 1989 } 1990 var B = i(1541), 1991 K = i(993), 1992 W = i(3785); 1993 function U(e, { customAttributes: t = {}, level: r = K.p_.INFO } = {}, n, i, s = (0, a.t)()) { 1994 (0, W.R)(n.ee, e, t, r, !1, i, s); 1995 } 1996 function F(e, r, n, i, c = (0, a.t)()) { 1997 (0, s.p)(o.Pl + o.hG, [c, e, r, i], void 0, t.K7.genericEvents, n.ee); 1998 } 1999 function V(e, r, n, i, c = (0, a.t)()) { 2000 const { start: d, end: u, customAttributes: l } = r || {}, 2001 h = { customAttributes: l || {} }; 2002 if ('object' != typeof h.customAttributes || 'string' != typeof e || 0 === e.length) return void (0, f.R)(57); 2003 const p = (e, t) => (null == e ? t : 'number' == typeof e ? e : e instanceof PerformanceMark ? e.startTime : Number.NaN); 2004 if (((h.start = p(d, 0)), (h.end = p(u, c)), Number.isNaN(h.start) || Number.isNaN(h.end))) (0, f.R)(57); 2005 else { 2006 if (((h.duration = h.end - h.start), !(h.duration < 0))) 2007 return (0, s.p)(o.Pl + o.V1, [h, e, i], void 0, t.K7.genericEvents, n.ee), h; 2008 (0, f.R)(58); 2009 } 2010 } 2011 function G(e, r = {}, n, i, c = (0, a.t)()) { 2012 (0, s.p)(o.Pl + o.fF, [c, e, r, i], void 0, t.K7.genericEvents, n.ee); 2013 } 2014 const z = ['name', 'id', 'type']; 2015 function Y(e) { 2016 (0, c.Y)( 2017 o.eY, 2018 function (t) { 2019 return Z(e, t); 2020 }, 2021 e 2022 ); 2023 } 2024 function Z(e, r, n) { 2025 (0, f.R)(54, 'newrelic.register'), 2026 (r ||= {}), 2027 (r.type = B.f.MFE), 2028 (r.licenseKey ||= e.info.licenseKey), 2029 (r.blocked = !1), 2030 (r.parent = n || {}), 2031 ('object' != typeof r.tags || null === r.tags || Array.isArray(r.tags)) && (r.tags = {}); 2032 const i = {};
2033 Object.entries(r.tags).forEach(([e, t]) => { 2034 z.includes(e) || (i['source.'.concat(e)] = t); 2035 }), 2036 (r.isolated ??= !0); 2037 let o = () => {}; 2038 const c = e.runtime.registeredEntities; 2039 if (!r.isolated) { 2040 const e = c.find( 2041 ({ 2042 metadata: { 2043 target: { id: e } 2044 } 2045 }) => e === r.id && !r.isolated 2046 ); 2047 if (e) return e; 2048 } 2049 const d = e => { 2050 (r.blocked = !0), (o = e); 2051 }; 2052 function u(e) { 2053 return ('string' == typeof e && !!e.trim() && e.trim().length < 501) || 'number' == typeof e; 2054 } 2055 e.init.api.allow_registered_children || d((0, m.J)(() => (0, f.R)(55))), 2056 (u(r.id) && u(r.name)) || d((0, m.J)(() => (0, f.R)(48, r))); 2057 const l = { 2058 addPageAction: (t, n = {}) => g(F, [t, { ...i, ...n }, e], r), 2059 deregister: () => { 2060 d((0, m.J)(() => (0, f.R)(68))); 2061 }, 2062 log: (t, n = {}) => g(U, [t, { ...n, customAttributes: { ...i, ...(n.customAttributes || {}) } }, e], r), 2063 measure: (t, n = {}) => g(V, [t, { ...n, customAttributes: { ...i, ...(n.customAttributes || {}) } }, e], r), 2064 noticeError: (t, n = {}) => g(H, [t, { ...i, ...n }, e], r), 2065 register: (t = {}) => g(Z, [e, t], l.metadata.target), 2066 recordCustomEvent: (t, n = {}) => g(G, [t, { ...i, ...n }, e], r), 2067 setApplicationVersion: e => p('application.version', e), 2068 setCustomAttribute: (e, t) => p(e, t), 2069 setUserId: e => p('enduser.id', e), 2070 metadata: { customAttributes: i, target: r } 2071 }, 2072 h = () => (r.blocked && o(), r.blocked); 2073 h() || c.push(l); 2074 const p = (e, t) => { 2075 h() || (i[e] = t); 2076 }, 2077 g = (r, n, i) => { 2078 if (h() && r !== Z) return; 2079 const o = (0, a.t)(); 2080 (0, s.p)(O.xV, ['API/register/'.concat(r.name, '/called')], void 0, t.K7.metrics, e.ee); 2081 try { 2082 if (e.init.api.duplicate_registered_data && r !== Z) { 2083 let e = n; 2084 if (n[1] instanceof Object) { 2085 const t = { 'child.id': i.id, 'child.type': i.type }; 2086 e = 2087 'customAttributes' in n[1] 2088 ? [n[0], { ...n[1], customAttributes: { ...n[1].customAttributes, ...t } }, ...n.slice(2)] 2089 : [n[0], { ...n[1], ...t }, ...n.slice(2)]; 2090 } 2091 r(...e, void 0, o); 2092 } 2093 return r(...n, i, o); 2094 } catch (e) { 2095 (0, f.R)(50, e); 2096 } 2097 }; 2098 return l; 2099 } 2100 class q extends b { 2101 static featureName = N.T; 2102 constructor(e) { 2103 var t; 2104 super(e, N.T), 2105 (t = e), 2106 (0, c.Y)(o.o5, (e, r) => H(e, r, t), t), 2107 (function (e) { 2108 (0, c.Y)( 2109 o.bt, 2110 function (t) { 2111 e.runtime.onerror = t; 2112 }, 2113 e 2114 ); 2115 })(e), 2116 (function (e) { 2117 let t = 0; 2118 (0, c.Y)( 2119 o.k6, 2120 function (e, r) { 2121 ++t > 10 || (this.runtime.releaseIds[e.slice(-200)] = ('' + r).slice(-200)); 2122 }, 2123 e 2124 ); 2125 })(e), 2126 Y(e); 2127 try { 2128 this.removeOnAbort = new AbortController(); 2129 } catch (e) {} 2130 this.ee.on('internal-error', (t, r) => { 2131 this.abortHandler && (0, s.p)('ierr', [C(t), (0, a.t)(), !0, {}, e.runtime.isRecording, r], void 0, this.featureName, this.ee); 2132 }), 2133 h.gm.addEventListener( 2134 'unhandledrejection', 2135 t => { 2136 this.abortHandler && 2137 (0, s.p)( 2138 'err', 2139 [j(t), (0, a.t)(), !1, { unhandledPromiseRejection: 1 }, e.runtime.isRecording], 2140 void 0, 2141 this.featureName, 2142 this.ee 2143 ); 2144 }, 2145 (0, P.jT)(!1, this.removeOnAbort?.signal) 2146 ), 2147 h.gm.addEventListener( 2148 'error', 2149 t => { 2150 this.abortHandler && (0, s.p)('err', [L(t), (0, a.t)(), !1, {}, e.runtime.isRecording], void 0, this.featureName, this.ee); 2151 }, 2152 (0, P.jT)(!1, this.removeOnAbort?.signal) 2153 ), 2154 (this.abortHandler = this.#r), 2155 this.importAggregator(e, () => i.e(478).then(i.bind(i, 2176))); 2156 } 2157 #r() { 2158 this.removeOnAbort?.abort(), (this.abortHandler = void 0); 2159 } 2160 } 2161 var X = i(8990); 2162 let J = 1; 2163 function Q(e) { 2164 const t = typeof e; 2165 return !e || ('object' !== t && 'function' !== t) 2166 ? -1 2167 : e === h.gm 2168 ? 0 2169 : (0, X.I)(e, 'nr@id', function () { 2170 return J++; 2171 }); 2172 } 2173 function ee(e) { 2174 if ('string' == typeof e && e.length) return e.length; 2175 if ('object' == typeof e) { 2176 if ('undefined' != typeof ArrayBuffer && e instanceof ArrayBuffer && e.byteLength) return e.byteLength; 2177 if ('undefined' != typeof Blob && e instanceof Blob && e.size) return e.size; 2178 if (!('undefined' != typeof FormData && e instanceof FormData)) 2179 try { 2180 return (0, k.A)(e).length; 2181 } catch (e) { 2182 return; 2183 } 2184 } 2185 } 2186 var te = i(8139), 2187 re = i(7836), 2188 ne = i(3434); 2189 const ie = {}, 2190 se = ['open', 'send']; 2191 function ae(e) { 2192 var t = e || re.ee; 2193 const r = (function (e) { 2194 return (e || re.ee).get('xhr'); 2195 })(t); 2196 if (void 0 === h.gm.XMLHttpRequest) return r; 2197 if (ie[r.debugId]++) return r; 2198 (ie[r.debugId] = 1), (0, te.u)(t); 2199 var n = (0, ne.YM)(r), 2200 i = h.gm.XMLHttpRequest, 2201 s = h.gm.MutationObserver, 2202 a = h.gm.Promise, 2203 o = h.gm.setInterval, 2204 c = 'readystatechange', 2205 d = ['onload', 'onerror', 'onabort', 'onloadstart', 'onloadend', 'onprogress', 'ontimeout'], 2206 u = [], 2207 l = (h.gm.XMLHttpRequest = function (e) { 2208 const t = new i(e), 2209 s = r.context(t); 2210 try { 2211 r.emit('new-xhr', [t], s), 2212 t.addEventListener( 2213 c, 2214 ((a = s), 2215 function () { 2216 var e = this; 2217 e.readyState > 3 && !a.resolved && ((a.resolved = !0), r.emit('xhr-resolved', [], e)), n.inPlace(e, d, 'fn-', y); 2218 }), 2219 (0, P.jT)(!1) 2220 ); 2221 } catch (e) { 2222 (0, f.R)(15, e); 2223 try { 2224 r.emit('internal-error', [e]); 2225 } catch (e) {} 2226 } 2227 var a; 2228 return t; 2229 }); 2230 function p(e, t) { 2231 n.inPlace(t, ['onreadystatechange'], 'fn-', y); 2232 } 2233 if ( 2234 ((function (e, t) { 2235 for (var r in e) t[r] = e[r]; 2236 })(i, l), 2237 (l.prototype = i.prototype), 2238 n.inPlace(l.prototype, se, '-xhr-', y), 2239 r.on('send-xhr-start', function (e, t) { 2240 p(e, t), 2241 (function (e) { 2242 u.push(e), s && (g ? g.then(b) : o ? o(b) : ((m = -m), (v.data = m))); 2243 })(t); 2244 }), 2245 r.on('open-xhr-start', p), 2246 s) 2247 ) { 2248 var g = a && a.resolve(); 2249 if (!o && !a) { 2250 var m = 1, 2251 v = document.createTextNode(m); 2252 new s(b).observe(v, { characterData: !0 }); 2253 } 2254 } else 2255 t.on('fn-end', function (e) { 2256 (e[0] && e[0].type === c) || b(); 2257 }); 2258 function b() { 2259 for (var e = 0; e < u.length; e++) p(0, u[e]); 2260 u.length && (u = []); 2261 } 2262 function y(e, t) { 2263 return t; 2264 } 2265 return r; 2266 } 2267 var oe = 'fetch-', 2268 ce = oe + 'body-', 2269 de = ['arrayBuffer', 'blob', 'json', 'text', 'formData'], 2270 ue = h.gm.Request, 2271 le = h.gm.Response, 2272 he = 'prototype'; 2273 const fe = {}; 2274 function pe(e) { 2275 const t = (function (e) { 2276 return (e || re.ee).get('fetch'); 2277 })(e); 2278 if (!(ue && le && h.gm.fetch)) return t; 2279 if (fe[t.debugId]++) return t; 2280 function r(e, r, n) { 2281 var i = e[r]; 2282 'function' == typeof i && 2283 (e[r] = function () { 2284 var e, 2285 r = [...arguments], 2286 s = {}; 2287 t.emit(n + 'before-start', [r], s), s[re.P] && s[re.P].dt && (e = s[re.P].dt); 2288 var a = i.apply(this, r); 2289 return ( 2290 t.emit(n + 'start', [r, e], a), 2291 a.then( 2292 function (e) { 2293 return t.emit(n + 'end', [null, e], a), e; 2294 }, 2295 function (e) { 2296 throw (t.emit(n + 'end', [e], a), e); 2297 } 2298 ) 2299 ); 2300 }); 2301 } 2302 return ( 2303 (fe[t.debugId] = 1), 2304 de.forEach(e => { 2305 r(ue[he], e, ce), r(le[he], e, ce); 2306 }), 2307 r(h.gm, 'fetch', oe), 2308 t.on(oe + 'end', function (e, r) { 2309 var n = this; 2310 if (r) { 2311 var i = r.headers.get('content-length'); 2312 null !== i && (n.rxSize = i), t.emit(oe + 'done', [null, r], n); 2313 } else t.emit(oe + 'done', [e], n); 2314 }), 2315 t 2316 ); 2317 } 2318 var ge = i(7485), 2319 me = i(9566); 2320 class ve { 2321 constructor(e) { 2322 this.agentRef = e; 2323 } 2324 generateTracePayload(e) { 2325 const t = this.agentRef.loader_config; 2326 if (!this.shouldGenerateTrace(e) || !t) return null; 2327 var r = (t.accountID || '').toString() || null, 2328 n = (t.agentID || '').toString() || null, 2329 i = (t.trustKey || '').toString() || null; 2330 if (!r || !n) return null; 2331 var s = (0, me.ZF)(), 2332 a = (0, me.el)(), 2333 o = Date.now(), 2334 c = { spanId: s, traceId: a, timestamp: o }; 2335 return ( 2336 (e.sameOrigin || (this.isAllowedOrigin(e) && this.useTraceContextHeadersForCors())
2336) && 2337 ((c.traceContextParentHeader = this.generateTraceContextParentHeader(s, a)), 2338 (c.traceContextStateHeader = this.generateTraceContextStateHeader(s, o, r, n, i))), 2339 ((e.sameOrigin && !this.excludeNewrelicHeader()) || 2340 (!e.sameOrigin && this.isAllowedOrigin(e) && this.useNewrelicHeaderForCors())) && 2341 (c.newrelicHeader = this.generateTraceHeader(s, a, o, r, n, i)), 2342 c 2343 ); 2344 } 2345 generateTraceContextParentHeader(e, t) { 2346 return '00-' + t + '-' + e + '-01'; 2347 } 2348 generateTraceContextStateHeader(e, t, r, n, i) { 2349 return i + '@nr=0-1-' + r + '-' + n + '-' + e + '----' + t; 2350 } 2351 generateTraceHeader(e, t, r, n, i, s) { 2352 if (!('function' == typeof h.gm?.btoa)) return null; 2353 var a = { v: [0, 1], d: { ty: 'Browser', ac: n, ap: i, id: e, tr: t, ti: r } }; 2354 return s && n !== s && (a.d.tk = s), btoa((0, k.A)(a)); 2355 } 2356 shouldGenerateTrace(e) { 2357 return this.agentRef.init?.distributed_tracing?.enabled && this.isAllowedOrigin(e); 2358 } 2359 isAllowedOrigin(e) { 2360 var t = !1; 2361 const r = this.agentRef.init?.distributed_tracing; 2362 if (e.sameOrigin) t = !0; 2363 else if (r?.allowed_origins instanceof Array) 2364 for (var n = 0; n < r.allowed_origins.length; n++) { 2365 var i = (0, ge.D)(r.allowed_origins[n]); 2366 if (e.hostname === i.hostname && e.protocol === i.protocol && e.port === i.port) { 2367 t = !0; 2368 break; 2369 } 2370 } 2371 return t; 2372 } 2373 excludeNewrelicHeader() { 2374 var e = this.agentRef.init?.distributed_tracing; 2375 return !!e && !!e.exclude_newrelic_header; 2376 } 2377 useNewrelicHeaderForCors() { 2378 var e = this.agentRef.init?.distributed_tracing; 2379 return !!e && !1 !== e.cors_use_newrelic_header; 2380 } 2381 useTraceContextHeadersForCors() { 2382 var e = this.agentRef.init?.distributed_tracing; 2383 return !!e && !!e.cors_use_tracecontext_headers; 2384 } 2385 } 2386 var be = i(9300), 2387 ye = i(7295); 2388 function we(e) { 2389 return 'string' == typeof e ? e : e instanceof (0, T.dV)().o.REQ ? e.url : h.gm?.URL && e instanceof URL ? e.href : void 0; 2390 } 2391 var Re = ['load', 'error', 'abort', 'timeout'], 2392 xe = Re.length, 2393 Te = (0, T.dV)().o.REQ, 2394 Ee = (0, T.dV)().o.XHR; 2395 const Ae = 'X-NewRelic-App-Data'; 2396 class _e extends b { 2397 static featureName = be.T; 2398 constructor(e) { 2399 super(e, be.T), (this.dt = new ve(e)), (this.handler = (e, t, r, n) => (0, s.p)(e, t, r, n, this.ee)); 2400 try { 2401 const e = { xmlhttprequest: 'xhr', fetch: 'fetch', beacon: 'beacon' }; 2402 h.gm?.performance?.getEntriesByType('resource').forEach(r => { 2403 if (r.initiatorType in e && 0 !== r.responseStatus) { 2404 const n = { status: r.responseStatus }, 2405 i = { rxSize: r.transferSize, duration: Math.floor(r.duration), cbTime: 0 }; 2406 Se(n, r.name), this.handler('xhr', [n, i, r.startTime, r.responseEnd, e[r.initiatorType]], void 0, t.K7.ajax); 2407 } 2408 }); 2409 } catch (e) {} 2410 pe(this.ee), 2411 ae(this.ee), 2412 (function (e, r, n, i) { 2413 function o(e) { 2414 var t = this; 2415 (t.totalCbs = 0), 2416 (t.called = 0), 2417 (t.cbTime = 0), 2418 (t.end = T), 2419 (t.ended = !1), 2420 (t.xhrGuids = {}), 2421 (t.lastSize = null), 2422 (t.loadCaptureCalled = !1), 2423 (t.params = this.params || {}), 2424 (t.metrics = this.metrics || {}), 2425 (t.latestLongtaskEnd = 0), 2426 e.addEventListener( 2427 'load', 2428 function (r) { 2429 E(t, e); 2430 }, 2431 (0, P.jT)(!1) 2432 ), 2433 h.lR || 2434 e.addEventListener( 2435 'progress', 2436 function (e) { 2437 t.lastSize = e.loaded; 2438 }, 2439 (0, P.jT)(!1) 2440 ); 2441 } 2442 function c(e) { 2443 (this.params = { method: e[0] }), Se(this, e[1]), (this.metrics = {}); 2444 } 2445 function d(t, r) { 2446 e.loader_config.xpid && this.sameOrigin && r.setRequestHeader('X-New
2446Relic-ID', e.loader_config.xpid); 2447 var n = i.generateTracePayload(this.parsedOrigin); 2448 if (n) { 2449 var s = !1; 2450 n.newrelicHeader && (r.setRequestHeader('newrelic', n.newrelicHeader), (s = !0)), 2451 n.traceContextParentHeader && 2452 (r.setRequestHeader('traceparent', n.traceContextParentHeader), 2453 n.traceContextStateHeader && r.setRequestHeader('tracestate', n.traceContextStateHeader), 2454 (s = !0)), 2455 s && (this.dt = n); 2456 } 2457 } 2458 function u(e, t) { 2459 var n = this.metrics, 2460 i = e[0], 2461 s = this; 2462 if (n && i) { 2463 var o = ee(i); 2464 o && (n.txSize = o); 2465 } 2466 (this.startTime = (0, a.t)()), 2467 (this.body = i), 2468 (this.listener = function (e) { 2469 try { 2470 'abort' !== e.type || s.loadCaptureCalled || (s.params.aborted = !0), 2471 ('load' !== e.type || 2472 (s.called === s.totalCbs && (s.onloadCalled || 'function' != typeof t.onload) && 'function' == typeof s.end)) && 2473 s.end(t); 2474 } catch (e) { 2475 try { 2476 r.emit('internal-error', [e]); 2477 } catch (e) {} 2478 } 2479 }); 2480 for (var c = 0; c < xe; c++) t.addEventListener(Re[c], this.listener, (0, P.jT)(!1)); 2481 } 2482 function l(e, t, r) { 2483 (this.cbTime += e), 2484 t ? (this.onloadCalled = !0) : (this.called += 1), 2485 this.called !== this.totalCbs || 2486 (!this.onloadCalled && 'function' == typeof r.onload) || 2487 'function' != typeof this.end || 2488 this.end(r); 2489 } 2490 function f(e, t) { 2491 var r = '' + Q(e) + !!t; 2492 this.xhrGuids && !this.xhrGuids[r] && ((this.xhrGuids[r] = !0), (this.totalCbs += 1)); 2493 } 2494 function p(e, t) { 2495 var r = '' + Q(e) + !!t; 2496 this.xhrGuids && this.xhrGuids[r] && (delete this.xhrGuids[r], (this.totalCbs -= 1)); 2497 } 2498 function g() { 2499 this.endTime = (0, a.t)(); 2500 } 2501 function m(e, t) { 2502 t instanceof Ee && 'load' === e[0] && r.emit('xhr-load-added', [e[1], e[2]], t); 2503 } 2504 function v(e, t) { 2505 t instanceof Ee && 'load' === e[0] && r.emit('xhr-load-removed', [e[1], e[2]], t); 2506 } 2507 function b(e, t, r) { 2508 t instanceof Ee && 2509 ('onload' === r && (this.onload = !0), ('load' === (e[0] && e[0].type) || this.onload) && (this.xhrCbStart = (0, a.t)())); 2510 } 2511 function y(e, t) { 2512 this.xhrCbStart && r.emit('xhr-cb-time', [(0, a.t)() - this.xhrCbStart, this.onload, t], t); 2513 } 2514 function w(e) { 2515 var t, 2516 r = e[1] || {}; 2517 if ( 2518 ('string' == typeof e[0] 2519 ? 0 === (t = e[0]).length && h.RI && (t = '' + h.gm.location.href) 2520 : e[0] && e[0].url 2521 ? (t = e[0].url) 2522 : h.gm?.URL && e[0] && e[0] instanceof URL 2523 ? (t = e[0].href) 2524 : 'function' == typeof e[0].toString && (t = e[0].toString()), 2525 'string' == typeof t && 0 !== t.length) 2526 ) { 2527 t && ((this.parsedOrigin = (0, ge.D)(t)), (this.sameOrigin = this.parsedOrigin.sameOrigin)); 2528 var n = i.generateTracePayload(this.parsedOrigin); 2529 if (n && (n.newrelicHeader || n.traceContextParentHeader)) 2530 if (e[0] && e[0].headers) o(e[0].headers, n) && (this.dt = n); 2531 else { 2532 var s = {}; 2533 for (var a in r) s[a] = r[a]; 2534 (s.headers = new Headers(r.headers || {})), o(s.headers, n) && (this.dt = n), e.length > 1 ? (e[1] = s) : e.push(s); 2535 } 2536 } 2537 function o(e, t) { 2538 var r = !1; 2539 return ( 2540 t.newrelicHeader && (e.set('newrelic', t.newrelicHeader), (r = !0)), 2541 t.traceContextParentHeader && 2542 (e.set('traceparent', t.traceContextParentHeader), 2543 t.traceContextStateHeader && e.set('tracestate', t.traceContextStateHeader), 2544 (r = !0)), 2545 r 2546 ); 2547 } 2548 } 2549 function R(e, t) { 2550 (this.params = {}), 2551 (this.metrics = {}), 2552 (this.startTime = (0, a.t)()), 2553 (this.dt = t), 2554 e.length >= 1 && (this.target = e[0]), 2555 e.length >= 2 && (this.opts = e[1]); 2556 var r = this.opts || {}, 2557 n = this.target; 2558 Se(this, we(n)); 2559 var i = ('' + ((n && n instanceof Te && n.method) || r.method || 'GET')).toUpperCase(); 2560 (this.params.method = i), (this.body = r.body), (this.txSize = ee(r.body) || 0); 2561 } 2562 function x(e, r) { 2563 if (((this.endTime = (0, a.t)()), this.params || (this.params = {}), (0, ye.iW)(this.params))) return; 2564 let i; 2565 (this.params.status = r ? r.status : 0), 'string' == typeof this.rxSize && this.rxSize.length > 0 && (i = +this.rxSize); 2566 const s = { txSize: this.txSize, rxSize: i, duration: (0, a.t)() - this.startTime }; 2567 n('xhr', [this.params, s, this.startTime, this.endTime, 'fetch'], this, t.K7.ajax); 2568 } 2569 function T(e) { 2570 const r = this.params, 2571 i = this.metrics; 2572 if (!this.ended) { 2573 this.ended = !0; 2574 for (let t = 0; t < xe; t++) e.removeEventListener(Re[t], this.listener, !1); 2575 r.aborted || 2576 (0, ye.iW)(r) || 2577 ((i.duration = (0, a.t)() - this.startTime), 2578 this.loadCaptureCalled || 4 !== e.readyState ? null == r.status && (r.status = 0) : E(this, e), 2579 (i.cbTime = this.cbTime), 2580 n('xhr', [r, i, this.startTime, this.endTime, 'xhr'], this, t.K7.ajax)); 2581 } 2582 } 2583 function E(e, n) { 2584 e.params.status = n.status; 2585 var i = (function (e, t) { 2586 var r = e.responseType; 2587 return 'json' === r && null !== t 2588 ? t 2589 : 'arraybuffer' === r || 'blob' === r || 'json' === r 2590 ? ee(e.response) 2591 : 'text' === r || '' === r || void 0 === r 2592 ? ee(e.responseText) 2593 : void 0; 2594 })(n, e.lastSize); 2595 if ((i && (e.metrics.rxSize = i), e.sameOrigin && n.getAllResponseHeaders().indexOf(Ae) >= 0)) { 2596 var a = n.getResponseHeader(Ae); 2597 a && 2598 ((0, s.p)(O.rs, ['Ajax/CrossApplicationTracing/Header/Seen'], void 0, t.K7.metrics, r), 2599 (e.params.cat = a.split(', ').pop())); 2600 } 2601 e.loadCaptureCalled = !0; 2602 } 2603 r.on('new-xhr', o), 2604 r.on('open-xhr-start', c), 2605 r.on('open-xhr-end', d), 2606 r.on('send-xhr-start', u), 2607 r.on('xhr-cb-time', l), 2608 r.on('xhr-load-added', f), 2609 r.on('xhr-load-removed', p), 2610 r.on('xhr-resolved', g), 2611 r.on('addEventListener-end', m), 2612 r.on('removeEventListener-end', v), 2613 r.on('fn-end', y), 2614 r.on('fetch-before-start', w), 2615 r.on('fetch-start', R), 2616 r.on('fn-start', b), 2617 r.on('fetch-done', x); 2618 })(e, this.ee, this.handler, this.dt), 2619 this.importAggregator(e, () => i.e(478).then(i.bind(i, 3845))); 2620 } 2621 } 2622 function Se(e, t) { 2623 var r = (0, ge.D)(t), 2624 n = e.params || e; 2625 (n.hostname = r.hostname), 2626 (n.port = r.port), 2627 (n.protocol = r.protocol), 2628 (n.host = r.hostname + ':' + r.port), 2629 (n.pathname = r.pathname), 2630 (e.parsedOrigin = r),
2631 (e.sameOrigin = r.sameOrigin); 2632 } 2633 const Oe = {}, 2634 Ie = ['pushState', 'replaceState']; 2635 function Ne(e) { 2636 const t = (function (e) { 2637 return (e || re.ee).get('history'); 2638 })(e); 2639 return !h.RI || Oe[t.debugId]++ || ((Oe[t.debugId] = 1), (0, ne.YM)(t).inPlace(window.history, Ie, '-')), t; 2640 } 2641 var Pe = i(3738); 2642 function ke(e) { 2643 (0, c.Y)( 2644 o.BL, 2645 function (r = Date.now()) { 2646 const n = r - h.WN; 2647 n < 0 && (0, f.R)(62, r), 2648 (0, s.p)(O.XG, [o.BL, { time: n }], void 0, t.K7.metrics, e.ee), 2649 e.addToTrace({ name: o.BL, start: r, origin: 'nr' }), 2650 (0, s.p)(o.Pl + o.hG, [n, o.BL], void 0, t.K7.genericEvents, e.ee); 2651 }, 2652 e 2653 ); 2654 } 2655 const { He: De, bD: Ce, d3: je, Kp: Le, TZ: Me, Lc: He, uP: Be, Rz: Ke } = Pe; 2656 class We extends b { 2657 static featureName = Me; 2658 constructor(e) { 2659 var r; 2660 super(e, Me), 2661 (r = e), 2662 (0, c.Y)( 2663 o.U2, 2664 function (e) { 2665 if (!(e && 'object' == typeof e && e.name && e.start)) return; 2666 const n = { n: e.name, s: e.start - h.WN, e: (e.end || e.start) - h.WN, o: e.origin || '', t: 'api' }; 2667 n.s < 0 || n.e < 0 || n.e < n.s 2668 ? (0, f.R)(61, { start: n.s, end: n.e }) 2669 : (0, s.p)('bstApi', [n], void 0, t.K7.sessionTrace, r.ee); 2670 }, 2671 r 2672 ), 2673 ke(e); 2674 if (!(0, g.V)(e.init)) return void this.deregisterDrain(); 2675 const n = this.ee; 2676 let d; 2677 Ne(n), 2678 (this.eventsEE = (0, te.u)(n)), 2679 this.eventsEE.on(Be, function (e, t) { 2680 this.bstStart = (0, a.t)(); 2681 }), 2682 this.eventsEE.on(He, function (e, r) { 2683 (0, s.p)('bst', [e[0], r, this.bstStart, (0, a.t)()], void 0, t.K7.sessionTrace, n); 2684 }), 2685 n.on(Ke + je, function (e) { 2686 (this.time = (0, a.t)()), (this.startPath = location.pathname + location.hash); 2687 }), 2688 n.on(Ke + Le, function (e) { 2689 (0, s.p)('bstHist', [location.pathname + location.hash, this.startPath, this.time], void 0, t.K7.sessionTrace, n); 2690 }); 2691 try { 2692 (d = new PerformanceObserver(e => { 2693 const r = e.getEntries(); 2694 (0, s.p)(De, [r], void 0, t.K7.sessionTrace, n); 2695 })), 2696 d.observe({ type: Ce, buffered: !0 }); 2697 } catch (e) {} 2698 this.importAggregator(e, () => i.e(478).then(i.bind(i, 6974)), { resourceObserver: d }); 2699 } 2700 } 2701 var Ue = i(6344); 2702 class Fe extends b { 2703 static featureName = Ue.TZ; 2704 #n; 2705 recorder; 2706 constructor(e) { 2707 var r; 2708 let n; 2709 super(e, Ue.TZ), 2710 (r = e), 2711 (0, c.Y)( 2712 o.CH, 2713 function () { 2714 (0, s.p)(o.CH, [], void 0, t.K7.sessionReplay, r.ee); 2715 }, 2716 r 2717 ), 2718 (function (e) { 2719 (0, c.Y)( 2720 o.Tb, 2721 function () { 2722 (0, s.p)(o.Tb, [], void 0, t.K7.sessionReplay, e.ee); 2723 }, 2724 e 2725 ); 2726 })(e); 2727 try { 2728 n = JSON.parse(localStorage.getItem(''.concat(w.H3, '_').concat(w.uh))); 2729 } catch (e) {} 2730 (0, p.SR)(e.init) && this.ee.on(o.CH, () => this.#i()), 2731 this.#s(n) && 2732 this.importRecorder().then(e => { 2733 e.startRecording(Ue.Qb.PRELOAD, n?.sessionReplayMode); 2734 }), 2735 this.importAggregator(this.agentRef, () => i.e(478).then(i.bind(i, 6167)), this), 2736 this.ee.on('err', e => { 2737 this.blocked || 2738 (this.agentRef.runtime.isRecording && ((this.errorNoticed = !0), (0, s.p)(Ue.Vh, [e], void 0, this.featureName, this.ee))); 2739 }); 2740 } 2741 #s(e) { 2742 return (e && (e.sessionReplayMode === w.g.FULL || e.sessionReplayMode === w.g.ERROR)) || (0, p.Aw)(this.agentRef.init); 2743 } 2744 importRecorder() { 2745 return this.recorder 2746 ? Promise.resolve(this.recorder) 2747 : ((this.#n ??= Promise.all([i.e(478), i.e(249)]) 2748 .then(i.bind(i, 4866)) 2749 .then(({ Recorder: e }) => ((this.recorder = new e(this)), this.recorder)) 2750 .catch(e => { 2751 throw (this.ee.emit('internal-error', [e]), (this.blocked = !0), e); 2752 })), 2753 this.#n); 2754 } 2755 #i() { 2756 this.blocked || 2757 (this.featAggregate 2758 ? this.featAggregate.mode !== w.g.FULL && this.featAggregate.initializeRecording(w.g.FULL, !0, Ue.Qb.API) 2759 : this.importRecorder().then(() => { 2760 this.recorder.startRecording(Ue.Qb.API, w.g.FULL); 2761 })); 2762 } 2763 } 2764 var Ve = i(3962); 2765 class Ge extends b { 2766 static featureName = Ve.TZ; 2767 constructor(e) { 2768 if ( 2769 (super(e, Ve.TZ), 2770 (function (e) { 2771 const r = e.ee.get('tracer'); 2772 function n() {} 2773 (0, c.Y)( 2774 o.dT, 2775 function (e) { 2776 return new n().get('object' == typeof e ? e : {}); 2777 }, 2778 e 2779 ); 2780 const i = (n.prototype = { 2781 createTracer: function (n, i) { 2782 var o = {}, 2783 c = this, 2784 d = 'function' == typeof i; 2785 return ( 2786 (0, s.p)(O.xV, ['API/createTracer/called'], void 0, t.K7.metrics, e.ee), 2787 function () { 2788 if ((r.emit((d ? '' : 'no-') + 'fn-start', [(0, a.t)(), c, d], o), d)) 2789 try { 2790 return i.apply(this, arguments); 2791 } catch (e) { 2792 const t = 'string' == typeof e ? new Error(e) : e; 2793 throw (r.emit('fn-err', [arguments, this, t], o), t); 2794 } finally { 2795 r.emit('fn-end', [(0, a.t)()], o); 2796 } 2797 } 2798 ); 2799 } 2800 }); 2801 ['actionText', 'setName', 'setAttribute', 'save', 'ignore', 'onEnd', 'getContext', 'end', 'get'].forEach(r => { 2802 c.Y.apply(this, [ 2803 r, 2804 function () { 2805 return (0, s.p)(o.hw + r, [performance.now(), ...arguments], this, t.K7.softNav, e.ee), this; 2806 }, 2807 e, 2808 i 2809 ]); 2810 }), 2811 (0, c.Y)( 2812 o.PA, 2813 function () { 2814 (0, s.p)(o.hw + 'routeName', [performance.now(), ...arguments], void 0, t.K7.softNav, e.ee); 2815 }, 2816 e 2817 ); 2818 })(e), 2819 !h.RI || !(0, T.dV)().o.MO) 2820 ) 2821 return; 2822 const r = Ne(this.ee); 2823 try { 2824 this.removeOnAbort = new AbortController(); 2825 } catch (e) {}
2826 Ve.tC.forEach(e => { 2827 (0, P.sp)( 2828 e, 2829 e => { 2830 l(e); 2831 }, 2832 !0, 2833 this.removeOnAbort?.signal 2834 ); 2835 }); 2836 const n = () => (0, s.p)('newURL', [(0, a.t)(), '' + window.location], void 0, this.featureName, this.ee); 2837 r.on('pushState-end', n), 2838 r.on('replaceState-end', n), 2839 (0, P.sp)( 2840 Ve.OV, 2841 e => { 2842 l(e), (0, s.p)('newURL', [e.timeStamp, '' + window.location], void 0, this.featureName, this.ee); 2843 }, 2844 !0, 2845 this.removeOnAbort?.signal 2846 ); 2847 let d = !1; 2848 const u = new ((0, T.dV)().o.MO)((e, t) => { 2849 d || 2850 ((d = !0), 2851 requestAnimationFrame(() => { 2852 (0, s.p)('newDom', [(0, a.t)()], void 0, this.featureName, this.ee), (d = !1); 2853 })); 2854 }), 2855 l = (0, m.s)( 2856 e => { 2857 'loading' !== document.readyState && 2858 ((0, s.p)('newUIEvent', [e], void 0, this.featureName, this.ee), 2859 u.observe(document.body, { attributes: !0, childList: !0, subtree: !0, characterData: !0 })); 2860 }, 2861 100, 2862 { leading: !0 } 2863 ); 2864 (this.abortHandler = function () { 2865 this.removeOnAbort?.abort(), u.disconnect(), (this.abortHandler = void 0); 2866 }), 2867 this.importAggregator(e, () => i.e(478).then(i.bind(i, 4393)), { domObserver: u }); 2868 } 2869 } 2870 var ze = i(3333), 2871 Ye = i(9119); 2872 const Ze = {}, 2873 qe = new Set(); 2874 function Xe(e) { 2875 return 'string' == typeof e 2876 ? { type: 'string', size: new TextEncoder().encode(e).length } 2877 : e instanceof ArrayBuffer 2878 ? { type: 'ArrayBuffer', size: e.byteLength } 2879 : e instanceof Blob 2880 ? { type: 'Blob', size: e.size } 2881 : e instanceof DataView 2882 ? { type: 'DataView', size: e.byteLength } 2883 : ArrayBuffer.isView(e) 2884 ? { type: 'TypedArray', size: e.byteLength } 2885 : { type: 'unknown', size: 0 }; 2886 } 2887 class $e { 2888 constructor(e, t) { 2889 (this.timestamp = (0, a.t)()), 2890 (this.currentUrl = (0, Ye.L)(window.location.href)), 2891 (this.socketId = (0, me.LA)(8)), 2892 (this.requestedUrl = (0, Ye.L)(e)), 2893 (this.requestedProtocols = Array.isArray(t) ? t.join(',') : t || ''), 2894 (this.openedAt = void 0), 2895 (this.protocol = void 0), 2896 (this.extensions = void 0), 2897 (this.binaryType = void 0), 2898 (this.messageOrigin = void 0), 2899 (this.messageCount = 0), 2900 (this.messageBytes = 0), 2901 (this.messageBytesMin = 0), 2902 (this.messageBytesMax = 0), 2903 (this.messageTypes = void 0), 2904 (this.sendCount = 0), 2905 (this.sendBytes = 0), 2906 (this.sendBytesMin = 0), 2907 (this.sendBytesMax = 0), 2908 (this.sendTypes = void 0), 2909 (this.closedAt = void 0), 2910 (this.closeCode = void 0), 2911 (this.closeReason = 'unknown'), 2912 (this.closeWasClean = void 0), 2913 (this.connectedDuration = 0), 2914 (this.hasErrors = void 0); 2915 } 2916 } 2917 class Je extends b { 2918 static featureName = ze.TZ; 2919 constructor(e) { 2920 super(e, ze.TZ); 2921 const r = e.init.feature_flags.includes('websockets'), 2922 n = [ 2923 e.init.page_action.enabled, 2924 e.init.performance.capture_marks, 2925 e.init.performance.capture_measures, 2926 e.init.performance.resources.enabled, 2927 e.init.user_actions.enabled, 2928 r 2929 ]; 2930 var d; 2931 let u, l; 2932 if ( 2933 ((d = e), 2934 (0, c.Y)(o.hG, (e, t) => F(e, t, d), d), 2935 (function (e) { 2936 (0, c.Y)(o.fF, (t, r) => G(t, r, e), e); 2937 })(e), 2938 ke(e), 2939 Y(e), 2940 (function (e) { 2941 (0, c.Y)(o.V1, (t, r) => V(t, r, e), e); 2942 })(e), 2943 r && 2944 (l = (function (e) { 2945 if (!(0, T.dV)().o.WS) return e; 2946 const t = e.get('websockets'); 2947 if (Ze[t.debugId]++) return t; 2948 (Ze[t.debugId] = 1), 2949 (0, A.G)(() => { 2950 const e = (0, a.t)(); 2951 qe.forEach(r => { 2952 (r.nrData.closedAt = e), 2953 (r.nrData.closeCode = 1001), 2954 (r.nrData.closeReason = 'Page navigating away'), 2955 (r.nrData.closeWasClean = !1), 2956 r.nrData.openedAt && (r.nrData.connectedDuration = e - r.nrData.openedAt), 2957 t.emit('ws', [r.nrData], r); 2958 }); 2959 }); 2960 class r extends WebSocket { 2961 static name = 'WebSocket'; 2962 static toString() { 2963 return 'function WebSocket() { [native code] }'; 2964 } 2965 toString() { 2966 return '[object WebSocket]'; 2967 } 2968 get [Symbol.toStringTag]() { 2969 return r.name; 2970 } 2971 #a(e) { 2972 ((e.__newrelic ??= {}).socketId = this.nrData.socketId), (this.nrData.hasErrors ??= !0); 2973 } 2974 constructor(...e) { 2975 super(...e), 2976 (this.nrData = new $e(e[0], e[1])), 2977 this.addEventListener('open', () => { 2978 (this.nrData.openedAt = (0, a.t)()), 2979 ['protocol', 'extensions', 'binaryType'].forEach(e => { 2980 this.nrData[e] = this[e]; 2981 }), 2982 qe.add(this); 2983 }), 2984 this.addEventListener('message', e => { 2985 const { type: t, size: r } = Xe(e.data); 2986 (this.nrData.messageOrigin ??= (0, Ye.L)(e.origin)), 2987 this.nrData.messageCount++, 2988 (this.nrData.messageBytes += r), 2989 (this.nrData.messageBytesMin = Math.min(this.nrData.messageBytesMin || 1 / 0, r)), 2990 (this.nrData.messageBytesMax = Math.max(this.nrData.messageBytesMax, r)), 2991 (this.nrData.messageTypes ?? '').includes(t) || 2992 (this.nrData.messageTypes = this.nrData.messageTypes ? ''.concat(this.nrData.messageTypes, ',').concat(t) : t); 2993 }), 2994 this.addEventListener('close', e => { 2995 (this.nrData.closedAt = (0, a.t)()), 2996 (this.nrData.closeCode = e.code), 2997 e.reason && (this.nrData.closeReason = e.reason), 2998 (this.nrData.closeWasClean = e.wasClean), 2999 (this.nrData.connectedDuration = this.nrData.closedAt - this.nrData.openedAt), 3000 qe.delete(this), 3001 t.emit('ws', [this.nrData], this); 3002 }); 3003 } 3004 addEventListener(e, t, ...r) { 3005 const n = this, 3006 i = 3007 'function' == typeof t 3008 ? function (...e) { 3009 try { 3010 return t.apply(this, e); 3011 } catch (e) { 3012 throw (n.#a(e), e); 3013 } 3014 } 3015 : t?.handleEvent 3016 ? { 3017 handleEvent: function (...e) { 3018 try { 3019 return t.handleEvent.apply(t, e); 3020 } catch (e) { 3021 throw (n.#a(e), e); 3022 } 3023 } 3024 } 3025 : t; 3026 return super.addEventListener(e, i, ...r); 3027 } 3028 send(e) { 3029 if (this.readyState === WebSocket.OPEN) { 3030 const { type: t, size: r } = Xe(e); 3031 this.nrData.sendCount++, 3032 (this.nrData.sendBytes += r), 3033 (this.nrData.sendBytesMin = Math.min(this.nrData.sendBytesMin || 1 / 0, r)), 3034 (this.nrData.sendBytesMax = Math.max(this.nrData.sendBytesMax, r)), 3035 (this.nrData.sendTypes ?? '').includes(t) || 3036 (this.nrData.sendTypes = this.nrData.sendTypes ? ''.concat(this.nrData.sendTypes, ',').concat(t) : t); 3037 } 3038 try { 3039 return super.send(e); 3040 } catch (e) { 3041 throw (this.#a(e), e); 3042 } 3043 } 3044 close(...e) { 3045 try { 3046 super.close(...e); 3047 } catch (e) { 3048 throw (this.#a(e), e); 3049 } 3050 } 3051 } 3052 return (h.gm.WebSocket = r), t; 3053 })(this.ee)), 3054 h.RI) 3055 ) { 3056 if ((pe(this.ee), ae(this.ee), (u = Ne(this.ee)), e.init.user_actions.enabled)) { 3057 function f(t) { 3058 const r = (0, ge.D)(t); 3059 return e.beacons.includes(r.hostname + ':' + r.port); 3060 } 3061 function p() { 3062 u.emit('navChange'); 3063 }
3064 ze.Zp.forEach(e => (0, P.sp)(e, e => (0, s.p)('ua', [e], void 0, this.featureName, this.ee), !0)), 3065 ze.qN.forEach(e => { 3066 const t = (0, m.s)( 3067 e => { 3068 (0, s.p)('ua', [e], void 0, this.featureName, this.ee); 3069 }, 3070 500, 3071 { leading: !0 } 3072 ); 3073 (0, P.sp)(e, t); 3074 }), 3075 h.gm.addEventListener( 3076 'error', 3077 () => { 3078 (0, s.p)('uaErr', [], void 0, t.K7.genericEvents, this.ee); 3079 }, 3080 (0, P.jT)(!1, this.removeOnAbort?.signal) 3081 ), 3082 this.ee.on('open-xhr-start', (e, r) => { 3083 f(e[1]) || 3084 r.addEventListener('readystatechange', () => { 3085 2 === r.readyState && (0, s.p)('uaXhr', [], void 0, t.K7.genericEvents, this.ee); 3086 }); 3087 }), 3088 this.ee.on('fetch-start', e => { 3089 e.length >= 1 && !f(we(e[0])) && (0, s.p)('uaXhr', [], void 0, t.K7.genericEvents, this.ee); 3090 }), 3091 u.on('pushState-end', p), 3092 u.on('replaceState-end', p), 3093 window.addEventListener('hashchange', p, (0, P.jT)(!0, this.removeOnAbort?.signal)), 3094 window.addEventListener('popstate', p, (0, P.jT)(!0, this.removeOnAbort?.signal)); 3095 } 3096 if (e.init.performance.resources.enabled && h.gm.PerformanceObserver?.supportedEntryTypes.includes('resource')) { 3097 new PerformanceObserver(e => { 3098 e.getEntries().forEach(e => { 3099 (0, s.p)('browserPerformance.resource', [e], void 0, this.featureName, this.ee); 3100 }); 3101 }).observe({ type: 'resource', buffered: !0 }); 3102 } 3103 } 3104 r && 3105 l.on('ws', e => { 3106 (0, s.p)('ws-complete', [e], void 0, this.featureName, this.ee); 3107 }); 3108 try { 3109 this.removeOnAbort = new AbortController(); 3110 } catch (g) {} 3111 (this.abortHandler = () => { 3112 this.removeOnAbort?.abort(), (this.abortHandler = void 0); 3113 }), 3114 n.some(e => e) ? this.importAggregator(e, () => i.e(478).then(i.bind(i, 8019))) : this.deregisterDrain(); 3115 } 3116 } 3117 var Qe = i(2646); 3118 const et = new Map(); 3119 function tt(e, t, r, n, i = !0) { 3120 if ('object' != typeof t || !t || 'string' != typeof r || !r || 'function' != typeof t[r]) return (0, f.R)(29); 3121 const s = (function (e) { 3122 return (e || re.ee).get('logger'); 3123 })(e), 3124 a = (0, ne.YM)(s), 3125 o = new Qe.y(re.P); 3126 (o.level = n.level), (o.customAttributes = n.customAttributes), (o.autoCaptured = i); 3127 const c = t[r]?.[ne.Jt] || t[r]; 3128 return et.set(c, o), a.inPlace(t, [r], 'wrap-logger-', () => et.get(c)), s; 3129 } 3130 var rt = i(1910); 3131 class nt extends b { 3132 static featureName = K.TZ; 3133 constructor(e) { 3134 var t; 3135 super(e, K.TZ), 3136 (t = e), 3137 (0, c.Y)(o.$9, (e, r) => U(e, r, t), t), 3138 (function (e) { 3139 (0, c.Y)( 3140 o.Wb, 3141 (t, r, { customAttributes: n = {}, level: i = K.p_.INFO } = {}) => { 3142 tt(e.ee, t, r, { customAttributes: n, level: i }, !1); 3143 }, 3144 e 3145 ); 3146 })(e), 3147 Y(e); 3148 const r = this.ee; 3149 ['log', 'error', 'warn', 'info', 'debug', 'trace'].forEach(e => { 3150 (0, rt.i)(h.gm.console[e]), tt(r, h.gm.console, e, { level: 'log' === e ? 'info' : e }); 3151 }), 3152 this.ee.on('wrap-logger-end', function ([e]) { 3153 const { level: t, customAttributes: n, autoCaptured: i } = this; 3154 (0, W.R)(r, e, n, t, i); 3155 }), 3156 this.importAggregator(e, () => i.e(478).then(i.bind(i, 5288))); 3157 } 3158 } 3159 new E({ features: [_e, x, S, We, Fe, I, q, Je, nt, Ge], loaderType: 'spa' }); 3160 })(); 3161})();
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.