ugly-app 0.1.819 → 0.1.821

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.
@@ -1,2 +1,2 @@
1
- export declare const CLI_VERSION = "0.1.819";
1
+ export declare const CLI_VERSION = "0.1.821";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -1,3 +1,3 @@
1
1
  // Auto-generated by prebuild — do not edit manually
2
- export const CLI_VERSION = "0.1.819";
2
+ export const CLI_VERSION = "0.1.821";
3
3
  //# sourceMappingURL=version.js.map
@@ -8,12 +8,27 @@ export declare class PerfAgent {
8
8
  private pendingAnomalies;
9
9
  private snapshots;
10
10
  private profiling;
11
+ private lastProfileAt;
11
12
  private lcpMs;
12
13
  private fcpMs;
13
14
  private _startup;
14
15
  constructor(now: () => number, vitalsReader: () => import('../protocol.js').WebVitals);
15
16
  /** Call once after the agent is created. Starts continuous monitoring. */
16
17
  install(): void;
18
+ /**
19
+ * Whether the long tasks seen *recently* warrant an anomaly.
20
+ *
21
+ * The old test also added `vitals.longTasks.length` — a cumulative buffer that is
22
+ * capped at 200 but never decays. Once a page had emitted 10 long tasks in its
23
+ * lifetime (trivial for any real app) the threshold was permanently satisfied, so
24
+ * EVERY subsequent long task captured an anomaly and ran a 1s self-profile. That
25
+ * is a runaway loop: profiling generates long tasks, which schedule more profiling.
26
+ *
27
+ * Only `this.longTasks` is consulted — it prunes to a trailing 10s window. `vitals`
28
+ * stays in the signature because its entries are stamped with a different clock
29
+ * (`deps.now()`), so they cannot be windowed against this one.
30
+ */
31
+ private longTaskAnomalyDue;
17
32
  /** Mark a startup milestone (call from outside). */
18
33
  mark(label: string): void;
19
34
  /** Read current lightweight vitals (for polling). */
@@ -1 +1 @@
1
- {"version":3,"file":"perfAgent.d.ts","sourceRoot":"","sources":["../../../src/inspect/agent/perfAgent.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAoK/D,qBAAa,SAAS;IAgBlB,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,YAAY;IAhBtB,OAAO,CAAC,SAAS,CAA2B;IAC5C,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,SAAS,CAAyB;IAC1C,OAAO,CAAC,gBAAgB,CAAiC;IACzD,OAAO,CAAC,SAAS,CAAsB;IACvC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,KAAK,CAAqB;IAClC,OAAO,CAAC,KAAK,CAAqB;IAClC,OAAO,CAAC,QAAQ,CAId;gBAGQ,GAAG,EAAE,MAAM,MAAM,EACjB,YAAY,EAAE,MAAM,OAAO,gBAAgB,EAAE,SAAS;IAWhE,0EAA0E;IAC1E,OAAO,IAAI,IAAI;IA2Df,oDAAoD;IACpD,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAOzB,qDAAqD;IACrD,MAAM,IAAI,UAAU;IASpB,0EAA0E;IAC1E,YAAY,IAAI,YAAY,GAAG,IAAI;IAWnC,kEAAkE;IAC5D,cAAc,CAAC,OAAO,EAAE,YAAY,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAkErE,gEAAgE;IAChE,MAAM,IAAI,YAAY;IA2BtB,2BAA2B;IAC3B,OAAO,IAAI,IAAI;CAIhB"}
1
+ {"version":3,"file":"perfAgent.d.ts","sourceRoot":"","sources":["../../../src/inspect/agent/perfAgent.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AA+N/D,qBAAa,SAAS;IAiBlB,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,YAAY;IAjBtB,OAAO,CAAC,SAAS,CAA2B;IAC5C,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,SAAS,CAAyB;IAC1C,OAAO,CAAC,gBAAgB,CAAiC;IACzD,OAAO,CAAC,SAAS,CAAsB;IACvC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,KAAK,CAAqB;IAClC,OAAO,CAAC,KAAK,CAAqB;IAClC,OAAO,CAAC,QAAQ,CAId;gBAGQ,GAAG,EAAE,MAAM,MAAM,EACjB,YAAY,EAAE,MAAM,OAAO,gBAAgB,EAAE,SAAS;IAWhE,0EAA0E;IAC1E,OAAO,IAAI,IAAI;IAoEf;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,kBAAkB;IAK1B,oDAAoD;IACpD,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAOzB,qDAAqD;IACrD,MAAM,IAAI,UAAU;IASpB,0EAA0E;IAC1E,YAAY,IAAI,YAAY,GAAG,IAAI;IAWnC,kEAAkE;IAC5D,cAAc,CAAC,OAAO,EAAE,YAAY,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAmFrE,gEAAgE;IAChE,MAAM,IAAI,YAAY;IA2BtB,2BAA2B;IAC3B,OAAO,IAAI,IAAI;CAIhB"}
@@ -24,6 +24,25 @@ const LONG_TASK_WINDOW_COUNT = 5;
24
24
  const DROPPED_FRAME_THRESHOLD = 3;
25
25
  const MAX_PENDING_ANOMALIES = 10;
26
26
  const PROFILE_DURATION_MS = 1000;
27
+ // The 1s self-profile costs ~250 stack captures. Anomalies can arrive back-to-back
28
+ // (every long task fires one), so profiling every anomaly makes the agent a
29
+ // meaningful share of the very load it is measuring. Snapshots are still captured
30
+ // each time; only the call tree is rate-limited.
31
+ const PROFILE_COOLDOWN_MS = 30_000;
32
+ // Above this, a heartbeat gap is a discontinuity (suspension / sleep / throttled tick
33
+ // racing `visibilitychange`), not event-loop lag. Comfortably above the largest block
34
+ // we still want to report as a spike.
35
+ const SUSPEND_GAP_MS = 10_000;
36
+ /**
37
+ * A hidden page's timers are throttled by the browser — Chromium clamps them to 1s
38
+ * and, after ~5 minutes, to once per MINUTE. The heartbeat measures `now - expected`,
39
+ * so an idle backgrounded tab reports tens of seconds of "event-loop lag" and a
40
+ * saturated cpuPressure. That is a property of not being on screen, not of the page.
41
+ * Observed in production: a backgrounded tab converging on exactly ~60000ms of lag.
42
+ */
43
+ function isHidden() {
44
+ return typeof document !== 'undefined' && document.hidden === true;
45
+ }
27
46
  // ─── Helpers ─────────────────────────────────────────────────────────────────
28
47
  let raf;
29
48
  let caf;
@@ -72,10 +91,36 @@ class HeartbeatDetector {
72
91
  return 0;
73
92
  return this.lagSamples.reduce((a, b) => a + b, 0) / this.lagSamples.length;
74
93
  }
94
+ /**
95
+ * Drop the accumulated window and re-baseline. Called when the page is hidden (its
96
+ * timers are about to be throttled) and when it becomes visible again (the first
97
+ * tick after a throttled gap would otherwise register as a huge stall).
98
+ */
99
+ reset(now) {
100
+ this.lastTick = now;
101
+ this.lagSamples.length = 0;
102
+ this.delayedSamples.length = 0;
103
+ this.blipCount = 0;
104
+ }
75
105
  /** Returns true when a fresh anomaly is detected (pressure just crossed threshold). */
76
106
  tick(now) {
107
+ // A throttled tick measures the browser's scheduling policy, not the page's
108
+ // event loop. Re-baseline and record nothing.
109
+ if (isHidden()) {
110
+ this.reset(now);
111
+ return false;
112
+ }
77
113
  const expected = this.lastTick + HEARTBEAT_INTERVAL_MS;
78
114
  const lag = Math.max(0, now - expected);
115
+ // A gap this large is a discontinuity — process suspension, machine sleep, or a
116
+ // throttled tick that beat `visibilitychange` back to the queue. It is not a
117
+ // stall we could act on, and recording it poisons the trailing average for the
118
+ // next ~10s. Re-baseline instead. (A genuine multi-second block below this
119
+ // threshold is still reported as a spike.)
120
+ if (lag > SUSPEND_GAP_MS) {
121
+ this.reset(now);
122
+ return false;
123
+ }
79
124
  this.lagSamples.push(lag);
80
125
  if (this.lagSamples.length > HEARTBEAT_WINDOW_SAMPLES)
81
126
  this.lagSamples.shift();
@@ -120,7 +165,18 @@ class FrameBudgetMonitor {
120
165
  dropCount = 0;
121
166
  rafId = 0;
122
167
  onJank = null;
168
+ /** Forget the last frame time so a hidden→visible gap isn't counted as jank. */
169
+ reset() {
170
+ this.lastFrame = 0;
171
+ this.dropCount = 0;
172
+ }
123
173
  tick = (now) => {
174
+ // rAF is suspended while hidden; the first frame back carries the whole gap.
175
+ if (isHidden()) {
176
+ this.reset();
177
+ this.rafId = raf(this.tick);
178
+ return;
179
+ }
124
180
  const delta = now - this.lastFrame;
125
181
  if (this.lastFrame > 0 && delta > 32) {
126
182
  this.dropCount++;
@@ -167,6 +223,7 @@ export class PerfAgent {
167
223
  pendingAnomalies = [];
168
224
  snapshots = [];
169
225
  profiling = false;
226
+ lastProfileAt = 0;
170
227
  lcpMs;
171
228
  fcpMs;
172
229
  _startup;
@@ -213,9 +270,7 @@ export class PerfAgent {
213
270
  this.lcpMs = e.startTime;
214
271
  }
215
272
  }
216
- // Fire on web-vitals long-task count too
217
- const ltCount = vitals.longTasks?.length ?? 0;
218
- if (ltCount + this.longTasks.count >= LONG_TASK_WINDOW_COUNT * 2) {
273
+ if (this.longTaskAnomalyDue(vitals)) {
219
274
  void this.captureAnomaly('long-task');
220
275
  }
221
276
  });
@@ -236,9 +291,38 @@ export class PerfAgent {
236
291
  }
237
292
  }
238
293
  catch { /* unsupported */ }
294
+ // Re-baseline across visibility changes. Going hidden, the next tick may be a
295
+ // minute late; coming back, that gap must not be charged to the page.
296
+ try {
297
+ if (typeof document !== 'undefined' && typeof document.addEventListener === 'function') {
298
+ document.addEventListener('visibilitychange', () => {
299
+ this.heartbeat.reset(Date.now());
300
+ this.frameBudget.reset();
301
+ });
302
+ }
303
+ }
304
+ catch { /* no document (worker/test) */ }
239
305
  // Track startup milestones
240
306
  this._startup.milestones.push({ label: 'agent:install', deltaMs: Math.round(this.now() - this._startup.t0) });
241
307
  }
308
+ /**
309
+ * Whether the long tasks seen *recently* warrant an anomaly.
310
+ *
311
+ * The old test also added `vitals.longTasks.length` — a cumulative buffer that is
312
+ * capped at 200 but never decays. Once a page had emitted 10 long tasks in its
313
+ * lifetime (trivial for any real app) the threshold was permanently satisfied, so
314
+ * EVERY subsequent long task captured an anomaly and ran a 1s self-profile. That
315
+ * is a runaway loop: profiling generates long tasks, which schedule more profiling.
316
+ *
317
+ * Only `this.longTasks` is consulted — it prunes to a trailing 10s window. `vitals`
318
+ * stays in the signature because its entries are stamped with a different clock
319
+ * (`deps.now()`), so they cannot be windowed against this one.
320
+ */
321
+ longTaskAnomalyDue(_vitals) {
322
+ if (isHidden())
323
+ return false;
324
+ return this.longTasks.count >= LONG_TASK_WINDOW_COUNT;
325
+ }
242
326
  /** Mark a startup milestone (call from outside). */
243
327
  mark(label) {
244
328
  this._startup.milestones.push({
@@ -273,11 +357,21 @@ export class PerfAgent {
273
357
  return;
274
358
  if (this.profiling && trigger !== 'page-unload')
275
359
  return;
360
+ // A hidden page's detectors measure browser throttling, not the page. `page-unload`
361
+ // is exempt: a tab is often hidden at the moment it is torn down.
362
+ if (trigger !== 'page-unload' && isHidden())
363
+ return;
276
364
  this.profiling = true;
277
365
  const heap = heapMb();
278
366
  const vitals = this.vitalsReader();
367
+ // The profile is the expensive part (~250 stack captures over 1s). Snapshot every
368
+ // anomaly, but sample at most once per cooldown so the agent can't become the
369
+ // dominant cost on a page that is emitting anomalies continuously.
370
+ const nowMs = Date.now();
371
+ const mayProfile = trigger !== 'page-unload' && nowMs - this.lastProfileAt >= PROFILE_COOLDOWN_MS;
279
372
  let callTree = null;
280
- if (trigger !== 'page-unload') {
373
+ if (mayProfile) {
374
+ this.lastProfileAt = nowMs;
281
375
  try {
282
376
  const profile = await selfProfile(PROFILE_DURATION_MS, this.now);
283
377
  // Flatten the top 10 self-time frames
@@ -298,13 +392,20 @@ export class PerfAgent {
298
392
  walk(profile.root);
299
393
  frames.sort((a, b) => b.selfMs - a.selfMs);
300
394
  const totalSelf = frames.reduce((s, f) => s + f.selfMs, 0);
301
- callTree = frames.slice(0, 10).map((f) => ({
302
- functionName: f.fn,
303
- url: f.url,
304
- line: f.line,
305
- col: f.col,
306
- selfPercent: totalSelf > 0 ? Math.round((f.selfMs / totalSelf) * 100) : 0,
307
- }));
395
+ // No page frames sampled. This is the common case for a single synchronous
396
+ // block: the sampler runs on a timer, and timers do not run *during* the
397
+ // block, so by the time it profiles, the page is idle again. Report `null`
398
+ // rather than an empty tree — an empty array reads as "profiled, nothing hot",
399
+ // which is a different (and misleading) claim.
400
+ callTree = frames.length === 0
401
+ ? null
402
+ : frames.slice(0, 10).map((f) => ({
403
+ functionName: f.fn,
404
+ url: f.url,
405
+ line: f.line,
406
+ col: f.col,
407
+ selfPercent: totalSelf > 0 ? Math.round((f.selfMs / totalSelf) * 100) : 0,
408
+ }));
308
409
  }
309
410
  catch {
310
411
  callTree = null;
@@ -1 +1 @@
1
- {"version":3,"file":"perfAgent.js","sourceRoot":"","sources":["../../../src/inspect/agent/perfAgent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"perfAgent.js","sourceRoot":"","sources":["../../../src/inspect/agent/perfAgent.ts"],"names":[],"mappings":"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"}
@@ -33,11 +33,25 @@ function schedule(fn) {
33
33
  else
34
34
  fn();
35
35
  }
36
+ /**
37
+ * Frames belonging to the inspect agent itself. The `profile.(js|ts)` test only ever
38
+ * matched an unbundled dev build: in the shipped IIFE every module collapses into one
39
+ * file, so the sampler's own frames survived the filter and it profiled ITSELF —
40
+ * production call trees were a single minified frame with 100% self time, useless for
41
+ * finding the real hot path. The bundle now carries a `sourceURL` footer so its frames
42
+ * are attributable.
43
+ *
44
+ * Bare `<anonymous>` is deliberately NOT filtered: page code run through `eval` /
45
+ * `executeJavaScript` reports that way and is exactly what we want to surface.
46
+ */
47
+ function isAgentFrame(url) {
48
+ return /profile\.(js|ts)/.test(url) || /ugly-inspect-agent/.test(url);
49
+ }
36
50
  function captureFrames() {
37
51
  // Frames are leaf→root; reverse to root→leaf and drop our own profiler frames.
38
52
  const frames = parseStack(new Error().stack, 1);
39
53
  return frames
40
- .filter((f) => !/profile\.(js|ts)/.test(f.url))
54
+ .filter((f) => !isAgentFrame(f.url))
41
55
  .map((f) => ({ url: f.url, line: f.line, col: f.col, functionName: f.functionName }))
42
56
  .reverse();
43
57
  }
@@ -1 +1 @@
1
- {"version":3,"file":"profile.js","sourceRoot":"","sources":["../../../src/inspect/agent/profile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"profile.js","sourceRoot":"","sources":["../../../src/inspect/agent/profile.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
- "use strict";(()=>{var E=class{constructor(t){this.cap=t}cap;items=[];push(t){this.items.push(t),this.items.length>this.cap&&this.items.splice(0,this.items.length-this.cap)}since(t,n){let r=0,o=this.items.length;for(;r<o;){let i=r+o>>>1;n(this.items[i])<t?r=i+1:o=i}return this.items.slice(r)}all(){return this.items.slice()}clear(){this.items=[]}size(){return this.items.length}};var S=class{seq=0;byId=new Map;put(t){let n=`o${++this.seq}`;return this.byId.set(n,t),n}get(t){return this.byId.get(t)}clear(){this.byId.clear()}};function Te(e){return typeof Node<"u"&&typeof e=="object"&&e!==null&&e instanceof Node}function k(e,t){return e.length>t?`${e.slice(0,t)}\u2026`:e}function z(e){return Object.getPrototypeOf(e)?.constructor?.name}function g(e,t){switch(typeof e){case"undefined":return{type:"undefined"};case"boolean":return{type:"boolean",value:e};case"bigint":return{type:"bigint",value:`${e}n`,preview:`${e}n`};case"symbol":return{type:"symbol",value:String(e),preview:String(e)};case"string":return{type:"string",value:k(e,1e3)};case"number":return Number.isFinite(e)?{type:"number",value:e}:{type:"number",value:String(e),preview:String(e)};case"function":return{type:"function",className:"Function",preview:`\u0192 ${e.name||"(anonymous)"}()`};case"object":break;default:return{type:"object",preview:String(e)}}if(e===null)return{type:"null"};let n=e;if(Te(e))return{type:"node",className:e.nodeName??"Node",preview:Re(e),nodeId:t.nodeIdFor?.(e)};if(e instanceof Date)return{type:"date",className:"Date",preview:Pe(e)};if(e instanceof RegExp)return{type:"regexp",className:"RegExp",preview:String(e)};if(e instanceof Error)return{type:"error",className:e.name||"Error",preview:k(`${e.name}: ${e.message}`,100),objectId:t.registry.put(e)};if(Ne(e))return{type:"promise",className:"Promise",preview:"Promise",objectId:t.registry.put(e)};if(e instanceof Map)return{type:"map",className:"Map",size:e.size,objectId:t.registry.put(e),preview:`Map(${e.size})`,entries:H(e,t)};if(e instanceof Set)return{type:"set",className:"Set",size:e.size,objectId:t.registry.put(e),preview:`Set(${e.size})`,entries:X(e,t)};if(Array.isArray(e))return{type:"array",className:"Array",size:e.length,objectId:t.registry.put(e),preview:`Array(${e.length})`,entries:F(e,t)};let r=Object.keys(n);return{type:"object",className:z(n)??"Object",size:r.length,objectId:t.registry.put(n),preview:ve(n,r),entries:_(n,r,t)}}function V(e,t){if(e instanceof Map)return H(e,t,1/0).map(n=>n.value);if(e instanceof Set)return X(e,t,1/0).map(n=>n.value);if(Array.isArray(e))return F(e,t,1/0).map(n=>n.value);if(e instanceof Error)return _({name:e.name,message:e.message,stack:e.stack},["name","message","stack"],t,1/0).map(n=>n.value);if(typeof e=="object"&&e!==null){let n=Object.keys(e);return _(e,n,t,1/0).map(r=>r.value)}return[]}function F(e,t,n=5){let r=[];for(let o=0;o<e.length&&o<n;o++)r.push({key:String(o),value:g(e[o],t)});return r}function _(e,t,n,r=5){let o=[];for(let i=0;i<t.length&&i<r;i++){let s=t[i],c;try{c=e[s]}catch{c="(getter threw)"}o.push({key:s,value:g(c,n)})}return o}function H(e,t,n=5){let r=[],o=0;for(let[i,s]of e){if(o++>=n)break;r.push({key:g(i,t),value:g(s,t)})}return r}function X(e,t,n=5){let r=[],o=0;for(let i of e){if(o++>=n)break;r.push({value:g(i,t)})}return r}function ve(e,t){let n=t.slice(0,5).map(o=>{let i;try{i=e[o]}catch{i="\u2026"}return`${o}: ${Me(i)}`}),r=t.length>5?", \u2026":"";return k(`{${n.join(", ")}${r}}`,100)}function Me(e){let t=typeof e;return t==="string"?`"${k(e,20)}"`:t==="object"&&e!==null?Array.isArray(e)?`Array(${e.length})`:z(e)??"Object":String(e)}function Re(e){let t=e;if(t.nodeType===1){let n=(t.nodeName??"").toLowerCase(),r=t.id?`#${t.id}`:"",o=typeof t.className=="string"&&t.className?`.${t.className.trim().split(/\s+/).join(".")}`:"";return k(`<${n}${r}${o}>`,100)}return t.nodeName??"Node"}function Ne(e){return typeof e?.then=="function"}function Pe(e){try{return e.toISOString()}catch{return"Invalid Date"}}var q=["log","info","warn","error","debug"];function W(e){if(typeof console>"u")return()=>{};let t=0,n={};for(let s of q){let c=console[s];typeof c=="function"&&(n[s]=c,console[s]=(...d)=>{try{i(s,d)}catch{}c.apply(console,d)})}let r=s=>{i("error",[s.message],{stack:y(s.error?.stack),source:{url:s.filename||"",line:s.lineno||0,col:s.colno||0}})},o=s=>{let c=s.reason;i("error",[`Unhandled rejection: ${c?.message??String(s.reason)}`],{stack:y(c?.stack)})};typeof window<"u"&&(window.addEventListener("error",r),window.addEventListener("unhandledrejection",o));function i(s,c,d){let f=c.map(p=>g(p,{registry:e.registry,nodeIdFor:e.nodeIdFor})),a=d?.stack??y(new Error().stack,1),u={seq:++t,ts:e.now(),level:s,args:f,text:Ie(c),stack:a.length?a:void 0,source:d?.source??a[0]?{url:a[0].url,line:a[0].line,col:a[0].col}:void 0};e.buffer.push(u),e.onEntry?.(u)}return()=>{for(let s of q){let c=n[s];c&&(console[s]=c)}typeof window<"u"&&(window.removeEventListener("error",r),window.removeEventListener("unhandledrejection",o))}}function Ie(e){return e.map(t=>{if(typeof t=="string")return t;if(t instanceof Error)return`${t.name}: ${t.message}`;try{return JSON.stringify(t)}catch{return String(t)}}).join(" ").slice(0,2e3)}function y(e,t=0){if(!e)return[];let n=[],r=e.split(`
2
- `);for(let o of r){let i=o.trim(),s=/^at\s+(.*?)\s+\((.*?):(\d+):(\d+)\)$/.exec(i)||/^at\s+(.*?):(\d+):(\d+)$/.exec(i);if(s){s.length===5?n.push({functionName:s[1],url:s[2],line:+s[3],col:+s[4]}):n.push({functionName:"(anonymous)",url:s[1],line:+s[2],col:+s[3]});continue}s=/^(.*?)@(.*?):(\d+):(\d+)$/.exec(i),s&&n.push({functionName:s[1]||"(anonymous)",url:s[2],line:+s[3],col:+s[4]})}return n.slice(t)}function J(e,t,n=Date.now){let r=t!=null&&t>0?t:40,o=typeof document<"u"&&document.documentElement?A(document.documentElement,e,r,0):Ae();return{documentUrl:typeof location<"u"?location.href:"",capturedAt:n(),root:o}}function A(e,t,n,r){let o={nodeId:t.idFor(e),nodeType:e.nodeType,nodeName:e.nodeName};if(e.nodeType===Node.TEXT_NODE||e.nodeType===Node.COMMENT_NODE){let a=(e.textContent??"").trim();return a&&(o.textContent=a.slice(0,200)),o}if(e.nodeType!==Node.ELEMENT_NODE)return o;let i=e;if(o.attributes=Le(i),o.rect=_e(i),r>=n)return o;let s=i.shadowRoot;s&&(o.shadowRoots=Array.from(s.childNodes).filter(G).map(a=>A(a,t,n,r+1)));let c=[],d=U(i,"before");d&&c.push(d);for(let a of Array.from(i.childNodes))G(a)&&c.push(A(a,t,n,r+1));let f=U(i,"after");return f&&c.push(f),c.length&&(o.children=c),o}function U(e,t){if(typeof getComputedStyle>"u")return;let n;try{n=getComputedStyle(e,`::${t}`).content}catch{return}if(!(!n||n==="none"||n==="normal"))return{nodeId:`${Ce(e)}::${t}`,nodeType:1,nodeName:`::${t}`,pseudo:t,textContent:n}}function Ce(e){return e.__inspectPseudoBase??e.tagName}function G(e){return e.nodeType===Node.TEXT_NODE?!!(e.textContent??"").trim():e.nodeType===Node.ELEMENT_NODE||e.nodeType===Node.COMMENT_NODE}function Le(e){let t={};for(let n of Array.from(e.attributes))t[n.name]=n.value;return t}function _e(e){let t=e.getBoundingClientRect();return{x:t.x,y:t.y,w:t.width,h:t.height}}function Ae(){return{nodeId:"n0",nodeType:9,nodeName:"#document"}}function Y(e,t){let n=xe(e,t);if(!n)throw new Error(`inspect.element: node not found (${t.nodeId??t.selector??"?"})`);let r=getComputedStyle(n),o=Fe(n);return{nodeId:e.idFor(n),tag:n.tagName.toLowerCase(),attributes:Ve(n),computedStyles:De(r),matchedRules:Oe(n),boxModel:Be(n,r,o),eventListeners:$e(n),accessibility:ze(n),rect:o}}function xe(e,t){if(t.nodeId){let n=e.get(t.nodeId);return n?.nodeType===1?n:null}return t.selector&&typeof document<"u"?document.querySelector(t.selector):null}function De(e){let t={};for(let n=0;n<e.length;n++){let r=e.item(n);t[r]=e.getPropertyValue(r)}return t}function Oe(e){let t=[];if(typeof document>"u")return t;for(let n of Array.from(document.styleSheets)){let r;try{r=n.cssRules}catch{continue}let o=n.href??void 0;for(let i of Array.from(r)){if(!(i instanceof CSSStyleRule))continue;let s=!1;try{s=e.matches(i.selectorText)}catch{s=!1}s&&t.push({selector:i.selectorText,source:o?{url:o,line:0,col:0}:void 0,props:je(i.style)})}}return t}function je(e){let t={};for(let n=0;n<e.length;n++){let r=e.item(n);t[r]=e.getPropertyValue(r)}return t}function Be(e,t,n){let r=(o,i)=>({top:T(t.getPropertyValue(`${o}-top${i}`)),right:T(t.getPropertyValue(`${o}-right${i}`)),bottom:T(t.getPropertyValue(`${o}-bottom${i}`)),left:T(t.getPropertyValue(`${o}-left${i}`))});return{content:n,padding:r("padding",""),border:r("border","-width"),margin:r("margin","")}}function $e(e){let n=(typeof window<"u"?window:{}).__inspectGetEventListeners;if(!n)return[];try{let r=n(e),o=[];for(let[i,s]of Object.entries(r))for(let c of s)o.push({type:i,useCapture:c.useCapture,passive:c.passive});return o}catch{return[]}}function ze(e){let t={};for(let o of Array.from(e.attributes))o.name.startsWith("aria-")&&(t[o.name]=o.value);let n=e.getAttribute("role")??void 0,r=e.getAttribute("aria-label")??e.title??(e.textContent??"").trim().slice(0,80)??void 0;return{role:n,name:r||void 0,properties:t}}function Ve(e){let t={};for(let n of Array.from(e.attributes))t[n.name]=n.value;return t}function Fe(e){let t=e.getBoundingClientRect();return{x:t.x,y:t.y,w:t.width,h:t.height}}function T(e){let t=parseFloat(e);return Number.isFinite(t)?t:0}async function K(e,t,n){let r=t.now();try{let o=He(e,n?.replMode?{$0:t.getPicked(),$_:t.getLast()}:{});return n?.awaitPromise&&Xe(o)&&(o=await o),t.setLast(o),{ok:!0,value:g(o,{registry:t.registry,nodeIdFor:t.nodeIdFor}),tookMs:t.now()-r}}catch(o){let i=o;return{ok:!1,exception:{text:`${i?.name??"Error"}: ${i?.message??String(o)}`,stack:y(i?.stack)},tookMs:t.now()-r}}}function He(e,t){let n=Object.keys(t);if(n.length===0)return(0,eval)(e);let r=new Function(...n,`return (${e});`);try{return r(...n.map(o=>t[o]))}catch(o){if(o instanceof SyntaxError)return new Function(...n,e)(...n.map(s=>t[s]));throw o}}function Xe(e){return typeof e?.then=="function"}var v=64*1024;function te(e){if(typeof window>"u")return()=>{};let t=0,n=()=>`r${++t}`,r=window.fetch?.bind(window);r&&(window.fetch=async(d,f)=>{let a=e.now(),u=(f?.method||(d instanceof Request?d.method:"GET")).toUpperCase(),p=d instanceof Request?d.url:String(d),m={id:n(),ts:a,method:u,url:p,resourceType:"fetch",requestHeaders:Z(f?.headers??(d instanceof Request?d.headers:void 0)),requestBody:ee(f?.body),timing:{startMs:a,durationMs:0}};try{let l=await r(d,f);return m.status=l.status,m.responseHeaders=Z(l.headers),m.timing.durationMs=e.now()-a,m.fromCache=l.fromCache,await Ue(l,m),c(m),l}catch(l){throw m.failed=!0,m.timing.durationMs=e.now()-a,m.responseBody={kind:"text",data:String(l?.message??l)},c(m),l}});let o=window.XMLHttpRequest,i=o?.prototype.open,s=o?.prototype.send;o&&i&&s&&(o.prototype.open=function(f,a,...u){return this.__inspect={method:f.toUpperCase(),url:a,start:0},i.apply(this,[f,a,...u])},o.prototype.send=function(f){let a=this.__inspect;return a&&(a.start=e.now(),this.addEventListener("loadend",()=>{let u={id:n(),ts:a.start,method:a.method,url:a.url,status:this.status,resourceType:"xhr",requestHeaders:{},responseHeaders:We(this.getAllResponseHeaders()),requestBody:ee(f),responseBody:Ge(this),timing:{startMs:a.start,durationMs:e.now()-a.start},failed:this.status===0};c(u)})),s.apply(this,[f])});function c(d){e.buffer.push(d),e.onEntry?.(d)}return()=>{r&&(window.fetch=r),o&&i&&(o.prototype.open=i),o&&s&&(o.prototype.send=s)}}function Q(e){return e.responseStatus||void 0}function ne(){if(typeof performance>"u"||!performance.getEntriesByType)return[];let e=performance.timeOrigin??0,t=[],n=performance.getEntriesByType("navigation")[0];n&&t.push({id:"nav",ts:e+n.startTime,method:"GET",url:n.name||(typeof location<"u"?location.href:""),status:Q(n),resourceType:"document",requestHeaders:{},timing:{startMs:e+n.startTime,durationMs:n.duration,ttfbMs:n.responseStart-n.startTime},sizeBytes:n.transferSize||void 0});for(let r of performance.getEntriesByType("resource"))r.initiatorType==="fetch"||r.initiatorType==="xmlhttprequest"||t.push({id:`res:${Math.round(r.startTime)}:${r.name}`,ts:e+r.startTime,method:"GET",url:r.name,status:Q(r),resourceType:qe(r.initiatorType),requestHeaders:{},timing:{startMs:e+r.startTime,durationMs:r.duration},sizeBytes:r.transferSize||r.decodedBodySize||void 0,fromCache:r.transferSize===0&&r.decodedBodySize>0});return t}function qe(e){switch(e){case"img":case"image":return"img";case"css":case"link":return"css";case"script":return"script";case"font":return"font";default:return e||"other"}}function Z(e){let t={};if(!e)return t;if(typeof Headers<"u"&&e instanceof Headers)e.forEach((n,r)=>t[r]=n);else if(Array.isArray(e))for(let[n,r]of e)t[n]=r;else Object.assign(t,e);return t}function We(e){let t={};for(let n of e.split(`\r
3
- `)){let r=n.indexOf(":");r>0&&(t[n.slice(0,r).trim().toLowerCase()]=n.slice(r+1).trim())}return t}function ee(e){if(e!=null)return typeof e=="string"?e.slice(0,v):typeof URLSearchParams<"u"&&e instanceof URLSearchParams?e.toString().slice(0,v):"(binary)"}async function Ue(e,t){let n=e.headers.get("content-type")||"";if(!/json|text|javascript|xml|html|csv/i.test(n)){t.responseBody={kind:"omitted"};return}try{let r=await e.clone().text();t.sizeBytes=r.length;let o=/json/i.test(n)?"json":"text";t.responseBody={kind:o,data:r.slice(0,v)}}catch{t.responseBody={kind:"omitted"}}}function Ge(e){try{if(e.responseType===""||e.responseType==="text"){let t=e.responseText||"",n=e.getResponseHeader("content-type")||"";return{kind:/json/i.test(n)?"json":"text",data:t.slice(0,v)}}}catch{}return{kind:"omitted"}}var M=class{seq=0;byId=new Map;idOf=new WeakMap;idFor(t){let n=this.idOf.get(t);if(n)return this.byId.set(n,t),n;let r=`n${++this.seq}`;return this.idOf.set(t,r),this.byId.set(r,t),r}get(t){return this.byId.get(t)}clear(){this.byId.clear()}};var se=4;async function R(e,t){let n=t(),r=[];await new Promise(i=>{let s=()=>{r.push(Je()),t()-n>=e?i():re(s)};re(s)});let o=t();return{startTime:n,endTime:o,durationMs:o-n,sampleCount:r.length,precise:!1,root:Ye(r)}}function re(e){typeof setTimeout<"u"?setTimeout(e,se):e()}function Je(){return y(new Error().stack,1).filter(t=>!/profile\.(js|ts)/.test(t.url)).map(t=>({url:t.url,line:t.line,col:t.col,functionName:t.functionName})).reverse()}function Ye(e){let t=0,n=oe(t++,"(root)");for(let r of e){let o=n;o.hitCount++;for(let i of r){let s=i,c=`${s.functionName??"(anonymous)"}@${s.url}:${s.line}`,d=o.childMap.get(c);d||(d=oe(t++,s.functionName??"(anonymous)",{url:s.url,line:s.line,col:s.col}),o.childMap.set(c,d),o.children.push(d)),d.hitCount++,o=d}}return ie(n,e.length),ae(n)}function oe(e,t,n){return{id:e,functionName:t,source:n,selfTimeMs:0,totalTimeMs:0,hitCount:0,children:[],childMap:new Map}}function ie(e,t){let n=0;for(let r of e.children)n+=ie(r,t);return e.totalTimeMs=e.hitCount*se,e.selfTimeMs=Math.max(0,e.totalTimeMs-n),e.totalTimeMs}function ae(e){return{id:e.id,functionName:e.functionName,source:e.source,selfTimeMs:e.selfTimeMs,totalTimeMs:e.totalTimeMs,hitCount:e.hitCount,children:e.children.map(t=>ae(t))}}var x=200,Ke=2,Qe=10,ce=50,Ze=1e4,et=5,tt=3,ue=10,nt=1e3,N,D;function rt(){typeof requestAnimationFrame<"u"?(N=requestAnimationFrame.bind(window),D=cancelAnimationFrame.bind(window)):(N=e=>setTimeout(e,16),D=e=>clearTimeout(e))}function le(){let e=performance;return e.memory?{used:e.memory.usedJSHeapSize/(1024*1024),total:e.memory.jsHeapSizeLimit/(1024*1024)}:{used:0,total:0}}function de(){return typeof document>"u"?0:document.getElementsByTagName("*").length}var O=class{lastTick=0;blipCount=0;lagSamples=[];delayedSamples=[];timer=null;get pressure(){return this.delayedSamples.length===0?0:this.delayedSamples.reduce((n,r)=>n+(r?1:0),0)/this.delayedSamples.length}get avgLagMs(){return this.lagSamples.length===0?0:this.lagSamples.reduce((t,n)=>t+n,0)/this.lagSamples.length}tick(t){let n=this.lastTick+x,r=Math.max(0,t-n);this.lagSamples.push(r),this.lagSamples.length>ce&&this.lagSamples.shift();let o=this.pressure>.5,i=r>x*Ke;this.delayedSamples.push(i),this.delayedSamples.length>ce&&this.delayedSamples.shift();let s=r>1e3&&!o;i?this.blipCount++:this.blipCount=Math.max(0,this.blipCount-2);let c=s||!o&&this.blipCount>=Qe;return this.lastTick=t,c}start(){this.lastTick=Date.now();let t=()=>{let n=Date.now();this.tick(n),this.timer=setTimeout(t,x)};t()}stop(){this.timer!==null&&clearTimeout(this.timer),this.timer=null}},j=class{lastFrame=0;dropCount=0;rafId=0;onJank=null;tick=t=>{let n=t-this.lastFrame;this.lastFrame>0&&n>32?(this.dropCount++,this.dropCount>=tt&&(this.dropCount=0,this.onJank?.())):this.dropCount=0,this.lastFrame=t,this.rafId=N(this.tick)};start(){this.lastFrame=performance.now?.()??Date.now(),this.rafId=N(this.tick)}stop(){D(this.rafId)}},B=class{tasks=[];get count(){return this.prune(),this.tasks.length}prune(){let t=Date.now()-Ze;this.tasks=this.tasks.filter(n=>n.ts>t)}add(t,n){this.tasks.push({ts:t,dur:n}),this.prune()}},P=class{constructor(t,n){this.now=t;this.vitalsReader=n;rt();let r=typeof performance<"u"?performance.timeOrigin??Date.now():Date.now();this._startup={milestones:[],t0:r,longTasks:0}}now;vitalsReader;heartbeat=new O;frameBudget=new j;longTasks=new B;pendingAnomalies=[];snapshots=[];profiling=!1;lcpMs;fcpMs;_startup;install(){this.heartbeat.start();let t=this,n=this.heartbeat.tick.bind(this.heartbeat);this.heartbeat.tick=r=>{let o=n(r);return o&&t.captureAnomaly("cpu-pressure"),o},this.frameBudget.onJank=()=>{this.captureAnomaly("dropped-frames")},this.frameBudget.start();try{typeof PerformanceObserver<"u"&&new PerformanceObserver(o=>{let i=this.vitalsReader();for(let c of o.getEntries())this.longTasks.add(Date.now(),c.duration);for(let c of o.getEntries())c.entryType==="largest-contentful-paint"&&(this.lcpMs=c.startTime);(i.longTasks?.length??0)+this.longTasks.count>=et*2&&this.captureAnomaly("long-task")}).observe({type:"longtask",buffered:!0})}catch{}try{typeof PerformanceObserver<"u"&&new PerformanceObserver(o=>{for(let i of o.getEntries())i.name==="first-contentful-paint"&&(this.fcpMs=i.startTime)}).observe({type:"paint",buffered:!0})}catch{}this._startup.milestones.push({label:"agent:install",deltaMs:Math.round(this.now()-this._startup.t0)})}mark(t){this._startup.milestones.push({label:t,deltaMs:Math.round(this.now()-this._startup.t0)})}vitals(){return{cpuPressure:this.heartbeat.pressure,eventLoopLagMs:Math.round(this.heartbeat.avgLagMs),longTaskCount:this.longTasks.count,pendingAnomalies:this.pendingAnomalies.slice()}}takeSnapshot(){let t=this.snapshots.shift();return t?(this.pendingAnomalies.shift(),t):null}async captureAnomaly(t){if(this.pendingAnomalies.length>=ue||this.profiling&&t!=="page-unload")return;this.profiling=!0;let n=le(),r=this.vitalsReader(),o=null;if(t!=="page-unload")try{let f=function(u){u.source&&d.push({fn:u.functionName,url:u.source.url,line:u.source.line,col:u.source.col,selfMs:u.selfTimeMs});for(let p of u.children)f(p)};var s=f;let c=await R(nt,this.now),d=[];f(c.root),d.sort((u,p)=>p.selfMs-u.selfMs);let a=d.reduce((u,p)=>u+p.selfMs,0);o=d.slice(0,10).map(u=>({functionName:u.fn,url:u.url,line:u.line,col:u.col,selfPercent:a>0?Math.round(u.selfMs/a*100):0}))}catch{o=null}let i={trigger:t,cpuPressure:this.heartbeat.pressure,eventLoopLagMs:Math.round(this.heartbeat.avgLagMs),heapUsedMb:Math.round(n.used*10)/10,heapTotalMb:Math.round(n.total*10)/10,longTaskCount:this.longTasks.count,domNodeCount:de(),...this.lcpMs!=null?{lcpMs:this.lcpMs}:{},...this.fcpMs!=null?{fcpMs:this.fcpMs}:{},...r.cls!=null?{cls:r.cls}:{},callTree:o};this.snapshots.length>=ue&&(this.snapshots.shift(),this.pendingAnomalies.shift()),this.pendingAnomalies.push(t),this.snapshots.push(i),this.profiling=!1}unload(){let t=le(),n=this.vitalsReader(),r=this._startup.milestones.length>0?this._startup.milestones[this._startup.milestones.length-1].deltaMs:0;return{trigger:"page-unload",cpuPressure:this.heartbeat.pressure,eventLoopLagMs:Math.round(this.heartbeat.avgLagMs),heapUsedMb:Math.round(t.used*10)/10,heapTotalMb:Math.round(t.total*10)/10,longTaskCount:this.longTasks.count,domNodeCount:de(),...this.lcpMs!=null?{lcpMs:this.lcpMs}:{},...this.fcpMs!=null?{fcpMs:this.fcpMs}:{},...n.cls!=null?{cls:n.cls}:{},callTree:null,startup:{milestones:this._startup.milestones.slice(),totalMs:r,longTaskCount:this._startup.longTasks}}}destroy(){this.heartbeat.stop(),this.frameBudget.stop()}};function I(e){let t=e.getAttribute?.("data-id");if(t)return`[data-id=${t}]`;let n=e.getAttribute?.("role"),r=e.tagName.toLowerCase();return e.id?`${r}#${e.id}`:n?`${r}[role=${n}]`:r}var fe="__ugly_inspect_overlay__";function pe(e){if(typeof document>"u")return{setEnabled:()=>{},highlight:()=>{},destroy:()=>{}};let t=!1,n=null;function r(){if(n)return n;let a=document.createElement("div");return a.id=fe,Object.assign(a.style,{position:"fixed",pointerEvents:"none",zIndex:"2147483647",background:"rgba(64,128,255,0.28)",border:"1px solid rgba(64,128,255,0.9)",boxSizing:"border-box",top:"0",left:"0",display:"none"}),document.documentElement.appendChild(a),n=a,a}function o(a){let u=r();if(!a){u.style.display="none";return}Object.assign(u.style,{display:"block",transform:`translate(${a.x}px, ${a.y}px)`,width:`${a.w}px`,height:`${a.h}px`})}let i=a=>{let u=c(a.clientX,a.clientY);u&&o($(u))},s=a=>{let u=c(a.clientX,a.clientY);u&&(a.preventDefault(),a.stopPropagation(),e.setPickedNode(u),e.onPicked({nodeId:e.reg.idFor(u),selector:I(u),rect:$(u)}),d(!1))};function c(a,u){n&&(n.style.display="none");let p=document.elementFromPoint(a,u);return p&&p.id!==fe?p:null}function d(a){a!==t&&(t=a,a?(window.addEventListener("pointermove",i,!0),window.addEventListener("pointerdown",s,!0)):(window.removeEventListener("pointermove",i,!0),window.removeEventListener("pointerdown",s,!0),o(null)))}function f(a){if(!a){o(null);return}let u=e.reg.get(a);u?.nodeType===1&&o($(u))}return{setEnabled:d,highlight:f,destroy:()=>{d(!1),n?.remove(),n=null}}}function $(e){let t=e.getBoundingClientRect();return{x:t.x,y:t.y,w:t.width,h:t.height}}function ge(e,t,n){if(e==="cookie"){document.cookie=`${encodeURIComponent(t)}=${encodeURIComponent(n)}; path=/`;return}C(()=>e==="session"?sessionStorage:localStorage)?.setItem(t,n)}function he(e,t){if(e==="cookie"){document.cookie=`${encodeURIComponent(t)}=; path=/; expires=Thu, 01 Jan 1970 00:00:00 GMT`;return}C(()=>e==="session"?sessionStorage:localStorage)?.removeItem(t)}async function ye(){return{localStorage:me(C(()=>localStorage)),sessionStorage:me(C(()=>sessionStorage)),cookies:ot(),indexedDB:await st()}}function C(e){try{return e()}catch{return null}}function me(e){let t={};if(!e)return t;for(let n=0;n<e.length;n++){let r=e.key(n);r!=null&&(t[r]=e.getItem(r)??"")}return t}function ot(){if(typeof document>"u"||!document.cookie)return[];let e=typeof location<"u"?location.hostname:"";return document.cookie.split("; ").filter(Boolean).map(t=>{let n=t.indexOf("="),r=n>=0?t.slice(0,n):t,o=n>=0?t.slice(n+1):"";return{name:r,value:o,domain:e,path:"/"}})}async function st(){if(typeof indexedDB>"u"||typeof indexedDB.databases!="function")return[];try{let e=await indexedDB.databases(),t=[];for(let n of e)n.name&&t.push({name:n.name,stores:await it(n.name)});return t}catch{return[]}}function it(e){return new Promise(t=>{try{let n=indexedDB.open(e);n.onsuccess=()=>{let r=n.result,o=Array.from(r.objectStoreNames);r.close(),t(o)},n.onerror=()=>t([])}catch{t([])}})}var at=40;function we(e){let t={longTasks:[]},n=[];if(typeof PerformanceObserver>"u")return{read:()=>({...t,navigation:be()}),stop:()=>{}};r("largest-contentful-paint",o=>{let i=o[o.length-1];if(!i)return;let s=i.element;t.lcp={valueMs:i.startTime,element:s?{nodeId:e.nodeIdFor(s),selector:I(s),rect:ut(s)}:void 0}}),r("paint",o=>{for(let i of o)i.name==="first-contentful-paint"&&(t.fcp=i.startTime)}),r("layout-shift",o=>{let i=t.cls??0;for(let s of o)s.hadRecentInput||(i+=s.value);t.cls=i}),r("event",o=>{let i=t.inp??0;for(let s of o){let c=s.duration;c>i&&(i=c)}t.inp=i},{durationThreshold:40}),r("longtask",o=>{for(let i of o)t.longTasks.push({ts:e.now(),durationMs:i.duration});t.longTasks.length>200&&t.longTasks.splice(0,t.longTasks.length-200)});function r(o,i,s){try{let c=new PerformanceObserver(d=>i(d.getEntries()));c.observe({type:o,buffered:!0,...s??{}}),n.push(c)}catch{}}return{read:()=>{let o=be(),{resources:i,resourceSummary:s}=ct(o?.domInteractiveMs??t.fcp);return{...t,longTasks:t.longTasks.slice(),navigation:o,ttfb:t.ttfb??o?.ttfbMs,resources:i,resourceSummary:s}},stop:()=>n.forEach(o=>o.disconnect())}}function ct(e){if(typeof performance>"u"||!performance.getEntriesByType)return{};let t=performance.getEntriesByType("resource");if(!t.length)return{};let n=0,r=0;return{resources:t.map(s=>{n+=s.transferSize||0,r+=s.duration;let c=s.requestStart>0?Math.max(0,s.requestStart-s.startTime):void 0,d=e!=null&&s.responseEnd<=e&&(s.initiatorType==="link"||s.initiatorType==="css"||s.initiatorType==="script");return{name:s.name,initiatorType:s.initiatorType||"other",startMs:s.startTime,durationMs:s.duration,blockingMs:c,transferSizeBytes:s.transferSize||void 0,decodedSizeBytes:s.decodedBodySize||void 0,fromCache:s.transferSize===0&&s.decodedBodySize>0,renderBlocking:d}}).sort((s,c)=>c.durationMs-s.durationMs).slice(0,at),resourceSummary:{count:t.length,transferBytes:n,durationMs:r}}}function be(){if(typeof performance>"u"||!performance.getEntriesByType)return;let e=performance.getEntriesByType("navigation")[0];if(e)return{ttfbMs:e.responseStart,domContentLoadedMs:e.domContentLoadedEventEnd,loadEventMs:e.loadEventEnd,domInteractiveMs:e.domInteractive,transferSizeBytes:e.transferSize}}function ut(e){let t=e.getBoundingClientRect();return{x:t.x,y:t.y,w:t.width,h:t.height}}var Ee=1e3;function b(){return typeof performance<"u"&&performance.now?performance.timeOrigin+performance.now():Date.now()}function lt(e={}){let t=new S,n=new M,r=l=>n.idFor(l),o=new E(Ee),i=new E(Ee),s=null,c,d=W({buffer:o,registry:t,nodeIdFor:r,onEntry:l=>e.onConsole?.(l),now:b}),f=te({buffer:i,onEntry:l=>e.onNetwork?.(l),now:b}),a=we({nodeIdFor:r,now:b}),u=new P(b,()=>a.read());u.install();let p=pe({reg:n,onPicked:l=>e.onPicked?.(l),setPickedNode:l=>s=l});return{meta(){return{url:typeof location<"u"?location.href:"",title:typeof document<"u"?document.title:"",isUglyApp:typeof window<"u"&&"__uglyInspect"in window,viewport:{w:typeof window<"u"?window.innerWidth:0,h:typeof window<"u"?window.innerHeight:0,dpr:typeof window<"u"&&window.devicePixelRatio||1}}},consoleBuffer:l=>l==null?o.all():o.all().filter(h=>h.seq>l),networkBuffer:l=>{let w=[...i.all(),...ne()].sort((L,Se)=>L.ts-Se.ts);return l==null?w:w.filter(L=>L.ts>l)},evaluate:(l,h)=>K(l,{registry:t,nodeIdFor:r,now:b,getPicked:()=>s,getLast:()=>c,setLast:w=>c=w},h),expand:l=>({entries:V(t.get(l),{registry:t,nodeIdFor:r})}),domCapture:l=>J(n,l,b),element:l=>Y(n,l),highlight:l=>p.highlight(l),setPicker:l=>p.setEnabled(l),vitals:()=>a.read(),profile:l=>R(l,b),perfVitals:()=>u.vitals(),perfSnapshot:()=>u.takeSnapshot(),perfUnload:()=>u.unload(),storage:()=>ye(),storageSet:(l,h,w)=>ge(l,h,w),storageRemove:(l,h)=>he(l,h),reload:l=>{typeof location<"u"&&location.reload()},reset:()=>{t.clear(),n.clear(),o.clear(),i.clear(),s=null,c=void 0},stop:()=>{d(),f(),a.stop(),u.destroy(),p.destroy()}}}function ke(e){if(typeof window<"u"&&window.__uglyInspectAgent)return window.__uglyInspectAgent;let t=lt(e);return typeof window<"u"&&(window.__uglyInspectAgent=t),t}ke();})();
1
+ "use strict";(()=>{var w=class{constructor(t){this.cap=t}cap;items=[];push(t){this.items.push(t),this.items.length>this.cap&&this.items.splice(0,this.items.length-this.cap)}since(t,n){let r=0,o=this.items.length;for(;r<o;){let i=r+o>>>1;n(this.items[i])<t?r=i+1:o=i}return this.items.slice(r)}all(){return this.items.slice()}clear(){this.items=[]}size(){return this.items.length}};var v=class{seq=0;byId=new Map;put(t){let n=`o${++this.seq}`;return this.byId.set(n,t),n}get(t){return this.byId.get(t)}clear(){this.byId.clear()}};function Te(e){return typeof Node<"u"&&typeof e=="object"&&e!==null&&e instanceof Node}function k(e,t){return e.length>t?`${e.slice(0,t)}\u2026`:e}function z(e){return Object.getPrototypeOf(e)?.constructor?.name}function g(e,t){switch(typeof e){case"undefined":return{type:"undefined"};case"boolean":return{type:"boolean",value:e};case"bigint":return{type:"bigint",value:`${e}n`,preview:`${e}n`};case"symbol":return{type:"symbol",value:String(e),preview:String(e)};case"string":return{type:"string",value:k(e,1e3)};case"number":return Number.isFinite(e)?{type:"number",value:e}:{type:"number",value:String(e),preview:String(e)};case"function":return{type:"function",className:"Function",preview:`\u0192 ${e.name||"(anonymous)"}()`};case"object":break;default:return{type:"object",preview:String(e)}}if(e===null)return{type:"null"};let n=e;if(Te(e))return{type:"node",className:e.nodeName??"Node",preview:Ne(e),nodeId:t.nodeIdFor?.(e)};if(e instanceof Date)return{type:"date",className:"Date",preview:Ie(e)};if(e instanceof RegExp)return{type:"regexp",className:"RegExp",preview:String(e)};if(e instanceof Error)return{type:"error",className:e.name||"Error",preview:k(`${e.name}: ${e.message}`,100),objectId:t.registry.put(e)};if(Pe(e))return{type:"promise",className:"Promise",preview:"Promise",objectId:t.registry.put(e)};if(e instanceof Map)return{type:"map",className:"Map",size:e.size,objectId:t.registry.put(e),preview:`Map(${e.size})`,entries:X(e,t)};if(e instanceof Set)return{type:"set",className:"Set",size:e.size,objectId:t.registry.put(e),preview:`Set(${e.size})`,entries:W(e,t)};if(Array.isArray(e))return{type:"array",className:"Array",size:e.length,objectId:t.registry.put(e),preview:`Array(${e.length})`,entries:H(e,t)};let r=Object.keys(n);return{type:"object",className:z(n)??"Object",size:r.length,objectId:t.registry.put(n),preview:Me(n,r),entries:C(n,r,t)}}function V(e,t){if(e instanceof Map)return X(e,t,1/0).map(n=>n.value);if(e instanceof Set)return W(e,t,1/0).map(n=>n.value);if(Array.isArray(e))return H(e,t,1/0).map(n=>n.value);if(e instanceof Error)return C({name:e.name,message:e.message,stack:e.stack},["name","message","stack"],t,1/0).map(n=>n.value);if(typeof e=="object"&&e!==null){let n=Object.keys(e);return C(e,n,t,1/0).map(r=>r.value)}return[]}function H(e,t,n=5){let r=[];for(let o=0;o<e.length&&o<n;o++)r.push({key:String(o),value:g(e[o],t)});return r}function C(e,t,n,r=5){let o=[];for(let i=0;i<t.length&&i<r;i++){let s=t[i],c;try{c=e[s]}catch{c="(getter threw)"}o.push({key:s,value:g(c,n)})}return o}function X(e,t,n=5){let r=[],o=0;for(let[i,s]of e){if(o++>=n)break;r.push({key:g(i,t),value:g(s,t)})}return r}function W(e,t,n=5){let r=[],o=0;for(let i of e){if(o++>=n)break;r.push({value:g(i,t)})}return r}function Me(e,t){let n=t.slice(0,5).map(o=>{let i;try{i=e[o]}catch{i="\u2026"}return`${o}: ${Re(i)}`}),r=t.length>5?", \u2026":"";return k(`{${n.join(", ")}${r}}`,100)}function Re(e){let t=typeof e;return t==="string"?`"${k(e,20)}"`:t==="object"&&e!==null?Array.isArray(e)?`Array(${e.length})`:z(e)??"Object":String(e)}function Ne(e){let t=e;if(t.nodeType===1){let n=(t.nodeName??"").toLowerCase(),r=t.id?`#${t.id}`:"",o=typeof t.className=="string"&&t.className?`.${t.className.trim().split(/\s+/).join(".")}`:"";return k(`<${n}${r}${o}>`,100)}return t.nodeName??"Node"}function Pe(e){return typeof e?.then=="function"}function Ie(e){try{return e.toISOString()}catch{return"Invalid Date"}}var q=["log","info","warn","error","debug"];function U(e){if(typeof console>"u")return()=>{};let t=0,n={};for(let s of q){let c=console[s];typeof c=="function"&&(n[s]=c,console[s]=(...l)=>{try{i(s,l)}catch{}c.apply(console,l)})}let r=s=>{i("error",[s.message],{stack:y(s.error?.stack),source:{url:s.filename||"",line:s.lineno||0,col:s.colno||0}})},o=s=>{let c=s.reason;i("error",[`Unhandled rejection: ${c?.message??String(s.reason)}`],{stack:y(c?.stack)})};typeof window<"u"&&(window.addEventListener("error",r),window.addEventListener("unhandledrejection",o));function i(s,c,l){let p=c.map(m=>g(m,{registry:e.registry,nodeIdFor:e.nodeIdFor})),a=l?.stack??y(new Error().stack,1),d={seq:++t,ts:e.now(),level:s,args:p,text:_e(c),stack:a.length?a:void 0,source:l?.source??a[0]?{url:a[0].url,line:a[0].line,col:a[0].col}:void 0};e.buffer.push(d),e.onEntry?.(d)}return()=>{for(let s of q){let c=n[s];c&&(console[s]=c)}typeof window<"u"&&(window.removeEventListener("error",r),window.removeEventListener("unhandledrejection",o))}}function _e(e){return e.map(t=>{if(typeof t=="string")return t;if(t instanceof Error)return`${t.name}: ${t.message}`;try{return JSON.stringify(t)}catch{return String(t)}}).join(" ").slice(0,2e3)}function y(e,t=0){if(!e)return[];let n=[],r=e.split(`
2
+ `);for(let o of r){let i=o.trim(),s=/^at\s+(.*?)\s+\((.*?):(\d+):(\d+)\)$/.exec(i)||/^at\s+(.*?):(\d+):(\d+)$/.exec(i);if(s){s.length===5?n.push({functionName:s[1],url:s[2],line:+s[3],col:+s[4]}):n.push({functionName:"(anonymous)",url:s[1],line:+s[2],col:+s[3]});continue}s=/^(.*?)@(.*?):(\d+):(\d+)$/.exec(i),s&&n.push({functionName:s[1]||"(anonymous)",url:s[2],line:+s[3],col:+s[4]})}return n.slice(t)}function Y(e,t,n=Date.now){let r=t!=null&&t>0?t:40,o=typeof document<"u"&&document.documentElement?x(document.documentElement,e,r,0):xe();return{documentUrl:typeof location<"u"?location.href:"",capturedAt:n(),root:o}}function x(e,t,n,r){let o={nodeId:t.idFor(e),nodeType:e.nodeType,nodeName:e.nodeName};if(e.nodeType===Node.TEXT_NODE||e.nodeType===Node.COMMENT_NODE){let a=(e.textContent??"").trim();return a&&(o.textContent=a.slice(0,200)),o}if(e.nodeType!==Node.ELEMENT_NODE)return o;let i=e;if(o.attributes=Le(i),o.rect=Ce(i),r>=n)return o;let s=i.shadowRoot;s&&(o.shadowRoots=Array.from(s.childNodes).filter(J).map(a=>x(a,t,n,r+1)));let c=[],l=G(i,"before");l&&c.push(l);for(let a of Array.from(i.childNodes))J(a)&&c.push(x(a,t,n,r+1));let p=G(i,"after");return p&&c.push(p),c.length&&(o.children=c),o}function G(e,t){if(typeof getComputedStyle>"u")return;let n;try{n=getComputedStyle(e,`::${t}`).content}catch{return}if(!(!n||n==="none"||n==="normal"))return{nodeId:`${Ae(e)}::${t}`,nodeType:1,nodeName:`::${t}`,pseudo:t,textContent:n}}function Ae(e){return e.__inspectPseudoBase??e.tagName}function J(e){return e.nodeType===Node.TEXT_NODE?!!(e.textContent??"").trim():e.nodeType===Node.ELEMENT_NODE||e.nodeType===Node.COMMENT_NODE}function Le(e){let t={};for(let n of Array.from(e.attributes))t[n.name]=n.value;return t}function Ce(e){let t=e.getBoundingClientRect();return{x:t.x,y:t.y,w:t.width,h:t.height}}function xe(){return{nodeId:"n0",nodeType:9,nodeName:"#document"}}function K(e,t){let n=De(e,t);if(!n)throw new Error(`inspect.element: node not found (${t.nodeId??t.selector??"?"})`);let r=getComputedStyle(n),o=He(n);return{nodeId:e.idFor(n),tag:n.tagName.toLowerCase(),attributes:Ve(n),computedStyles:Oe(r),matchedRules:je(n),boxModel:$e(n,r,o),eventListeners:Fe(n),accessibility:ze(n),rect:o}}function De(e,t){if(t.nodeId){let n=e.get(t.nodeId);return n?.nodeType===1?n:null}return t.selector&&typeof document<"u"?document.querySelector(t.selector):null}function Oe(e){let t={};for(let n=0;n<e.length;n++){let r=e.item(n);t[r]=e.getPropertyValue(r)}return t}function je(e){let t=[];if(typeof document>"u")return t;for(let n of Array.from(document.styleSheets)){let r;try{r=n.cssRules}catch{continue}let o=n.href??void 0;for(let i of Array.from(r)){if(!(i instanceof CSSStyleRule))continue;let s=!1;try{s=e.matches(i.selectorText)}catch{s=!1}s&&t.push({selector:i.selectorText,source:o?{url:o,line:0,col:0}:void 0,props:Be(i.style)})}}return t}function Be(e){let t={};for(let n=0;n<e.length;n++){let r=e.item(n);t[r]=e.getPropertyValue(r)}return t}function $e(e,t,n){let r=(o,i)=>({top:T(t.getPropertyValue(`${o}-top${i}`)),right:T(t.getPropertyValue(`${o}-right${i}`)),bottom:T(t.getPropertyValue(`${o}-bottom${i}`)),left:T(t.getPropertyValue(`${o}-left${i}`))});return{content:n,padding:r("padding",""),border:r("border","-width"),margin:r("margin","")}}function Fe(e){let n=(typeof window<"u"?window:{}).__inspectGetEventListeners;if(!n)return[];try{let r=n(e),o=[];for(let[i,s]of Object.entries(r))for(let c of s)o.push({type:i,useCapture:c.useCapture,passive:c.passive});return o}catch{return[]}}function ze(e){let t={};for(let o of Array.from(e.attributes))o.name.startsWith("aria-")&&(t[o.name]=o.value);let n=e.getAttribute("role")??void 0,r=e.getAttribute("aria-label")??e.title??(e.textContent??"").trim().slice(0,80)??void 0;return{role:n,name:r||void 0,properties:t}}function Ve(e){let t={};for(let n of Array.from(e.attributes))t[n.name]=n.value;return t}function He(e){let t=e.getBoundingClientRect();return{x:t.x,y:t.y,w:t.width,h:t.height}}function T(e){let t=parseFloat(e);return Number.isFinite(t)?t:0}async function Q(e,t,n){let r=t.now();try{let o=Xe(e,n?.replMode?{$0:t.getPicked(),$_:t.getLast()}:{});return n?.awaitPromise&&We(o)&&(o=await o),t.setLast(o),{ok:!0,value:g(o,{registry:t.registry,nodeIdFor:t.nodeIdFor}),tookMs:t.now()-r}}catch(o){let i=o;return{ok:!1,exception:{text:`${i?.name??"Error"}: ${i?.message??String(o)}`,stack:y(i?.stack)},tookMs:t.now()-r}}}function Xe(e,t){let n=Object.keys(t);if(n.length===0)return(0,eval)(e);let r=new Function(...n,`return (${e});`);try{return r(...n.map(o=>t[o]))}catch(o){if(o instanceof SyntaxError)return new Function(...n,e)(...n.map(s=>t[s]));throw o}}function We(e){return typeof e?.then=="function"}var M=64*1024;function ne(e){if(typeof window>"u")return()=>{};let t=0,n=()=>`r${++t}`,r=window.fetch?.bind(window);r&&(window.fetch=async(l,p)=>{let a=e.now(),d=(p?.method||(l instanceof Request?l.method:"GET")).toUpperCase(),m=l instanceof Request?l.url:String(l),f={id:n(),ts:a,method:d,url:m,resourceType:"fetch",requestHeaders:ee(p?.headers??(l instanceof Request?l.headers:void 0)),requestBody:te(p?.body),timing:{startMs:a,durationMs:0}};try{let u=await r(l,p);return f.status=u.status,f.responseHeaders=ee(u.headers),f.timing.durationMs=e.now()-a,f.fromCache=u.fromCache,await Ge(u,f),c(f),u}catch(u){throw f.failed=!0,f.timing.durationMs=e.now()-a,f.responseBody={kind:"text",data:String(u?.message??u)},c(f),u}});let o=window.XMLHttpRequest,i=o?.prototype.open,s=o?.prototype.send;o&&i&&s&&(o.prototype.open=function(p,a,...d){return this.__inspect={method:p.toUpperCase(),url:a,start:0},i.apply(this,[p,a,...d])},o.prototype.send=function(p){let a=this.__inspect;return a&&(a.start=e.now(),this.addEventListener("loadend",()=>{let d={id:n(),ts:a.start,method:a.method,url:a.url,status:this.status,resourceType:"xhr",requestHeaders:{},responseHeaders:Ue(this.getAllResponseHeaders()),requestBody:te(p),responseBody:Je(this),timing:{startMs:a.start,durationMs:e.now()-a.start},failed:this.status===0};c(d)})),s.apply(this,[p])});function c(l){e.buffer.push(l),e.onEntry?.(l)}return()=>{r&&(window.fetch=r),o&&i&&(o.prototype.open=i),o&&s&&(o.prototype.send=s)}}function Z(e){return e.responseStatus||void 0}function re(){if(typeof performance>"u"||!performance.getEntriesByType)return[];let e=performance.timeOrigin??0,t=[],n=performance.getEntriesByType("navigation")[0];n&&t.push({id:"nav",ts:e+n.startTime,method:"GET",url:n.name||(typeof location<"u"?location.href:""),status:Z(n),resourceType:"document",requestHeaders:{},timing:{startMs:e+n.startTime,durationMs:n.duration,ttfbMs:n.responseStart-n.startTime},sizeBytes:n.transferSize||void 0});for(let r of performance.getEntriesByType("resource"))r.initiatorType==="fetch"||r.initiatorType==="xmlhttprequest"||t.push({id:`res:${Math.round(r.startTime)}:${r.name}`,ts:e+r.startTime,method:"GET",url:r.name,status:Z(r),resourceType:qe(r.initiatorType),requestHeaders:{},timing:{startMs:e+r.startTime,durationMs:r.duration},sizeBytes:r.transferSize||r.decodedBodySize||void 0,fromCache:r.transferSize===0&&r.decodedBodySize>0});return t}function qe(e){switch(e){case"img":case"image":return"img";case"css":case"link":return"css";case"script":return"script";case"font":return"font";default:return e||"other"}}function ee(e){let t={};if(!e)return t;if(typeof Headers<"u"&&e instanceof Headers)e.forEach((n,r)=>t[r]=n);else if(Array.isArray(e))for(let[n,r]of e)t[n]=r;else Object.assign(t,e);return t}function Ue(e){let t={};for(let n of e.split(`\r
3
+ `)){let r=n.indexOf(":");r>0&&(t[n.slice(0,r).trim().toLowerCase()]=n.slice(r+1).trim())}return t}function te(e){if(e!=null)return typeof e=="string"?e.slice(0,M):typeof URLSearchParams<"u"&&e instanceof URLSearchParams?e.toString().slice(0,M):"(binary)"}async function Ge(e,t){let n=e.headers.get("content-type")||"";if(!/json|text|javascript|xml|html|csv/i.test(n)){t.responseBody={kind:"omitted"};return}try{let r=await e.clone().text();t.sizeBytes=r.length;let o=/json/i.test(n)?"json":"text";t.responseBody={kind:o,data:r.slice(0,M)}}catch{t.responseBody={kind:"omitted"}}}function Je(e){try{if(e.responseType===""||e.responseType==="text"){let t=e.responseText||"",n=e.getResponseHeader("content-type")||"";return{kind:/json/i.test(n)?"json":"text",data:t.slice(0,M)}}}catch{}return{kind:"omitted"}}var R=class{seq=0;byId=new Map;idOf=new WeakMap;idFor(t){let n=this.idOf.get(t);if(n)return this.byId.set(n,t),n;let r=`n${++this.seq}`;return this.idOf.set(t,r),this.byId.set(r,t),r}get(t){return this.byId.get(t)}clear(){this.byId.clear()}};var ie=4;async function N(e,t){let n=t(),r=[];await new Promise(i=>{let s=()=>{r.push(Ke()),t()-n>=e?i():oe(s)};oe(s)});let o=t();return{startTime:n,endTime:o,durationMs:o-n,sampleCount:r.length,precise:!1,root:Qe(r)}}function oe(e){typeof setTimeout<"u"?setTimeout(e,ie):e()}function Ye(e){return/profile\.(js|ts)/.test(e)||/ugly-inspect-agent/.test(e)}function Ke(){return y(new Error().stack,1).filter(t=>!Ye(t.url)).map(t=>({url:t.url,line:t.line,col:t.col,functionName:t.functionName})).reverse()}function Qe(e){let t=0,n=se(t++,"(root)");for(let r of e){let o=n;o.hitCount++;for(let i of r){let s=i,c=`${s.functionName??"(anonymous)"}@${s.url}:${s.line}`,l=o.childMap.get(c);l||(l=se(t++,s.functionName??"(anonymous)",{url:s.url,line:s.line,col:s.col}),o.childMap.set(c,l),o.children.push(l)),l.hitCount++,o=l}}return ae(n,e.length),ce(n)}function se(e,t,n){return{id:e,functionName:t,source:n,selfTimeMs:0,totalTimeMs:0,hitCount:0,children:[],childMap:new Map}}function ae(e,t){let n=0;for(let r of e.children)n+=ae(r,t);return e.totalTimeMs=e.hitCount*ie,e.selfTimeMs=Math.max(0,e.totalTimeMs-n),e.totalTimeMs}function ce(e){return{id:e.id,functionName:e.functionName,source:e.source,selfTimeMs:e.selfTimeMs,totalTimeMs:e.totalTimeMs,hitCount:e.hitCount,children:e.children.map(t=>ce(t))}}var D=200,Ze=2,et=10,ue=50,tt=1e4,nt=5,rt=3,le=10,ot=1e3,st=3e4,it=1e4;function P(){return typeof document<"u"&&document.hidden===!0}var S,O;function at(){typeof requestAnimationFrame<"u"?(S=requestAnimationFrame.bind(window),O=cancelAnimationFrame.bind(window)):(S=e=>setTimeout(e,16),O=e=>clearTimeout(e))}function de(){let e=performance;return e.memory?{used:e.memory.usedJSHeapSize/(1024*1024),total:e.memory.jsHeapSizeLimit/(1024*1024)}:{used:0,total:0}}function fe(){return typeof document>"u"?0:document.getElementsByTagName("*").length}var j=class{lastTick=0;blipCount=0;lagSamples=[];delayedSamples=[];timer=null;get pressure(){return this.delayedSamples.length===0?0:this.delayedSamples.reduce((n,r)=>n+(r?1:0),0)/this.delayedSamples.length}get avgLagMs(){return this.lagSamples.length===0?0:this.lagSamples.reduce((t,n)=>t+n,0)/this.lagSamples.length}reset(t){this.lastTick=t,this.lagSamples.length=0,this.delayedSamples.length=0,this.blipCount=0}tick(t){if(P())return this.reset(t),!1;let n=this.lastTick+D,r=Math.max(0,t-n);if(r>it)return this.reset(t),!1;this.lagSamples.push(r),this.lagSamples.length>ue&&this.lagSamples.shift();let o=this.pressure>.5,i=r>D*Ze;this.delayedSamples.push(i),this.delayedSamples.length>ue&&this.delayedSamples.shift();let s=r>1e3&&!o;i?this.blipCount++:this.blipCount=Math.max(0,this.blipCount-2);let c=s||!o&&this.blipCount>=et;return this.lastTick=t,c}start(){this.lastTick=Date.now();let t=()=>{let n=Date.now();this.tick(n),this.timer=setTimeout(t,D)};t()}stop(){this.timer!==null&&clearTimeout(this.timer),this.timer=null}},B=class{lastFrame=0;dropCount=0;rafId=0;onJank=null;reset(){this.lastFrame=0,this.dropCount=0}tick=t=>{if(P()){this.reset(),this.rafId=S(this.tick);return}let n=t-this.lastFrame;this.lastFrame>0&&n>32?(this.dropCount++,this.dropCount>=rt&&(this.dropCount=0,this.onJank?.())):this.dropCount=0,this.lastFrame=t,this.rafId=S(this.tick)};start(){this.lastFrame=performance.now?.()??Date.now(),this.rafId=S(this.tick)}stop(){O(this.rafId)}},$=class{tasks=[];get count(){return this.prune(),this.tasks.length}prune(){let t=Date.now()-tt;this.tasks=this.tasks.filter(n=>n.ts>t)}add(t,n){this.tasks.push({ts:t,dur:n}),this.prune()}},I=class{constructor(t,n){this.now=t;this.vitalsReader=n;at();let r=typeof performance<"u"?performance.timeOrigin??Date.now():Date.now();this._startup={milestones:[],t0:r,longTasks:0}}now;vitalsReader;heartbeat=new j;frameBudget=new B;longTasks=new $;pendingAnomalies=[];snapshots=[];profiling=!1;lastProfileAt=0;lcpMs;fcpMs;_startup;install(){this.heartbeat.start();let t=this,n=this.heartbeat.tick.bind(this.heartbeat);this.heartbeat.tick=r=>{let o=n(r);return o&&t.captureAnomaly("cpu-pressure"),o},this.frameBudget.onJank=()=>{this.captureAnomaly("dropped-frames")},this.frameBudget.start();try{typeof PerformanceObserver<"u"&&new PerformanceObserver(o=>{let i=this.vitalsReader();for(let s of o.getEntries())this.longTasks.add(Date.now(),s.duration);for(let s of o.getEntries())s.entryType==="largest-contentful-paint"&&(this.lcpMs=s.startTime);this.longTaskAnomalyDue(i)&&this.captureAnomaly("long-task")}).observe({type:"longtask",buffered:!0})}catch{}try{typeof PerformanceObserver<"u"&&new PerformanceObserver(o=>{for(let i of o.getEntries())i.name==="first-contentful-paint"&&(this.fcpMs=i.startTime)}).observe({type:"paint",buffered:!0})}catch{}try{typeof document<"u"&&typeof document.addEventListener=="function"&&document.addEventListener("visibilitychange",()=>{this.heartbeat.reset(Date.now()),this.frameBudget.reset()})}catch{}this._startup.milestones.push({label:"agent:install",deltaMs:Math.round(this.now()-this._startup.t0)})}longTaskAnomalyDue(t){return P()?!1:this.longTasks.count>=nt}mark(t){this._startup.milestones.push({label:t,deltaMs:Math.round(this.now()-this._startup.t0)})}vitals(){return{cpuPressure:this.heartbeat.pressure,eventLoopLagMs:Math.round(this.heartbeat.avgLagMs),longTaskCount:this.longTasks.count,pendingAnomalies:this.pendingAnomalies.slice()}}takeSnapshot(){let t=this.snapshots.shift();return t?(this.pendingAnomalies.shift(),t):null}async captureAnomaly(t){if(this.pendingAnomalies.length>=le||this.profiling&&t!=="page-unload"||t!=="page-unload"&&P())return;this.profiling=!0;let n=de(),r=this.vitalsReader(),o=Date.now(),i=t!=="page-unload"&&o-this.lastProfileAt>=st,s=null;if(i){this.lastProfileAt=o;try{let d=function(f){f.source&&a.push({fn:f.functionName,url:f.source.url,line:f.source.line,col:f.source.col,selfMs:f.selfTimeMs});for(let u of f.children)d(u)};var l=d;let p=await N(ot,this.now),a=[];d(p.root),a.sort((f,u)=>u.selfMs-f.selfMs);let m=a.reduce((f,u)=>f+u.selfMs,0);s=a.length===0?null:a.slice(0,10).map(f=>({functionName:f.fn,url:f.url,line:f.line,col:f.col,selfPercent:m>0?Math.round(f.selfMs/m*100):0}))}catch{s=null}}let c={trigger:t,cpuPressure:this.heartbeat.pressure,eventLoopLagMs:Math.round(this.heartbeat.avgLagMs),heapUsedMb:Math.round(n.used*10)/10,heapTotalMb:Math.round(n.total*10)/10,longTaskCount:this.longTasks.count,domNodeCount:fe(),...this.lcpMs!=null?{lcpMs:this.lcpMs}:{},...this.fcpMs!=null?{fcpMs:this.fcpMs}:{},...r.cls!=null?{cls:r.cls}:{},callTree:s};this.snapshots.length>=le&&(this.snapshots.shift(),this.pendingAnomalies.shift()),this.pendingAnomalies.push(t),this.snapshots.push(c),this.profiling=!1}unload(){let t=de(),n=this.vitalsReader(),r=this._startup.milestones.length>0?this._startup.milestones[this._startup.milestones.length-1].deltaMs:0;return{trigger:"page-unload",cpuPressure:this.heartbeat.pressure,eventLoopLagMs:Math.round(this.heartbeat.avgLagMs),heapUsedMb:Math.round(t.used*10)/10,heapTotalMb:Math.round(t.total*10)/10,longTaskCount:this.longTasks.count,domNodeCount:fe(),...this.lcpMs!=null?{lcpMs:this.lcpMs}:{},...this.fcpMs!=null?{fcpMs:this.fcpMs}:{},...n.cls!=null?{cls:n.cls}:{},callTree:null,startup:{milestones:this._startup.milestones.slice(),totalMs:r,longTaskCount:this._startup.longTasks}}}destroy(){this.heartbeat.stop(),this.frameBudget.stop()}};function _(e){let t=e.getAttribute?.("data-id");if(t)return`[data-id=${t}]`;let n=e.getAttribute?.("role"),r=e.tagName.toLowerCase();return e.id?`${r}#${e.id}`:n?`${r}[role=${n}]`:r}var pe="__ugly_inspect_overlay__";function me(e){if(typeof document>"u")return{setEnabled:()=>{},highlight:()=>{},destroy:()=>{}};let t=!1,n=null;function r(){if(n)return n;let a=document.createElement("div");return a.id=pe,Object.assign(a.style,{position:"fixed",pointerEvents:"none",zIndex:"2147483647",background:"rgba(64,128,255,0.28)",border:"1px solid rgba(64,128,255,0.9)",boxSizing:"border-box",top:"0",left:"0",display:"none"}),document.documentElement.appendChild(a),n=a,a}function o(a){let d=r();if(!a){d.style.display="none";return}Object.assign(d.style,{display:"block",transform:`translate(${a.x}px, ${a.y}px)`,width:`${a.w}px`,height:`${a.h}px`})}let i=a=>{let d=c(a.clientX,a.clientY);d&&o(F(d))},s=a=>{let d=c(a.clientX,a.clientY);d&&(a.preventDefault(),a.stopPropagation(),e.setPickedNode(d),e.onPicked({nodeId:e.reg.idFor(d),selector:_(d),rect:F(d)}),l(!1))};function c(a,d){n&&(n.style.display="none");let m=document.elementFromPoint(a,d);return m&&m.id!==pe?m:null}function l(a){a!==t&&(t=a,a?(window.addEventListener("pointermove",i,!0),window.addEventListener("pointerdown",s,!0)):(window.removeEventListener("pointermove",i,!0),window.removeEventListener("pointerdown",s,!0),o(null)))}function p(a){if(!a){o(null);return}let d=e.reg.get(a);d?.nodeType===1&&o(F(d))}return{setEnabled:l,highlight:p,destroy:()=>{l(!1),n?.remove(),n=null}}}function F(e){let t=e.getBoundingClientRect();return{x:t.x,y:t.y,w:t.width,h:t.height}}function he(e,t,n){if(e==="cookie"){document.cookie=`${encodeURIComponent(t)}=${encodeURIComponent(n)}; path=/`;return}A(()=>e==="session"?sessionStorage:localStorage)?.setItem(t,n)}function ye(e,t){if(e==="cookie"){document.cookie=`${encodeURIComponent(t)}=; path=/; expires=Thu, 01 Jan 1970 00:00:00 GMT`;return}A(()=>e==="session"?sessionStorage:localStorage)?.removeItem(t)}async function be(){return{localStorage:ge(A(()=>localStorage)),sessionStorage:ge(A(()=>sessionStorage)),cookies:ct(),indexedDB:await ut()}}function A(e){try{return e()}catch{return null}}function ge(e){let t={};if(!e)return t;for(let n=0;n<e.length;n++){let r=e.key(n);r!=null&&(t[r]=e.getItem(r)??"")}return t}function ct(){if(typeof document>"u"||!document.cookie)return[];let e=typeof location<"u"?location.hostname:"";return document.cookie.split("; ").filter(Boolean).map(t=>{let n=t.indexOf("="),r=n>=0?t.slice(0,n):t,o=n>=0?t.slice(n+1):"";return{name:r,value:o,domain:e,path:"/"}})}async function ut(){if(typeof indexedDB>"u"||typeof indexedDB.databases!="function")return[];try{let e=await indexedDB.databases(),t=[];for(let n of e)n.name&&t.push({name:n.name,stores:await lt(n.name)});return t}catch{return[]}}function lt(e){return new Promise(t=>{try{let n=indexedDB.open(e);n.onsuccess=()=>{let r=n.result,o=Array.from(r.objectStoreNames);r.close(),t(o)},n.onerror=()=>t([])}catch{t([])}})}var dt=40;function we(e){let t={longTasks:[]},n=[];if(typeof PerformanceObserver>"u")return{read:()=>({...t,navigation:Ee()}),stop:()=>{}};r("largest-contentful-paint",o=>{let i=o[o.length-1];if(!i)return;let s=i.element;t.lcp={valueMs:i.startTime,element:s?{nodeId:e.nodeIdFor(s),selector:_(s),rect:pt(s)}:void 0}}),r("paint",o=>{for(let i of o)i.name==="first-contentful-paint"&&(t.fcp=i.startTime)}),r("layout-shift",o=>{let i=t.cls??0;for(let s of o)s.hadRecentInput||(i+=s.value);t.cls=i}),r("event",o=>{let i=t.inp??0;for(let s of o){let c=s.duration;c>i&&(i=c)}t.inp=i},{durationThreshold:40}),r("longtask",o=>{for(let i of o)t.longTasks.push({ts:e.now(),durationMs:i.duration});t.longTasks.length>200&&t.longTasks.splice(0,t.longTasks.length-200)});function r(o,i,s){try{let c=new PerformanceObserver(l=>i(l.getEntries()));c.observe({type:o,buffered:!0,...s??{}}),n.push(c)}catch{}}return{read:()=>{let o=Ee(),{resources:i,resourceSummary:s}=ft(o?.domInteractiveMs??t.fcp);return{...t,longTasks:t.longTasks.slice(),navigation:o,ttfb:t.ttfb??o?.ttfbMs,resources:i,resourceSummary:s}},stop:()=>n.forEach(o=>o.disconnect())}}function ft(e){if(typeof performance>"u"||!performance.getEntriesByType)return{};let t=performance.getEntriesByType("resource");if(!t.length)return{};let n=0,r=0;return{resources:t.map(s=>{n+=s.transferSize||0,r+=s.duration;let c=s.requestStart>0?Math.max(0,s.requestStart-s.startTime):void 0,l=e!=null&&s.responseEnd<=e&&(s.initiatorType==="link"||s.initiatorType==="css"||s.initiatorType==="script");return{name:s.name,initiatorType:s.initiatorType||"other",startMs:s.startTime,durationMs:s.duration,blockingMs:c,transferSizeBytes:s.transferSize||void 0,decodedSizeBytes:s.decodedBodySize||void 0,fromCache:s.transferSize===0&&s.decodedBodySize>0,renderBlocking:l}}).sort((s,c)=>c.durationMs-s.durationMs).slice(0,dt),resourceSummary:{count:t.length,transferBytes:n,durationMs:r}}}function Ee(){if(typeof performance>"u"||!performance.getEntriesByType)return;let e=performance.getEntriesByType("navigation")[0];if(e)return{ttfbMs:e.responseStart,domContentLoadedMs:e.domContentLoadedEventEnd,loadEventMs:e.loadEventEnd,domInteractiveMs:e.domInteractive,transferSizeBytes:e.transferSize}}function pt(e){let t=e.getBoundingClientRect();return{x:t.x,y:t.y,w:t.width,h:t.height}}var ke=1e3;function b(){return typeof performance<"u"&&performance.now?performance.timeOrigin+performance.now():Date.now()}function mt(e={}){let t=new v,n=new R,r=u=>n.idFor(u),o=new w(ke),i=new w(ke),s=null,c,l=U({buffer:o,registry:t,nodeIdFor:r,onEntry:u=>e.onConsole?.(u),now:b}),p=ne({buffer:i,onEntry:u=>e.onNetwork?.(u),now:b}),a=we({nodeIdFor:r,now:b}),d=new I(b,()=>a.read());d.install();let m=me({reg:n,onPicked:u=>e.onPicked?.(u),setPickedNode:u=>s=u});return{meta(){return{url:typeof location<"u"?location.href:"",title:typeof document<"u"?document.title:"",isUglyApp:typeof window<"u"&&"__uglyInspect"in window,viewport:{w:typeof window<"u"?window.innerWidth:0,h:typeof window<"u"?window.innerHeight:0,dpr:typeof window<"u"&&window.devicePixelRatio||1}}},consoleBuffer:u=>u==null?o.all():o.all().filter(h=>h.seq>u),networkBuffer:u=>{let E=[...i.all(),...re()].sort((L,ve)=>L.ts-ve.ts);return u==null?E:E.filter(L=>L.ts>u)},evaluate:(u,h)=>Q(u,{registry:t,nodeIdFor:r,now:b,getPicked:()=>s,getLast:()=>c,setLast:E=>c=E},h),expand:u=>({entries:V(t.get(u),{registry:t,nodeIdFor:r})}),domCapture:u=>Y(n,u,b),element:u=>K(n,u),highlight:u=>m.highlight(u),setPicker:u=>m.setEnabled(u),vitals:()=>a.read(),profile:u=>N(u,b),perfVitals:()=>d.vitals(),perfSnapshot:()=>d.takeSnapshot(),perfUnload:()=>d.unload(),storage:()=>be(),storageSet:(u,h,E)=>he(u,h,E),storageRemove:(u,h)=>ye(u,h),reload:u=>{typeof location<"u"&&location.reload()},reset:()=>{t.clear(),n.clear(),o.clear(),i.clear(),s=null,c=void 0},stop:()=>{l(),p(),a.stop(),d.destroy(),m.destroy()}}}function Se(e){if(typeof window<"u"&&window.__uglyInspectAgent)return window.__uglyInspectAgent;let t=mt(e);return typeof window<"u"&&(window.__uglyInspectAgent=t),t}Se();})();
4
+ //# sourceURL=ugly-inspect-agent.js