@sailfish-ai/recorder 1.10.2 → 1.10.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/recorder.js CHANGED
@@ -34,7 +34,7 @@ function v4(e, u, w2) {
34
34
  return (a[e2[u2 + 0]] + a[e2[u2 + 1]] + a[e2[u2 + 2]] + a[e2[u2 + 3]] + "-" + a[e2[u2 + 4]] + a[e2[u2 + 5]] + "-" + a[e2[u2 + 6]] + a[e2[u2 + 7]] + "-" + a[e2[u2 + 8]] + a[e2[u2 + 9]] + "-" + a[e2[u2 + 10]] + a[e2[u2 + 11]] + a[e2[u2 + 12]] + a[e2[u2 + 13]] + a[e2[u2 + 14]] + a[e2[u2 + 15]]).toLowerCase();
35
35
  })(I2);
36
36
  }
37
- const I = "X-Sf3-Rid", M = 0, _ = 1, A = 2, F = 3, $ = 4, j = [".js", ".mjs", ".cjs", ".ts", ".css", ".scss", ".sass", ".less", ".styl", ".stylus", ".png", ".jpg", ".jpeg", ".gif", ".svg", ".webp", ".avif", ".bmp", ".ico", ".tiff", ".tif", ".heic", ".woff", ".woff2", ".ttf", ".otf", ".eot", ".mp4", ".webm", ".ogv", ".mp3", ".wav", ".flac", ".pdf", ".doc", ".docx", ".xls", ".xlsx", ".ppt", ".pptx", ".csv", ".json", ".xml", ".txt", ".zip", ".rar", ".gz", ".tar", ".7z", ".map", ".webmanifest"];
37
+ const I = "X-Sf3-Rid", M = 0, _ = 1, A = 2, F = 3, $ = 4, B = [".js", ".mjs", ".cjs", ".ts", ".css", ".scss", ".sass", ".less", ".styl", ".stylus", ".png", ".jpg", ".jpeg", ".gif", ".svg", ".webp", ".avif", ".bmp", ".ico", ".tiff", ".tif", ".heic", ".woff", ".woff2", ".ttf", ".otf", ".eot", ".mp4", ".webm", ".ogv", ".mp3", ".wav", ".flac", ".pdf", ".doc", ".docx", ".xls", ".xlsx", ".ppt", ".pptx", ".csv", ".json", ".xml", ".txt", ".zip", ".rar", ".gz", ".tar", ".7z", ".map", ".webmanifest"];
38
38
  var extendStatics = function(e, a) {
39
39
  return extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(e2, a2) {
40
40
  e2.__proto__ = a2;
@@ -65,7 +65,7 @@ function __read(e, a) {
65
65
  }
66
66
  return M2;
67
67
  }
68
- var B = function Event2(e, a) {
68
+ var j = function Event2(e, a) {
69
69
  this.target = a, this.type = e;
70
70
  }, U = (function(e) {
71
71
  function ErrorEvent(a, u) {
@@ -73,14 +73,14 @@ var B = function Event2(e, a) {
73
73
  return w2.message = a.message, w2.error = a, w2;
74
74
  }
75
75
  return __extends(ErrorEvent, e), ErrorEvent;
76
- })(B), z = (function(e) {
76
+ })(j), z = (function(e) {
77
77
  function CloseEvent(a, u, w2) {
78
78
  void 0 === a && (a = 1e3), void 0 === u && (u = "");
79
79
  var x2 = e.call(this, "close", w2) || this;
80
80
  return x2.wasClean = true, x2.code = a, x2.reason = u, x2;
81
81
  }
82
82
  return __extends(CloseEvent, e), CloseEvent;
83
- })(B), getGlobalWebSocket = function() {
83
+ })(j), getGlobalWebSocket = function() {
84
84
  if ("undefined" != typeof WebSocket) return WebSocket;
85
85
  }, W = { maxReconnectionDelay: 1e4, minReconnectionDelay: 1e3 + 4e3 * Math.random(), minUptime: 5e3, reconnectionDelayGrowFactor: 1.3, connectionTimeout: 4e3, maxRetries: 1 / 0, maxEnqueuedMessages: 1 / 0 }, G = (function() {
86
86
  function ReconnectingWebSocket(e, a, u) {
@@ -374,7 +374,7 @@ function withAppUrlMetadata(e) {
374
374
  }
375
375
  /[1-9][0-9]{12}/.test(Date.now().toString()) || (se = () => (/* @__PURE__ */ new Date()).getTime());
376
376
  const le = readDebugFlag(), ce = "per_session";
377
- let ue = null, pe = false, fe = null, me = null, ye = false, we = null, be = null, Se = false;
377
+ let ue = null, pe = false, fe = null, me = null, ye = false, be = null, we = null, Se = false;
378
378
  const ve = "sailfish_funcspan_global_state";
379
379
  function saveGlobalFuncSpanState(e, a) {
380
380
  try {
@@ -394,7 +394,7 @@ function clearGlobalFuncSpanState() {
394
394
  }
395
395
  }
396
396
  function clearStaleFuncSpanState() {
397
- ye = false, be = null, Se = false, clearGlobalFuncSpanState(), le && console.log("[Sailfish] Cleared stale function span tracking state (backend validation failed)");
397
+ ye = false, we = null, Se = false, clearGlobalFuncSpanState(), le && console.log("[Sailfish] Cleared stale function span tracking state (backend validation failed)");
398
398
  }
399
399
  function isWebSocketOpen(e) {
400
400
  return (e == null ? void 0 : e.readyState) === WebSocket.OPEN;
@@ -465,7 +465,7 @@ function initializeWebSocket(e, a, u, w2) {
465
465
  const a2 = document.createElement("a");
466
466
  return a2.href = e2, `${a2.hostname}${a2.port ? `:${a2.port}` : ""}`;
467
467
  })(e);
468
- let I2 = `${"https:" === new URL(e).protocol ? "wss" : "ws"}://${x2}/ws/notify/?apiKey=${a}&sessionId=${u}&sender=JS%2FTS&version=1.10.2`;
468
+ let I2 = `${"https:" === new URL(e).protocol ? "wss" : "ws"}://${x2}/ws/notify/?apiKey=${a}&sessionId=${u}&sender=JS%2FTS&version=1.10.3`;
469
469
  w2 && (I2 += `&envValue=${encodeURIComponent(w2)}`);
470
470
  return ue = new G(I2, [], { connectionTimeout: 3e4 }), ue.addEventListener("open", () => {
471
471
  le && (console.log("[Sailfish] WebSocket connection opened"), console.log("[Sailfish] Function span tracking state: " + (ye ? "ENABLED" : "DISABLED"))), (async () => {
@@ -483,25 +483,25 @@ function initializeWebSocket(e, a, u, w2) {
483
483
  }), ue.addEventListener("message", (e2) => {
484
484
  try {
485
485
  const a2 = JSON.parse(e2.data);
486
- if ("funcSpanTrackingControl" === a2.type) if (le && console.log("[Sailfish] Received funcSpanTrackingControl message:", { enabled: a2.enabled, timeoutSeconds: a2.timeoutSeconds, expirationTimestampMs: a2.expirationTimestampMs }), null !== we && (window.clearTimeout(we), we = null), ye = a2.enabled, Se = false, le && console.log("[Sailfish] Function span tracking " + (a2.enabled ? "ENABLED (GLOBAL)" : "DISABLED (GLOBAL)")), a2.enabled) {
486
+ if ("funcSpanTrackingControl" === a2.type) if (le && console.log("[Sailfish] Received funcSpanTrackingControl message:", { enabled: a2.enabled, timeoutSeconds: a2.timeoutSeconds, expirationTimestampMs: a2.expirationTimestampMs }), null !== be && (window.clearTimeout(be), be = null), ye = a2.enabled, Se = false, le && console.log("[Sailfish] Function span tracking " + (a2.enabled ? "ENABLED (GLOBAL)" : "DISABLED (GLOBAL)")), a2.enabled) {
487
487
  if (a2.expirationTimestampMs) {
488
- be = a2.expirationTimestampMs;
489
- const e3 = Date.now(), u2 = be - e3;
490
- le && console.log(`[Sailfish] Server expiration timestamp: ${be}, ms until expiration: ${u2}`), u2 > 0 ? (saveGlobalFuncSpanState(true, be), we = window.setTimeout(() => {
488
+ we = a2.expirationTimestampMs;
489
+ const e3 = Date.now(), u2 = we - e3;
490
+ le && console.log(`[Sailfish] Server expiration timestamp: ${we}, ms until expiration: ${u2}`), u2 > 0 ? (saveGlobalFuncSpanState(true, we), be = window.setTimeout(() => {
491
491
  if (!Se) {
492
- ye = false, be = null, clearGlobalFuncSpanState(), le && console.log("[Sailfish] GLOBAL function span tracking auto-disabled at server expiration time");
492
+ ye = false, we = null, clearGlobalFuncSpanState(), le && console.log("[Sailfish] GLOBAL function span tracking auto-disabled at server expiration time");
493
493
  try {
494
494
  isWebSocketOpen(ue) && (ue.send(JSON.stringify({ type: "funcSpanTrackingExpired", sessionId: getOrSetSessionId(), expiredAt: Date.now() })), le && console.log("[Sailfish] Notified backend that function span tracking expired"));
495
495
  } catch (e4) {
496
496
  le && console.warn("[Sailfish] Failed to notify backend of tracking expiry:", e4);
497
497
  }
498
498
  }
499
- }, u2)) : (ye = false, be = null, clearGlobalFuncSpanState(), le && console.log("[Sailfish] Tracking already expired, not enabling"));
499
+ }, u2)) : (ye = false, we = null, clearGlobalFuncSpanState(), le && console.log("[Sailfish] Tracking already expired, not enabling"));
500
500
  } else {
501
501
  const e3 = a2.timeoutSeconds || 3600;
502
- e3 > 0 && (be = Date.now() + 1e3 * e3, saveGlobalFuncSpanState(true, be), we = window.setTimeout(() => {
502
+ e3 > 0 && (we = Date.now() + 1e3 * e3, saveGlobalFuncSpanState(true, we), be = window.setTimeout(() => {
503
503
  if (!Se) {
504
- ye = false, be = null, clearGlobalFuncSpanState(), le && console.log(`[Sailfish] GLOBAL function span tracking auto-disabled after ${e3}s (legacy)`);
504
+ ye = false, we = null, clearGlobalFuncSpanState(), le && console.log(`[Sailfish] GLOBAL function span tracking auto-disabled after ${e3}s (legacy)`);
505
505
  try {
506
506
  isWebSocketOpen(ue) && (ue.send(JSON.stringify({ type: "funcSpanTrackingExpired", sessionId: getOrSetSessionId(), expiredAt: Date.now() })), le && console.log("[Sailfish] Notified backend that function span tracking expired (legacy timeout)"));
507
507
  } catch (e4) {
@@ -516,7 +516,7 @@ function initializeWebSocket(e, a, u, w2) {
516
516
  } catch (e3) {
517
517
  le && console.warn("[Sailfish] Failed to send GLOBAL tracking session report:", e3);
518
518
  }
519
- } else be = null, clearGlobalFuncSpanState();
519
+ } else we = null, clearGlobalFuncSpanState();
520
520
  } catch (e3) {
521
521
  }
522
522
  }), ue;
@@ -533,7 +533,7 @@ function sendMessage(e) {
533
533
  }
534
534
  }
535
535
  function enableFunctionSpanTracking() {
536
- if (le && console.log("[Sailfish] enableFunctionSpanTracking() called - Report Issue recording started (LOCAL MODE)"), ye = true, Se = true, be = null, null !== we && (window.clearTimeout(we), we = null), isWebSocketOpen(ue)) try {
536
+ if (le && console.log("[Sailfish] enableFunctionSpanTracking() called - Report Issue recording started (LOCAL MODE)"), ye = true, Se = true, we = null, null !== be && (window.clearTimeout(be), be = null), isWebSocketOpen(ue)) try {
537
537
  const e = { type: "funcSpanTrackingSessionReport", sessionId: getOrSetSessionId(), enabled: true, configurationType: ce };
538
538
  ue.send(JSON.stringify(e));
539
539
  } catch (e) {
@@ -549,18 +549,18 @@ function disableFunctionSpanTracking() {
549
549
  console.error("[FUNCSPAN STOP] ✗ Failed to send tracking stop report:", e);
550
550
  }
551
551
  else console.warn("[FUNCSPAN STOP] ✗ WebSocket not open, cannot notify tracking end");
552
- Se && (ye = false, Se = false, be = null, le && console.log("[Sailfish] LOCAL tracking mode disabled")), null !== we && (window.clearTimeout(we), we = null);
552
+ Se && (ye = false, Se = false, we = null, le && console.log("[Sailfish] LOCAL tracking mode disabled")), null !== be && (window.clearTimeout(be), be = null);
553
553
  }
554
554
  function isFunctionSpanTrackingEnabled() {
555
555
  return ye;
556
556
  }
557
557
  function initializeFunctionSpanTrackingFromApi(e) {
558
- e && !ye ? (ye = true, Se = false, be = null, le && console.log("[Sailfish] Function span tracking initialized as ENABLED from API check")) : !e && ye && (ye = false, Se = false, be = null, le && console.log("[Sailfish] Function span tracking initialized as DISABLED from API check"));
558
+ e && !ye ? (ye = true, Se = false, we = null, le && console.log("[Sailfish] Function span tracking initialized as ENABLED from API check")) : !e && ye && (ye = false, Se = false, we = null, le && console.log("[Sailfish] Function span tracking initialized as DISABLED from API check"));
559
559
  }
560
560
  function getFuncSpanHeader() {
561
561
  if (!ye) return null;
562
- if (null !== be) {
563
- if (Date.now() >= be) return ye = false, be = null, clearGlobalFuncSpanState(), le && console.log("[Sailfish] Function span tracking expired on header check - disabling now"), null;
562
+ if (null !== we) {
563
+ if (Date.now() >= we) return ye = false, we = null, clearGlobalFuncSpanState(), le && console.log("[Sailfish] Function span tracking expired on header check - disabling now"), null;
564
564
  }
565
565
  return { name: "X-Sf3-FunctionSpanCaptureOverride", value: "1-1-10-10-1-1.0-1-0-0" };
566
566
  }
@@ -576,8 +576,8 @@ function getFuncSpanHeader() {
576
576
  return le && console.warn("[Sailfish] Failed to load funcSpan state from localStorage:", e2), null;
577
577
  }
578
578
  })();
579
- if (e && e.enabled) if (ye = true, be = e.expirationTimestampMs, Se = false, le && console.log("[Sailfish] Module init: Restored global function span tracking from localStorage:", { enabled: true, expirationTime: be }), null !== be) {
580
- Date.now() >= be ? (ye = false, be = null, clearGlobalFuncSpanState(), le && console.log("[Sailfish] Module init: Persisted tracking already expired, cleared state")) : le && console.log("[Sailfish] Module init: Function span tracking is active and valid (temporary until WebSocket confirms)");
579
+ if (e && e.enabled) if (ye = true, we = e.expirationTimestampMs, Se = false, le && console.log("[Sailfish] Module init: Restored global function span tracking from localStorage:", { enabled: true, expirationTime: we }), null !== we) {
580
+ Date.now() >= we ? (ye = false, we = null, clearGlobalFuncSpanState(), le && console.log("[Sailfish] Module init: Persisted tracking already expired, cleared state")) : le && console.log("[Sailfish] Module init: Function span tracking is active and valid (temporary until WebSocket confirms)");
581
581
  } else le && console.log("[Sailfish] Module init: Function span tracking is active (no expiration, temporary until WebSocket confirms)");
582
582
  })();
583
583
  const Ce = Object.freeze(Object.defineProperty({ __proto__: null, clearStaleFuncSpanState, disableFunctionSpanTracking, enableFunctionSpanTracking, flushBufferedEvents, getFuncSpanHeader, initializeFunctionSpanTrackingFromApi, initializeWebSocket, isFunctionSpanTrackingEnabled, sendEvent, sendMessage }, Symbol.toStringTag, { value: "Module" }));
@@ -875,15 +875,15 @@ function requireSourceMapGenerator() {
875
875
  throw new Error(x2);
876
876
  }
877
877
  }, SourceMapGenerator.prototype._serializeMappings = function SourceMapGenerator_serializeMappings() {
878
- for (var u2, w3, x2, I2, M2 = 0, _2 = 1, A2 = 0, F2 = 0, $2 = 0, j2 = 0, B2 = "", U2 = this._mappings.toArray(), z2 = 0, W2 = U2.length; z2 < W2; z2++) {
878
+ for (var u2, w3, x2, I2, M2 = 0, _2 = 1, A2 = 0, F2 = 0, $2 = 0, B2 = 0, j2 = "", U2 = this._mappings.toArray(), z2 = 0, W2 = U2.length; z2 < W2; z2++) {
879
879
  if (u2 = "", (w3 = U2[z2]).generatedLine !== _2) for (M2 = 0; w3.generatedLine !== _2; ) u2 += ";", _2++;
880
880
  else if (z2 > 0) {
881
881
  if (!a.compareByGeneratedPositionsInflated(w3, U2[z2 - 1])) continue;
882
882
  u2 += ",";
883
883
  }
884
- u2 += e.encode(w3.generatedColumn - M2), M2 = w3.generatedColumn, null != w3.source && (I2 = this._sources.indexOf(w3.source), u2 += e.encode(I2 - j2), j2 = I2, u2 += e.encode(w3.originalLine - 1 - F2), F2 = w3.originalLine - 1, u2 += e.encode(w3.originalColumn - A2), A2 = w3.originalColumn, null != w3.name && (x2 = this._names.indexOf(w3.name), u2 += e.encode(x2 - $2), $2 = x2)), B2 += u2;
884
+ u2 += e.encode(w3.generatedColumn - M2), M2 = w3.generatedColumn, null != w3.source && (I2 = this._sources.indexOf(w3.source), u2 += e.encode(I2 - B2), B2 = I2, u2 += e.encode(w3.originalLine - 1 - F2), F2 = w3.originalLine - 1, u2 += e.encode(w3.originalColumn - A2), A2 = w3.originalColumn, null != w3.name && (x2 = this._names.indexOf(w3.name), u2 += e.encode(x2 - $2), $2 = x2)), j2 += u2;
885
885
  }
886
- return B2;
886
+ return j2;
887
887
  }, SourceMapGenerator.prototype._generateSourcesContent = function SourceMapGenerator_generateSourcesContent(e2, u2) {
888
888
  return e2.map(function(e3) {
889
889
  if (!this._sourcesContents) return null;
@@ -958,13 +958,13 @@ var it = (function requireSourceMap() {
958
958
  function BasicSourceMapConsumer(a2, w3) {
959
959
  var x3 = a2;
960
960
  "string" == typeof a2 && (x3 = e.parseSourceMapInput(a2));
961
- var I3 = e.getArg(x3, "version"), M2 = e.getArg(x3, "sources"), _2 = e.getArg(x3, "names", []), A2 = e.getArg(x3, "sourceRoot", null), F2 = e.getArg(x3, "sourcesContent", null), $2 = e.getArg(x3, "mappings"), j2 = e.getArg(x3, "file", null);
961
+ var I3 = e.getArg(x3, "version"), M2 = e.getArg(x3, "sources"), _2 = e.getArg(x3, "names", []), A2 = e.getArg(x3, "sourceRoot", null), F2 = e.getArg(x3, "sourcesContent", null), $2 = e.getArg(x3, "mappings"), B2 = e.getArg(x3, "file", null);
962
962
  if (I3 != this._version) throw new Error("Unsupported version: " + I3);
963
963
  A2 && (A2 = e.normalize(A2)), M2 = M2.map(String).map(e.normalize).map(function(a3) {
964
964
  return A2 && e.isAbsolute(A2) && e.isAbsolute(a3) ? e.relative(A2, a3) : a3;
965
965
  }), this._names = u.fromArray(_2.map(String), true), this._sources = u.fromArray(M2, true), this._absoluteSources = this._sources.toArray().map(function(a3) {
966
966
  return e.computeSourceURL(A2, a3, w3);
967
- }), this.sourceRoot = A2, this.sourcesContent = F2, this._mappings = $2, this._sourceMapURL = w3, this.file = j2;
967
+ }), this.sourceRoot = A2, this.sourcesContent = F2, this._mappings = $2, this._sourceMapURL = w3, this.file = B2;
968
968
  }
969
969
  function Mapping() {
970
970
  this.generatedLine = 0, this.generatedColumn = 0, this.source = null, this.originalLine = null, this.originalColumn = null, this.name = null;
@@ -992,8 +992,8 @@ var it = (function requireSourceMap() {
992
992
  default:
993
993
  throw new Error("Unknown order of iteration.");
994
994
  }
995
- for (var M2 = this.sourceRoot, _2 = a2.bind(I3), A2 = this._names, F2 = this._sources, $2 = this._sourceMapURL, j2 = 0, B2 = x3.length; j2 < B2; j2++) {
996
- var U2 = x3[j2], z2 = null === U2.source ? null : F2.at(U2.source);
995
+ for (var M2 = this.sourceRoot, _2 = a2.bind(I3), A2 = this._names, F2 = this._sources, $2 = this._sourceMapURL, B2 = 0, j2 = x3.length; B2 < j2; B2++) {
996
+ var U2 = x3[B2], z2 = null === U2.source ? null : F2.at(U2.source);
997
997
  null !== z2 && (z2 = e.computeSourceURL(M2, z2, $2)), _2({ source: z2, generatedLine: U2.generatedLine, generatedColumn: U2.generatedColumn, originalLine: U2.originalLine, originalColumn: U2.originalColumn, name: null === U2.name ? null : A2.at(U2.name) });
998
998
  }
999
999
  }, SourceMapConsumer.prototype.allGeneratedPositionsFor = function SourceMapConsumer_allGeneratedPositionsFor(u2) {
@@ -1016,8 +1016,8 @@ var it = (function requireSourceMap() {
1016
1016
  I3.sourceRoot = a2._sourceRoot, I3.sourcesContent = a2._generateSourcesContent(I3._sources.toArray(), I3.sourceRoot), I3.file = a2._file, I3._sourceMapURL = w3, I3._absoluteSources = I3._sources.toArray().map(function(a3) {
1017
1017
  return e.computeSourceURL(I3.sourceRoot, a3, w3);
1018
1018
  });
1019
- for (var A2 = a2._mappings.toArray().slice(), F2 = I3.__generatedMappings = [], $2 = I3.__originalMappings = [], j2 = 0, B2 = A2.length; j2 < B2; j2++) {
1020
- var U2 = A2[j2], z2 = new Mapping();
1019
+ for (var A2 = a2._mappings.toArray().slice(), F2 = I3.__generatedMappings = [], $2 = I3.__originalMappings = [], B2 = 0, j2 = A2.length; B2 < j2; B2++) {
1020
+ var U2 = A2[B2], z2 = new Mapping();
1021
1021
  z2.generatedLine = U2.generatedLine, z2.generatedColumn = U2.generatedColumn, U2.source && (z2.source = _2.indexOf(U2.source), z2.originalLine = U2.originalLine, z2.originalColumn = U2.originalColumn, U2.name && (z2.name = M2.indexOf(U2.name)), $2.push(z2)), F2.push(z2);
1022
1022
  }
1023
1023
  return x2(I3.__originalMappings, e.compareByOriginalPositions), I3;
@@ -1052,7 +1052,7 @@ var it = (function requireSourceMap() {
1052
1052
  });
1053
1053
  }
1054
1054
  return BasicSourceMapConsumer.prototype._parseMappings = function SourceMapConsumer_parseMappings(a2, u2) {
1055
- var I3, M2, _2, A2, F2 = 1, $2 = 0, j2 = 0, B2 = 0, U2 = 0, z2 = 0, W2 = a2.length, G2 = 0, H2 = {}, K2 = [], Y2 = [];
1055
+ var I3, M2, _2, A2, F2 = 1, $2 = 0, B2 = 0, j2 = 0, U2 = 0, z2 = 0, W2 = a2.length, G2 = 0, H2 = {}, K2 = [], Y2 = [];
1056
1056
  let Z2 = 0;
1057
1057
  for (; G2 < W2; ) if (";" === a2.charAt(G2)) F2++, G2++, $2 = 0, sortGenerated(Y2, Z2), Z2 = Y2.length;
1058
1058
  else if ("," === a2.charAt(G2)) G2++;
@@ -1061,7 +1061,7 @@ var it = (function requireSourceMap() {
1061
1061
  for (a2.slice(G2, _2), M2 = []; G2 < _2; ) w2.decode(a2, G2, H2), A2 = H2.value, G2 = H2.rest, M2.push(A2);
1062
1062
  if (2 === M2.length) throw new Error("Found a source, but no line and column");
1063
1063
  if (3 === M2.length) throw new Error("Found a source and line, but no column");
1064
- if (I3.generatedColumn = $2 + M2[0], $2 = I3.generatedColumn, M2.length > 1 && (I3.source = U2 + M2[1], U2 += M2[1], I3.originalLine = j2 + M2[2], j2 = I3.originalLine, I3.originalLine += 1, I3.originalColumn = B2 + M2[3], B2 = I3.originalColumn, M2.length > 4 && (I3.name = z2 + M2[4], z2 += M2[4])), Y2.push(I3), "number" == typeof I3.originalLine) {
1064
+ if (I3.generatedColumn = $2 + M2[0], $2 = I3.generatedColumn, M2.length > 1 && (I3.source = U2 + M2[1], U2 += M2[1], I3.originalLine = B2 + M2[2], B2 = I3.originalLine, I3.originalLine += 1, I3.originalColumn = j2 + M2[3], j2 = I3.originalColumn, M2.length > 4 && (I3.name = z2 + M2[4], z2 += M2[4])), Y2.push(I3), "number" == typeof I3.originalLine) {
1065
1065
  let e2 = I3.source;
1066
1066
  for (; K2.length <= e2; ) K2.push(null);
1067
1067
  null === K2[e2] && (K2[e2] = []), K2[e2].push(I3);
@@ -1158,8 +1158,8 @@ var it = (function requireSourceMap() {
1158
1158
  null !== F2 && (F2 = e.computeSourceURL(I3.consumer.sourceRoot, F2, this._sourceMapURL)), this._sources.add(F2), F2 = this._sources.indexOf(F2);
1159
1159
  var $2 = null;
1160
1160
  A2.name && ($2 = I3.consumer._names.at(A2.name), this._names.add($2), $2 = this._names.indexOf($2));
1161
- var j2 = { source: F2, generatedLine: A2.generatedLine + (I3.generatedOffset.generatedLine - 1), generatedColumn: A2.generatedColumn + (I3.generatedOffset.generatedLine === A2.generatedLine ? I3.generatedOffset.generatedColumn - 1 : 0), originalLine: A2.originalLine, originalColumn: A2.originalColumn, name: $2 };
1162
- this.__generatedMappings.push(j2), "number" == typeof j2.originalLine && this.__originalMappings.push(j2);
1161
+ var B2 = { source: F2, generatedLine: A2.generatedLine + (I3.generatedOffset.generatedLine - 1), generatedColumn: A2.generatedColumn + (I3.generatedOffset.generatedLine === A2.generatedLine ? I3.generatedOffset.generatedColumn - 1 : 0), originalLine: A2.originalLine, originalColumn: A2.originalColumn, name: $2 };
1162
+ this.__generatedMappings.push(B2), "number" == typeof B2.originalLine && this.__originalMappings.push(B2);
1163
1163
  }
1164
1164
  x2(this.__generatedMappings, e.compareByGeneratedPositionsDeflated), x2(this.__originalMappings, e.compareByOriginalPositions);
1165
1165
  }, Ke.IndexedSourceMapConsumer = IndexedSourceMapConsumer, Ke;
@@ -1339,8 +1339,8 @@ function createTriageFromRecorder(e, a, u, w2, x2, I2) {
1339
1339
  function fetchEngineeringTicketPlatformIntegrations(e, a) {
1340
1340
  return sendGraphQLRequest("GetEngineeringTicketPlatformIntegrationsFromApiKey", "query GetEngineeringTicketPlatformIntegrationsFromApiKey($apiKey: String!) {\n getEngineeringTicketPlatformIntegrationsFromApiKey(apiKey: $apiKey) {\n pushAutoIdentifiedIssues\n provider\n clientId\n defaultPriority\n defaultProject\n defaultTeam\n primaryCloudId\n installed\n projects\n teams\n workflowStates\n webhookState\n clouds\n labels\n sprints\n users\n fieldConfigurations\n invalidFields\n jiraReporterAccountId\n }\n }", { apiKey: e, backendApi: a });
1341
1341
  }
1342
- function createTriageAndIssueFromRecorder(e, a, u, w2, x2, I2, M2, _2, A2, F2, $2, j2, B2, U2, z2) {
1343
- return sendGraphQLRequest("CreateTriageAndIssueFromRecorder", "mutation CreateTriageAndIssueFromRecorder(\n $apiKey: String!,\n $recordingSessionId: String!,\n $timestampStart: String!,\n $timestampEnd: String!,\n $description: String,\n $issueName: String,\n $issueDescription: String,\n $createEngineeringTicket: Boolean,\n $teamId: String,\n $projectId: String,\n $priority: Int,\n $labels: [String!],\n $issueType: String,\n $customFields: JSON\n ) {\n createTriageAndIssueFromRecorder(\n apiKey: $apiKey,\n recordingSessionId: $recordingSessionId,\n timestampStart: $timestampStart,\n timestampEnd: $timestampEnd,\n description: $description,\n issueName: $issueName,\n issueDescription: $issueDescription,\n createEngineeringTicket: $createEngineeringTicket,\n teamId: $teamId,\n projectId: $projectId,\n priority: $priority,\n labels: $labels,\n issueType: $issueType,\n customFields: $customFields\n ) {\n id\n title\n }\n }\n ", { apiKey: e, recordingSessionId: u, timestampStart: w2, timestampEnd: x2, description: I2, issueName: M2, issueDescription: _2, createEngineeringTicket: A2, teamId: F2, projectId: $2, priority: j2, labels: B2, issueType: U2, customFields: z2, backendApi: a });
1342
+ function createTriageAndIssueFromRecorder(e, a, u, w2, x2, I2, M2, _2, A2, F2, $2, B2, j2, U2, z2) {
1343
+ return sendGraphQLRequest("CreateTriageAndIssueFromRecorder", "mutation CreateTriageAndIssueFromRecorder(\n $apiKey: String!,\n $recordingSessionId: String!,\n $timestampStart: String!,\n $timestampEnd: String!,\n $description: String,\n $issueName: String,\n $issueDescription: String,\n $createEngineeringTicket: Boolean,\n $teamId: String,\n $projectId: String,\n $priority: Int,\n $labels: [String!],\n $issueType: String,\n $customFields: JSON\n ) {\n createTriageAndIssueFromRecorder(\n apiKey: $apiKey,\n recordingSessionId: $recordingSessionId,\n timestampStart: $timestampStart,\n timestampEnd: $timestampEnd,\n description: $description,\n issueName: $issueName,\n issueDescription: $issueDescription,\n createEngineeringTicket: $createEngineeringTicket,\n teamId: $teamId,\n projectId: $projectId,\n priority: $priority,\n labels: $labels,\n issueType: $issueType,\n customFields: $customFields\n ) {\n id\n title\n }\n }\n ", { apiKey: e, recordingSessionId: u, timestampStart: w2, timestampEnd: x2, description: I2, issueName: M2, issueDescription: _2, createEngineeringTicket: A2, teamId: F2, projectId: $2, priority: B2, labels: j2, issueType: U2, customFields: z2, backendApi: a });
1344
1344
  }
1345
1345
  const dt = ["jira", "linear", "zendesk"];
1346
1346
  let pt = null;
@@ -1450,7 +1450,7 @@ function getInitialState() {
1450
1450
  })();
1451
1451
  return { mode: "lookback", description: "", occurredInThisTab: true, createIssue: e.createIssue, issueName: "", issueDescription: "", createEngTicket: e.createEngTicket, engTicketTeam: "", engTicketProject: "", engTicketPriority: 0, engTicketLabels: [], engTicketIssueType: "", engTicketCustomFields: {} };
1452
1452
  }
1453
- let wt = getInitialState(), bt = null, St = null, vt = null, kt = false;
1453
+ let bt = getInitialState(), wt = null, St = null, vt = null, kt = false;
1454
1454
  function setTimerInterval(e) {
1455
1455
  vt = e;
1456
1456
  }
@@ -1521,27 +1521,27 @@ function renderDynamicFields(e, a) {
1521
1521
  var _a2, _b, _c2, _d2;
1522
1522
  const w3 = e3.fieldId || e3.key, x3 = e3.name, I3 = (_a2 = e3.schema) == null ? void 0 : _a2.type, M2 = (_b = e3.schema) == null ? void 0 : _b.system, _2 = (_c2 = e3.schema) == null ? void 0 : _c2.custom, A2 = e3.required || false, F2 = e3.allowedValues, $2 = ["summary", "description", "project", "issuetype", "priority"];
1523
1523
  if ($2.includes(w3) || $2.includes(M2)) return null;
1524
- const j2 = A2 ? '<span style="color:#ef4444;">*</span>' : "", B2 = "width:100%; padding:8px 12px; font-size:14px; border:1px solid #cbd5e1; border-radius:6px; outline:none;";
1524
+ const B2 = A2 ? '<span style="color:#ef4444;">*</span>' : "", j2 = "width:100%; padding:8px 12px; font-size:14px; border:1px solid #cbd5e1; border-radius:6px; outline:none;";
1525
1525
  switch (I3) {
1526
1526
  case "string":
1527
1527
  return _2 && _2.includes("textarea") ? `
1528
1528
  <div>
1529
1529
  <label for="${w3}" style="display:block; font-size:14px; font-weight:500; margin-bottom:6px;">
1530
- ${x3} ${j2}
1530
+ ${x3} ${B2}
1531
1531
  </label>
1532
1532
  <textarea
1533
1533
  id="${w3}"
1534
1534
  class="sf-dynamic-field"
1535
1535
  data-field-id="${w3}"
1536
1536
  placeholder="Enter ${x3.toLowerCase()}"
1537
- style="${B2} height:80px; resize:none;"
1537
+ style="${j2} height:80px; resize:none;"
1538
1538
  ${A2 ? "required" : ""}
1539
1539
  >${a2 || ""}</textarea>
1540
1540
  </div>
1541
1541
  ` : `
1542
1542
  <div>
1543
1543
  <label for="${w3}" style="display:block; font-size:14px; font-weight:500; margin-bottom:6px;">
1544
- ${x3} ${j2}
1544
+ ${x3} ${B2}
1545
1545
  </label>
1546
1546
  <input
1547
1547
  type="text"
@@ -1550,7 +1550,7 @@ function renderDynamicFields(e, a) {
1550
1550
  data-field-id="${w3}"
1551
1551
  value="${a2 || ""}"
1552
1552
  placeholder="Enter ${x3.toLowerCase()}"
1553
- style="${B2}"
1553
+ style="${j2}"
1554
1554
  ${A2 ? "required" : ""}
1555
1555
  />
1556
1556
  </div>
@@ -1559,7 +1559,7 @@ function renderDynamicFields(e, a) {
1559
1559
  return `
1560
1560
  <div>
1561
1561
  <label for="${w3}" style="display:block; font-size:14px; font-weight:500; margin-bottom:6px;">
1562
- ${x3} ${j2}
1562
+ ${x3} ${B2}
1563
1563
  </label>
1564
1564
  <input
1565
1565
  type="number"
@@ -1568,7 +1568,7 @@ function renderDynamicFields(e, a) {
1568
1568
  data-field-id="${w3}"
1569
1569
  value="${a2 || ""}"
1570
1570
  placeholder="Enter ${x3.toLowerCase()}"
1571
- style="${B2}"
1571
+ style="${j2}"
1572
1572
  step="0.5"
1573
1573
  ${A2 ? "required" : ""}
1574
1574
  />
@@ -1578,7 +1578,7 @@ function renderDynamicFields(e, a) {
1578
1578
  return `
1579
1579
  <div>
1580
1580
  <label for="${w3}" style="display:block; font-size:14px; font-weight:500; margin-bottom:6px;">
1581
- ${x3} ${j2}
1581
+ ${x3} ${B2}
1582
1582
  </label>
1583
1583
  <input
1584
1584
  type="date"
@@ -1586,7 +1586,7 @@ function renderDynamicFields(e, a) {
1586
1586
  class="sf-dynamic-field"
1587
1587
  data-field-id="${w3}"
1588
1588
  value="${a2 || ""}"
1589
- style="${B2}"
1589
+ style="${j2}"
1590
1590
  ${A2 ? "required" : ""}
1591
1591
  />
1592
1592
  </div>
@@ -1600,13 +1600,13 @@ function renderDynamicFields(e, a) {
1600
1600
  return `
1601
1601
  <div>
1602
1602
  <label for="${w3}" style="display:block; font-size:14px; font-weight:500; margin-bottom:6px;">
1603
- ${x3} ${j2}
1603
+ ${x3} ${B2}
1604
1604
  </label>
1605
1605
  <select
1606
1606
  id="${w3}"
1607
1607
  class="sf-dynamic-field"
1608
1608
  data-field-id="${w3}"
1609
- style="${B2} appearance:none; cursor:pointer; background-color: white; ${I4 ? "" : "color: #9ca3af;"}"
1609
+ style="${j2} appearance:none; cursor:pointer; background-color: white; ${I4 ? "" : "color: #9ca3af;"}"
1610
1610
  ${A2 ? "required" : ""}
1611
1611
  >
1612
1612
  <option value="" disabled ${I4 ? "" : "selected"} style="color: #9ca3af;">Select ${x3.toLowerCase()}...</option>
@@ -1625,13 +1625,13 @@ function renderDynamicFields(e, a) {
1625
1625
  return `
1626
1626
  <div>
1627
1627
  <label for="${w3}" style="display:block; font-size:14px; font-weight:500; margin-bottom:6px;">
1628
- ${x3} ${j2}
1628
+ ${x3} ${B2}
1629
1629
  </label>
1630
1630
  <select
1631
1631
  id="${w3}"
1632
1632
  class="sf-dynamic-field"
1633
1633
  data-field-id="${w3}"
1634
- style="${B2} appearance:none; cursor:pointer; background-color: white; ${u3 ? "" : "color: #9ca3af;"}"
1634
+ style="${j2} appearance:none; cursor:pointer; background-color: white; ${u3 ? "" : "color: #9ca3af;"}"
1635
1635
  ${A2 ? "required" : ""}
1636
1636
  >
1637
1637
  <option value="" disabled ${u3 ? "" : "selected"} style="color: #9ca3af;">Select ${x3.toLowerCase()}...</option>
@@ -1648,7 +1648,7 @@ function renderDynamicFields(e, a) {
1648
1648
  return `
1649
1649
  <div>
1650
1650
  <label for="${w3}" style="display:block; font-size:14px; font-weight:500; margin-bottom:6px;">
1651
- ${x3} ${j2}
1651
+ ${x3} ${B2}
1652
1652
  </label>
1653
1653
  <input
1654
1654
  type="text"
@@ -1657,7 +1657,7 @@ function renderDynamicFields(e, a) {
1657
1657
  data-field-id="${w3}"
1658
1658
  value="${a2 || ""}"
1659
1659
  placeholder="e.g., PROJ-123"
1660
- style="${B2}"
1660
+ style="${j2}"
1661
1661
  ${A2 ? "required" : ""}
1662
1662
  />
1663
1663
  </div>
@@ -1666,7 +1666,7 @@ function renderDynamicFields(e, a) {
1666
1666
  return ((_d2 = e3.operations) == null ? void 0 : _d2.includes("set")) ? `
1667
1667
  <div>
1668
1668
  <label for="${w3}" style="display:block; font-size:14px; font-weight:500; margin-bottom:6px;">
1669
- ${x3} ${j2}
1669
+ ${x3} ${B2}
1670
1670
  </label>
1671
1671
  <input
1672
1672
  type="text"
@@ -1675,18 +1675,18 @@ function renderDynamicFields(e, a) {
1675
1675
  data-field-id="${w3}"
1676
1676
  value="${a2 || ""}"
1677
1677
  placeholder="Enter ${x3.toLowerCase()}"
1678
- style="${B2}"
1678
+ style="${j2}"
1679
1679
  ${A2 ? "required" : ""}
1680
1680
  />
1681
1681
  </div>
1682
1682
  ` : null;
1683
1683
  }
1684
- })(e2, wt.engTicketCustomFields[e2.fieldId || e2.key], x2)).filter(Boolean).join("");
1684
+ })(e2, bt.engTicketCustomFields[e2.fieldId || e2.key], x2)).filter(Boolean).join("");
1685
1685
  u.innerHTML = I2 || "", w2.forEach((e2) => {
1686
1686
  var _a2;
1687
1687
  const a2 = e2.fieldId || e2.key, u2 = (_a2 = e2.schema) == null ? void 0 : _a2.type, w3 = e2.allowedValues;
1688
1688
  "array" === u2 && w3 && w3.length > 0 && setupCustomMultiSelectListeners(a2, (e3) => {
1689
- wt.engTicketCustomFields[a2] = e3;
1689
+ bt.engTicketCustomFields[a2] = e3;
1690
1690
  });
1691
1691
  });
1692
1692
  }
@@ -1732,7 +1732,7 @@ function setupIssueReporting(e) {
1732
1732
  return void (a2 && !a2.disabled && (e2.preventDefault(), a2.click()));
1733
1733
  }
1734
1734
  if (kt && w2 === a.stopRecording.key && x2 === a.stopRecording.requireCmdCtrl) return e2.preventDefault(), void stopRecording();
1735
- if (I2 && "startnow" === wt.mode && w2 === a.startRecording.key && x2 === a.startRecording.requireCmdCtrl && !u) {
1735
+ if (I2 && "startnow" === bt.mode && w2 === a.startRecording.key && x2 === a.startRecording.requireCmdCtrl && !u) {
1736
1736
  const a2 = document.getElementById("sf-start-recording-btn");
1737
1737
  return void (a2 && (e2.preventDefault(), a2.click()));
1738
1738
  }
@@ -1747,7 +1747,7 @@ function openReportIssueModal() {
1747
1747
  }
1748
1748
  function closeModal() {
1749
1749
  xt.deactivateIsolation(), document.activeElement instanceof HTMLElement && document.activeElement.blur(), (It == null ? void 0 : It.parentNode) && It.parentNode.removeChild(It), It = null, kt || (function resetState() {
1750
- wt = getInitialState(), bt = null, St = null;
1750
+ bt = getInitialState(), wt = null, St = null;
1751
1751
  })(), vt && (clearInterval(vt), setTimerInterval(null));
1752
1752
  }
1753
1753
  function activateModalIsolation(e) {
@@ -1864,7 +1864,7 @@ function injectModalHTML(e = "lookback") {
1864
1864
  <textarea id="sf-issue-description" placeholder="Add description here"
1865
1865
  style="width:100%; height:80px; padding:8px 12px; font-size:14px;
1866
1866
  border:1px solid #cbd5e1; border-radius:6px; margin-bottom:20px;
1867
- resize:none; outline:none;">${wt.description}</textarea>
1867
+ resize:none; outline:none;">${bt.description}</textarea>
1868
1868
 
1869
1869
  <!-- When did this happen Section -->
1870
1870
  <div id="sf-lookback-container" style="display:${a ? "none" : "block"}; margin-bottom:20px;">
@@ -1930,41 +1930,41 @@ function injectModalHTML(e = "lookback") {
1930
1930
  <!-- Checkboxes on same line -->
1931
1931
  <div style="display:flex; align-items:center; gap:24px; margin-bottom:16px;">
1932
1932
  <label style="display:flex; align-items:center; gap:8px; font-size:14px; font-weight:500; cursor:pointer;">
1933
- <input type="checkbox" id="sf-create-issue-checkbox" ${wt.createIssue ? "checked" : ""}
1933
+ <input type="checkbox" id="sf-create-issue-checkbox" ${bt.createIssue ? "checked" : ""}
1934
1934
  style="width:16px; height:16px; accent-color:#295DBF; cursor:pointer;">
1935
1935
  Create an Issue
1936
1936
  </label>
1937
1937
 
1938
1938
  <label id="sf-create-eng-ticket-label" style="display:${xt.integrationData ? "flex" : "none"}; align-items:center; gap:8px; font-size:14px; font-weight:500; cursor:pointer;">
1939
- <input type="checkbox" id="sf-create-eng-ticket-checkbox" ${wt.createEngTicket ? "checked" : ""}
1939
+ <input type="checkbox" id="sf-create-eng-ticket-checkbox" ${bt.createEngTicket ? "checked" : ""}
1940
1940
  style="width:16px; height:16px; accent-color:#295DBF; cursor:pointer;">
1941
1941
  Create an Eng Ticket
1942
1942
  </label>
1943
1943
  </div>
1944
1944
 
1945
1945
  <!-- Issue Title Field (always shown when create issue is checked) -->
1946
- <div id="sf-issue-fields-container" style="display:${wt.createIssue ? "block" : "none"};">
1946
+ <div id="sf-issue-fields-container" style="display:${bt.createIssue ? "block" : "none"};">
1947
1947
  <div style="display:flex; flex-direction:column; gap:12px;">
1948
1948
  <div>
1949
1949
  <label for="sf-issue-name" style="display:block; font-size:14px; font-weight:500; margin-bottom:6px;">
1950
1950
  Title <span style="color:#ef4444;">*</span>
1951
1951
  </label>
1952
1952
  <input type="text" id="sf-issue-name" placeholder="Enter title"
1953
- value="${wt.issueName}"
1953
+ value="${bt.issueName}"
1954
1954
  style="width:100%; padding:8px 12px; font-size:14px; border:1px solid #cbd5e1; border-radius:6px; outline:none;">
1955
1955
  </div>
1956
1956
  </div>
1957
1957
  </div>
1958
1958
 
1959
1959
  <!-- Engineering Ticket Fields (shown when create eng ticket is checked) -->
1960
- <div id="sf-eng-ticket-fields-container" style="display:${wt.createEngTicket ? "block" : "none"}; margin-top: ${wt.createIssue ? "12px" : "0"};">
1960
+ <div id="sf-eng-ticket-fields-container" style="display:${bt.createEngTicket ? "block" : "none"}; margin-top: ${bt.createIssue ? "12px" : "0"};">
1961
1961
  ${(function generateEngTicketFieldsHTML() {
1962
1962
  var _a2;
1963
1963
  const e2 = xt.integrationData;
1964
1964
  if (!e2) return "";
1965
1965
  const a2 = "jira" === ((_a2 = e2.provider) == null ? void 0 : _a2.toLowerCase());
1966
1966
  let u = "<div style='display:flex; flex-direction:column; gap:12px;'>";
1967
- return e2.teams && Array.isArray(e2.teams) && e2.teams.length > 0 && (u += '\n <div>\n <label for="sf-eng-ticket-team" style="display:block; font-size:14px; font-weight:500; margin-bottom:6px;">\n Team\n </label>\n <select id="sf-eng-ticket-team"\n style="width:100%; padding:8px 12px; font-size:14px; border:1px solid #cbd5e1; border-radius:6px; outline:none; appearance:none; cursor:pointer; background-color: white; color: #9ca3af;">\n <option value="" disabled selected style="color: #9ca3af;">Select team...</option>\n </select>\n </div>\n '), u += '\n <div>\n <label for="sf-eng-ticket-project" style="display:block; font-size:14px; font-weight:500; margin-bottom:6px;">\n Project\n </label>\n <select id="sf-eng-ticket-project"\n style="width:100%; padding:8px 12px; font-size:14px; border:1px solid #cbd5e1; border-radius:6px; outline:none; appearance:none; cursor:pointer; background-color: white; color: #9ca3af;">\n <option value="" disabled selected style="color: #9ca3af;">Select project...</option>\n </select>\n </div>\n ', a2 && (u += '\n <div>\n <label for="sf-eng-ticket-type" style="display:block; font-size:14px; font-weight:500; margin-bottom:6px;">\n Issue Type\n </label>\n <select id="sf-eng-ticket-type"\n style="width:100%; padding:8px 12px; font-size:14px; border:1px solid #cbd5e1; border-radius:6px; outline:none; appearance:none; cursor:pointer; background-color: white; color: #9ca3af;">\n <option value="" disabled selected style="color: #9ca3af;">Select project first...</option>\n </select>\n </div>\n '), u += '\n <div>\n <label for="sf-eng-ticket-priority" style="display:block; font-size:14px; font-weight:500; margin-bottom:6px;">\n Priority\n </label>\n <select id="sf-eng-ticket-priority"\n style="width:100%; padding:8px 12px; font-size:14px; border:1px solid #cbd5e1; border-radius:6px; outline:none; appearance:none; cursor:pointer; background-color: white;">\n </select>\n </div>\n ', e2.labels && Array.isArray(e2.labels) && e2.labels.length > 0 && (u += renderCustomMultiSelect("sf-eng-ticket-labels", "Labels", e2.labels, wt.engTicketLabels, false)), u += '\n <div id="sf-dynamic-fields-container" style="display: flex; flex-direction: column; gap: 12px;"></div>\n ', u += "</div>", u;
1967
+ return e2.teams && Array.isArray(e2.teams) && e2.teams.length > 0 && (u += '\n <div>\n <label for="sf-eng-ticket-team" style="display:block; font-size:14px; font-weight:500; margin-bottom:6px;">\n Team\n </label>\n <select id="sf-eng-ticket-team"\n style="width:100%; padding:8px 12px; font-size:14px; border:1px solid #cbd5e1; border-radius:6px; outline:none; appearance:none; cursor:pointer; background-color: white; color: #9ca3af;">\n <option value="" disabled selected style="color: #9ca3af;">Select team...</option>\n </select>\n </div>\n '), u += '\n <div>\n <label for="sf-eng-ticket-project" style="display:block; font-size:14px; font-weight:500; margin-bottom:6px;">\n Project\n </label>\n <select id="sf-eng-ticket-project"\n style="width:100%; padding:8px 12px; font-size:14px; border:1px solid #cbd5e1; border-radius:6px; outline:none; appearance:none; cursor:pointer; background-color: white; color: #9ca3af;">\n <option value="" disabled selected style="color: #9ca3af;">Select project...</option>\n </select>\n </div>\n ', a2 && (u += '\n <div>\n <label for="sf-eng-ticket-type" style="display:block; font-size:14px; font-weight:500; margin-bottom:6px;">\n Issue Type\n </label>\n <select id="sf-eng-ticket-type"\n style="width:100%; padding:8px 12px; font-size:14px; border:1px solid #cbd5e1; border-radius:6px; outline:none; appearance:none; cursor:pointer; background-color: white; color: #9ca3af;">\n <option value="" disabled selected style="color: #9ca3af;">Select project first...</option>\n </select>\n </div>\n '), u += '\n <div>\n <label for="sf-eng-ticket-priority" style="display:block; font-size:14px; font-weight:500; margin-bottom:6px;">\n Priority\n </label>\n <select id="sf-eng-ticket-priority"\n style="width:100%; padding:8px 12px; font-size:14px; border:1px solid #cbd5e1; border-radius:6px; outline:none; appearance:none; cursor:pointer; background-color: white;">\n </select>\n </div>\n ', e2.labels && Array.isArray(e2.labels) && e2.labels.length > 0 && (u += renderCustomMultiSelect("sf-eng-ticket-labels", "Labels", e2.labels, bt.engTicketLabels, false)), u += '\n <div id="sf-dynamic-fields-container" style="display: flex; flex-direction: column; gap: 12px;"></div>\n ', u += "</div>", u;
1968
1968
  })()}
1969
1969
  </div>
1970
1970
  </div>
@@ -2007,7 +2007,7 @@ function injectModalHTML(e = "lookback") {
2007
2007
  </div>
2008
2008
  </div>
2009
2009
  </div>
2010
- `, wt.mode = e, document.body.appendChild(It), (function bindListeners() {
2010
+ `, bt.mode = e, document.body.appendChild(It), (function bindListeners() {
2011
2011
  const e2 = It == null ? void 0 : It.querySelectorAll(".sf-issue-tab"), a2 = document.getElementById("sf-start-recording-btn"), u = document.getElementById("sf-modal-close-btn"), w2 = document.getElementById("sf-issue-submit-btn"), x2 = document.getElementById("sf-lookback-minutes");
2012
2012
  e2 == null ? void 0 : e2.forEach((e3) => {
2013
2013
  e3.addEventListener("click", (e4) => {
@@ -2016,7 +2016,7 @@ function injectModalHTML(e = "lookback") {
2016
2016
  });
2017
2017
  }), u && (u.onclick = closeModal);
2018
2018
  x2 && x2.addEventListener("change", () => {
2019
- "lookback" === wt.mode && (w2.disabled = false, w2.style.opacity = "1", w2.style.cursor = "pointer");
2019
+ "lookback" === bt.mode && (w2.disabled = false, w2.style.opacity = "1", w2.style.cursor = "pointer");
2020
2020
  });
2021
2021
  const I2 = It == null ? void 0 : It.querySelectorAll(".sf-collapsible-header");
2022
2022
  I2 == null ? void 0 : I2.forEach((e3) => {
@@ -2033,17 +2033,17 @@ function injectModalHTML(e = "lookback") {
2033
2033
  const M2 = document.getElementById("sf-create-issue-checkbox"), _2 = document.getElementById("sf-issue-fields-container"), A2 = document.getElementById("sf-create-eng-ticket-checkbox"), F2 = document.getElementById("sf-eng-ticket-fields-container");
2034
2034
  M2 && M2.addEventListener("change", () => {
2035
2035
  const e3 = M2.checked;
2036
- wt.createIssue = e3, localStorage.setItem(ht, String(e3)), _2 && (_2.style.display = e3 ? "block" : "none"), !e3 && A2 && (A2.checked = false, wt.createEngTicket = false, localStorage.setItem(ft, "false"), F2 && (F2.style.display = "none"));
2036
+ bt.createIssue = e3, localStorage.setItem(ht, String(e3)), _2 && (_2.style.display = e3 ? "block" : "none"), !e3 && A2 && (A2.checked = false, bt.createEngTicket = false, localStorage.setItem(ft, "false"), F2 && (F2.style.display = "none"));
2037
2037
  });
2038
2038
  A2 && A2.addEventListener("change", async () => {
2039
2039
  var _a2;
2040
2040
  const e3 = A2.checked;
2041
- if (wt.createEngTicket = e3, localStorage.setItem(ft, String(e3)), e3 && !wt.createIssue && (wt.createIssue = true, localStorage.setItem(ht, "true"), M2 && (M2.checked = true), _2 && (_2.style.display = "block")), F2 && (F2.style.display = e3 ? "block" : "none"), e3) {
2042
- if (!hasValidIntegration()) return A2.checked = false, wt.createEngTicket = false, localStorage.setItem(ft, "false"), F2 && (F2.style.display = "none"), void alert("No engineering ticket integration found. Please install and configure an integration (Jira, Linear, or Zendesk) first.");
2041
+ if (bt.createEngTicket = e3, localStorage.setItem(ft, String(e3)), e3 && !bt.createIssue && (bt.createIssue = true, localStorage.setItem(ht, "true"), M2 && (M2.checked = true), _2 && (_2.style.display = "block")), F2 && (F2.style.display = e3 ? "block" : "none"), e3) {
2042
+ if (!hasValidIntegration()) return A2.checked = false, bt.createEngTicket = false, localStorage.setItem(ft, "false"), F2 && (F2.style.display = "none"), void alert("No engineering ticket integration found. Please install and configure an integration (Jira, Linear, or Zendesk) first.");
2043
2043
  const e4 = getIntegrationData();
2044
2044
  if (e4) {
2045
- if (!wt.engTicketTeam && e4.defaultTeam && (wt.engTicketTeam = e4.defaultTeam), !wt.engTicketProject && e4.defaultProject && (wt.engTicketProject = e4.defaultProject), !wt.engTicketPriority && e4.defaultPriority && (wt.engTicketPriority = e4.defaultPriority), updateFormWithIntegrationData(wt), "jira" === ((_a2 = e4.provider) == null ? void 0 : _a2.toLowerCase()) && e4.jiraReporterAccountId && wt.engTicketProject) {
2046
- getFieldsForProject(wt.engTicketProject, wt.engTicketIssueType).find((e5) => "reporter" === e5.fieldId) && !wt.engTicketCustomFields.reporter && (wt.engTicketCustomFields.reporter = e4.jiraReporterAccountId);
2045
+ if (!bt.engTicketTeam && e4.defaultTeam && (bt.engTicketTeam = e4.defaultTeam), !bt.engTicketProject && e4.defaultProject && (bt.engTicketProject = e4.defaultProject), !bt.engTicketPriority && e4.defaultPriority && (bt.engTicketPriority = e4.defaultPriority), updateFormWithIntegrationData(bt), "jira" === ((_a2 = e4.provider) == null ? void 0 : _a2.toLowerCase()) && e4.jiraReporterAccountId && bt.engTicketProject) {
2046
+ getFieldsForProject(bt.engTicketProject, bt.engTicketIssueType).find((e5) => "reporter" === e5.fieldId) && !bt.engTicketCustomFields.reporter && (bt.engTicketCustomFields.reporter = e4.jiraReporterAccountId);
2047
2047
  }
2048
2048
  const a3 = document.getElementById("sf-eng-ticket-project"), u2 = document.getElementById("sf-eng-ticket-type");
2049
2049
  a3 && a3.value && renderDynamicFields(a3.value, u2 == null ? void 0 : u2.value);
@@ -2052,39 +2052,39 @@ function injectModalHTML(e = "lookback") {
2052
2052
  });
2053
2053
  const $2 = document.getElementById("sf-issue-name");
2054
2054
  $2 && $2.addEventListener("input", () => {
2055
- wt.issueName = $2.value;
2055
+ bt.issueName = $2.value;
2056
2056
  });
2057
- const j2 = document.getElementById("sf-eng-ticket-team"), B2 = document.getElementById("sf-eng-ticket-project"), U2 = document.getElementById("sf-eng-ticket-priority"), z2 = document.getElementById("sf-eng-ticket-labels-container"), W2 = document.getElementById("sf-eng-ticket-type");
2058
- j2 && j2.addEventListener("change", () => {
2059
- if (wt.engTicketTeam = j2.value, j2.style.color = j2.value ? "" : "#9ca3af", B2) {
2060
- const e3 = getProjectsForTeam(j2.value), a3 = document.getElementById("sf-eng-ticket-project");
2061
- a3 && (wt.engTicketProject = "", wt.engTicketCustomFields = {}, a3.innerHTML = '<option value="">Select project...</option>', e3.forEach((e4) => {
2057
+ const B2 = document.getElementById("sf-eng-ticket-team"), j2 = document.getElementById("sf-eng-ticket-project"), U2 = document.getElementById("sf-eng-ticket-priority"), z2 = document.getElementById("sf-eng-ticket-labels-container"), W2 = document.getElementById("sf-eng-ticket-type");
2058
+ B2 && B2.addEventListener("change", () => {
2059
+ if (bt.engTicketTeam = B2.value, B2.style.color = B2.value ? "" : "#9ca3af", j2) {
2060
+ const e3 = getProjectsForTeam(B2.value), a3 = document.getElementById("sf-eng-ticket-project");
2061
+ a3 && (bt.engTicketProject = "", bt.engTicketCustomFields = {}, a3.innerHTML = '<option value="">Select project...</option>', e3.forEach((e4) => {
2062
2062
  const u2 = document.createElement("option");
2063
2063
  u2.value = e4.id || e4.value || e4, u2.textContent = e4.name || e4.label || e4, a3.appendChild(u2);
2064
2064
  }));
2065
2065
  }
2066
2066
  });
2067
- B2 && B2.addEventListener("change", () => {
2067
+ j2 && j2.addEventListener("change", () => {
2068
2068
  var _a2;
2069
- wt.engTicketProject = B2.value, B2.style.color = B2.value ? "" : "#9ca3af", wt.engTicketCustomFields = {};
2069
+ bt.engTicketProject = j2.value, j2.style.color = j2.value ? "" : "#9ca3af", bt.engTicketCustomFields = {};
2070
2070
  const e3 = getIntegrationData();
2071
- if (e3 && W2 && (updateIssueTypeOptions(W2, B2.value), wt.engTicketIssueType = W2.value), e3 && "jira" === ((_a2 = e3.provider) == null ? void 0 : _a2.toLowerCase()) && e3.jiraReporterAccountId && B2.value) {
2072
- getFieldsForProject(B2.value, wt.engTicketIssueType).find((e4) => "reporter" === e4.fieldId) && (wt.engTicketCustomFields.reporter = e3.jiraReporterAccountId);
2071
+ if (e3 && W2 && (updateIssueTypeOptions(W2, j2.value), bt.engTicketIssueType = W2.value), e3 && "jira" === ((_a2 = e3.provider) == null ? void 0 : _a2.toLowerCase()) && e3.jiraReporterAccountId && j2.value) {
2072
+ getFieldsForProject(j2.value, bt.engTicketIssueType).find((e4) => "reporter" === e4.fieldId) && (bt.engTicketCustomFields.reporter = e3.jiraReporterAccountId);
2073
2073
  }
2074
- renderDynamicFields(B2.value, wt.engTicketIssueType);
2074
+ renderDynamicFields(j2.value, bt.engTicketIssueType);
2075
2075
  });
2076
2076
  U2 && U2.addEventListener("change", () => {
2077
- wt.engTicketPriority = Number(U2.value);
2077
+ bt.engTicketPriority = Number(U2.value);
2078
2078
  });
2079
2079
  z2 && setupCustomMultiSelectListeners("sf-eng-ticket-labels", (e3) => {
2080
- wt.engTicketLabels = e3;
2080
+ bt.engTicketLabels = e3;
2081
2081
  });
2082
2082
  W2 && W2.addEventListener("change", () => {
2083
- wt.engTicketIssueType = W2.value, W2.style.color = W2.value ? "" : "#9ca3af";
2083
+ bt.engTicketIssueType = W2.value, W2.style.color = W2.value ? "" : "#9ca3af";
2084
2084
  const e3 = document.getElementById("sf-eng-ticket-project");
2085
2085
  if (e3 && e3.value) {
2086
- const a3 = wt.engTicketCustomFields.reporter;
2087
- wt.engTicketCustomFields = {}, a3 && (wt.engTicketCustomFields.reporter = a3), renderDynamicFields(e3.value, W2.value);
2086
+ const a3 = bt.engTicketCustomFields.reporter;
2087
+ bt.engTicketCustomFields = {}, a3 && (bt.engTicketCustomFields.reporter = a3), renderDynamicFields(e3.value, W2.value);
2088
2088
  }
2089
2089
  });
2090
2090
  const G2 = document.getElementById("sf-dynamic-fields-container");
@@ -2092,13 +2092,13 @@ function injectModalHTML(e = "lookback") {
2092
2092
  const a3 = e3.target;
2093
2093
  if (a3.classList.contains("sf-dynamic-field")) {
2094
2094
  const e4 = a3.dataset.fieldId;
2095
- e4 && ("checkbox" === a3.type ? wt.engTicketCustomFields[e4] = a3.checked : "number" === a3.type ? wt.engTicketCustomFields[e4] = parseFloat(a3.value) || null : wt.engTicketCustomFields[e4] = a3.value);
2095
+ e4 && ("checkbox" === a3.type ? bt.engTicketCustomFields[e4] = a3.checked : "number" === a3.type ? bt.engTicketCustomFields[e4] = parseFloat(a3.value) || null : bt.engTicketCustomFields[e4] = a3.value);
2096
2096
  }
2097
2097
  }), G2.addEventListener("change", (e3) => {
2098
2098
  const a3 = e3.target;
2099
2099
  if (a3.classList.contains("sf-dynamic-field")) {
2100
2100
  const e4 = a3.dataset.fieldId;
2101
- if (e4 && (wt.engTicketCustomFields[e4] = a3.value), "SELECT" === a3.tagName) {
2101
+ if (e4 && (bt.engTicketCustomFields[e4] = a3.value), "SELECT" === a3.tagName) {
2102
2102
  const e5 = a3;
2103
2103
  e5.style.color = e5.value ? "" : "#9ca3af";
2104
2104
  }
@@ -2106,7 +2106,7 @@ function injectModalHTML(e = "lookback") {
2106
2106
  }));
2107
2107
  a2 && (a2.onclick = () => {
2108
2108
  const e3 = document.getElementById("sf-issue-description");
2109
- e3 && (wt.description = e3.value), (function startCountdownThenRecord() {
2109
+ e3 && (bt.description = e3.value), (function startCountdownThenRecord() {
2110
2110
  if (document.getElementById("sf-countdown-overlay")) return;
2111
2111
  const e4 = document.createElement("div");
2112
2112
  e4.id = "sf-countdown-overlay", e4.style.cssText = "\n position: fixed;\n inset: 0;\n background: rgba(0,0,0,0.6);\n z-index: 10001;\n display: flex;\n justify-content: center;\n align-items: center;\n font-size: 80px;\n font-weight: bold;\n color: white;\n font-family: sans-serif;\n ";
@@ -2116,7 +2116,7 @@ function injectModalHTML(e = "lookback") {
2116
2116
  if (a3--, a3 > 0) e4.textContent = a3.toString();
2117
2117
  else {
2118
2118
  clearInterval(u2), document.body.removeChild(e4), (function setRecordingStartTime(e5) {
2119
- bt = e5;
2119
+ wt = e5;
2120
2120
  })(Date.now()), setIsRecording(true);
2121
2121
  try {
2122
2122
  const { enableFunctionSpanTracking: e5 } = await Promise.resolve().then(() => Ce);
@@ -2146,7 +2146,7 @@ function injectModalHTML(e = "lookback") {
2146
2146
  const a4 = e5.querySelector("#sf-recording-timer");
2147
2147
  if (!a4) return;
2148
2148
  const u3 = setInterval(() => {
2149
- const e6 = Date.now() - (bt ?? Date.now()), u4 = Math.floor(e6 / 6e4).toString().padStart(2, "0"), w3 = Math.floor(e6 % 6e4 / 1e3).toString().padStart(2, "0");
2149
+ const e6 = Date.now() - (wt ?? Date.now()), u4 = Math.floor(e6 / 6e4).toString().padStart(2, "0"), w3 = Math.floor(e6 % 6e4 / 1e3).toString().padStart(2, "0");
2150
2150
  a4.textContent = `${u4}:${w3}`;
2151
2151
  }, 1e3);
2152
2152
  setTimerInterval(u3);
@@ -2158,29 +2158,29 @@ function injectModalHTML(e = "lookback") {
2158
2158
  It == null ? void 0 : It.addEventListener("click", (e3) => {
2159
2159
  var _a2;
2160
2160
  if (e3.target.closest("#sf-issue-submit-btn")) {
2161
- const e4 = ((_a2 = document.getElementById("sf-issue-description")) == null ? void 0 : _a2.value) || "", a3 = wt.mode;
2162
- if (wt.description = e4, wt.createIssue && !wt.issueName.trim()) return void alert("Issue title is required when creating an issue.");
2161
+ const e4 = ((_a2 = document.getElementById("sf-issue-description")) == null ? void 0 : _a2.value) || "", a3 = bt.mode;
2162
+ if (bt.description = e4, bt.createIssue && !bt.issueName.trim()) return void alert("Issue title is required when creating an issue.");
2163
2163
  let u2, w3;
2164
- if ("startnow" === a3) u2 = bt ?? Date.now() - 3e5, w3 = St ?? Date.now();
2164
+ if ("startnow" === a3) u2 = wt ?? Date.now() - 3e5, w3 = St ?? Date.now();
2165
2165
  else {
2166
2166
  const e5 = 60 * Number((x2 == null ? void 0 : x2.value) || "2") * 1e3;
2167
2167
  w3 = Date.now(), u2 = w3 - e5;
2168
2168
  }
2169
- if (wt.createIssue) {
2170
- const a4 = document.getElementById("sf-issue-name"), x3 = document.getElementById("sf-eng-ticket-team"), I3 = document.getElementById("sf-eng-ticket-project"), M3 = document.getElementById("sf-eng-ticket-priority"), _3 = document.getElementById("sf-eng-ticket-type"), A3 = (a4 == null ? void 0 : a4.value) || "", F3 = e4, $3 = (x3 == null ? void 0 : x3.value) || "", j3 = (I3 == null ? void 0 : I3.value) || "", B3 = M3 ? Number(M3.value) : 0, U3 = wt.engTicketLabels, z3 = (_3 == null ? void 0 : _3.value) || "", W3 = { ...wt.engTicketCustomFields };
2169
+ if (bt.createIssue) {
2170
+ const a4 = document.getElementById("sf-issue-name"), x3 = document.getElementById("sf-eng-ticket-team"), I3 = document.getElementById("sf-eng-ticket-project"), M3 = document.getElementById("sf-eng-ticket-priority"), _3 = document.getElementById("sf-eng-ticket-type"), A3 = (a4 == null ? void 0 : a4.value) || "", F3 = e4, $3 = (x3 == null ? void 0 : x3.value) || "", B3 = (I3 == null ? void 0 : I3.value) || "", j3 = M3 ? Number(M3.value) : 0, U3 = bt.engTicketLabels, z3 = (_3 == null ? void 0 : _3.value) || "", W3 = { ...bt.engTicketCustomFields };
2171
2171
  document.querySelectorAll(".sf-dynamic-field").forEach((e5) => {
2172
2172
  const a5 = e5, u3 = a5.dataset.fieldId;
2173
2173
  u3 && ("checkbox" === a5.type ? W3[u3] = a5.checked : "number" === a5.type ? W3[u3] = parseFloat(a5.value) || null : a5.classList.contains("sf-custom-multiselect") || (W3[u3] = a5.value));
2174
- }), closeModal(), (async function createTriageAndIssue(e5, a5, u3, w4, x4, I4, M4, _4, A4, F4, $4, j4) {
2174
+ }), closeModal(), (async function createTriageAndIssue(e5, a5, u3, w4, x4, I4, M4, _4, A4, F4, $4, B4) {
2175
2175
  var _a3, _b;
2176
2176
  try {
2177
2177
  showStatusModal(true);
2178
- const B4 = await createTriageAndIssueFromRecorder(xt.apiKey, xt.backendApi, getSessionIdSafely(), e5, a5, u3, w4, x4, I4, M4, _4, A4, F4, $4, j4), U4 = (_b = (_a3 = B4 == null ? void 0 : B4.data) == null ? void 0 : _a3.createTriageAndIssueFromRecorder) == null ? void 0 : _b.id;
2178
+ const j4 = await createTriageAndIssueFromRecorder(xt.apiKey, xt.backendApi, getSessionIdSafely(), e5, a5, u3, w4, x4, I4, M4, _4, A4, F4, $4, B4), U4 = (_b = (_a3 = j4 == null ? void 0 : j4.data) == null ? void 0 : _a3.createTriageAndIssueFromRecorder) == null ? void 0 : _b.id;
2179
2179
  U4 ? showStatusModal(false, { type: "issue", id: U4 }) : (console.error("No Issue ID returned from backend."), showStatusModal(false, null));
2180
2180
  } catch (e6) {
2181
2181
  console.error("Error creating triage and issue:", e6), showStatusModal(false, null);
2182
2182
  }
2183
- })(`${u2}`, `${w3}`, e4, A3, F3, wt.createEngTicket, $3, j3, B3, U3, z3, W3);
2183
+ })(`${u2}`, `${w3}`, e4, A3, F3, bt.createEngTicket, $3, B3, j3, U3, z3, W3);
2184
2184
  } else closeModal(), (async function createTriage(e5, a4, u3) {
2185
2185
  var _a3, _b;
2186
2186
  try {
@@ -2193,21 +2193,21 @@ function injectModalHTML(e = "lookback") {
2193
2193
  })(`${u2}`, `${w3}`, e4);
2194
2194
  }
2195
2195
  });
2196
- })(), xt.deactivateIsolation = activateModalIsolation(It), xt.integrationData && wt.createEngTicket ? (function initializeEngTicketForm() {
2196
+ })(), xt.deactivateIsolation = activateModalIsolation(It), xt.integrationData && bt.createEngTicket ? (function initializeEngTicketForm() {
2197
2197
  var _a2;
2198
2198
  const e2 = xt.integrationData;
2199
2199
  if (!e2) return;
2200
- !wt.engTicketTeam && e2.defaultTeam && (wt.engTicketTeam = e2.defaultTeam);
2201
- !wt.engTicketProject && e2.defaultProject && (wt.engTicketProject = e2.defaultProject);
2202
- !wt.engTicketPriority && e2.defaultPriority && (wt.engTicketPriority = e2.defaultPriority);
2203
- if (updateFormWithIntegrationData(wt), "jira" === ((_a2 = e2.provider) == null ? void 0 : _a2.toLowerCase()) && e2.jiraReporterAccountId && wt.engTicketProject) {
2204
- getFieldsForProject(wt.engTicketProject, wt.engTicketIssueType).find((e3) => "reporter" === e3.fieldId) && !wt.engTicketCustomFields.reporter && (wt.engTicketCustomFields.reporter = e2.jiraReporterAccountId);
2200
+ !bt.engTicketTeam && e2.defaultTeam && (bt.engTicketTeam = e2.defaultTeam);
2201
+ !bt.engTicketProject && e2.defaultProject && (bt.engTicketProject = e2.defaultProject);
2202
+ !bt.engTicketPriority && e2.defaultPriority && (bt.engTicketPriority = e2.defaultPriority);
2203
+ if (updateFormWithIntegrationData(bt), "jira" === ((_a2 = e2.provider) == null ? void 0 : _a2.toLowerCase()) && e2.jiraReporterAccountId && bt.engTicketProject) {
2204
+ getFieldsForProject(bt.engTicketProject, bt.engTicketIssueType).find((e3) => "reporter" === e3.fieldId) && !bt.engTicketCustomFields.reporter && (bt.engTicketCustomFields.reporter = e2.jiraReporterAccountId);
2205
2205
  }
2206
- wt.engTicketProject && renderDynamicFields(wt.engTicketProject, wt.engTicketIssueType);
2207
- })() : xt.integrationData || (wt.createEngTicket = false);
2206
+ bt.engTicketProject && renderDynamicFields(bt.engTicketProject, bt.engTicketIssueType);
2207
+ })() : xt.integrationData || (bt.createEngTicket = false);
2208
2208
  }
2209
2209
  function setActiveTab(e) {
2210
- wt.mode = e;
2210
+ bt.mode = e;
2211
2211
  const a = It == null ? void 0 : It.querySelector("#sf-tab-lookback"), u = It == null ? void 0 : It.querySelector("#sf-tab-startnow");
2212
2212
  "lookback" === e ? (a.style.background = "white", a.style.color = "#0F172A", u.style.background = "transparent", u.style.color = "#64748B") : (u.style.background = "white", u.style.color = "#0F172A", a.style.background = "transparent", a.style.color = "#64748B");
2213
2213
  }
@@ -2215,9 +2215,9 @@ function updateModeSpecificUI(e) {
2215
2215
  const a = document.querySelector("#sf-issue-mode-info div"), u = document.getElementById("sf-issue-submit-btn"), w2 = document.getElementById("sf-record-button-container"), x2 = document.getElementById("sf-recording-timer-label"), I2 = document.getElementById("sf-recording-timer-display"), M2 = document.getElementById("sf-modal-footer"), _2 = document.getElementById("sf-lookback-container");
2216
2216
  if (a && u && w2 && x2 && I2 && M2 && _2) if ("startnow" === e) {
2217
2217
  w2.style.display = "block", _2.style.display = "none", M2.style.justifyContent = "space-between", a.textContent = "I want to reproduce the issue right now.";
2218
- const e2 = null !== bt && null !== St;
2219
- if (u.disabled = !e2, u.style.opacity = e2 ? "1" : "0.4", u.style.cursor = e2 ? "pointer" : "not-allowed", bt && St) {
2220
- const e3 = Math.floor((St - bt) / 1e3), a2 = String(Math.floor(e3 / 60)).padStart(2, "0"), u2 = String(e3 % 60).padStart(2, "0");
2218
+ const e2 = null !== wt && null !== St;
2219
+ if (u.disabled = !e2, u.style.opacity = e2 ? "1" : "0.4", u.style.cursor = e2 ? "pointer" : "not-allowed", wt && St) {
2220
+ const e3 = Math.floor((St - wt) / 1e3), a2 = String(Math.floor(e3 / 60)).padStart(2, "0"), u2 = String(e3 % 60).padStart(2, "0");
2221
2221
  x2.style.display = "block", I2.textContent = `${a2}:${u2}`;
2222
2222
  } else x2.style.display = "none";
2223
2223
  } else w2.style.display = "none", x2.style.display = "none", _2.style.display = "block", M2.style.justifyContent = "flex-end", a.textContent = "Something already happened. Capture the past few minutes.", u.disabled = false, u.style.opacity = "1", u.style.cursor = "pointer";
@@ -2241,17 +2241,17 @@ async function stopRecording() {
2241
2241
  a2 && (a2.textContent = "Re-record");
2242
2242
  }
2243
2243
  const a = document.getElementById("sf-recording-timer-label"), u = document.getElementById("sf-recording-timer-display");
2244
- if (a && u && bt && St) {
2245
- const e2 = Math.floor((St - bt) / 1e3), w3 = Math.floor(e2 / 60).toString().padStart(2, "0"), x3 = (e2 % 60).toString().padStart(2, "0");
2244
+ if (a && u && wt && St) {
2245
+ const e2 = Math.floor((St - wt) / 1e3), w3 = Math.floor(e2 / 60).toString().padStart(2, "0"), x3 = (e2 % 60).toString().padStart(2, "0");
2246
2246
  u.textContent = `${w3}:${x3}`, a.style.display = "block";
2247
2247
  }
2248
2248
  const w2 = document.getElementById("sf-issue-description");
2249
- w2 && (w2.value = wt.description);
2249
+ w2 && (w2.value = bt.description);
2250
2250
  const x2 = document.querySelector('input[value="startnow"]');
2251
2251
  x2 && (x2.checked = true);
2252
2252
  const I2 = document.getElementById("sf-inline-record-chip"), M2 = document.getElementById("sf-inline-record-timer");
2253
2253
  if (I2 && M2) {
2254
- const e2 = Math.floor(((St ?? 0) - (bt ?? 0)) / 1e3), a2 = Math.floor(e2 / 60).toString().padStart(2, "0"), u2 = Math.floor(e2 % 60).toString().padStart(2, "0");
2254
+ const e2 = Math.floor(((St ?? 0) - (wt ?? 0)) / 1e3), a2 = Math.floor(e2 / 60).toString().padStart(2, "0"), u2 = Math.floor(e2 % 60).toString().padStart(2, "0");
2255
2255
  M2.textContent = `${a2}:${u2}`, M2.style.color = "black", I2.style.display = "flex";
2256
2256
  }
2257
2257
  const _2 = document.getElementById("sf-issue-submit-btn");
@@ -2314,13 +2314,13 @@ function showStatusModal(e, a) {
2314
2314
  (_a2 = document.getElementById("sf-triage-modal-close")) == null ? void 0 : _a2.addEventListener("click", () => {
2315
2315
  fadeCardAndRemove(x2, F2, 300);
2316
2316
  });
2317
- const $2 = document.getElementById("sf-copy-triage-link"), j2 = document.getElementById("sf-view-triage-btn");
2318
- e2 ? ($2.disabled = true, $2.style.opacity = "0.4", $2.style.cursor = "not-allowed", j2.disabled = true, j2.style.opacity = "0.4", j2.style.cursor = "not-allowed") : ($2.disabled = false, $2.addEventListener("click", () => {
2317
+ const $2 = document.getElementById("sf-copy-triage-link"), B2 = document.getElementById("sf-view-triage-btn");
2318
+ e2 ? ($2.disabled = true, $2.style.opacity = "0.4", $2.style.cursor = "not-allowed", B2.disabled = true, B2.style.opacity = "0.4", B2.style.cursor = "not-allowed") : ($2.disabled = false, $2.addEventListener("click", () => {
2319
2319
  navigator.clipboard.writeText(w2).then(() => {
2320
2320
  const e3 = document.getElementById("sf-copied-status");
2321
2321
  e3 && (e3.style.display = "flex");
2322
2322
  });
2323
- }), j2.disabled = false, j2.addEventListener("click", () => {
2323
+ }), B2.disabled = false, B2.addEventListener("click", () => {
2324
2324
  (a2 || u) && window.open(w2, "_blank");
2325
2325
  }), setTimeout(() => fadeCardAndRemove(x2, F2, 300), 1e4));
2326
2326
  })(e, "triage" === (a == null ? void 0 : a.type) ? a.id : void 0, "issue" === (a == null ? void 0 : a.type) ? a.id : void 0);
@@ -2588,7 +2588,7 @@ function Nn(e, a, u, w2) {
2588
2588
  return false;
2589
2589
  }
2590
2590
  function Zi(e, a) {
2591
- const { doc: u, mirror: w2, blockClass: x2, blockSelector: I2, needsMask: M2, inlineStylesheet: _2, maskInputOptions: A2 = {}, maskTextFn: F2, maskInputFn: $2, dataURLOptions: j2 = {}, inlineImages: B2, recordCanvas: U2, keepIframeSrcFn: z2, newlyAddedElement: W2 = false, corruptedRules: G2 } = a, H2 = (function Hi(e2, a2) {
2591
+ const { doc: u, mirror: w2, blockClass: x2, blockSelector: I2, needsMask: M2, inlineStylesheet: _2, maskInputOptions: A2 = {}, maskTextFn: F2, maskInputFn: $2, dataURLOptions: B2 = {}, inlineImages: j2, recordCanvas: U2, keepIframeSrcFn: z2, newlyAddedElement: W2 = false, corruptedRules: G2 } = a, H2 = (function Hi(e2, a2) {
2592
2592
  if (!a2.hasNode(e2)) return;
2593
2593
  const u2 = a2.getId(e2);
2594
2594
  return 1 === u2 ? void 0 : u2;
@@ -2600,7 +2600,7 @@ function Zi(e, a) {
2600
2600
  return { type: Ot.DocumentType, name: e.name, publicId: e.publicId, systemId: e.systemId, rootId: H2 };
2601
2601
  case e.ELEMENT_NODE:
2602
2602
  return (function Ji(e2, a2) {
2603
- const { doc: u2, blockClass: w3, blockSelector: x3, inlineStylesheet: I3, maskInputOptions: M3 = {}, maskInputFn: _3, dataURLOptions: A3 = {}, inlineImages: F3, recordCanvas: $3, keepIframeSrcFn: j3, newlyAddedElement: B3 = false, rootId: U3, corruptedRules: z3 } = a2, W3 = (function $i(e3, a3, u3) {
2603
+ const { doc: u2, blockClass: w3, blockSelector: x3, inlineStylesheet: I3, maskInputOptions: M3 = {}, maskInputFn: _3, dataURLOptions: A3 = {}, inlineImages: F3, recordCanvas: $3, keepIframeSrcFn: B3, newlyAddedElement: j3 = false, rootId: U3, corruptedRules: z3 } = a2, W3 = (function $i(e3, a3, u3) {
2604
2604
  try {
2605
2605
  if ("string" == typeof a3) {
2606
2606
  if (e3.classList.contains(a3)) return true;
@@ -2688,18 +2688,18 @@ function Zi(e, a) {
2688
2688
  const a3 = H3;
2689
2689
  a3.rr_mediaState = e2.paused ? "paused" : "played", a3.rr_mediaCurrentTime = e2.currentTime, a3.rr_mediaPlaybackRate = e2.playbackRate, a3.rr_mediaMuted = e2.muted, a3.rr_mediaLoop = e2.loop, a3.rr_mediaVolume = e2.volume;
2690
2690
  }
2691
- if (B3 || (e2.scrollLeft && (H3.rr_scrollLeft = e2.scrollLeft), e2.scrollTop && (H3.rr_scrollTop = e2.scrollTop)), W3) {
2691
+ if (j3 || (e2.scrollLeft && (H3.rr_scrollLeft = e2.scrollLeft), e2.scrollTop && (H3.rr_scrollTop = e2.scrollTop)), W3) {
2692
2692
  const { width: a3, height: u3 } = e2.getBoundingClientRect();
2693
2693
  H3 = { class: H3.class, rr_width: `${a3}px`, rr_height: `${u3}px` };
2694
2694
  }
2695
2695
  let Y2;
2696
- "iframe" === G3 && !j3(H3.src) && (e2.contentDocument || (H3.rr_src = H3.src), delete H3.src);
2696
+ "iframe" === G3 && !B3(H3.src) && (e2.contentDocument || (H3.rr_src = H3.src), delete H3.src);
2697
2697
  try {
2698
2698
  customElements.get(G3) && (Y2 = true);
2699
2699
  } catch {
2700
2700
  }
2701
2701
  return { type: Ot.Element, tagName: G3, attributes: H3, childNodes: [], isSVG: Vi(e2) || void 0, needBlock: W3, rootId: U3, isCustom: Y2 };
2702
- })(e, { doc: u, blockClass: x2, blockSelector: I2, inlineStylesheet: _2, maskInputOptions: A2, maskInputFn: $2, dataURLOptions: j2, inlineImages: B2, recordCanvas: U2, keepIframeSrcFn: z2, newlyAddedElement: W2, rootId: H2, corruptedRules: G2 });
2702
+ })(e, { doc: u, blockClass: x2, blockSelector: I2, inlineStylesheet: _2, maskInputOptions: A2, maskInputFn: $2, dataURLOptions: B2, inlineImages: j2, recordCanvas: U2, keepIframeSrcFn: z2, newlyAddedElement: W2, rootId: H2, corruptedRules: G2 });
2703
2703
  case e.TEXT_NODE:
2704
2704
  return (function Xi(e2, a2) {
2705
2705
  var u2;
@@ -2728,10 +2728,10 @@ function F$1(e) {
2728
2728
  return null == e ? "" : e.toLowerCase();
2729
2729
  }
2730
2730
  function ke(e, a) {
2731
- const { doc: u, mirror: w2, blockClass: x2, blockSelector: I2, maskTextClass: M2, maskTextSelector: _2, skipChild: A2 = false, inlineStylesheet: F2 = true, maskInputOptions: $2 = {}, maskTextFn: j2, maskInputFn: B2, slimDOMOptions: U2, dataURLOptions: z2 = {}, inlineImages: W2 = false, recordCanvas: G2 = false, onSerialize: H2, onIframeLoad: K2, iframeLoadTimeout: Y2 = 5e3, onStylesheetLoad: Z2, stylesheetLoadTimeout: J2 = 5e3, keepIframeSrcFn: X2 = () => false, newlyAddedElement: Q2 = false, corruptedRules: ee2 } = a;
2731
+ const { doc: u, mirror: w2, blockClass: x2, blockSelector: I2, maskTextClass: M2, maskTextSelector: _2, skipChild: A2 = false, inlineStylesheet: F2 = true, maskInputOptions: $2 = {}, maskTextFn: B2, maskInputFn: j2, slimDOMOptions: U2, dataURLOptions: z2 = {}, inlineImages: W2 = false, recordCanvas: G2 = false, onSerialize: H2, onIframeLoad: K2, iframeLoadTimeout: Y2 = 5e3, onStylesheetLoad: Z2, stylesheetLoadTimeout: J2 = 5e3, keepIframeSrcFn: X2 = () => false, newlyAddedElement: Q2 = false, corruptedRules: ee2 } = a;
2732
2732
  let { needsMask: te2 } = a, { preserveWhiteSpace: ne2 = true } = a;
2733
2733
  te2 || (te2 = Nn(e, M2, _2, void 0 === te2));
2734
- const re2 = Zi(e, { doc: u, mirror: w2, blockClass: x2, blockSelector: I2, needsMask: te2, inlineStylesheet: F2, maskInputOptions: $2, maskTextFn: j2, maskInputFn: B2, dataURLOptions: z2, inlineImages: W2, recordCanvas: G2, keepIframeSrcFn: X2, newlyAddedElement: Q2, corruptedRules: ee2 });
2734
+ const re2 = Zi(e, { doc: u, mirror: w2, blockClass: x2, blockSelector: I2, needsMask: te2, inlineStylesheet: F2, maskInputOptions: $2, maskTextFn: B2, maskInputFn: j2, dataURLOptions: z2, inlineImages: W2, recordCanvas: G2, keepIframeSrcFn: X2, newlyAddedElement: Q2, corruptedRules: ee2 });
2735
2735
  if (!re2) return console.warn(e, "not serialized"), null;
2736
2736
  let se2;
2737
2737
  se2 = w2.hasNode(e) ? w2.getId(e) : (function Ki(e2, a2) {
@@ -2748,7 +2748,7 @@ function ke(e, a) {
2748
2748
  }
2749
2749
  if ((le2.type === Ot.Document || le2.type === Ot.Element) && ce2) {
2750
2750
  U2.headWhitespace && le2.type === Ot.Element && "head" === le2.tagName && (ne2 = false);
2751
- const a2 = { doc: u, mirror: w2, blockClass: x2, blockSelector: I2, needsMask: te2, maskTextClass: M2, maskTextSelector: _2, skipChild: A2, inlineStylesheet: F2, maskInputOptions: $2, maskTextFn: j2, maskInputFn: B2, slimDOMOptions: U2, dataURLOptions: z2, inlineImages: W2, recordCanvas: G2, preserveWhiteSpace: ne2, onSerialize: H2, onIframeLoad: K2, iframeLoadTimeout: Y2, onStylesheetLoad: Z2, stylesheetLoadTimeout: J2, keepIframeSrcFn: X2, corruptedRules: ee2 };
2751
+ const a2 = { doc: u, mirror: w2, blockClass: x2, blockSelector: I2, needsMask: te2, maskTextClass: M2, maskTextSelector: _2, skipChild: A2, inlineStylesheet: F2, maskInputOptions: $2, maskTextFn: B2, maskInputFn: j2, slimDOMOptions: U2, dataURLOptions: z2, inlineImages: W2, recordCanvas: G2, preserveWhiteSpace: ne2, onSerialize: H2, onIframeLoad: K2, iframeLoadTimeout: Y2, onStylesheetLoad: Z2, stylesheetLoadTimeout: J2, keepIframeSrcFn: X2, corruptedRules: ee2 };
2752
2752
  if (le2.type !== Ot.Element || "textarea" !== le2.tagName || void 0 === le2.attributes.value) for (const u2 of Array.from(e.childNodes)) {
2753
2753
  const e2 = ke(u2, a2);
2754
2754
  e2 && le2.childNodes.push(e2);
@@ -2781,7 +2781,7 @@ function ke(e, a) {
2781
2781
  })(e, () => {
2782
2782
  const a2 = e.contentDocument;
2783
2783
  if (a2 && K2) {
2784
- const u2 = ke(a2, { doc: a2, mirror: w2, blockClass: x2, blockSelector: I2, needsMask: te2, maskTextClass: M2, maskTextSelector: _2, skipChild: false, inlineStylesheet: F2, maskInputOptions: $2, maskTextFn: j2, maskInputFn: B2, slimDOMOptions: U2, dataURLOptions: z2, inlineImages: W2, recordCanvas: G2, preserveWhiteSpace: ne2, onSerialize: H2, onIframeLoad: K2, iframeLoadTimeout: Y2, onStylesheetLoad: Z2, stylesheetLoadTimeout: J2, keepIframeSrcFn: X2 });
2784
+ const u2 = ke(a2, { doc: a2, mirror: w2, blockClass: x2, blockSelector: I2, needsMask: te2, maskTextClass: M2, maskTextSelector: _2, skipChild: false, inlineStylesheet: F2, maskInputOptions: $2, maskTextFn: B2, maskInputFn: j2, slimDOMOptions: U2, dataURLOptions: z2, inlineImages: W2, recordCanvas: G2, preserveWhiteSpace: ne2, onSerialize: H2, onIframeLoad: K2, iframeLoadTimeout: Y2, onStylesheetLoad: Z2, stylesheetLoadTimeout: J2, keepIframeSrcFn: X2 });
2785
2785
  u2 && K2(e, u2);
2786
2786
  }
2787
2787
  }, Y2), le2.type === Ot.Element && "link" === le2.tagName && "string" == typeof le2.attributes.rel && ("stylesheet" === le2.attributes.rel || "preload" === le2.attributes.rel && "string" == typeof le2.attributes.href && "css" === Ln(le2.attributes.href)) && (function Yi(e2, a2, u2) {
@@ -2800,7 +2800,7 @@ function ke(e, a) {
2800
2800
  });
2801
2801
  })(e, () => {
2802
2802
  if (Z2) {
2803
- const a2 = ke(e, { doc: u, mirror: w2, blockClass: x2, blockSelector: I2, needsMask: te2, maskTextClass: M2, maskTextSelector: _2, skipChild: false, inlineStylesheet: F2, maskInputOptions: $2, maskTextFn: j2, maskInputFn: B2, slimDOMOptions: U2, dataURLOptions: z2, inlineImages: W2, recordCanvas: G2, preserveWhiteSpace: ne2, onSerialize: H2, onIframeLoad: K2, iframeLoadTimeout: Y2, onStylesheetLoad: Z2, stylesheetLoadTimeout: J2, keepIframeSrcFn: X2 });
2803
+ const a2 = ke(e, { doc: u, mirror: w2, blockClass: x2, blockSelector: I2, needsMask: te2, maskTextClass: M2, maskTextSelector: _2, skipChild: false, inlineStylesheet: F2, maskInputOptions: $2, maskTextFn: B2, maskInputFn: j2, slimDOMOptions: U2, dataURLOptions: z2, inlineImages: W2, recordCanvas: G2, preserveWhiteSpace: ne2, onSerialize: H2, onIframeLoad: K2, iframeLoadTimeout: Y2, onStylesheetLoad: Z2, stylesheetLoadTimeout: J2, keepIframeSrcFn: X2 });
2804
2804
  a2 && Z2(e, a2);
2805
2805
  }
2806
2806
  }, J2), le2;
@@ -3018,7 +3018,7 @@ var mn = xs;
3018
3018
  xs.default = xs;
3019
3019
  var gn = {};
3020
3020
  gn.isClean = Symbol("isClean"), gn.my = Symbol("my");
3021
- let yn = cn, wn = pn, bn = mn, { isClean: Sn, my: vn } = gn;
3021
+ let yn = cn, bn = pn, wn = mn, { isClean: Sn, my: vn } = gn;
3022
3022
  function Is(e, a) {
3023
3023
  let u = new e.constructor();
3024
3024
  for (let w2 in e) {
@@ -3137,7 +3137,7 @@ let Cn = class {
3137
3137
  return (w2.line < u.line || w2.line === u.line && w2.column <= u.column) && (w2 = { column: u.column + 1, line: u.line, offset: u.offset + 1 }), { end: w2, start: u };
3138
3138
  }
3139
3139
  raw(e, a) {
3140
- return new wn().raw(this, e, a);
3140
+ return new bn().raw(this, e, a);
3141
3141
  }
3142
3142
  remove() {
3143
3143
  return this.parent && this.parent.removeChild(this), this.parent = void 0, this;
@@ -3175,7 +3175,7 @@ let Cn = class {
3175
3175
  toProxy() {
3176
3176
  return this.proxyCache || (this.proxyCache = new Proxy(this, this.getProxyProcessor())), this.proxyCache;
3177
3177
  }
3178
- toString(e = bn) {
3178
+ toString(e = wn) {
3179
3179
  e.stringify && (e = e.stringify);
3180
3180
  let a = "";
3181
3181
  return e(this, (e2) => {
@@ -3195,9 +3195,9 @@ let En = xn, _n = class extends En {
3195
3195
  super(e), this.type = "comment";
3196
3196
  }
3197
3197
  };
3198
- var jn = _n;
3198
+ var Bn = _n;
3199
3199
  _n.default = _n;
3200
- let Bn = xn, Un = class extends Bn {
3200
+ let jn = xn, Un = class extends jn {
3201
3201
  get variable() {
3202
3202
  return this.prop.startsWith("--") || "$" === this.prop[0];
3203
3203
  }
@@ -3207,7 +3207,7 @@ let Bn = xn, Un = class extends Bn {
3207
3207
  };
3208
3208
  var zn = Un;
3209
3209
  Un.default = Un;
3210
- let Wn, Vn, Hn, qn, Kn = jn, Zn = zn, Jn = xn, { isClean: Xn, my: Qn } = gn;
3210
+ let Wn, Vn, Hn, qn, Kn = Bn, Zn = zn, Jn = xn, { isClean: Xn, my: Qn } = gn;
3211
3211
  function $n(e) {
3212
3212
  return e.map((e2) => (e2.nodes && (e2.nodes = $n(e2.nodes)), delete e2.source, e2));
3213
3213
  }
@@ -3477,9 +3477,9 @@ let yr = class {
3477
3477
  return !!(this.consumer().sourcesContent && this.consumer().sourcesContent.length > 0);
3478
3478
  }
3479
3479
  };
3480
- var wr = yr;
3480
+ var br = yr;
3481
3481
  yr.default = yr;
3482
- let { nanoid: br } = ur, { isAbsolute: Sr, resolve: vr } = nn, { SourceMapConsumer: Mr, SourceMapGenerator: Er } = nn, { fileURLToPath: _r, pathToFileURL: Or } = nn, Lr = cn, Tr = wr, Rr = nn, Ar = Symbol("lineToIndexCache"), Nr = !(!Mr || !Er), Fr = !(!vr || !Sr);
3482
+ let { nanoid: wr } = ur, { isAbsolute: Sr, resolve: vr } = nn, { SourceMapConsumer: Mr, SourceMapGenerator: Er } = nn, { fileURLToPath: _r, pathToFileURL: Or } = nn, Lr = cn, Tr = br, Rr = nn, Ar = Symbol("lineToIndexCache"), Nr = !(!Mr || !Er), Fr = !(!vr || !Sr);
3483
3483
  function Ur(e) {
3484
3484
  if (e[Ar]) return e[Ar];
3485
3485
  let a = e.css.split("\n"), u = new Array(a.length), w2 = 0;
@@ -3500,7 +3500,7 @@ let Pr = class {
3500
3500
  !this.file && a2 && (this.file = this.mapResolve(a2));
3501
3501
  }
3502
3502
  }
3503
- this.file || (this.id = "<input css " + br(6) + ">"), this.map && (this.map.file = this.from);
3503
+ this.file || (this.id = "<input css " + wr(6) + ">"), this.map && (this.map.file = this.from);
3504
3504
  }
3505
3505
  error(e, a, u, w2 = {}) {
3506
3506
  let x2, I2, M2, _2, A2;
@@ -3568,7 +3568,7 @@ let Pr = class {
3568
3568
  };
3569
3569
  var Dr = Pr;
3570
3570
  Pr.default = Pr, Rr && Rr.registerInput && Rr.registerInput(Pr);
3571
- let $r, jr, Br = tr, zr = class extends Br {
3571
+ let $r, Br, jr = tr, zr = class extends jr {
3572
3572
  constructor(e) {
3573
3573
  super(e), this.type = "root", this.nodes || (this.nodes = []);
3574
3574
  }
@@ -3585,16 +3585,16 @@ let $r, jr, Br = tr, zr = class extends Br {
3585
3585
  return !a && 0 === u && this.nodes.length > 1 && (this.nodes[1].raws.before = this.nodes[u].raws.before), super.removeChild(e);
3586
3586
  }
3587
3587
  toResult(e = {}) {
3588
- return new $r(new jr(), this, e).stringify();
3588
+ return new $r(new Br(), this, e).stringify();
3589
3589
  }
3590
3590
  };
3591
3591
  zr.registerLazyResult = (e) => {
3592
3592
  $r = e;
3593
3593
  }, zr.registerProcessor = (e) => {
3594
- jr = e;
3594
+ Br = e;
3595
3595
  };
3596
3596
  var Wr = zr;
3597
- zr.default = zr, Br.registerRoot(zr);
3597
+ zr.default = zr, jr.registerRoot(zr);
3598
3598
  let Gr = { comma: (e) => Gr.split(e, [","], true), space(e) {
3599
3599
  let a = [" ", "\n", " "];
3600
3600
  return Gr.split(e, a);
@@ -3619,7 +3619,7 @@ let qr = tr, Zr = Vr, eo = class extends qr {
3619
3619
  };
3620
3620
  var to = eo;
3621
3621
  eo.default = eo, qr.registerRule(eo);
3622
- let no = or, ro = jn, oo = zn, so = Dr, io = wr, ao = Wr, po = to;
3622
+ let no = or, ro = Bn, oo = zn, so = Dr, io = br, ao = Wr, po = to;
3623
3623
  function Ye(e, a) {
3624
3624
  if (Array.isArray(e)) return e.map((e2) => Ye(e2));
3625
3625
  let { inputs: u, ...w2 } = e;
@@ -3643,7 +3643,7 @@ function Ye(e, a) {
3643
3643
  }
3644
3644
  var ho = Ye;
3645
3645
  Ye.default = Ye;
3646
- let { dirname: fo, relative: mo, resolve: go, sep: yo } = nn, { SourceMapConsumer: wo, SourceMapGenerator: _o } = nn, { pathToFileURL: Ao } = nn, $o = Dr, jo = !(!wo || !_o), Bo = !!(fo && go && mo && yo);
3646
+ let { dirname: fo, relative: mo, resolve: go, sep: yo } = nn, { SourceMapConsumer: wo, SourceMapGenerator: _o } = nn, { pathToFileURL: Ao } = nn, $o = Dr, Bo = !(!wo || !_o), jo = !!(fo && go && mo && yo);
3647
3647
  var zo = class {
3648
3648
  constructor(e, a, u, w2) {
3649
3649
  this.stringify = e, this.mapOpts = u.map || {}, this.root = a, this.opts = u, this.css = w2, this.originalCSS = w2, this.usesFileUrls = !this.mapOpts.from && this.mapOpts.absolute, this.memoizedFileURLs = /* @__PURE__ */ new Map(), this.memoizedPaths = /* @__PURE__ */ new Map(), this.memoizedURLs = /* @__PURE__ */ new Map();
@@ -3667,7 +3667,7 @@ var zo = class {
3667
3667
  } else this.css && (this.css = this.css.replace(/\n*\/\*#[\S\s]*?\*\/$/gm, ""));
3668
3668
  }
3669
3669
  generate() {
3670
- if (this.clearAnnotation(), Bo && jo && this.isMap()) return this.generateMap();
3670
+ if (this.clearAnnotation(), jo && Bo && this.isMap()) return this.generateMap();
3671
3671
  {
3672
3672
  let e = "";
3673
3673
  return this.stringify(this.root, (a) => {
@@ -3773,8 +3773,8 @@ var zo = class {
3773
3773
  }
3774
3774
  };
3775
3775
  const Wo = /[\t\n\f\r "#'()/;[\\\]{}]/g, Vo = /[\t\n\f\r !"#'():;@[\\\]{}]|\/(?=\*)/g, Ho = /.[\r\n"'(/\\]/, qo = /[\da-f]/i;
3776
- let Ko = or, Jo = jn, Xo = zn, Qo = Wr, es = to, tl = function(e, a = {}) {
3777
- let u, w2, x2, I2, M2, _2, A2, F2, $2, j2, B2 = e.css.valueOf(), U2 = a.ignoreErrors, z2 = B2.length, W2 = 0, G2 = [], H2 = [];
3776
+ let Ko = or, Jo = Bn, Xo = zn, Qo = Wr, es = to, tl = function(e, a = {}) {
3777
+ let u, w2, x2, I2, M2, _2, A2, F2, $2, B2, j2 = e.css.valueOf(), U2 = a.ignoreErrors, z2 = j2.length, W2 = 0, G2 = [], H2 = [];
3778
3778
  function v(a2) {
3779
3779
  throw e.error("Unclosed " + a2, W2);
3780
3780
  }
@@ -3786,7 +3786,7 @@ let Ko = or, Jo = jn, Xo = zn, Qo = Wr, es = to, tl = function(e, a = {}) {
3786
3786
  if (H2.length) return H2.pop();
3787
3787
  if (W2 >= z2) return;
3788
3788
  let a2 = !!e2 && e2.ignoreUnclosed;
3789
- switch (u = B2.charCodeAt(W2), u) {
3789
+ switch (u = j2.charCodeAt(W2), u) {
3790
3790
  case 10:
3791
3791
  case 32:
3792
3792
  case 9:
@@ -3794,9 +3794,9 @@ let Ko = or, Jo = jn, Xo = zn, Qo = Wr, es = to, tl = function(e, a = {}) {
3794
3794
  case 12:
3795
3795
  I2 = W2;
3796
3796
  do {
3797
- I2 += 1, u = B2.charCodeAt(I2);
3797
+ I2 += 1, u = j2.charCodeAt(I2);
3798
3798
  } while (32 === u || 10 === u || 9 === u || 13 === u || 12 === u);
3799
- _2 = ["space", B2.slice(W2, I2)], W2 = I2 - 1;
3799
+ _2 = ["space", j2.slice(W2, I2)], W2 = I2 - 1;
3800
3800
  break;
3801
3801
  case 91:
3802
3802
  case 93:
@@ -3810,49 +3810,49 @@ let Ko = or, Jo = jn, Xo = zn, Qo = Wr, es = to, tl = function(e, a = {}) {
3810
3810
  break;
3811
3811
  }
3812
3812
  case 40:
3813
- if (j2 = G2.length ? G2.pop()[1] : "", $2 = B2.charCodeAt(W2 + 1), "url" === j2 && 39 !== $2 && 34 !== $2 && 32 !== $2 && 10 !== $2 && 9 !== $2 && 12 !== $2 && 13 !== $2) {
3813
+ if (B2 = G2.length ? G2.pop()[1] : "", $2 = j2.charCodeAt(W2 + 1), "url" === B2 && 39 !== $2 && 34 !== $2 && 32 !== $2 && 10 !== $2 && 9 !== $2 && 12 !== $2 && 13 !== $2) {
3814
3814
  I2 = W2;
3815
3815
  do {
3816
- if (A2 = false, I2 = B2.indexOf(")", I2 + 1), -1 === I2) {
3816
+ if (A2 = false, I2 = j2.indexOf(")", I2 + 1), -1 === I2) {
3817
3817
  if (U2 || a2) {
3818
3818
  I2 = W2;
3819
3819
  break;
3820
3820
  }
3821
3821
  v("bracket");
3822
3822
  }
3823
- for (F2 = I2; 92 === B2.charCodeAt(F2 - 1); ) F2 -= 1, A2 = !A2;
3823
+ for (F2 = I2; 92 === j2.charCodeAt(F2 - 1); ) F2 -= 1, A2 = !A2;
3824
3824
  } while (A2);
3825
- _2 = ["brackets", B2.slice(W2, I2 + 1), W2, I2], W2 = I2;
3826
- } else I2 = B2.indexOf(")", W2 + 1), w2 = B2.slice(W2, I2 + 1), -1 === I2 || Ho.test(w2) ? _2 = ["(", "(", W2] : (_2 = ["brackets", w2, W2, I2], W2 = I2);
3825
+ _2 = ["brackets", j2.slice(W2, I2 + 1), W2, I2], W2 = I2;
3826
+ } else I2 = j2.indexOf(")", W2 + 1), w2 = j2.slice(W2, I2 + 1), -1 === I2 || Ho.test(w2) ? _2 = ["(", "(", W2] : (_2 = ["brackets", w2, W2, I2], W2 = I2);
3827
3827
  break;
3828
3828
  case 39:
3829
3829
  case 34:
3830
3830
  M2 = 39 === u ? "'" : '"', I2 = W2;
3831
3831
  do {
3832
- if (A2 = false, I2 = B2.indexOf(M2, I2 + 1), -1 === I2) {
3832
+ if (A2 = false, I2 = j2.indexOf(M2, I2 + 1), -1 === I2) {
3833
3833
  if (U2 || a2) {
3834
3834
  I2 = W2 + 1;
3835
3835
  break;
3836
3836
  }
3837
3837
  v("string");
3838
3838
  }
3839
- for (F2 = I2; 92 === B2.charCodeAt(F2 - 1); ) F2 -= 1, A2 = !A2;
3839
+ for (F2 = I2; 92 === j2.charCodeAt(F2 - 1); ) F2 -= 1, A2 = !A2;
3840
3840
  } while (A2);
3841
- _2 = ["string", B2.slice(W2, I2 + 1), W2, I2], W2 = I2;
3841
+ _2 = ["string", j2.slice(W2, I2 + 1), W2, I2], W2 = I2;
3842
3842
  break;
3843
3843
  case 64:
3844
- Wo.lastIndex = W2 + 1, Wo.test(B2), I2 = 0 === Wo.lastIndex ? B2.length - 1 : Wo.lastIndex - 2, _2 = ["at-word", B2.slice(W2, I2 + 1), W2, I2], W2 = I2;
3844
+ Wo.lastIndex = W2 + 1, Wo.test(j2), I2 = 0 === Wo.lastIndex ? j2.length - 1 : Wo.lastIndex - 2, _2 = ["at-word", j2.slice(W2, I2 + 1), W2, I2], W2 = I2;
3845
3845
  break;
3846
3846
  case 92:
3847
- for (I2 = W2, x2 = true; 92 === B2.charCodeAt(I2 + 1); ) I2 += 1, x2 = !x2;
3848
- if (u = B2.charCodeAt(I2 + 1), x2 && 47 !== u && 32 !== u && 10 !== u && 9 !== u && 13 !== u && 12 !== u && (I2 += 1, qo.test(B2.charAt(I2)))) {
3849
- for (; qo.test(B2.charAt(I2 + 1)); ) I2 += 1;
3850
- 32 === B2.charCodeAt(I2 + 1) && (I2 += 1);
3847
+ for (I2 = W2, x2 = true; 92 === j2.charCodeAt(I2 + 1); ) I2 += 1, x2 = !x2;
3848
+ if (u = j2.charCodeAt(I2 + 1), x2 && 47 !== u && 32 !== u && 10 !== u && 9 !== u && 13 !== u && 12 !== u && (I2 += 1, qo.test(j2.charAt(I2)))) {
3849
+ for (; qo.test(j2.charAt(I2 + 1)); ) I2 += 1;
3850
+ 32 === j2.charCodeAt(I2 + 1) && (I2 += 1);
3851
3851
  }
3852
- _2 = ["word", B2.slice(W2, I2 + 1), W2, I2], W2 = I2;
3852
+ _2 = ["word", j2.slice(W2, I2 + 1), W2, I2], W2 = I2;
3853
3853
  break;
3854
3854
  default:
3855
- 47 === u && 42 === B2.charCodeAt(W2 + 1) ? (I2 = B2.indexOf("*/", W2 + 2) + 1, 0 === I2 && (U2 || a2 ? I2 = B2.length : v("comment")), _2 = ["comment", B2.slice(W2, I2 + 1), W2, I2], W2 = I2) : (Vo.lastIndex = W2 + 1, Vo.test(B2), I2 = 0 === Vo.lastIndex ? B2.length - 1 : Vo.lastIndex - 2, _2 = ["word", B2.slice(W2, I2 + 1), W2, I2], G2.push(_2), W2 = I2);
3855
+ 47 === u && 42 === j2.charCodeAt(W2 + 1) ? (I2 = j2.indexOf("*/", W2 + 2) + 1, 0 === I2 && (U2 || a2 ? I2 = j2.length : v("comment")), _2 = ["comment", j2.slice(W2, I2 + 1), W2, I2], W2 = I2) : (Vo.lastIndex = W2 + 1, Vo.test(j2), I2 = 0 === Vo.lastIndex ? j2.length - 1 : Vo.lastIndex - 2, _2 = ["word", j2.slice(W2, I2 + 1), W2, I2], G2.push(_2), W2 = I2);
3856
3856
  }
3857
3857
  return W2++, _2;
3858
3858
  }, position: function b() {
@@ -4155,7 +4155,7 @@ let hs = {};
4155
4155
  var lo = function(e) {
4156
4156
  hs[e] || (hs[e] = true, typeof console < "u" && console.warn && console.warn(e));
4157
4157
  };
4158
- let fs = tr, ms = cr, ys = zo, ws = as, bs = ps, Ss = Wr, vs = mn, { isClean: ks, my: Cs } = gn, Ms = lo;
4158
+ let fs = tr, ms = cr, ys = zo, bs = as, ws = ps, Ss = Wr, vs = mn, { isClean: ks, my: Cs } = gn, Ms = lo;
4159
4159
  const Es = { atrule: "AtRule", comment: "Comment", decl: "Declaration", document: "Document", root: "Root", rule: "Rule" }, Os = { AtRule: true, AtRuleExit: true, Comment: true, CommentExit: true, Declaration: true, DeclarationExit: true, Document: true, DocumentExit: true, Once: true, OnceExit: true, postcssPlugin: true, prepare: true, Root: true, RootExit: true, Rule: true, RuleExit: true }, Ls = { Once: true, postcssPlugin: true, prepare: true };
4160
4160
  function Fe(e) {
4161
4161
  return "object" == typeof e && "function" == typeof e.then;
@@ -4198,9 +4198,9 @@ let Ts = {}, Rs = class co {
4198
4198
  }
4199
4199
  constructor(e, a, u) {
4200
4200
  let w2;
4201
- if (this.stringified = false, this.processed = false, "object" != typeof a || null === a || "root" !== a.type && "document" !== a.type) if (a instanceof co || a instanceof bs) w2 = Ns(a.root), a.map && (typeof u.map > "u" && (u.map = {}), u.map.inline || (u.map.inline = false), u.map.prev = a.map);
4201
+ if (this.stringified = false, this.processed = false, "object" != typeof a || null === a || "root" !== a.type && "document" !== a.type) if (a instanceof co || a instanceof ws) w2 = Ns(a.root), a.map && (typeof u.map > "u" && (u.map = {}), u.map.inline || (u.map.inline = false), u.map.prev = a.map);
4202
4202
  else {
4203
- let e2 = ws;
4203
+ let e2 = bs;
4204
4204
  u.syntax && (e2 = u.syntax.parse), u.parser && (e2 = u.parser), e2.parse && (e2 = e2.parse);
4205
4205
  try {
4206
4206
  w2 = e2(a, u);
@@ -4210,7 +4210,7 @@ let Ts = {}, Rs = class co {
4210
4210
  w2 && !w2[Cs] && fs.rebuild(w2);
4211
4211
  }
4212
4212
  else w2 = Ns(a);
4213
- this.result = new bs(e, w2, u), this.helpers = { ...Ts, postcss: Ts, result: this.result }, this.plugins = this.processor.plugins.map((e2) => "object" == typeof e2 && e2.prepare ? { ...e2, ...e2.prepare(this.result) } : e2);
4213
+ this.result = new ws(e, w2, u), this.helpers = { ...Ts, postcss: Ts, result: this.result }, this.plugins = this.processor.plugins.map((e2) => "object" == typeof e2 && e2.prepare ? { ...e2, ...e2.prepare(this.result) } : e2);
4214
4214
  }
4215
4215
  async() {
4216
4216
  return this.error ? Promise.reject(this.error) : this.processed ? Promise.resolve(this.result) : (this.processing || (this.processing = this.runAsync()), this.processing);
@@ -4488,7 +4488,7 @@ let Hs = cr, qs = As, Ks = Gs, Ys = Wr, Zs = class {
4488
4488
  };
4489
4489
  var Js = Zs;
4490
4490
  Zs.default = Zs, Ys.registerProcessor(Zs), Hs.registerProcessor(Zs);
4491
- let Xs = or, ei = jn, ti = tr, ni = cn, ri = zn, oi = cr, si = ho, ii = Dr, ai = As, li = Vr, di = xn, pi = as, fi = Js, mi = ps, gi = Wr, yi = to, wi = mn, bi = cs;
4491
+ let Xs = or, ei = Bn, ti = tr, ni = cn, ri = zn, oi = cr, si = ho, ii = Dr, ai = As, li = Vr, di = xn, pi = as, fi = Js, mi = ps, gi = Wr, yi = to, bi = mn, wi = cs;
4492
4492
  function N(...e) {
4493
4493
  return 1 === e.length && Array.isArray(e[0]) && (e = e[0]), new fi(e);
4494
4494
  }
@@ -4502,7 +4502,7 @@ N.plugin = function(e, a) {
4502
4502
  return Object.defineProperty(r, "postcss", { get: () => (u || (u = r()), u) }), r.process = function(e2, a2, u2) {
4503
4503
  return N([r(u2)]).process(e2, a2);
4504
4504
  }, r;
4505
- }, N.stringify = wi, N.parse = pi, N.fromJSON = si, N.list = li, N.comment = (e) => new ei(e), N.atRule = (e) => new Xs(e), N.decl = (e) => new ri(e), N.rule = (e) => new yi(e), N.root = (e) => new gi(e), N.document = (e) => new oi(e), N.CssSyntaxError = ni, N.Declaration = ri, N.Container = ti, N.Processor = fi, N.Document = oi, N.Comment = ei, N.Warning = bi, N.AtRule = Xs, N.Result = mi, N.Input = ii, N.Rule = yi, N.Root = gi, N.Node = di, ai.registerPostcss(N);
4505
+ }, N.stringify = bi, N.parse = pi, N.fromJSON = si, N.list = li, N.comment = (e) => new ei(e), N.atRule = (e) => new Xs(e), N.decl = (e) => new ri(e), N.rule = (e) => new yi(e), N.root = (e) => new gi(e), N.document = (e) => new oi(e), N.CssSyntaxError = ni, N.Declaration = ri, N.Container = ti, N.Processor = fi, N.Document = oi, N.Comment = ei, N.Warning = wi, N.AtRule = Xs, N.Result = mi, N.Input = ii, N.Rule = yi, N.Root = gi, N.Node = di, ai.registerPostcss(N);
4506
4506
  var Si = N;
4507
4507
  N.default = N;
4508
4508
  const vi = qi(Si);
@@ -4905,9 +4905,9 @@ class eu {
4905
4905
  let _2 = 0;
4906
4906
  const A2 = u3.length - I2, F2 = w3.length - I2, $2 = Math.min(A2, F2);
4907
4907
  for (; _2 < $2 && u3[u3.length - 1 - _2] === w3[w3.length - 1 - _2]; ) _2++;
4908
- const j2 = u3.length - I2 - _2, B2 = w3.length - I2 - _2, U2 = w3.slice(I2, w3.length - _2);
4908
+ const B2 = u3.length - I2 - _2, j2 = w3.length - I2 - _2, U2 = w3.slice(I2, w3.length - _2);
4909
4909
  let z2;
4910
- return z2 = 0 === j2 && B2 > 0 ? { op: _i.Insert, pos: I2, text: U2 } : j2 > 0 && 0 === B2 ? { op: _i.Delete, pos: I2, length: j2 } : { op: _i.Replace, pos: I2, deleteCount: j2, text: U2 }, { delta: z2, deltaSize: mt({ delta: z2 }), fullTextSize: x3 };
4910
+ return z2 = 0 === B2 && j2 > 0 ? { op: _i.Insert, pos: I2, text: U2 } : B2 > 0 && 0 === j2 ? { op: _i.Delete, pos: I2, length: B2 } : { op: _i.Replace, pos: I2, deleteCount: B2, text: U2 }, { delta: z2, deltaSize: mt({ delta: z2 }), fullTextSize: x3 };
4911
4911
  })(e2.oldValue, e2.value);
4912
4912
  if ((function Ql(e3) {
4913
4913
  return !!e3.delta && e3.deltaSize < 0.8 * e3.fullTextSize;
@@ -5082,8 +5082,8 @@ function ru({ mouseInteractionCb: e, doc: a, mirror: u, blockClass: w2, blockSel
5082
5082
  null !== _3 ? (A2 = _3, (F3.startsWith("Touch") && _3 === Fi.Touch || F3.startsWith("Mouse") && _3 === Fi.Mouse) && (_3 = null)) : Ai[a2] === Ai.Click && (_3 = A2, A2 = null);
5083
5083
  const $2 = Us(I4) ? I4.changedTouches[0] : I4;
5084
5084
  if (!$2) return;
5085
- const j2 = u.getId(M4), { clientX: B2, clientY: U2 } = $2;
5086
- E(e)({ type: Ai[F3], id: j2, x: B2, y: U2, ...null !== _3 && { pointerType: _3 } });
5085
+ const B2 = u.getId(M4), { clientX: j2, clientY: U2 } = $2;
5086
+ E(e)({ type: Ai[F3], id: B2, x: j2, y: U2, ...null !== _3 && { pointerType: _3 } });
5087
5087
  })(I3);
5088
5088
  if (window.PointerEvent) switch (Ai[I3]) {
5089
5089
  case Ai.MouseDown:
@@ -5187,7 +5187,7 @@ function gu(e, a = {}) {
5187
5187
  };
5188
5188
  let w2;
5189
5189
  !(function mu(e2, a2) {
5190
- const { mutationCb: u2, mousemoveCb: w3, mouseInteractionCb: x3, scrollCb: I3, viewportResizeCb: M3, inputCb: _3, typingCb: A3, deviceChangeCb: F3, mediaInteractionCb: $3, styleSheetRuleCb: j3, styleDeclarationCb: B3, canvasMutationCb: U3, fontCb: z3, selectionCb: W2, customElementCb: G2 } = e2;
5190
+ const { mutationCb: u2, mousemoveCb: w3, mouseInteractionCb: x3, scrollCb: I3, viewportResizeCb: M3, inputCb: _3, typingCb: A3, deviceChangeCb: F3, mediaInteractionCb: $3, styleSheetRuleCb: B3, styleDeclarationCb: j3, canvasMutationCb: U3, fontCb: z3, selectionCb: W2, customElementCb: G2 } = e2;
5191
5191
  e2.mutationCb = (...e3) => {
5192
5192
  a2.mutation && a2.mutation(...e3), u2(...e3);
5193
5193
  }, e2.mousemoveCb = (...e3) => {
@@ -5207,9 +5207,9 @@ function gu(e, a = {}) {
5207
5207
  }, e2.mediaInteractionCb = (...e3) => {
5208
5208
  a2.mediaInteaction && a2.mediaInteaction(...e3), $3(...e3);
5209
5209
  }, e2.styleSheetRuleCb = (...e3) => {
5210
- a2.styleSheetRule && a2.styleSheetRule(...e3), j3(...e3);
5210
+ a2.styleSheetRule && a2.styleSheetRule(...e3), B3(...e3);
5211
5211
  }, e2.styleDeclarationCb = (...e3) => {
5212
- a2.styleDeclaration && a2.styleDeclaration(...e3), B3(...e3);
5212
+ a2.styleDeclaration && a2.styleDeclaration(...e3), j3(...e3);
5213
5213
  }, e2.canvasMutationCb = (...e3) => {
5214
5214
  a2.canvasMutation && a2.canvasMutation(...e3), U3(...e3);
5215
5215
  }, e2.fontCb = (...e3) => {
@@ -5245,11 +5245,11 @@ function gu(e, a = {}) {
5245
5245
  })(e, { win: u }), A2 = (function iu({ inputCb: e2, doc: a2, mirror: u2, blockClass: w3, blockSelector: x3, ignoreClass: I3, ignoreSelector: M3, maskInputOptions: _3, maskInputFn: A3, sampling: F3, userTriggeredOnInput: $3 }) {
5246
5246
  function p(e3) {
5247
5247
  let u3 = st(e3);
5248
- const F4 = e3.isTrusted, j4 = u3 && u3.tagName;
5249
- if (u3 && "OPTION" === j4 && (u3 = u3.parentElement), !u3 || !j4 || oa.indexOf(j4) < 0 || $$1(u3, w3, x3, true) || u3.classList.contains(I3) || M3 && u3.matches(M3)) return;
5250
- let B4 = u3.value, U4 = false;
5251
- const z4 = Ht(u3) || "", { value: W2, masked: G2 } = Zt({ element: u3, maskInputOptions: _3, tagName: j4, type: z4, value: B4, maskInputFn: A3 });
5252
- B4 = W2, ("radio" === z4 || "checkbox" === z4) && (U4 = u3.checked), m2(u3, $3 ? { text: B4, isChecked: U4, masked: G2, userTriggered: F4 } : { text: B4, isChecked: U4, masked: G2 });
5248
+ const F4 = e3.isTrusted, B4 = u3 && u3.tagName;
5249
+ if (u3 && "OPTION" === B4 && (u3 = u3.parentElement), !u3 || !B4 || oa.indexOf(B4) < 0 || $$1(u3, w3, x3, true) || u3.classList.contains(I3) || M3 && u3.matches(M3)) return;
5250
+ let j4 = u3.value, U4 = false;
5251
+ const z4 = Ht(u3) || "", { value: W2, masked: G2 } = Zt({ element: u3, maskInputOptions: _3, tagName: B4, type: z4, value: j4, maskInputFn: A3 });
5252
+ j4 = W2, ("radio" === z4 || "checkbox" === z4) && (U4 = u3.checked), m2(u3, $3 ? { text: j4, isChecked: U4, masked: G2, userTriggered: F4 } : { text: j4, isChecked: U4, masked: G2 });
5253
5253
  const H2 = u3.name;
5254
5254
  "radio" === z4 && H2 && U4 && a2.querySelectorAll(`input[type='radio'][name='${H2}']`).forEach((e4) => {
5255
5255
  if (e4 !== u3) {
@@ -5266,15 +5266,15 @@ function gu(e, a = {}) {
5266
5266
  E(e2)({ ...w4, id: x5 });
5267
5267
  }
5268
5268
  }
5269
- const j3 = ("last" === F3.input ? ["change"] : ["input", "change"]).map((e3) => V(e3, E(p), a2)), B3 = a2.defaultView;
5270
- if (!B3) return () => {
5271
- j3.forEach((e3) => e3());
5269
+ const B3 = ("last" === F3.input ? ["change"] : ["input", "change"]).map((e3) => V(e3, E(p), a2)), j3 = a2.defaultView;
5270
+ if (!j3) return () => {
5271
+ B3.forEach((e3) => e3());
5272
5272
  };
5273
- const U3 = B3.Object.getOwnPropertyDescriptor(B3.HTMLInputElement.prototype, "value"), z3 = [[B3.HTMLInputElement.prototype, "value"], [B3.HTMLInputElement.prototype, "checked"], [B3.HTMLSelectElement.prototype, "value"], [B3.HTMLTextAreaElement.prototype, "value"], [B3.HTMLSelectElement.prototype, "selectedIndex"], [B3.HTMLOptionElement.prototype, "selected"]];
5274
- return U3 && U3.set && j3.push(...z3.map((e3) => ts(e3[0], e3[1], { set() {
5273
+ const U3 = j3.Object.getOwnPropertyDescriptor(j3.HTMLInputElement.prototype, "value"), z3 = [[j3.HTMLInputElement.prototype, "value"], [j3.HTMLInputElement.prototype, "checked"], [j3.HTMLSelectElement.prototype, "value"], [j3.HTMLTextAreaElement.prototype, "value"], [j3.HTMLSelectElement.prototype, "selectedIndex"], [j3.HTMLOptionElement.prototype, "selected"]];
5274
+ return U3 && U3.set && B3.push(...z3.map((e3) => ts(e3[0], e3[1], { set() {
5275
5275
  E(p)({ target: this, isTrusted: false });
5276
- } }, false, B3))), E(() => {
5277
- j3.forEach((e3) => e3());
5276
+ } }, false, j3))), E(() => {
5277
+ B3.forEach((e3) => e3());
5278
5278
  });
5279
5279
  })(e), F2 = (function au({ typingCb: e2, doc: a2, maskInputOptions: u2, maskInputFn: w3 }) {
5280
5280
  const x3 = V("keydown", (a3) => {
@@ -5308,12 +5308,12 @@ function gu(e, a = {}) {
5308
5308
  return () => {
5309
5309
  x3();
5310
5310
  };
5311
- })(e), $2 = lu(e), j2 = (function hu({ mediaInteractionCb: e2, blockClass: a2, blockSelector: u2, mirror: w3, sampling: x3, doc: I3 }) {
5311
+ })(e), $2 = lu(e), B2 = (function hu({ mediaInteractionCb: e2, blockClass: a2, blockSelector: u2, mirror: w3, sampling: x3, doc: I3 }) {
5312
5312
  const M3 = E((I4) => He(E((x4) => {
5313
5313
  const M4 = st(x4);
5314
5314
  if (!M4 || $$1(M4, a2, u2, true)) return;
5315
- const { currentTime: _4, volume: A3, muted: F3, playbackRate: $3, loop: j3 } = M4;
5316
- e2({ type: I4, id: w3.getId(M4), currentTime: _4, volume: A3, muted: F3, playbackRate: $3, loop: j3 });
5315
+ const { currentTime: _4, volume: A3, muted: F3, playbackRate: $3, loop: B3 } = M4;
5316
+ e2({ type: I4, id: w3.getId(M4), currentTime: _4, volume: A3, muted: F3, playbackRate: $3, loop: B3 });
5317
5317
  }), x3.media || 500)), _3 = [V("play", M3(Bi.Play), I3), V("pause", M3(Bi.Pause), I3), V("seeked", M3(Bi.Seeked), I3), V("volumechange", M3(Bi.VolumeChange), I3), V("ratechange", M3(Bi.RateChange), I3)];
5318
5318
  return E(() => {
5319
5319
  _3.forEach((e3) => e3());
@@ -5364,18 +5364,18 @@ function gu(e, a = {}) {
5364
5364
  const I3 = x3.CSSStyleDeclaration.prototype.setProperty;
5365
5365
  x3.CSSStyleDeclaration.prototype.setProperty = new Proxy(I3, { apply: E((x4, M4, _3) => {
5366
5366
  var A3;
5367
- const [F3, $3, j3] = _3;
5368
- if (u2.has(F3)) return I3.apply(M4, [F3, $3, j3]);
5369
- const { id: B3, styleId: U3 } = de(null == (A3 = M4.parentRule) ? void 0 : A3.parentStyleSheet, a2, w3.styleMirror);
5370
- return (B3 && -1 !== B3 || U3 && -1 !== U3) && e2({ id: B3, styleId: U3, set: { property: F3, value: $3, priority: j3 }, index: jt(M4.parentRule) }), x4.apply(M4, _3);
5367
+ const [F3, $3, B3] = _3;
5368
+ if (u2.has(F3)) return I3.apply(M4, [F3, $3, B3]);
5369
+ const { id: j3, styleId: U3 } = de(null == (A3 = M4.parentRule) ? void 0 : A3.parentStyleSheet, a2, w3.styleMirror);
5370
+ return (j3 && -1 !== j3 || U3 && -1 !== U3) && e2({ id: j3, styleId: U3, set: { property: F3, value: $3, priority: B3 }, index: jt(M4.parentRule) }), x4.apply(M4, _3);
5371
5371
  }) });
5372
5372
  const M3 = x3.CSSStyleDeclaration.prototype.removeProperty;
5373
5373
  return x3.CSSStyleDeclaration.prototype.removeProperty = new Proxy(M3, { apply: E((x4, I4, _3) => {
5374
5374
  var A3;
5375
5375
  const [F3] = _3;
5376
5376
  if (u2.has(F3)) return M3.apply(I4, [F3]);
5377
- const { id: $3, styleId: j3 } = de(null == (A3 = I4.parentRule) ? void 0 : A3.parentStyleSheet, a2, w3.styleMirror);
5378
- return ($3 && -1 !== $3 || j3 && -1 !== j3) && e2({ id: $3, styleId: j3, remove: { property: F3 }, index: jt(I4.parentRule) }), x4.apply(I4, _3);
5377
+ const { id: $3, styleId: B3 } = de(null == (A3 = I4.parentRule) ? void 0 : A3.parentStyleSheet, a2, w3.styleMirror);
5378
+ return ($3 && -1 !== $3 || B3 && -1 !== B3) && e2({ id: $3, styleId: B3, remove: { property: F3 }, index: jt(I4.parentRule) }), x4.apply(I4, _3);
5379
5379
  }) }), E(() => {
5380
5380
  x3.CSSStyleDeclaration.prototype.setProperty = I3, x3.CSSStyleDeclaration.prototype.removeProperty = M3;
5381
5381
  });
@@ -5404,7 +5404,7 @@ function gu(e, a = {}) {
5404
5404
  w3.forEach((e3) => e3());
5405
5405
  });
5406
5406
  })(e)));
5407
- const B2 = (function du(e2) {
5407
+ const j2 = (function du(e2) {
5408
5408
  const { doc: a2, mirror: u2, blockClass: w3, blockSelector: x3, selectionCb: I3 } = e2;
5409
5409
  let M3 = true;
5410
5410
  const _3 = E(() => {
@@ -5435,7 +5435,7 @@ function gu(e, a = {}) {
5435
5435
  })(e), z2 = [];
5436
5436
  for (const a2 of e.plugins) z2.push(a2.observer(a2.callback, u, a2.options));
5437
5437
  return E(() => {
5438
- ra.forEach((e2) => e2.reset()), null == w2 || w2.disconnect(), x2(), I2(), M2(), _2(), A2(), F2(), j2(), m(), f(), g2(), h(), B2(), U2(), $2(), z2.forEach((e2) => e2());
5438
+ ra.forEach((e2) => e2.reset()), null == w2 || w2.disconnect(), x2(), I2(), M2(), _2(), A2(), F2(), B2(), m(), f(), g2(), h(), j2(), U2(), $2(), z2.forEach((e2) => e2());
5439
5439
  });
5440
5440
  }
5441
5441
  function gt(e) {
@@ -5751,11 +5751,11 @@ try {
5751
5751
  } catch (la2) {
5752
5752
  console.debug("Unable to override Array.from", la2);
5753
5753
  }
5754
- const wa = (function Li() {
5754
+ const ba = (function Li() {
5755
5755
  return new Lt();
5756
5756
  })();
5757
5757
  function he(e = {}) {
5758
- const { emit: a, checkoutEveryNms: u, checkoutEveryNth: w2, blockClass: x2 = "rr-block", blockSelector: I2 = null, ignoreClass: M2 = "rr-ignore", ignoreSelector: _2 = null, maskTextClass: A2 = "rr-mask", maskTextSelector: F2 = null, inlineStylesheet: $2 = true, maskAllInputs: j2, maskInputOptions: B2, slimDOMOptions: U2, maskInputFn: z2, maskTextFn: W2, hooks: G2, packFn: H2, sampling: K2 = {}, dataURLOptions: Y2 = {}, mousemoveWait: Z2, recordDOM: J2 = true, recordCanvas: X2 = false, recordCrossOriginIframes: Q2 = false, recordAfter: ee2 = "DOMContentLoaded" === e.recordAfter ? e.recordAfter : "load", userTriggeredOnInput: te2 = false, collectFonts: ne2 = false, inlineImages: re2 = false, plugins: se2, keepIframeSrcFn: le2 = () => false, ignoreCSSAttributes: ce2 = /* @__PURE__ */ new Set([]), errorHandler: ue2 } = e;
5758
+ const { emit: a, checkoutEveryNms: u, checkoutEveryNth: w2, blockClass: x2 = "rr-block", blockSelector: I2 = null, ignoreClass: M2 = "rr-ignore", ignoreSelector: _2 = null, maskTextClass: A2 = "rr-mask", maskTextSelector: F2 = null, inlineStylesheet: $2 = true, maskAllInputs: B2, maskInputOptions: j2, slimDOMOptions: U2, maskInputFn: z2, maskTextFn: W2, hooks: G2, packFn: H2, sampling: K2 = {}, dataURLOptions: Y2 = {}, mousemoveWait: Z2, recordDOM: J2 = true, recordCanvas: X2 = false, recordCrossOriginIframes: Q2 = false, recordAfter: ee2 = "DOMContentLoaded" === e.recordAfter ? e.recordAfter : "load", userTriggeredOnInput: te2 = false, collectFonts: ne2 = false, inlineImages: re2 = false, plugins: se2, keepIframeSrcFn: le2 = () => false, ignoreCSSAttributes: ce2 = /* @__PURE__ */ new Set([]), errorHandler: ue2 } = e;
5759
5759
  !(function Hl(e2) {
5760
5760
  Wi = e2;
5761
5761
  })(ue2);
@@ -5769,8 +5769,8 @@ function he(e = {}) {
5769
5769
  if (pe2 && !a) throw new Error("emit function is required");
5770
5770
  if (!pe2 && !fe2) return () => {
5771
5771
  };
5772
- void 0 !== Z2 && void 0 === K2.mousemove && (K2.mousemove = Z2), wa.reset();
5773
- const me2 = true === j2 ? { color: true, date: true, "datetime-local": true, email: true, month: true, number: true, range: true, search: true, tel: true, text: true, time: true, url: true, week: true, textarea: true, select: true, password: true } : void 0 !== B2 ? B2 : { password: true }, ye2 = true === U2 || "all" === U2 ? { script: true, comment: true, headFavicon: true, headWhitespace: true, headMetaSocial: true, headMetaRobots: true, headMetaHttpEquiv: true, headMetaVerification: true, headMetaAuthorship: "all" === U2, headMetaDescKeywords: "all" === U2, headTitleMutations: "all" === U2 } : U2 || {};
5772
+ void 0 !== Z2 && void 0 === K2.mousemove && (K2.mousemove = Z2), ba.reset();
5773
+ const me2 = true === B2 ? { color: true, date: true, "datetime-local": true, email: true, month: true, number: true, range: true, search: true, tel: true, text: true, time: true, url: true, week: true, textarea: true, select: true, password: true } : void 0 !== j2 ? j2 : { password: true }, ye2 = true === U2 || "all" === U2 ? { script: true, comment: true, headFavicon: true, headWhitespace: true, headMetaSocial: true, headMetaRobots: true, headMetaHttpEquiv: true, headMetaVerification: true, headMetaAuthorship: "all" === U2, headMetaDescKeywords: "all" === U2, headTitleMutations: "all" === U2 } : U2 || {};
5774
5774
  !(function $l(e2 = window) {
5775
5775
  "NodeList" in e2 && !e2.NodeList.prototype.forEach && (e2.NodeList.prototype.forEach = Array.prototype.forEach), "DOMTokenList" in e2 && !e2.DOMTokenList.prototype.forEach && (e2.DOMTokenList.prototype.forEach = Array.prototype.forEach), Node.prototype.contains || (Node.prototype.contains = (...e3) => {
5776
5776
  let a2 = e3[0];
@@ -5781,7 +5781,7 @@ function he(e = {}) {
5781
5781
  return false;
5782
5782
  });
5783
5783
  })();
5784
- let we2, be2 = 0;
5784
+ let be2, we2 = 0;
5785
5785
  const Cr = (e2) => {
5786
5786
  for (const a2 of se2 || []) a2.eventProcessor && (e2 = a2.eventProcessor(e2));
5787
5787
  return H2 && !fe2 && (e2 = H2(e2)), e2;
@@ -5794,36 +5794,36 @@ function he(e = {}) {
5794
5794
  const e3 = { type: "@sailfish-rrweb/rrweb", event: Cr(M3), origin: window.location.origin, isCheckout: x3 };
5795
5795
  window.parent.postMessage(e3, "*");
5796
5796
  }
5797
- if (M3.type === ki.FullSnapshot) we2 = M3, be2 = 0;
5797
+ if (M3.type === ki.FullSnapshot) be2 = M3, we2 = 0;
5798
5798
  else if (M3.type === ki.IncrementalSnapshot) {
5799
5799
  if (M3.data.source === Ci.Mutation && M3.data.isAttachIframe) return;
5800
- be2++;
5801
- const e3 = w2 && be2 >= w2, a2 = u && M3.timestamp - we2.timestamp > u;
5800
+ we2++;
5801
+ const e3 = w2 && we2 >= w2, a2 = u && M3.timestamp - be2.timestamp > u;
5802
5802
  (e3 || a2) && fa(true);
5803
5803
  }
5804
5804
  };
5805
5805
  const ot = (e2) => {
5806
5806
  ha({ type: ki.IncrementalSnapshot, data: { source: Ci.Mutation, ...e2 } });
5807
- }, kr = (e2) => ha({ type: ki.IncrementalSnapshot, data: { source: Ci.Scroll, ...e2 } }), xr = (e2) => ha({ type: ki.IncrementalSnapshot, data: { source: Ci.CanvasMutation, ...e2 } }), Se2 = new Ru({ mutationCb: ot, adoptedStyleSheetCb: (e2) => ha({ type: ki.IncrementalSnapshot, data: { source: Ci.AdoptedStyleSheet, ...e2 } }) }), ve2 = new Jl({ mirror: wa, mutationCb: ot, stylesheetManager: Se2, recordCrossOriginIframes: Q2, wrappedEmit: ha });
5808
- for (const e2 of se2 || []) e2.getMirror && e2.getMirror({ nodeMirror: wa, crossOriginIframeMirror: ve2.crossOriginIframeMirror, crossOriginIframeStyleMirror: ve2.crossOriginIframeStyleMirror });
5807
+ }, kr = (e2) => ha({ type: ki.IncrementalSnapshot, data: { source: Ci.Scroll, ...e2 } }), xr = (e2) => ha({ type: ki.IncrementalSnapshot, data: { source: Ci.CanvasMutation, ...e2 } }), Se2 = new Ru({ mutationCb: ot, adoptedStyleSheetCb: (e2) => ha({ type: ki.IncrementalSnapshot, data: { source: Ci.AdoptedStyleSheet, ...e2 } }) }), ve2 = new Jl({ mirror: ba, mutationCb: ot, stylesheetManager: Se2, recordCrossOriginIframes: Q2, wrappedEmit: ha });
5808
+ for (const e2 of se2 || []) e2.getMirror && e2.getMirror({ nodeMirror: ba, crossOriginIframeMirror: ve2.crossOriginIframeMirror, crossOriginIframeStyleMirror: ve2.crossOriginIframeStyleMirror });
5809
5809
  const Ce2 = new Mu();
5810
- ma = new Iu({ recordCanvas: X2, mutationCb: xr, win: window, blockClass: x2, blockSelector: I2, mirror: wa, sampling: K2.canvas, dataURLOptions: Y2 });
5811
- const xe2 = new Ou({ mutationCb: ot, scrollCb: kr, bypassOptions: { blockClass: x2, blockSelector: I2, maskTextClass: A2, maskTextSelector: F2, inlineStylesheet: $2, maskInputOptions: me2, dataURLOptions: Y2, maskTextFn: W2, maskInputFn: z2, recordCanvas: X2, inlineImages: re2, sampling: K2, slimDOMOptions: ye2, iframeManager: ve2, stylesheetManager: Se2, canvasManager: ma, keepIframeSrcFn: le2, processedNodeManager: Ce2 }, mirror: wa });
5810
+ ma = new Iu({ recordCanvas: X2, mutationCb: xr, win: window, blockClass: x2, blockSelector: I2, mirror: ba, sampling: K2.canvas, dataURLOptions: Y2 });
5811
+ const xe2 = new Ou({ mutationCb: ot, scrollCb: kr, bypassOptions: { blockClass: x2, blockSelector: I2, maskTextClass: A2, maskTextSelector: F2, inlineStylesheet: $2, maskInputOptions: me2, dataURLOptions: Y2, maskTextFn: W2, maskInputFn: z2, recordCanvas: X2, inlineImages: re2, sampling: K2, slimDOMOptions: ye2, iframeManager: ve2, stylesheetManager: Se2, canvasManager: ma, keepIframeSrcFn: le2, processedNodeManager: Ce2 }, mirror: ba });
5812
5812
  fa = (e2 = false) => {
5813
5813
  if (!J2) return;
5814
5814
  ha({ type: ki.Meta, data: { href: window.location.href, width: vo(), height: So() } }, e2), Se2.reset(), xe2.init(), ra.forEach((e3) => e3.lock());
5815
5815
  const a2 = [], u2 = (function Qi(e3, a3) {
5816
- const { mirror: u3 = new Lt(), blockClass: w3 = "rr-block", blockSelector: x3 = null, maskTextClass: I3 = "rr-mask", maskTextSelector: M3 = null, inlineStylesheet: _3 = true, inlineImages: A3 = false, recordCanvas: F3 = false, maskAllInputs: $3 = false, maskTextFn: j3, maskInputFn: B3, slimDOM: U3 = false, dataURLOptions: z3, preserveWhiteSpace: W3, onSerialize: G3, onIframeLoad: H3, iframeLoadTimeout: K3, onStylesheetLoad: Y3, stylesheetLoadTimeout: Z3, keepIframeSrcFn: J3 = () => false, corruptedRules: X3 } = a3 || {};
5817
- return ke(e3, { doc: e3, mirror: u3, blockClass: w3, blockSelector: x3, maskTextClass: I3, maskTextSelector: M3, skipChild: false, inlineStylesheet: _3, maskInputOptions: true === $3 ? { color: true, date: true, "datetime-local": true, email: true, month: true, number: true, range: true, search: true, tel: true, text: true, time: true, url: true, week: true, textarea: true, select: true, password: true } : false === $3 ? { password: true } : $3, maskTextFn: j3, maskInputFn: B3, slimDOMOptions: true === U3 || "all" === U3 ? { script: true, comment: true, headFavicon: true, headWhitespace: true, headMetaDescKeywords: "all" === U3, headMetaSocial: true, headMetaRobots: true, headMetaHttpEquiv: true, headMetaAuthorship: true, headMetaVerification: true } : false === U3 ? {} : U3, dataURLOptions: z3, inlineImages: A3, recordCanvas: F3, preserveWhiteSpace: W3, onSerialize: G3, onIframeLoad: H3, iframeLoadTimeout: K3, onStylesheetLoad: Y3, stylesheetLoadTimeout: Z3, keepIframeSrcFn: J3, newlyAddedElement: false, corruptedRules: X3 });
5818
- })(document, { mirror: wa, blockClass: x2, blockSelector: I2, maskTextClass: A2, maskTextSelector: F2, inlineStylesheet: $2, maskAllInputs: me2, maskTextFn: W2, maskInputFn: z2, slimDOM: ye2, dataURLOptions: Y2, recordCanvas: X2, inlineImages: re2, corruptedRules: a2, onSerialize: (e3) => {
5819
- xo(e3, wa) && ve2.addIframe(e3), Io(e3, wa) && Se2.trackLinkElement(e3), _s(e3) && xe2.addShadowRoot(e3.shadowRoot, document);
5816
+ const { mirror: u3 = new Lt(), blockClass: w3 = "rr-block", blockSelector: x3 = null, maskTextClass: I3 = "rr-mask", maskTextSelector: M3 = null, inlineStylesheet: _3 = true, inlineImages: A3 = false, recordCanvas: F3 = false, maskAllInputs: $3 = false, maskTextFn: B3, maskInputFn: j3, slimDOM: U3 = false, dataURLOptions: z3, preserveWhiteSpace: W3, onSerialize: G3, onIframeLoad: H3, iframeLoadTimeout: K3, onStylesheetLoad: Y3, stylesheetLoadTimeout: Z3, keepIframeSrcFn: J3 = () => false, corruptedRules: X3 } = a3 || {};
5817
+ return ke(e3, { doc: e3, mirror: u3, blockClass: w3, blockSelector: x3, maskTextClass: I3, maskTextSelector: M3, skipChild: false, inlineStylesheet: _3, maskInputOptions: true === $3 ? { color: true, date: true, "datetime-local": true, email: true, month: true, number: true, range: true, search: true, tel: true, text: true, time: true, url: true, week: true, textarea: true, select: true, password: true } : false === $3 ? { password: true } : $3, maskTextFn: B3, maskInputFn: j3, slimDOMOptions: true === U3 || "all" === U3 ? { script: true, comment: true, headFavicon: true, headWhitespace: true, headMetaDescKeywords: "all" === U3, headMetaSocial: true, headMetaRobots: true, headMetaHttpEquiv: true, headMetaAuthorship: true, headMetaVerification: true } : false === U3 ? {} : U3, dataURLOptions: z3, inlineImages: A3, recordCanvas: F3, preserveWhiteSpace: W3, onSerialize: G3, onIframeLoad: H3, iframeLoadTimeout: K3, onStylesheetLoad: Y3, stylesheetLoadTimeout: Z3, keepIframeSrcFn: J3, newlyAddedElement: false, corruptedRules: X3 });
5818
+ })(document, { mirror: ba, blockClass: x2, blockSelector: I2, maskTextClass: A2, maskTextSelector: F2, inlineStylesheet: $2, maskAllInputs: me2, maskTextFn: W2, maskInputFn: z2, slimDOM: ye2, dataURLOptions: Y2, recordCanvas: X2, inlineImages: re2, corruptedRules: a2, onSerialize: (e3) => {
5819
+ xo(e3, ba) && ve2.addIframe(e3), Io(e3, ba) && Se2.trackLinkElement(e3), _s(e3) && xe2.addShadowRoot(e3.shadowRoot, document);
5820
5820
  }, onIframeLoad: (e3, a3) => {
5821
5821
  ve2.attachIframe(e3, a3), xe2.observeAttachShadow(e3);
5822
5822
  }, onStylesheetLoad: (e3, a3) => {
5823
5823
  Se2.attachLinkElement(e3, a3);
5824
5824
  }, keepIframeSrcFn: le2 });
5825
5825
  if (!u2) return console.warn("Failed to snapshot the document");
5826
- Se2.setCorruptedRules(a2), ha({ type: ki.FullSnapshot, data: { node: u2, initialOffset: bo(window) } }, e2), ra.forEach((e3) => e3.unlock()), document.adoptedStyleSheets && document.adoptedStyleSheets.length > 0 && Se2.adoptStyleSheets(document.adoptedStyleSheets, wa.getId(document));
5826
+ Se2.setCorruptedRules(a2), ha({ type: ki.FullSnapshot, data: { node: u2, initialOffset: bo(window) } }, e2), ra.forEach((e3) => e3.unlock()), document.adoptedStyleSheets && document.adoptedStyleSheets.length > 0 && Se2.adoptStyleSheets(document.adoptedStyleSheets, ba.getId(document));
5827
5827
  };
5828
5828
  try {
5829
5829
  const e2 = [], q = (e3) => {
@@ -5836,7 +5836,7 @@ function he(e = {}) {
5836
5836
  ha({ type: ki.IncrementalSnapshot, data: { ...e4 } });
5837
5837
  }, deviceChangeCb: (e4) => {
5838
5838
  ha({ type: ki.Device, data: { ...e4 } });
5839
- }, blockClass: x2, ignoreClass: M2, ignoreSelector: _2, maskTextClass: A2, maskTextSelector: F2, maskInputOptions: me2, inlineStylesheet: $2, sampling: K2, recordDOM: J2, recordCanvas: X2, inlineImages: re2, userTriggeredOnInput: te2, collectFonts: ne2, doc: e3, maskInputFn: z2, maskTextFn: W2, keepIframeSrcFn: le2, blockSelector: I2, slimDOMOptions: ye2, dataURLOptions: Y2, mirror: wa, iframeManager: ve2, stylesheetManager: Se2, shadowDomManager: xe2, processedNodeManager: Ce2, canvasManager: ma, ignoreCSSAttributes: ce2, plugins: (null == (a2 = null == se2 ? void 0 : se2.filter((e4) => e4.observer)) ? void 0 : a2.map((e4) => ({ observer: e4.observer, options: e4.options, callback: (a3) => ha({ type: ki.Plugin, data: { plugin: e4.name, payload: a3 } }) }))) || [] }, G2);
5839
+ }, blockClass: x2, ignoreClass: M2, ignoreSelector: _2, maskTextClass: A2, maskTextSelector: F2, maskInputOptions: me2, inlineStylesheet: $2, sampling: K2, recordDOM: J2, recordCanvas: X2, inlineImages: re2, userTriggeredOnInput: te2, collectFonts: ne2, doc: e3, maskInputFn: z2, maskTextFn: W2, keepIframeSrcFn: le2, blockSelector: I2, slimDOMOptions: ye2, dataURLOptions: Y2, mirror: ba, iframeManager: ve2, stylesheetManager: Se2, shadowDomManager: xe2, processedNodeManager: Ce2, canvasManager: ma, ignoreCSSAttributes: ce2, plugins: (null == (a2 = null == se2 ? void 0 : se2.filter((e4) => e4.observer)) ? void 0 : a2.map((e4) => ({ observer: e4.observer, options: e4.options, callback: (a3) => ha({ type: ki.Plugin, data: { plugin: e4.name, payload: a3 } }) }))) || [] }, G2);
5840
5840
  };
5841
5841
  ve2.addLoadListener((a2) => {
5842
5842
  try {
@@ -5891,12 +5891,12 @@ he.addCustomEvent = (e, a) => {
5891
5891
  }, he.takeFullSnapshot = (e) => {
5892
5892
  if (!ga) throw new Error("please take full snapshot after start recording");
5893
5893
  fa(e);
5894
- }, he.mirror = wa;
5895
- var ba = { exports: {} }, va = String, Fo = function() {
5894
+ }, he.mirror = ba;
5895
+ var wa = { exports: {} }, va = String, Fo = function() {
5896
5896
  return { isColorSupported: false, reset: va, bold: va, dim: va, italic: va, underline: va, inverse: va, hidden: va, strikethrough: va, black: va, red: va, green: va, yellow: va, blue: va, magenta: va, cyan: va, white: va, gray: va, bgBlack: va, bgRed: va, bgGreen: va, bgYellow: va, bgBlue: va, bgMagenta: va, bgCyan: va, bgWhite: va, blackBright: va, redBright: va, greenBright: va, yellowBright: va, blueBright: va, magentaBright: va, cyanBright: va, whiteBright: va, bgBlackBright: va, bgRedBright: va, bgGreenBright: va, bgYellowBright: va, bgBlueBright: va, bgMagentaBright: va, bgCyanBright: va, bgWhiteBright: va };
5897
5897
  };
5898
- ba.exports = Fo(), ba.exports.createColors = Fo;
5899
- var ka = ba.exports;
5898
+ wa.exports = Fo(), wa.exports.createColors = Fo;
5899
+ var ka = wa.exports;
5900
5900
  const Ca = Lu(Object.freeze(Object.defineProperty({ __proto__: null, default: {} }, Symbol.toStringTag, { value: "Module" })));
5901
5901
  let xa = ka, Ia = Ca, Ma = class Uo extends Error {
5902
5902
  constructor(e, a, u, w2, x2, I2) {
@@ -6108,7 +6108,7 @@ function ae(e, a) {
6108
6108
  }
6109
6109
  return x2;
6110
6110
  }
6111
- let ja = class {
6111
+ let Ba = class {
6112
6112
  get proxyOf() {
6113
6113
  return this;
6114
6114
  }
@@ -6256,16 +6256,16 @@ let ja = class {
6256
6256
  return e.warn(a, w2);
6257
6257
  }
6258
6258
  };
6259
- var Ba = ja;
6260
- ja.default = ja;
6261
- let Ua = Ba, za = class extends Ua {
6259
+ var ja = Ba;
6260
+ Ba.default = Ba;
6261
+ let Ua = ja, za = class extends Ua {
6262
6262
  constructor(e) {
6263
6263
  super(e), this.type = "comment";
6264
6264
  }
6265
6265
  };
6266
6266
  var Wa = za;
6267
6267
  za.default = za;
6268
- let Ga = Ba, Va = class extends Ga {
6268
+ let Ga = ja, Va = class extends Ga {
6269
6269
  get variable() {
6270
6270
  return this.prop.startsWith("--") || "$" === this.prop[0];
6271
6271
  }
@@ -6275,7 +6275,7 @@ let Ga = Ba, Va = class extends Ga {
6275
6275
  };
6276
6276
  var Ha = Va;
6277
6277
  Va.default = Va;
6278
- let qa, Ka, Ya, Za, Ja = Wa, Xa = Ha, Qa = Ba, { isClean: el, my: nl } = Aa;
6278
+ let qa, Ka, Ya, Za, Ja = Wa, Xa = Ha, Qa = ja, { isClean: el, my: nl } = Aa;
6279
6279
  function Go(e) {
6280
6280
  return e.map((e2) => (e2.nodes && (e2.nodes = Go(e2.nodes)), delete e2.source, e2));
6281
6281
  }
@@ -6476,7 +6476,7 @@ var fl = { nanoid: (e = 21) => {
6476
6476
  for (; u--; ) a += "useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict"[64 * Math.random() | 0];
6477
6477
  return a;
6478
6478
  } };
6479
- let { existsSync: ml, readFileSync: gl } = Ca, { dirname: yl, join: wl } = Ca, { SourceMapConsumer: bl, SourceMapGenerator: Sl } = Ca;
6479
+ let { existsSync: ml, readFileSync: gl } = Ca, { dirname: yl, join: bl } = Ca, { SourceMapConsumer: wl, SourceMapGenerator: Sl } = Ca;
6480
6480
  let vl = class {
6481
6481
  constructor(e, a) {
6482
6482
  if (false === a.map) return;
@@ -6485,7 +6485,7 @@ let vl = class {
6485
6485
  !this.mapFile && a.from && (this.mapFile = a.from), this.mapFile && (this.root = yl(this.mapFile)), w2 && (this.text = w2);
6486
6486
  }
6487
6487
  consumer() {
6488
- return this.consumerCache || (this.consumerCache = new bl(this.text)), this.consumerCache;
6488
+ return this.consumerCache || (this.consumerCache = new wl(this.text)), this.consumerCache;
6489
6489
  }
6490
6490
  decodeInline(e) {
6491
6491
  let a = e.match(/^data:application\/json;charset=utf-?8,/) || e.match(/^data:application\/json,/);
@@ -6517,7 +6517,7 @@ let vl = class {
6517
6517
  if (a) {
6518
6518
  if ("string" == typeof a) return a;
6519
6519
  if ("function" != typeof a) {
6520
- if (a instanceof bl) return Sl.fromSourceMap(a).toString();
6520
+ if (a instanceof wl) return Sl.fromSourceMap(a).toString();
6521
6521
  if (a instanceof Sl) return a.toString();
6522
6522
  if (this.isMap(a)) return JSON.stringify(a);
6523
6523
  throw new Error("Unsupported previous source map format: " + a.toString());
@@ -6534,7 +6534,7 @@ let vl = class {
6534
6534
  if (this.inline) return this.decodeInline(this.annotation);
6535
6535
  if (this.annotation) {
6536
6536
  let a2 = this.annotation;
6537
- return e && (a2 = wl(yl(e), a2)), this.loadFile(a2);
6537
+ return e && (a2 = bl(yl(e), a2)), this.loadFile(a2);
6538
6538
  }
6539
6539
  }
6540
6540
  }
@@ -6636,7 +6636,7 @@ let Pl = class {
6636
6636
  };
6637
6637
  var Dl = Pl;
6638
6638
  Pl.default = Pl, Rl && Rl.registerInput && Rl.registerInput(Pl);
6639
- let jl, Bl, Ul = ol, zl = class extends Ul {
6639
+ let Bl, jl, Ul = ol, zl = class extends Ul {
6640
6640
  constructor(e) {
6641
6641
  super(e), this.type = "root", this.nodes || (this.nodes = []);
6642
6642
  }
@@ -6653,13 +6653,13 @@ let jl, Bl, Ul = ol, zl = class extends Ul {
6653
6653
  return !a && 0 === u && this.nodes.length > 1 && (this.nodes[1].raws.before = this.nodes[u].raws.before), super.removeChild(e);
6654
6654
  }
6655
6655
  toResult(e = {}) {
6656
- return new jl(new Bl(), this, e).stringify();
6656
+ return new Bl(new jl(), this, e).stringify();
6657
6657
  }
6658
6658
  };
6659
6659
  zl.registerLazyResult = (e) => {
6660
- jl = e;
6661
- }, zl.registerProcessor = (e) => {
6662
6660
  Bl = e;
6661
+ }, zl.registerProcessor = (e) => {
6662
+ jl = e;
6663
6663
  };
6664
6664
  var Wl = zl;
6665
6665
  zl.default = zl, Ul.registerRoot(zl);
@@ -6711,7 +6711,7 @@ function Qe(e, a) {
6711
6711
  }
6712
6712
  var hc = Qe;
6713
6713
  Qe.default = Qe;
6714
- let { dirname: fc, relative: mc, resolve: gc, sep: yc } = Ca, { SourceMapConsumer: wc, SourceMapGenerator: bc } = Ca, { pathToFileURL: Sc } = Ca, vc = Dl, kc = !(!wc || !bc), Cc = !!(fc && gc && mc && yc);
6714
+ let { dirname: fc, relative: mc, resolve: gc, sep: yc } = Ca, { SourceMapConsumer: bc, SourceMapGenerator: wc } = Ca, { pathToFileURL: Sc } = Ca, vc = Dl, kc = !(!bc || !wc), Cc = !!(fc && gc && mc && yc);
6715
6715
  var xc = class {
6716
6716
  constructor(e, a, u, w2) {
6717
6717
  this.stringify = e, this.mapOpts = u.map || {}, this.root = a, this.opts = u, this.css = w2, this.originalCSS = w2, this.usesFileUrls = !this.mapOpts.from && this.mapOpts.absolute, this.memoizedFileURLs = /* @__PURE__ */ new Map(), this.memoizedPaths = /* @__PURE__ */ new Map(), this.memoizedURLs = /* @__PURE__ */ new Map();
@@ -6725,7 +6725,7 @@ var xc = class {
6725
6725
  applyPrevMaps() {
6726
6726
  for (let e of this.previous()) {
6727
6727
  let a, u = this.toUrl(this.path(e.file)), w2 = e.root || fc(e.file);
6728
- false === this.mapOpts.sourcesContent ? (a = new wc(e.text), a.sourcesContent && (a.sourcesContent = null)) : a = e.consumer(), this.map.applySourceMap(a, u, this.toUrl(this.path(w2)));
6728
+ false === this.mapOpts.sourcesContent ? (a = new bc(e.text), a.sourcesContent && (a.sourcesContent = null)) : a = e.consumer(), this.map.applySourceMap(a, u, this.toUrl(this.path(w2)));
6729
6729
  }
6730
6730
  }
6731
6731
  clearAnnotation() {
@@ -6747,12 +6747,12 @@ var xc = class {
6747
6747
  if (this.root) this.generateString();
6748
6748
  else if (1 === this.previous().length) {
6749
6749
  let e = this.previous()[0].consumer();
6750
- e.file = this.outputFile(), this.map = bc.fromSourceMap(e, { ignoreInvalidMapping: true });
6751
- } else this.map = new bc({ file: this.outputFile(), ignoreInvalidMapping: true }), this.map.addMapping({ generated: { column: 0, line: 1 }, original: { column: 0, line: 1 }, source: this.opts.from ? this.toUrl(this.path(this.opts.from)) : "<no source>" });
6750
+ e.file = this.outputFile(), this.map = wc.fromSourceMap(e, { ignoreInvalidMapping: true });
6751
+ } else this.map = new wc({ file: this.outputFile(), ignoreInvalidMapping: true }), this.map.addMapping({ generated: { column: 0, line: 1 }, original: { column: 0, line: 1 }, source: this.opts.from ? this.toUrl(this.path(this.opts.from)) : "<no source>" });
6752
6752
  return this.isSourcesContent() && this.setSourcesContent(), this.root && this.previous().length > 0 && this.applyPrevMaps(), this.isAnnotation() && this.addAnnotation(), this.isInline() ? [this.css] : [this.css, this.map];
6753
6753
  }
6754
6754
  generateString() {
6755
- this.css = "", this.map = new bc({ file: this.outputFile(), ignoreInvalidMapping: true });
6755
+ this.css = "", this.map = new wc({ file: this.outputFile(), ignoreInvalidMapping: true });
6756
6756
  let e, a, u = 1, w2 = 1, x2 = "<no source>", I2 = { generated: { column: 0, line: 0 }, original: { column: 0, line: 0 }, source: "" };
6757
6757
  this.stringify(this.root, (M2, _2, A2) => {
6758
6758
  if (this.css += M2, _2 && "end" !== A2 && (I2.generated.line = u, I2.generated.column = w2 - 1, _2.source && _2.source.start ? (I2.source = this.sourcePath(_2), I2.original.line = _2.source.start.line, I2.original.column = _2.source.start.column - 1, this.map.addMapping(I2)) : (I2.source = x2, I2.original.line = 1, I2.original.column = 0, this.map.addMapping(I2))), a = M2.match(/\n/g), a ? (u += a.length, e = M2.lastIndexOf("\n"), w2 = M2.length - e) : w2 += M2.length, _2 && "start" !== A2) {
@@ -6842,7 +6842,7 @@ var xc = class {
6842
6842
  };
6843
6843
  const Ic = /[\t\n\f\r "#'()/;[\\\]{}]/g, Mc = /[\t\n\f\r !"#'():;@[\\\]{}]|\/(?=\*)/g, Ec = /.[\r\n"'(/\\]/, _c = /[\da-f]/i;
6844
6844
  let Oc = ll, Lc = Wa, Rc = Ha, Nc = Wl, Fc = sc, Tc = function(e, a = {}) {
6845
- let u, w2, x2, I2, M2, _2, A2, F2, $2, j2, B2 = e.css.valueOf(), U2 = a.ignoreErrors, z2 = B2.length, W2 = 0, G2 = [], H2 = [];
6845
+ let u, w2, x2, I2, M2, _2, A2, F2, $2, B2, j2 = e.css.valueOf(), U2 = a.ignoreErrors, z2 = j2.length, W2 = 0, G2 = [], H2 = [];
6846
6846
  function v(a2) {
6847
6847
  throw e.error("Unclosed " + a2, W2);
6848
6848
  }
@@ -6854,7 +6854,7 @@ let Oc = ll, Lc = Wa, Rc = Ha, Nc = Wl, Fc = sc, Tc = function(e, a = {}) {
6854
6854
  if (H2.length) return H2.pop();
6855
6855
  if (W2 >= z2) return;
6856
6856
  let a2 = !!e2 && e2.ignoreUnclosed;
6857
- switch (u = B2.charCodeAt(W2), u) {
6857
+ switch (u = j2.charCodeAt(W2), u) {
6858
6858
  case 10:
6859
6859
  case 32:
6860
6860
  case 9:
@@ -6862,9 +6862,9 @@ let Oc = ll, Lc = Wa, Rc = Ha, Nc = Wl, Fc = sc, Tc = function(e, a = {}) {
6862
6862
  case 12:
6863
6863
  I2 = W2;
6864
6864
  do {
6865
- I2 += 1, u = B2.charCodeAt(I2);
6865
+ I2 += 1, u = j2.charCodeAt(I2);
6866
6866
  } while (32 === u || 10 === u || 9 === u || 13 === u || 12 === u);
6867
- _2 = ["space", B2.slice(W2, I2)], W2 = I2 - 1;
6867
+ _2 = ["space", j2.slice(W2, I2)], W2 = I2 - 1;
6868
6868
  break;
6869
6869
  case 91:
6870
6870
  case 93:
@@ -6878,49 +6878,49 @@ let Oc = ll, Lc = Wa, Rc = Ha, Nc = Wl, Fc = sc, Tc = function(e, a = {}) {
6878
6878
  break;
6879
6879
  }
6880
6880
  case 40:
6881
- if (j2 = G2.length ? G2.pop()[1] : "", $2 = B2.charCodeAt(W2 + 1), "url" === j2 && 39 !== $2 && 34 !== $2 && 32 !== $2 && 10 !== $2 && 9 !== $2 && 12 !== $2 && 13 !== $2) {
6881
+ if (B2 = G2.length ? G2.pop()[1] : "", $2 = j2.charCodeAt(W2 + 1), "url" === B2 && 39 !== $2 && 34 !== $2 && 32 !== $2 && 10 !== $2 && 9 !== $2 && 12 !== $2 && 13 !== $2) {
6882
6882
  I2 = W2;
6883
6883
  do {
6884
- if (A2 = false, I2 = B2.indexOf(")", I2 + 1), -1 === I2) {
6884
+ if (A2 = false, I2 = j2.indexOf(")", I2 + 1), -1 === I2) {
6885
6885
  if (U2 || a2) {
6886
6886
  I2 = W2;
6887
6887
  break;
6888
6888
  }
6889
6889
  v("bracket");
6890
6890
  }
6891
- for (F2 = I2; 92 === B2.charCodeAt(F2 - 1); ) F2 -= 1, A2 = !A2;
6891
+ for (F2 = I2; 92 === j2.charCodeAt(F2 - 1); ) F2 -= 1, A2 = !A2;
6892
6892
  } while (A2);
6893
- _2 = ["brackets", B2.slice(W2, I2 + 1), W2, I2], W2 = I2;
6894
- } else I2 = B2.indexOf(")", W2 + 1), w2 = B2.slice(W2, I2 + 1), -1 === I2 || Ec.test(w2) ? _2 = ["(", "(", W2] : (_2 = ["brackets", w2, W2, I2], W2 = I2);
6893
+ _2 = ["brackets", j2.slice(W2, I2 + 1), W2, I2], W2 = I2;
6894
+ } else I2 = j2.indexOf(")", W2 + 1), w2 = j2.slice(W2, I2 + 1), -1 === I2 || Ec.test(w2) ? _2 = ["(", "(", W2] : (_2 = ["brackets", w2, W2, I2], W2 = I2);
6895
6895
  break;
6896
6896
  case 39:
6897
6897
  case 34:
6898
6898
  M2 = 39 === u ? "'" : '"', I2 = W2;
6899
6899
  do {
6900
- if (A2 = false, I2 = B2.indexOf(M2, I2 + 1), -1 === I2) {
6900
+ if (A2 = false, I2 = j2.indexOf(M2, I2 + 1), -1 === I2) {
6901
6901
  if (U2 || a2) {
6902
6902
  I2 = W2 + 1;
6903
6903
  break;
6904
6904
  }
6905
6905
  v("string");
6906
6906
  }
6907
- for (F2 = I2; 92 === B2.charCodeAt(F2 - 1); ) F2 -= 1, A2 = !A2;
6907
+ for (F2 = I2; 92 === j2.charCodeAt(F2 - 1); ) F2 -= 1, A2 = !A2;
6908
6908
  } while (A2);
6909
- _2 = ["string", B2.slice(W2, I2 + 1), W2, I2], W2 = I2;
6909
+ _2 = ["string", j2.slice(W2, I2 + 1), W2, I2], W2 = I2;
6910
6910
  break;
6911
6911
  case 64:
6912
- Ic.lastIndex = W2 + 1, Ic.test(B2), I2 = 0 === Ic.lastIndex ? B2.length - 1 : Ic.lastIndex - 2, _2 = ["at-word", B2.slice(W2, I2 + 1), W2, I2], W2 = I2;
6912
+ Ic.lastIndex = W2 + 1, Ic.test(j2), I2 = 0 === Ic.lastIndex ? j2.length - 1 : Ic.lastIndex - 2, _2 = ["at-word", j2.slice(W2, I2 + 1), W2, I2], W2 = I2;
6913
6913
  break;
6914
6914
  case 92:
6915
- for (I2 = W2, x2 = true; 92 === B2.charCodeAt(I2 + 1); ) I2 += 1, x2 = !x2;
6916
- if (u = B2.charCodeAt(I2 + 1), x2 && 47 !== u && 32 !== u && 10 !== u && 9 !== u && 13 !== u && 12 !== u && (I2 += 1, _c.test(B2.charAt(I2)))) {
6917
- for (; _c.test(B2.charAt(I2 + 1)); ) I2 += 1;
6918
- 32 === B2.charCodeAt(I2 + 1) && (I2 += 1);
6915
+ for (I2 = W2, x2 = true; 92 === j2.charCodeAt(I2 + 1); ) I2 += 1, x2 = !x2;
6916
+ if (u = j2.charCodeAt(I2 + 1), x2 && 47 !== u && 32 !== u && 10 !== u && 9 !== u && 13 !== u && 12 !== u && (I2 += 1, _c.test(j2.charAt(I2)))) {
6917
+ for (; _c.test(j2.charAt(I2 + 1)); ) I2 += 1;
6918
+ 32 === j2.charCodeAt(I2 + 1) && (I2 += 1);
6919
6919
  }
6920
- _2 = ["word", B2.slice(W2, I2 + 1), W2, I2], W2 = I2;
6920
+ _2 = ["word", j2.slice(W2, I2 + 1), W2, I2], W2 = I2;
6921
6921
  break;
6922
6922
  default:
6923
- 47 === u && 42 === B2.charCodeAt(W2 + 1) ? (I2 = B2.indexOf("*/", W2 + 2) + 1, 0 === I2 && (U2 || a2 ? I2 = B2.length : v("comment")), _2 = ["comment", B2.slice(W2, I2 + 1), W2, I2], W2 = I2) : (Mc.lastIndex = W2 + 1, Mc.test(B2), I2 = 0 === Mc.lastIndex ? B2.length - 1 : Mc.lastIndex - 2, _2 = ["word", B2.slice(W2, I2 + 1), W2, I2], G2.push(_2), W2 = I2);
6923
+ 47 === u && 42 === j2.charCodeAt(W2 + 1) ? (I2 = j2.indexOf("*/", W2 + 2) + 1, 0 === I2 && (U2 || a2 ? I2 = j2.length : v("comment")), _2 = ["comment", j2.slice(W2, I2 + 1), W2, I2], W2 = I2) : (Mc.lastIndex = W2 + 1, Mc.test(j2), I2 = 0 === Mc.lastIndex ? j2.length - 1 : Mc.lastIndex - 2, _2 = ["word", j2.slice(W2, I2 + 1), W2, I2], G2.push(_2), W2 = I2);
6924
6924
  }
6925
6925
  return W2++, _2;
6926
6926
  }, position: function b() {
@@ -7172,9 +7172,9 @@ var Dc = class {
7172
7172
  throw this.input.error("At-rule without name", { offset: a[2] }, { offset: a[2] + a[1].length });
7173
7173
  }
7174
7174
  };
7175
- let $c = ol, jc = Dl, Bc = Dc;
7175
+ let $c = ol, Bc = Dl, jc = Dc;
7176
7176
  function Yt(e, a) {
7177
- let u = new jc(e, a), w2 = new Bc(u);
7177
+ let u = new Bc(e, a), w2 = new jc(u);
7178
7178
  try {
7179
7179
  w2.parse();
7180
7180
  } catch (e2) {
@@ -7460,8 +7460,8 @@ Pu.registerPostcss = (e) => {
7460
7460
  };
7461
7461
  var Du = Pu;
7462
7462
  Pu.default = Pu, Qc.registerLazyResult(Pu), Yc.registerLazyResult(Pu);
7463
- let $u = xc, ju = Uc;
7464
- const Bu = Hc;
7463
+ let $u = xc, Bu = Uc;
7464
+ const ju = Hc;
7465
7465
  let Uu = Ra, zu = ui, Wu = class {
7466
7466
  get content() {
7467
7467
  return this.result.css;
@@ -7483,7 +7483,7 @@ let Uu = Ra, zu = ui, Wu = class {
7483
7483
  }
7484
7484
  get root() {
7485
7485
  if (this._root) return this._root;
7486
- let e, a = ju;
7486
+ let e, a = Bu;
7487
7487
  try {
7488
7488
  e = a(this._css, this._opts);
7489
7489
  } catch (e2) {
@@ -7498,7 +7498,7 @@ let Uu = Ra, zu = ui, Wu = class {
7498
7498
  constructor(e, a, u) {
7499
7499
  a = a.toString(), this.stringified = false, this._processor = e, this._css = a, this._opts = u, this._map = void 0;
7500
7500
  let w2, x2 = Uu;
7501
- this.result = new Bu(this._processor, w2, this._opts), this.result.css = a;
7501
+ this.result = new ju(this._processor, w2, this._opts), this.result.css = a;
7502
7502
  let I2 = this;
7503
7503
  Object.defineProperty(this.result, "root", { get: () => I2.root });
7504
7504
  let M2 = new $u(x2, w2, this._opts, a);
@@ -7556,7 +7556,7 @@ let Vu = hl, Hu = Du, qu = Gu, Ku = Wl, Yu = class {
7556
7556
  };
7557
7557
  var Zu = Yu;
7558
7558
  Yu.default = Yu, Ku.registerProcessor(Yu), Vu.registerProcessor(Yu);
7559
- let Xu = ll, Qu = Wa, ed = ol, td = Ea, nd = Ha, rd = hl, od = hc, sd = Dl, id = Du, ad = tc, ld = Ba, cd = Uc, ud = Zu, dd = Hc, pd = Wl, hd = sc, fd = Ra, md = Wc;
7559
+ let Xu = ll, Qu = Wa, ed = ol, td = Ea, nd = Ha, rd = hl, od = hc, sd = Dl, id = Du, ad = tc, ld = ja, cd = Uc, ud = Zu, dd = Hc, pd = Wl, hd = sc, fd = Ra, md = Wc;
7560
7560
  function D(...e) {
7561
7561
  return 1 === e.length && Array.isArray(e[0]) && (e = e[0]), new ud(e);
7562
7562
  }
@@ -7574,11 +7574,11 @@ D.plugin = function(e, a) {
7574
7574
  var gd = D;
7575
7575
  D.default = D;
7576
7576
  const yd = Eu(gd);
7577
- var wd;
7577
+ var bd;
7578
7578
  yd.stringify, yd.fromJSON, yd.plugin, yd.parse, yd.list, yd.document, yd.comment, yd.atRule, yd.rule, yd.decl, yd.root, yd.CssSyntaxError, yd.Declaration, yd.Container, yd.Processor, yd.Document, yd.Comment, yd.Warning, yd.AtRule, yd.Result, yd.Input, yd.Rule, yd.Root, yd.Node, (function(e) {
7579
7579
  e[e.NotStarted = 0] = "NotStarted", e[e.Running = 1] = "Running", e[e.Stopped = 2] = "Stopped";
7580
- })(wd || (wd = {}));
7581
- const { addCustomEvent: bd } = he, { addSailfishEvent: Sd } = he, { freezePage: vd } = he, { takeFullSnapshot: kd } = he;
7580
+ })(bd || (bd = {}));
7581
+ const { addCustomEvent: wd } = he, { addSailfishEvent: Sd } = he, { freezePage: vd } = he, { takeFullSnapshot: kd } = he;
7582
7582
  var Cd = Object.defineProperty, y = (e, a, u) => ((e2, a2, u2) => a2 in e2 ? Cd(e2, a2, { enumerable: true, configurable: true, writable: true, value: u2 }) : e2[a2] = u2)(e, "symbol" != typeof a ? a + "" : a, u);
7583
7583
  let xd = class d {
7584
7584
  constructor(e) {
@@ -7906,7 +7906,7 @@ function suppressConsoleLogsDuringCall(e) {
7906
7906
  console.log = a, console.warn = u, console.error = w2;
7907
7907
  }
7908
7908
  }
7909
- const $d = "zendesk_chat", jd = "Zendesk";
7909
+ const $d = "zendesk_chat", Bd = "Zendesk";
7910
7910
  function zE_safe(...e) {
7911
7911
  try {
7912
7912
  if ((function hasZendesk() {
@@ -8030,11 +8030,11 @@ async function initializeRecording(e, a, u, w2, x2) {
8030
8030
  zE_safe("messenger:set", "conversationTags", [`sailfish-session-${w2}`]);
8031
8031
  });
8032
8032
  const handleWidgetOpen = () => {
8033
- he.addSailfishEvent(Ld.SailfishCustom, { action: "customer support chat opened", element_id: $d, provider: jd });
8033
+ he.addSailfishEvent(Ld.SailfishCustom, { action: "customer support chat opened", element_id: $d, provider: Bd });
8034
8034
  }, handleWidgetClose = () => {
8035
- he.addSailfishEvent(Ld.SailfishCustom, { action: "customer support chat closed", element_id: $d, provider: jd });
8035
+ he.addSailfishEvent(Ld.SailfishCustom, { action: "customer support chat closed", element_id: $d, provider: Bd });
8036
8036
  }, handleUnreadMessages = (e2) => {
8037
- he.addSailfishEvent(Ld.SailfishCustom, { action: "zendesk unreadmessages", element_id: $d, provider: jd });
8037
+ he.addSailfishEvent(Ld.SailfishCustom, { action: "zendesk unreadmessages", element_id: $d, provider: Bd });
8038
8038
  };
8039
8039
  suppressConsoleLogsDuringCall(() => {
8040
8040
  zE_safe("messenger:on", "open", handleWidgetOpen), zE_safe("messenger:on", "close", handleWidgetClose), zE_safe("messenger:on", "unreadMessages", handleUnreadMessages);
@@ -8045,7 +8045,7 @@ async function initializeRecording(e, a, u, w2, x2) {
8045
8045
  }
8046
8046
  return I2;
8047
8047
  }
8048
- const Bd = readDebugFlag(), Ud = ["t.co", "*.twitter.com", "*.gravatar.com", "*.googleapis.com", "*.amazonaws.com", "*.smooch.io", "*.zendesk.com", "*.zdassets.com"], zd = [400, 403], Wd = "CORS", Gd = 1, Vd = "authorization", Hd = "Authorization", qd = { recordCanvas: false, recordCrossOriginIframes: false, collectFonts: false, inlineImages: false, recordPassword: false, recordRealName: true, recordCreditCardInfo: false, recordSsn: false, recordDob: false, sampling: {}, enableFiberTracking: true }, Kd = { level: ["info", "log", "warn", "error"], lengthThreshold: 1e4, stringifyOptions: { stringLengthLimit: 1e3, numOfKeysLimit: 20, depthOfLimit: 4 }, logger: "console" };
8048
+ const jd = readDebugFlag(), Ud = ["t.co", "*.twitter.com", "*.gravatar.com", "*.googleapis.com", "*.amazonaws.com", "*.smooch.io", "*.zendesk.com", "*.zdassets.com"], zd = [400, 403], Wd = "CORS", Gd = 1, Vd = "authorization", Hd = "Authorization", qd = { recordCanvas: false, recordCrossOriginIframes: false, collectFonts: false, inlineImages: false, recordPassword: false, recordRealName: true, recordCreditCardInfo: false, recordSsn: false, recordDob: false, sampling: {}, enableFiberTracking: true }, Kd = { level: ["info", "log", "warn", "error"], lengthThreshold: 1e4, stringifyOptions: { stringLengthLimit: 1e3, numOfKeysLimit: 20, depthOfLimit: 4 }, logger: "console" };
8049
8049
  function maskAuthorizationHeader(e) {
8050
8050
  const a = e[Vd] ? Vd : e[Hd] ? Hd : null;
8051
8051
  if (!a) return;
@@ -8120,111 +8120,182 @@ function shouldSkipHeadersPropagation(e, a = []) {
8120
8120
  } catch {
8121
8121
  return true;
8122
8122
  }
8123
- for (const e2 of j) if (u.pathname.toLowerCase().endsWith(e2)) return true;
8123
+ for (const e2 of B) if (u.pathname.toLowerCase().endsWith(e2)) return true;
8124
8124
  return !!matchUrlWithWildcard(e, [...Ud, ...a]);
8125
8125
  }
8126
- function setupFetchInterceptor(e = []) {
8127
- const a = window.fetch, u = getOrSetSessionId();
8128
- window.fetch = new Proxy(a, { apply: async (a2, w2, x2) => {
8129
- let M2, _2 = x2[0], A2 = x2[1] || {};
8130
- if ("string" == typeof _2) M2 = _2;
8131
- else if (_2 instanceof Request) M2 = _2.url;
8126
+ function setupFetchInterceptor(e = [], a = { captureStreamingResponseBody: true, captureResponseBodyMaxMb: 10, captureStreamPrefixKb: 64, captureStreamTimeoutMs: 1e4 }) {
8127
+ const u = window.fetch, w2 = getOrSetSessionId(), x2 = ["text/event-stream", "application/x-ndjson", "application/stream+json", "application/grpc", "application/grpc-web"], M2 = ["application/octet-stream"];
8128
+ window.fetch = new Proxy(u, { apply: async (u2, _2, A2) => {
8129
+ let F2, $2 = A2[0], B2 = A2[1] || {};
8130
+ if ("string" == typeof $2) F2 = $2;
8131
+ else if ($2 instanceof Request) F2 = $2.url;
8132
8132
  else {
8133
- if (!(_2 instanceof URL)) return a2.apply(w2, x2);
8134
- M2 = _2.href;
8133
+ if (!($2 instanceof URL)) return u2.apply(_2, A2);
8134
+ F2 = $2.href;
8135
8135
  }
8136
- return shouldSkipHeadersPropagation(M2, e) ? a2.apply(w2, x2) : (async function injectHeaderWrapper(e2, a3, u2, w3, x3, M3, _3) {
8136
+ return shouldSkipHeadersPropagation(F2, e) ? u2.apply(_2, A2) : (async function injectHeaderWrapper(e2, u3, w3, _3, A3, F3, $3) {
8137
8137
  var _a2, _b;
8138
- if (!M3) return e2.apply(a3, u2);
8139
- let A3 = v4();
8140
- const F2 = getUrlAndStoredUuids(), $2 = x3.method || "GET", j2 = Date.now();
8141
- let B2, U2 = {};
8138
+ if (!F3) return e2.apply(u3, w3);
8139
+ let B3 = v4();
8140
+ const j2 = getUrlAndStoredUuids(), U2 = A3.method || "GET", z2 = Date.now();
8141
+ let W2, G2 = {}, H2 = null;
8142
8142
  try {
8143
- if (w3 instanceof Request) {
8144
- w3.headers.forEach((e3, a4) => {
8145
- U2[a4] = e3;
8143
+ if (_3 instanceof Request) {
8144
+ _3.headers.forEach((e3, a2) => {
8145
+ G2[a2] = e3;
8146
8146
  });
8147
8147
  try {
8148
- const e3 = w3.clone();
8149
- B2 = await e3.text();
8148
+ H2 = _3.clone();
8150
8149
  } catch (e3) {
8151
- B2 = null;
8150
+ H2 = null;
8152
8151
  }
8153
- } else x3.headers && (x3.headers instanceof Headers ? x3.headers.forEach((e3, a4) => {
8154
- U2[a4] = e3;
8155
- }) : Array.isArray(x3.headers) ? x3.headers.forEach(([e3, a4]) => {
8156
- U2[e3] = a4;
8157
- }) : U2 = { ...x3.headers }), B2 = x3.body;
8152
+ } else A3.headers && (A3.headers instanceof Headers ? A3.headers.forEach((e3, a2) => {
8153
+ G2[a2] = e3;
8154
+ }) : Array.isArray(A3.headers) ? A3.headers.forEach(([e3, a2]) => {
8155
+ G2[e3] = a2;
8156
+ }) : G2 = { ...A3.headers }), W2 = A3.body;
8158
8157
  } catch (e3) {
8159
- Bd && console.warn("[Sailfish] Failed to capture request data:", e3);
8158
+ jd && console.warn("[Sailfish] Failed to capture request data:", e3);
8160
8159
  }
8161
- delete U2[I];
8162
- const z2 = getFuncSpanHeader();
8163
- z2 && delete U2[z2.name];
8164
- const W2 = `${M3}/${F2.page_visit_uuid}/${A3}`;
8165
- U2[I] = W2, z2 && (U2[z2.name] = z2.value);
8166
- maskAuthorizationHeader(U2);
8160
+ delete G2[I];
8161
+ const K2 = getFuncSpanHeader();
8162
+ K2 && delete G2[K2.name];
8163
+ const Y2 = `${F3}/${j2.page_visit_uuid}/${B3}`;
8164
+ G2[I] = Y2, K2 && (G2[K2.name] = K2.value);
8165
+ maskAuthorizationHeader(G2);
8167
8166
  try {
8168
- let z3 = await (async function injectHeader(e3, a4, u3, w4, x4, M4, _4) {
8167
+ let K3 = await (async function injectHeader(e3, a2, u4, w4, x3, M3, _4) {
8169
8168
  const A4 = getFuncSpanHeader();
8170
- if (u3 instanceof Request) {
8171
- const F3 = u3.clone(), $3 = new Headers(F3.headers);
8172
- $3.set(I, `${x4}/${M4}/${_4}`), A4 && ($3.set(A4.name, A4.value), Bd && console.log("[Sailfish] Added funcspan header to HTTP Request:", { url: u3.url, header: A4.name }));
8173
- const j3 = new Request(F3, { headers: $3 });
8174
- return await e3.call(a4, j3, w4);
8169
+ if (u4 instanceof Request) {
8170
+ const F4 = u4.clone(), $4 = new Headers(F4.headers);
8171
+ $4.set(I, `${x3}/${M3}/${_4}`), A4 && ($4.set(A4.name, A4.value), jd && console.log("[Sailfish] Added funcspan header to HTTP Request:", { url: u4.url, header: A4.name }));
8172
+ const B4 = new Request(F4, { headers: $4 });
8173
+ return await e3.call(a2, B4, w4);
8175
8174
  }
8176
8175
  {
8177
- const F3 = { ...w4 }, $3 = new Headers(w4.headers || {});
8178
- return $3.set(I, `${x4}/${M4}/${_4}`), A4 && ($3.set(A4.name, A4.value), Bd && console.log("[Sailfish] Added funcspan header to HTTP fetch:", { url: "string" == typeof u3 ? u3 : u3.href, header: A4.name })), F3.headers = $3, await e3.call(a4, u3, F3);
8176
+ const F4 = { ...w4 }, $4 = new Headers(w4.headers || {});
8177
+ return $4.set(I, `${x3}/${M3}/${_4}`), A4 && ($4.set(A4.name, A4.value), jd && console.log("[Sailfish] Added funcspan header to HTTP fetch:", { url: "string" == typeof u4 ? u4 : u4.href, header: A4.name })), F4.headers = $4, await e3.call(a2, u4, F4);
8179
8178
  }
8180
- })(e2, a3, w3, x3, M3, F2.page_visit_uuid, A3), W3 = false;
8181
- zd.includes(z3.status) && (Bd && console.log("Perform retry as status was fail:", z3), delete U2[I], z3 = await (async function retryWithoutPropagateHeaders(e3, a4, u3, w4) {
8179
+ })(e2, u3, _3, A3, F3, j2.page_visit_uuid, B3), Y3 = false;
8180
+ zd.includes(K3.status) && (jd && console.log("Perform retry as status was fail:", K3), delete G2[I], K3 = await (async function retryWithoutPropagateHeaders(e3, a2, u4, w4) {
8182
8181
  try {
8183
- let w5 = u3[0], x4 = u3[1] || {};
8182
+ let w5 = u4[0], x3 = u4[1] || {};
8184
8183
  if ("string" == typeof w5 || w5 instanceof URL) {
8185
- const u4 = { ...x4 }, M4 = new Headers(x4.headers || {});
8186
- M4.delete(I), u4.headers = M4;
8187
- return await e3.call(a4, w5, u4);
8184
+ const u5 = { ...x3 }, M3 = new Headers(x3.headers || {});
8185
+ M3.delete(I), u5.headers = M3;
8186
+ return await e3.call(a2, w5, u5);
8188
8187
  }
8189
8188
  if (w5 instanceof Request) {
8190
- const u4 = w5.clone(), M4 = new Headers(u4.headers);
8191
- M4.delete(I);
8192
- const _4 = new Request(u4, { headers: M4 });
8193
- return await e3.call(a4, _4, x4);
8189
+ const u5 = w5.clone(), M3 = new Headers(u5.headers);
8190
+ M3.delete(I);
8191
+ const _4 = new Request(u5, { headers: M3 });
8192
+ return await e3.call(a2, _4, x3);
8194
8193
  }
8195
- return e3.apply(a4, u3);
8194
+ return e3.apply(a2, u4);
8196
8195
  } catch (e4) {
8197
- throw Bd && console.log(`Retry without ${I} for ${w4} also failed:`, e4), e4;
8196
+ throw jd && console.log(`Retry without ${I} for ${w4} also failed:`, e4), e4;
8198
8197
  }
8199
- })(e2, a3, u2, _3), W3 = true);
8200
- const G2 = Date.now(), H2 = z3.status, K2 = z3.ok, Y2 = K2 ? "" : `Request Error: ${z3.statusText}`;
8201
- let Z2;
8198
+ })(e2, u3, w3, $3), Y3 = true);
8199
+ const Z2 = Date.now(), J2 = K3.status, X2 = K3.ok, Q2 = X2 ? "" : `Request Error: ${K3.statusText}`;
8200
+ let ee2 = null;
8202
8201
  try {
8203
- const e3 = z3.clone();
8204
- Z2 = await e3.text();
8205
- } catch (e3) {
8206
- Bd && console.warn("[Sailfish] Failed to capture response data:", e3), Z2 = null;
8207
- }
8208
- let J2 = null;
8209
- try {
8210
- J2 = {}, z3.headers.forEach((e3, a4) => {
8211
- J2[a4] = e3;
8202
+ ee2 = {}, K3.headers.forEach((e3, a2) => {
8203
+ ee2[a2] = e3;
8212
8204
  });
8213
8205
  } catch (e3) {
8214
- Bd && console.warn("[Sailfish] Failed to capture response headers:", e3), J2 = null;
8206
+ jd && console.warn("[Sailfish] Failed to capture response headers:", e3), ee2 = null;
8215
8207
  }
8216
- return sendEvent({ type: 27, timestamp: G2, sessionId: M3, data: { request_id: A3, session_id: M3, timestamp_start: j2, timestamp_end: G2, response_code: H2, success: K2, error: Y2, method: $2, url: _3, retry_without_trace_id: W3, request_headers: U2, request_body: B2, response_headers: J2, response_body: Z2 }, ...F2 }), z3;
8217
- } catch (w4) {
8218
- const x4 = Date.now(), I2 = false, z3 = ((_a2 = w4.response) == null ? void 0 : _a2.status) || 500, W3 = w4.message || "Fetch request failed";
8219
- if (w4 instanceof TypeError && ((_b = w4 == null ? void 0 : w4.message) == null ? void 0 : _b.toLowerCase().includes(Wd.toLowerCase()))) return e2.apply(a3, u2);
8220
- throw sendEvent({ type: 27, timestamp: x4, sessionId: M3, data: { request_id: A3, session_id: M3, timestamp_start: j2, timestamp_end: x4, response_code: z3, success: I2, error: W3, method: $2, url: _3, request_headers: U2, request_body: B2, response_body: null }, ...F2 }), w4;
8208
+ const te2 = { type: 27, timestamp: Z2, sessionId: F3, data: { request_id: B3, session_id: F3, timestamp_start: z2, timestamp_end: Z2, response_code: J2, success: X2, error: Q2, method: U2, url: $3, retry_without_trace_id: Y3, request_headers: G2, request_body: W2, response_headers: ee2, response_body: null }, ...j2 }, sendEventWithBody = (e3) => {
8209
+ te2.data.response_body = e3, H2 ? H2.text().then((e4) => {
8210
+ te2.data.request_body = e4, sendEvent(te2);
8211
+ }, () => {
8212
+ sendEvent(te2);
8213
+ }) : sendEvent(te2);
8214
+ }, ne2 = 1024 * a.captureResponseBodyMaxMb * 1024;
8215
+ if (0 === a.captureResponseBodyMaxMb) sendEventWithBody(null);
8216
+ else if ((function shouldSkipBodyCapture(e3) {
8217
+ const a2 = e3.headers.get("content-type");
8218
+ if (!a2) return false;
8219
+ const u4 = a2.toLowerCase();
8220
+ return M2.some((e4) => u4.includes(e4));
8221
+ })(K3)) sendEventWithBody(null);
8222
+ else if ((function isStreamingResponse(e3) {
8223
+ const a2 = e3.headers.get("content-type");
8224
+ if (!a2) return false;
8225
+ const u4 = a2.toLowerCase();
8226
+ return x2.some((e4) => u4.includes(e4));
8227
+ })(K3)) if (a.captureStreamingResponseBody) try {
8228
+ (async function readStreamPrefix(e3, a2, u4) {
8229
+ const w4 = e3.body;
8230
+ if (!w4) return null;
8231
+ const x3 = w4.getReader(), I2 = new TextDecoder(), M3 = [];
8232
+ let _4 = 0;
8233
+ const readWithLimit = async () => {
8234
+ try {
8235
+ for (; _4 < a2; ) {
8236
+ const { done: e4, value: a3 } = await x3.read();
8237
+ if (e4) break;
8238
+ _4 += a3.byteLength, M3.push(I2.decode(a3, { stream: true }));
8239
+ }
8240
+ return M3.push(I2.decode()), M3.join("");
8241
+ } catch {
8242
+ return M3.length > 0 ? M3.join("") : null;
8243
+ } finally {
8244
+ try {
8245
+ x3.cancel();
8246
+ } catch {
8247
+ }
8248
+ }
8249
+ };
8250
+ try {
8251
+ return await Promise.race([readWithLimit(), new Promise((e4) => setTimeout(() => {
8252
+ try {
8253
+ x3.cancel();
8254
+ } catch {
8255
+ }
8256
+ e4(M3.length > 0 ? M3.join("") : null);
8257
+ }, u4))]);
8258
+ } catch {
8259
+ try {
8260
+ x3.cancel();
8261
+ } catch {
8262
+ }
8263
+ return null;
8264
+ }
8265
+ })(K3.clone(), 1024 * a.captureStreamPrefixKb, a.captureStreamTimeoutMs).then((e3) => sendEventWithBody(e3), () => sendEventWithBody(null));
8266
+ } catch {
8267
+ sendEventWithBody(null);
8268
+ }
8269
+ else sendEventWithBody(null);
8270
+ else {
8271
+ const e3 = K3.headers.get("content-length"), a2 = e3 ? parseInt(e3, 10) : NaN;
8272
+ if (!isNaN(a2) && a2 > ne2) sendEventWithBody(null);
8273
+ else try {
8274
+ K3.clone().text().then((e4) => {
8275
+ e4.length > ne2 ? sendEventWithBody(null) : sendEventWithBody(e4);
8276
+ }, () => sendEventWithBody(null));
8277
+ } catch {
8278
+ sendEventWithBody(null);
8279
+ }
8280
+ }
8281
+ return K3;
8282
+ } catch (a2) {
8283
+ const x3 = Date.now(), I2 = false, M3 = ((_a2 = a2.response) == null ? void 0 : _a2.status) || 500, _4 = a2.message || "Fetch request failed";
8284
+ if (a2 instanceof TypeError && ((_b = a2 == null ? void 0 : a2.message) == null ? void 0 : _b.toLowerCase().includes(Wd.toLowerCase()))) return e2.apply(u3, w3);
8285
+ let A4 = W2;
8286
+ if (H2) try {
8287
+ A4 = await H2.text();
8288
+ } catch {
8289
+ A4 = null;
8290
+ }
8291
+ throw sendEvent({ type: 27, timestamp: x3, sessionId: F3, data: { request_id: B3, session_id: F3, timestamp_start: z2, timestamp_end: x3, response_code: M3, success: I2, error: _4, method: U2, url: $3, request_headers: G2, request_body: A4, response_body: null }, ...j2 }), a2;
8221
8292
  }
8222
- })(a2, w2, x2, _2, A2, u, M2);
8293
+ })(u2, _2, A2, $2, B2, w2, F2);
8223
8294
  } });
8224
8295
  }
8225
- async function startRecording({ apiKey: e, backendApi: a = "https://api-service.sailfishqa.com", domainsToPropagateHeaderTo: u = [], domainsToNotPropagateHeaderTo: w2 = [], serviceVersion: x2, serviceIdentifier: M2, gitSha: _2, serviceAdditionalMetadata: A2, enableIpTracking: F2 }) {
8296
+ async function startRecording({ apiKey: e, backendApi: a = "https://api-service.sailfishqa.com", domainsToPropagateHeaderTo: u = [], domainsToNotPropagateHeaderTo: w2 = [], serviceVersion: x2, serviceIdentifier: M2, gitSha: _2, serviceAdditionalMetadata: A2, enableIpTracking: F2, captureStreamingResponseBody: $2 = true, captureResponseBodyMaxMb: B2 = 10, captureStreamPrefixKb: j2 = 64, captureStreamTimeoutMs: U2 = 1e4 }) {
8226
8297
  var _a2, _b;
8227
- const $2 = _2 ?? (function readGitSha() {
8298
+ const z2 = _2 ?? (function readGitSha() {
8228
8299
  var _a3;
8229
8300
  try {
8230
8301
  const e2 = globalThis;
@@ -8241,104 +8312,109 @@ async function startRecording({ apiKey: e, backendApi: a = "https://api-service.
8241
8312
  if ("string" == typeof e2 && e2) return e2;
8242
8313
  } catch {
8243
8314
  }
8244
- })(), j2 = M2 ?? "", B2 = x2 ?? "", U2 = (function getMapUuidFromWindow() {
8315
+ })(), W2 = M2 ?? "", G2 = x2 ?? "", H2 = (function getMapUuidFromWindow() {
8245
8316
  try {
8246
8317
  const e2 = window;
8247
8318
  if (e2 && "string" == typeof e2.sfMapUuid && e2.sfMapUuid) return e2.sfMapUuid;
8248
8319
  } catch {
8249
8320
  }
8250
- })(), z2 = getOrSetSessionId(), W2 = window.__sailfish_recorder || (window.__sailfish_recorder = {});
8251
- if (W2.sessionId = z2, W2.apiKey = e, W2.backendApi = a, W2.serviceAdditionalMetadata = A2, W2.initialized && W2.sessionId === z2 && W2.ws && 1 === W2.ws.readyState) trackDomainChangesOnce();
8252
- else {
8253
- W2.domEventsInit || (initializeDomContentEvents(z2), W2.domEventsInit = true), W2.consoleInit || (initializeConsolePlugin(Kd, z2), W2.consoleInit = true), W2.errorInit || (!(function initializeErrorInterceptor() {
8254
- window.addEventListener("error", (e2) => {
8255
- captureError(e2.error || e2.message);
8256
- }), window.addEventListener("unhandledrejection", (e2) => {
8257
- captureError(e2.reason, true);
8258
- });
8259
- })(), W2.errorInit = true), (function storeCredentialsAndConnection({ apiKey: e2, backendApi: a2 }) {
8260
- ee && (sessionStorage.setItem("sailfishApiKey", e2), sessionStorage.setItem("sailfishBackendApi", a2));
8261
- })({ apiKey: e, backendApi: a }), trackDomainChangesOnce(), sessionStorage.setItem("sailfishApiKey", e), sessionStorage.setItem("sailfishBackendApi", a), !isFunctionSpanTrackingEnabled() || W2.ws && 1 === W2.ws.readyState || fetchFunctionSpanTrackingEnabled(e, a).then((e2) => {
8262
- var _a3;
8263
- ((_a3 = e2.data) == null ? void 0 : _a3.isFunctionSpanTrackingEnabledFromApiKey) ?? false ? Bd && console.log("[Sailfish] Function span tracking state validated with backend: ACTIVE") : (clearStaleFuncSpanState(), Bd && console.log("[Sailfish] Cleared stale function span tracking state - backend validation shows tracking is not active"));
8264
- }).catch((e2) => {
8265
- Bd && console.warn("[Sailfish] Failed to validate function span tracking status with backend:", e2);
8266
- }), W2.sentDoNotPropagateOnce || (sendDomainsToNotPropagateHeaderTo(e, [...w2, ...Ud], a).catch((e2) => console.error("Failed to send domains to not propagate header to:", e2)), W2.sentDoNotPropagateOnce = true), W2.xhrPatched || (!(function setupXMLHttpRequestInterceptor(e2 = []) {
8267
- const a2 = XMLHttpRequest.prototype.open, u2 = XMLHttpRequest.prototype.send, w3 = XMLHttpRequest.prototype.setRequestHeader, x3 = getOrSetSessionId();
8268
- XMLHttpRequest.prototype.setRequestHeader = function(e3, a3) {
8269
- return this._capturedRequestHeaders || (this._capturedRequestHeaders = {}), this._capturedRequestHeaders[e3] = a3, w3.call(this, e3, a3);
8270
- }, XMLHttpRequest.prototype.open = function(e3, u3, ...w4) {
8271
- return this._requestUrl = "string" == typeof u3 && u3.length > 0 ? u3 : null, this._requestMethod = e3, this._capturedRequestHeaders = {}, a2.apply(this, [e3, u3, ...w4]);
8272
- }, XMLHttpRequest.prototype.send = function(...a3) {
8273
- const w4 = this._requestUrl;
8274
- if (!w4) return u2.apply(this, a3);
8275
- if (shouldSkipHeadersPropagation(w4, e2)) return u2.apply(this, a3);
8276
- const M3 = sessionStorage.getItem("pageVisitUUID"), _3 = v4(), A3 = `${x3}/${M3}/${_3}`;
8321
+ })(), K2 = getOrSetSessionId(), Y2 = window.__sailfish_recorder || (window.__sailfish_recorder = {});
8322
+ if (Y2.sessionId = K2, Y2.apiKey = e, Y2.backendApi = a, Y2.serviceAdditionalMetadata = A2, Y2.initialized && Y2.sessionId === K2 && Y2.ws && 1 === Y2.ws.readyState) return void trackDomainChangesOnce();
8323
+ Y2.domEventsInit || (initializeDomContentEvents(K2), Y2.domEventsInit = true), Y2.consoleInit || (initializeConsolePlugin(Kd, K2), Y2.consoleInit = true), Y2.errorInit || (!(function initializeErrorInterceptor() {
8324
+ window.addEventListener("error", (e2) => {
8325
+ captureError(e2.error || e2.message);
8326
+ }), window.addEventListener("unhandledrejection", (e2) => {
8327
+ captureError(e2.reason, true);
8328
+ });
8329
+ })(), Y2.errorInit = true), (function storeCredentialsAndConnection({ apiKey: e2, backendApi: a2 }) {
8330
+ ee && (sessionStorage.setItem("sailfishApiKey", e2), sessionStorage.setItem("sailfishBackendApi", a2));
8331
+ })({ apiKey: e, backendApi: a }), trackDomainChangesOnce(), sessionStorage.setItem("sailfishApiKey", e), sessionStorage.setItem("sailfishBackendApi", a), !isFunctionSpanTrackingEnabled() || Y2.ws && 1 === Y2.ws.readyState || fetchFunctionSpanTrackingEnabled(e, a).then((e2) => {
8332
+ var _a3;
8333
+ ((_a3 = e2.data) == null ? void 0 : _a3.isFunctionSpanTrackingEnabledFromApiKey) ?? false ? jd && console.log("[Sailfish] Function span tracking state validated with backend: ACTIVE") : (clearStaleFuncSpanState(), jd && console.log("[Sailfish] Cleared stale function span tracking state - backend validation shows tracking is not active"));
8334
+ }).catch((e2) => {
8335
+ jd && console.warn("[Sailfish] Failed to validate function span tracking status with backend:", e2);
8336
+ }), Y2.sentDoNotPropagateOnce || (sendDomainsToNotPropagateHeaderTo(e, [...w2, ...Ud], a).catch((e2) => console.error("Failed to send domains to not propagate header to:", e2)), Y2.sentDoNotPropagateOnce = true);
8337
+ const Z2 = { captureStreamingResponseBody: $2, captureResponseBodyMaxMb: B2, captureStreamPrefixKb: j2, captureStreamTimeoutMs: U2 };
8338
+ Y2.xhrPatched || (!(function setupXMLHttpRequestInterceptor(e2 = [], a2 = { captureStreamingResponseBody: true, captureResponseBodyMaxMb: 10, captureStreamPrefixKb: 64, captureStreamTimeoutMs: 1e4 }) {
8339
+ const u2 = XMLHttpRequest.prototype.open, w3 = XMLHttpRequest.prototype.send, x3 = XMLHttpRequest.prototype.setRequestHeader, M3 = getOrSetSessionId();
8340
+ XMLHttpRequest.prototype.setRequestHeader = function(e3, a3) {
8341
+ return this._capturedRequestHeaders || (this._capturedRequestHeaders = {}), this._capturedRequestHeaders[e3] = a3, x3.call(this, e3, a3);
8342
+ }, XMLHttpRequest.prototype.open = function(e3, a3, ...w4) {
8343
+ return this._requestUrl = "string" == typeof a3 && a3.length > 0 ? a3 : null, this._requestMethod = e3, this._capturedRequestHeaders = {}, u2.apply(this, [e3, a3, ...w4]);
8344
+ }, XMLHttpRequest.prototype.send = function(...u3) {
8345
+ const x4 = this._requestUrl;
8346
+ if (!x4) return w3.apply(this, u3);
8347
+ if (shouldSkipHeadersPropagation(x4, e2)) return w3.apply(this, u3);
8348
+ const _3 = sessionStorage.getItem("pageVisitUUID"), A3 = v4(), F3 = `${M3}/${_3}/${A3}`;
8349
+ try {
8350
+ this.setRequestHeader(I, F3);
8351
+ } catch (e3) {
8352
+ console.warn(`Could not set X-Sf3-Rid for ${x4}`, e3);
8353
+ }
8354
+ const $3 = getFuncSpanHeader();
8355
+ if ($3) try {
8356
+ this.setRequestHeader($3.name, $3.value), jd && console.log("[Sailfish] Added funcspan header to XMLHttpRequest:", { url: x4, header: $3.name });
8357
+ } catch (e3) {
8358
+ jd && console.warn(`[Sailfish] Could not set funcspan header for ${x4}`, e3);
8359
+ }
8360
+ const B3 = Date.now();
8361
+ let j3 = false;
8362
+ const U3 = u3[0], z3 = { ...this._capturedRequestHeaders };
8363
+ maskAuthorizationHeader(z3);
8364
+ const emitFinished = (e3, a3, u4, w4, I2) => {
8365
+ if (j3) return;
8366
+ j3 = true;
8367
+ const _4 = Date.now();
8368
+ sendEvent({ type: 27, timestamp: _4, sessionId: M3, data: { request_id: A3, session_id: M3, timestamp_start: B3, timestamp_end: _4, response_code: a3, success: e3, error: u4, method: this._requestMethod, url: x4, request_headers: z3, request_body: U3, response_headers: I2, response_body: w4 }, ...getUrlAndStoredUuids() });
8369
+ };
8370
+ return this.addEventListener("load", () => {
8371
+ const e3 = this.status || 0;
8372
+ let u4, w4 = null;
8373
+ const x5 = 1024 * a2.captureResponseBodyMaxMb * 1024;
8277
8374
  try {
8278
- this.setRequestHeader(I, A3);
8279
- } catch (e3) {
8280
- console.warn(`Could not set X-Sf3-Rid for ${w4}`, e3);
8281
- }
8282
- const F3 = getFuncSpanHeader();
8283
- if (F3) try {
8284
- this.setRequestHeader(F3.name, F3.value), Bd && console.log("[Sailfish] Added funcspan header to XMLHttpRequest:", { url: w4, header: F3.name });
8285
- } catch (e3) {
8286
- Bd && console.warn(`[Sailfish] Could not set funcspan header for ${w4}`, e3);
8287
- }
8288
- const $3 = Date.now();
8289
- let j3 = false;
8290
- const B3 = a3[0], U3 = { ...this._capturedRequestHeaders };
8291
- maskAuthorizationHeader(U3);
8292
- const emitFinished = (e3, a4, u3, I2, M4) => {
8293
- if (j3) return;
8294
- j3 = true;
8295
- const A4 = Date.now();
8296
- sendEvent({ type: 27, timestamp: A4, sessionId: x3, data: { request_id: _3, session_id: x3, timestamp_start: $3, timestamp_end: A4, response_code: a4, success: e3, error: u3, method: this._requestMethod, url: w4, request_headers: U3, request_body: B3, response_headers: M4, response_body: I2 }, ...getUrlAndStoredUuids() });
8297
- };
8298
- return this.addEventListener("load", () => {
8299
- const e3 = this.status || 0;
8300
- let a4, u3 = null;
8301
- try {
8302
- a4 = this.responseText || this.response;
8303
- } catch (e4) {
8304
- a4 = null;
8305
- }
8306
- try {
8307
- u3 = {};
8308
- const e4 = this.getAllResponseHeaders();
8309
- e4 && e4.split("\r\n").forEach((e5) => {
8310
- const a5 = e5.split(": ");
8311
- 2 === a5.length && (u3[a5[0]] = a5[1]);
8312
- });
8313
- } catch (e4) {
8314
- Bd && console.warn("[Sailfish] Failed to capture XHR response headers:", e4), u3 = null;
8315
- }
8316
- if (e3 >= 200 && e3 < 300) emitFinished(true, e3, "", a4, u3);
8375
+ if (0 === a2.captureResponseBodyMaxMb) u4 = null;
8317
8376
  else {
8318
- const w5 = this.statusText || `HTTP ${e3}`;
8319
- emitFinished(false, e3, w5, a4, u3);
8377
+ const e4 = this.responseText || this.response;
8378
+ u4 = "string" == typeof e4 && e4.length > x5 ? null : e4;
8320
8379
  }
8321
- }, { once: true }), this.addEventListener("error", () => {
8322
- const e3 = this.status || 0, a4 = 0 === e3 ? "Network or CORS failure" : this.statusText || `Error ${e3}`;
8323
- emitFinished(false, e3, a4);
8324
- }, { once: true }), u2.apply(this, a3);
8325
- };
8326
- })(w2), W2.xhrPatched = true), W2.fetchPatched || (setupFetchInterceptor(w2), W2.fetchPatched = true), (async function gatherAndCacheDeviceInfo() {
8327
- sendMessage({ type: "deviceInfo", data: { deviceInfo: { language: navigator.language, userAgent: navigator.userAgent } } });
8328
- })(), F2 && fetchAndSendIp(z2);
8329
- try {
8330
- const u2 = await fetchCaptureSettings(e, a), w3 = ((_a2 = u2.data) == null ? void 0 : _a2.captureSettingsFromApiKey) || qd;
8331
- if (W2.ws && 1 === W2.ws.readyState) return;
8332
- const I2 = withAppUrlMetadata(A2), _3 = await startRecordingSession(e, z2, a, j2, B2, U2, $2, "JS/TS", I2);
8333
- if ((_b = _3.data) == null ? void 0 : _b.startRecordingSession) {
8334
- const u3 = (A2 == null ? void 0 : A2.env) || (A2 == null ? void 0 : A2.environment), I3 = await initializeRecording(w3, a, e, z2, u3);
8335
- W2.ws = I3, W2.initialized = true, W2.sentMapUuidOnce || (!(function sendMapUuidIfAvailable(e2 = "", a2 = "") {
8336
- window.sfMapUuid && sendMessage({ type: "mapUuid", data: { mapUuid: window.sfMapUuid, serviceIdentifier: e2, serviceVersion: a2 } });
8337
- })(M2, x2), W2.sentMapUuidOnce = true);
8338
- } else console.error("Failed to start recording session:", _3.errors || _3);
8339
- } catch (e2) {
8340
- console.error("Error starting recording:", e2);
8341
- }
8380
+ } catch (e4) {
8381
+ u4 = null;
8382
+ }
8383
+ try {
8384
+ w4 = {};
8385
+ const e4 = this.getAllResponseHeaders();
8386
+ e4 && e4.split("\r\n").forEach((e5) => {
8387
+ const a3 = e5.split(": ");
8388
+ 2 === a3.length && (w4[a3[0]] = a3[1]);
8389
+ });
8390
+ } catch (e4) {
8391
+ jd && console.warn("[Sailfish] Failed to capture XHR response headers:", e4), w4 = null;
8392
+ }
8393
+ if (e3 >= 200 && e3 < 300) emitFinished(true, e3, "", u4, w4);
8394
+ else {
8395
+ const a3 = this.statusText || `HTTP ${e3}`;
8396
+ emitFinished(false, e3, a3, u4, w4);
8397
+ }
8398
+ }, { once: true }), this.addEventListener("error", () => {
8399
+ const e3 = this.status || 0, a3 = 0 === e3 ? "Network or CORS failure" : this.statusText || `Error ${e3}`;
8400
+ emitFinished(false, e3, a3);
8401
+ }, { once: true }), w3.apply(this, u3);
8402
+ };
8403
+ })(w2, Z2), Y2.xhrPatched = true), Y2.fetchPatched || (setupFetchInterceptor(w2, Z2), Y2.fetchPatched = true), (async function gatherAndCacheDeviceInfo() {
8404
+ sendMessage({ type: "deviceInfo", data: { deviceInfo: { language: navigator.language, userAgent: navigator.userAgent } } });
8405
+ })(), F2 && fetchAndSendIp(K2);
8406
+ try {
8407
+ const u2 = await fetchCaptureSettings(e, a), w3 = ((_a2 = u2.data) == null ? void 0 : _a2.captureSettingsFromApiKey) || qd;
8408
+ if (Y2.ws && 1 === Y2.ws.readyState) return;
8409
+ const I2 = withAppUrlMetadata(A2), _3 = await startRecordingSession(e, K2, a, W2, G2, H2, z2, "JS/TS", I2);
8410
+ if ((_b = _3.data) == null ? void 0 : _b.startRecordingSession) {
8411
+ const u3 = (A2 == null ? void 0 : A2.env) || (A2 == null ? void 0 : A2.environment), I3 = await initializeRecording(w3, a, e, K2, u3);
8412
+ Y2.ws = I3, Y2.initialized = true, Y2.sentMapUuidOnce || (!(function sendMapUuidIfAvailable(e2 = "", a2 = "") {
8413
+ window.sfMapUuid && sendMessage({ type: "mapUuid", data: { mapUuid: window.sfMapUuid, serviceIdentifier: e2, serviceVersion: a2 } });
8414
+ })(M2, x2), Y2.sentMapUuidOnce = true);
8415
+ } else console.error("Failed to start recording session:", _3.errors || _3);
8416
+ } catch (e2) {
8417
+ console.error("Error starting recording:", e2);
8342
8418
  }
8343
8419
  }
8344
8420
  J && (!(function sendUserDeviceUuid() {
@@ -8363,7 +8439,7 @@ J && (!(function sendUserDeviceUuid() {
8363
8439
  const e = document.visibilityState, a = Date.now();
8364
8440
  "visible" === e && getOrSetSessionId();
8365
8441
  try {
8366
- sendMessage({ type: "visibilityChange", data: { state: e, url: window.location.href.split("?")[0], timestamp: a, ...getUrlAndStoredUuids() } }), Bd && console.log(`[Sailfish] Tab became ${e}, sent visibility change event`);
8442
+ sendMessage({ type: "visibilityChange", data: { state: e, url: window.location.href.split("?")[0], timestamp: a, ...getUrlAndStoredUuids() } }), jd && console.log(`[Sailfish] Tab became ${e}, sent visibility change event`);
8367
8443
  } catch (e2) {
8368
8444
  console.warn("[Sailfish] Failed to send visibility change event:", e2);
8369
8445
  }